This module contains a collection of YANG definitions for app-hosting configuration data. Copyright (c) 2019-2020 by Cisco Syste...
Version: 2021-07-01
module Cisco-IOS-XE-app-hosting-cfg { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-app-hosting-cfg"; prefix app-hosting-ios-xe-cfg; import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } import cisco-semver { prefix cisco-semver; } organization "Cisco Systems, Inc."; contact "Cisco Systems, Inc. Customer Service Postal: 170 W Tasman Drive San Jose, CA 95134 Tel: +1 1800 553-NETS E-mail: cs-yang@cisco.com"; description "This module contains a collection of YANG definitions for app-hosting configuration data. Copyright (c) 2019-2020 by Cisco Systems, Inc. All rights reserved."; revision "2021-07-01" { description "- Increased limits on the amount of persistent disk space and the amount of memory reserved for an application."; reference "2.6.0"; } revision "2021-03-01" { description "- Add support for multiple AppGigabitEthernet ports configuration - Add support for CAM module interface"; reference "2.5.0"; } revision "2020-11-01" { description "- Added static IPV6 support - Added CPU percent that is relative to IOX total CPU units - Added support for docker package runtime options."; reference "2.4.0"; } revision "2020-03-01" { description "- Suppress app-hosting dynamic resources"; reference "2.3.1"; } revision "2019-11-01" { description "- Add app-hosting dynamic resources - Add support for mac-forwarding and mirroring on guest interface - Add support for assigning usb-port label"; reference "2.3.0"; } revision "2019-06-11" { description "- Add support for Device USB information - Add docker run-time options - Rename disk size parameter and change description - Added semantic version - Add support for access guest interface number"; reference "2.2.0"; } revision "2019-01-11" { description "- Adding KR port interface configuration in app-hosting - Cleaned up spelling errors in descriptions - Add start - Rename the KR port to App Interface - Add a new leaf to remove the app interface mode setting"; reference "2.1.0"; } revision "2018-06-14" { description "Rename virtual service to app-hosting"; reference "2.0.0"; } revision "2018-01-01" { description "Initial revision"; reference "1.0.0"; } cisco-semver:module-version "2.6.0"; cisco-semver:module-version "2.5.0"; cisco-semver:module-version "2.4.0"; cisco-semver:module-version "2.3.1"; cisco-semver:module-version "2.3.0"; cisco-semver:module-version "2.2.0"; cisco-semver:module-version "2.1.0"; cisco-semver:module-version "2.0.0"; cisco-semver:module-version "1.0.0"; typedef im-app-appintf-mode { type enumeration { enum "appintf-not-set" { value 0; description "App interface port is not set"; } enum "appintf-trunk" { value 1; description "App interface port configure for trunk mode"; } enum "appintf-vlan" { value 2; description "App interface port configuration for VLAN access mode"; } enum "appintf-access" { value 3; description "App interface port configuration for access mode"; } } description "App interface mode type"; } container app-hosting-cfg-data { description "app-hosting configuration data"; container apps { description "Application list"; list app { key "application-name"; description "Application info"; leaf application-name { type string { length "1..40"; pattern '[0-9a-zA-Z_]*'; } description "Application name"; } container application-network-resource { description "Application Network Resource Information"; leaf vnic-gateway-0 { type string { length "1..2"; pattern '[0-9]*'; } description "Vnic gateway"; } leaf virtualportgroup-guest-interface-name-1 { type string { length "1"; pattern '[0-3]*'; } description "VirtualPortGroup guest interface name as number in range of 0 .. 3"; } leaf virtualportgroup-guest-ip-address-1 { type inet:ip-address; description "Guest interface IP address"; } leaf virtualportgroup-guest-ip-netmask-1 { type inet:ip-address; description "Guest IP netmask"; } leaf virtualportgroup-application-default-gateway-1 { type inet:ip-address; description "VirtualPortGroup application default gateway IP address"; } leaf nameserver-0 { type inet:ip-address; description "Name server IP address"; } leaf virtualportgroup-guest-interface-default-gateway-1 { type uint8; must "../virtualportgroup-guest-interface-default-gateway-1 <= 3" { error-message "must be <= 3"; error-app-tag "must-violation"; } description "VirtualPortGroup default gateway guest interface"; } leaf vnic-gateway-1 { type string { length "1..2"; pattern '[0-9]*'; } description "Vnic gateway"; } leaf virtualportgroup-guest-interface-name-2 { type string { length "1"; pattern '[0-3]*'; } description "VirtualPortGroup guest interface name as number in range of 0 .. 3"; } leaf virtualportgroup-guest-ip-address-2 { type inet:ip-address; description "Guest interface IP address"; } leaf virtualportgroup-guest-ip-netmask-2 { type inet:ip-address; description "Guest IP netmask"; } leaf virtualportgroup-application-gateway-2 { type inet:ip-address; description "VirtualPortGroup application gateway IP address"; } leaf nameserver-1 { type inet:ip-address; description "Name server IP address"; } leaf virtualportgroup-guest-interface-default-gateway-2 { type uint8; must "../virtualportgroup-guest-interface-default-gateway-2 <= 1 " { error-message "must be <= 1"; error-app-tag "must-violation"; } description "VirtualPortGroup default gateway guest interface"; } leaf vnic-gateway-2 { type string { length "1..2"; pattern '[0-9]*'; } description "Vnic gateway"; } leaf virtualportgroup-guest-interface-name-3 { type string { length "1"; pattern '[0-3]*'; } description "VirtualPortGroup guest interface name as number in range of 0 .. 3"; } leaf virtualportgroup-guest-ip-address-3 { type inet:ip-address; description "Guest interface IP address"; } leaf virtualportgroup-guest-ip-netmask-3 { type inet:ip-address; description "Guest IP netmask"; } leaf virtualportgroup-application-gateway-3 { type inet:ip-address; description "VirtualPortGroup application gateway IP address"; } leaf nameserver2 { type inet:ip-address; description "Name server IP address"; } leaf virtualportgroup-guest-interface-default-gateway-3 { type uint8; must "../virtualportgroup-guest-interface-default-gateway-3 <= 1" { error-message "must be <= 1"; error-app-tag "must-violation"; } description "VirtualPortGroup default gateway guest interface"; } leaf vnic-gateway-3 { type string { length "1..2"; pattern '[0-9]*'; } description "Vnic gateway"; } leaf virtualportgroup-guest-interface-name-4 { type string { length "1"; pattern '[0-3]*'; } description "VirtualPortGroup guest interface name as number in range of 0 .. 3"; } leaf virtualportgroup-guest-ip-address-4 { type inet:ip-address; description "Guest interface IP address"; } leaf virtualportgroup-guest-ip-netmask-4 { type inet:ip-address; description "Guest IP netmask"; } leaf virtualportgroup-application-gateway-4 { type inet:ip-address; description "VirtualPortGroup application gateway IP address"; } leaf nameserver-3 { type inet:ip-address; description "Name server IP address"; } leaf virtualportgroup-guest-interface-default-gateway-4 { type uint8; must "../virtualportgroup-guest-interface-default-gateway-4 <= 1" { error-message "must be <= 1"; error-app-tag "must-violation"; } description "VirtualPortGroup default gateway guest interface"; } leaf management-interface-name { type string { length "1"; pattern '[0-3]*'; } description "Management port guest interface name as number in range of 0 .. 3"; } leaf management-guest-ip-address { type inet:ip-address; description "Guest management port interface IP address"; } leaf management-guest-ip-netmask { type inet:ip-address; description "Guest management port interface IP netmask"; } leaf management-application-gateway { type inet:ip-address; description "Management port application gateway IP address"; } leaf nameseerver4 { type inet:ip-address; description "Name server IP address"; } leaf management-guest-interface-default-gateway { type uint8; must "../management-guest-interface-default-gateway <= 1" { error-message "must be <= 1"; error-app-tag "must-violation"; } description "Management port default gateway guest interface"; } container application-mac-address { description "Application MAC address"; leaf mac-address { type yang:mac-address; description "MAC address"; } leaf mac-interface-name { type string { length "0..32"; pattern '[0-9a-zA-Z]*'; } default ""; description "MAC interface name"; } } // container application-mac-address leaf appintf-guest-interface-number { type uint8; must "../appintf-guest-interface-number <= 63" { error-message "Guest interface must be in range of 0..63"; error-app-tag "must-violation"; } description "Guest interface port number for trunk mode in range of 0..63"; } leaf appintf-vlan-mode { type im-app-appintf-mode; default "appintf-not-set"; description "App interface mode configuration"; } leaf appintf-access-interface-number { type uint8; must "../appintf-access-interface-number <= 63" { error-message "Access interface must be in range of 0..63"; error-app-tag "must-violation"; } description "Guest interface port number for access mode in range of 0..63"; } leaf mac-forward-enable { type boolean; default "false"; description "Enable or Disable MAC forwarding mode on bridge"; } leaf mirror-enable { type boolean; default "false"; description "Enable or Disable Mirroring mode on bridge"; } leaf vpg-guest-ipv6-addr-1 { type inet:ipv6-address; description "Guest interface IPV6 address"; } leaf ipv6-prefix-len-1 { type uint8 { range "0 .. 128"; } description "Guest interface IPV6 prefix length"; } leaf vpg-guest-ipv6-addr-2 { type inet:ipv6-address; description "Guest interface IPV6 address"; } leaf ipv6-prefix-len-2 { type uint8 { range "0 .. 128"; } description "Guest interface IPV6 prefix length"; } leaf vpg-guest-ipv6-addr-3 { type inet:ipv6-address; description "Guest interface IPV6 address"; } leaf ipv6-prefix-len-3 { type uint8 { range "0 .. 128"; } description "Guest interface IPV6 prefix length"; } leaf vpg-guest-ipv6-addr-4 { type inet:ipv6-address; description "Guest interface IPV6 address"; } leaf ipv6-prefix-len-4 { type uint8 { range "0 .. 128"; } description "Guest interface IPV6 prefix length"; } leaf mgmt-guest-ipv6-addr { type inet:ipv6-address; description "Guest management port interface IPV6 address"; } leaf mgmt-ipv6-prefix-len { type uint8 { range "0 .. 128"; } description "Guest management port interface IPV6 prefix length"; } leaf vpg-app-default-ipv6-gw { type inet:ipv6-address; description "VirtualPortGroup application IPV6 default gateway"; } leaf vpg-guest-if-ipv6-def-gw { type uint8 { range "0 .. 31"; } description "Guest interface of IPV6 default gateway"; } } // container application-network-resource container application-resource-profile { description "Application Resource profile"; leaf profile-name { type string { length "0..64"; pattern '[0-9a-zA-Z\-_]*'; } default ""; description "Resource profile name"; } leaf vcpu { type uint16; must "../vcpu <= 65535" { error-message "must be <= 65535"; error-app-tag "must-violation"; } description "Amount of VCPUs allocated for the application"; } leaf cpu-units { type uint16 { range "0 .. 20000"; } must "../cpu-units <= 20000" { error-message "must be <= 20000"; error-app-tag "must-violation"; } default "0"; description "Amount of reserved cpu in unit"; } leaf memory-capacity-mb { type uint16 { range "0 .. 16384"; } default "0"; description "Amount of reserved memory in MB"; } leaf disk-size-mb { type uint16 { range "0 .. 65535"; } default "0"; description "IOX Application persistent disk size in MB"; } leaf pkg-profile-name { type string { length "0..64"; pattern '[0-9a-zA-Z\-_]*'; } description "Resource package profile name"; } leaf cpu-percent { type uint8 { range "0 .. 100"; } description "Percent of IOX total CPU units"; } } // container application-resource-profile container application-attached-device { description "Application attached device"; leaf device-name { type string { length "0..32"; pattern '[0-9a-zA-Z]*'; } default ""; description "device name"; } } // container application-attached-device container appintf-vlan-rules { description "App interface rules for VLAN access mode"; list appintf-vlan-rule { key "vlan-id"; description "List of App interface rules for VLAN access mode"; leaf vlan-id { type uint16; must "(../vlan-id >= 1 and ../vlan-id <= 4094)" { error-message "VLAN ID must be in range of 1..4094"; error-app-tag "must-violation"; } description "VLAN ID in range of 1..4094"; } leaf guest-interface { type uint8; must "../guest-interface <= 63" { error-message "Guest interface must be in range of 0..63"; error-app-tag "must-violation"; } description "Guest interface number in range of 0..63"; } leaf guest-ip { type inet:ip-address; description "Guest interface IP address"; } leaf guest-ipnetmask { type inet:ip-address; description "Guest IP netmask"; } leaf mac-forward-enable { type boolean; default "false"; description "Enable or Disable MAC forwarding mode on bridge"; } leaf mirror-enable { type boolean; default "false"; description "Enable or Disable Mirroring mode on bridge"; } leaf guest-ipv6 { type inet:ipv6-address; description "Guest interface IPV6 address"; } leaf guest-ipv6-prefix-len { type uint8 { range "0 .. 128"; } description "Guest interface IPV6 prefix length"; } } // list appintf-vlan-rule } // container appintf-vlan-rules leaf start { type boolean; description "Application run state"; } container dev-usbs { description "Device USB details for this app"; list dev-usb { key "usb-port-num"; description "List of USB ports that are associated with this app"; leaf usb-port-num { type uint16; description "USB port number"; } leaf usb-port-label { type string { length "0..63"; pattern '[0-9a-zA-Z_]*'; } description "USB port label"; } } // list dev-usb } // container dev-usbs leaf docker-resource { type boolean; default "false"; description "Enable or Disable docker resources"; } container run-optss { description "List of docker run-time options"; list run-opts { key "line-index"; description "Docker run-time options"; leaf line-index { type uint16 { range "1 .. 30"; } description "Index number"; } leaf line-run-opts { type string { length "0..235"; } description "Docker run-time options"; } } // list run-opts } // container run-optss leaf prepend-pkg-opts { type boolean; description "Add docker runtime options specified in the app package file to the beginning of the docker runtime options"; } container appintf-mgmt { description "Application l2 interface using management interface"; leaf vlan-mode { type im-app-appintf-mode; default "appintf-not-set"; description "Application L2 interface using management interface mode configuration"; } leaf trunk-if-num { type uint8 { range "0 .. 63"; } description "Interface number for trunk mode in range of 0..63"; } leaf access-if-num { type uint8 { range "0 .. 63"; } description "Interface number for access mode in range of 0..63"; } leaf mac-fwd-enable { type boolean; default "false"; description "Enable or Disable MAC forwarding mode on bridge"; } leaf mirror-enable { type boolean; default "false"; description "Enable or Disable Mirroring mode on bridge"; } } // container appintf-mgmt container appintf-mgmt-vlans { description "List of Application L2 interfaces for VLAN access mode using management interface"; list appintf-mgmt-vlan { key "vlan-id"; description "Application L2 interface for VLAN access mode using management interface"; leaf vlan-id { type uint16 { range "1 .. 4094"; } description "Application L2 interface using management interface VLAN ID in range of 1..4094"; } container mgmt-vlan-param { description "Application L2 interface using management interface VLAN parameters"; leaf guest-if { type uint8 { range "0 .. 63"; } description "VLAN access mode application L2 interface number in range of 0..63"; } leaf guest-ip { type inet:ip-address; description "Guest interface IP address"; } leaf guest-netmask { type inet:ip-address; description "Guest IP netmask"; } leaf guest-ipv6 { type inet:ipv6-address; description "Guest interface IPV6 address"; } leaf guest-ipv6-prefix-len { type uint8 { range "0 .. 128"; } description "Guest interface IPV6 prefix length"; } leaf mac-fwd-enable { type boolean; default "false"; description "Enable or Disable MAC forwarding mode on bridge"; } leaf mirror-enable { type boolean; default "false"; description "Enable or Disable Mirroring mode on bridge"; } } // container mgmt-vlan-param } // list appintf-mgmt-vlan } // container appintf-mgmt-vlans container appintf-ports { description "List of Application L2 interfaces for VLAN access mode"; list appintf-port { key "port-number"; description "Application L2 interface for VLAN access mode"; leaf port-number { type uint16 { range "0 .. 15"; } description "Port Number identifying the application L2 interface"; } leaf vlan-mode { type im-app-appintf-mode; default "appintf-not-set"; description "Application L2 interface mode configuration"; } container appintf-param { description "Application L2 interface parameters"; leaf trunk-if-num { type uint8 { range "0 .. 63"; } description "Application L2 interface number for trunk mode in range of 0..63"; } leaf access-if-num { type uint8 { range "0 .. 63"; } description "Application L2 interface number for access mode in range of 0..63"; } leaf mac-fwd-enable { type boolean; default "false"; description "Enable or Disable MAC forwarding mode on bridge"; } leaf mirror-enable { type boolean; default "false"; description "Enable or Disable Mirroring mode on bridge"; } } // container appintf-param container vlan-nodes { description "List of Application L2 interface rules for VLAN access mode"; list vlan-node { key "vlan-id"; description "Application L2 interface rules for VLAN access mode"; leaf vlan-id { type uint16 { range "1 .. 4094"; } description "Application L2 interface VLAN ID in range of 1..4094"; } container appintf-vlan-param { description "Application L2 interface VLAN parameters"; leaf guest-if { type uint8 { range "0 .. 63"; } description "VLAN access mode application L2 interface number in range of 0..63"; } leaf guest-ip { type inet:ip-address; description "Guest interface IP address"; } leaf guest-netmask { type inet:ip-address; description "Guest IP netmask"; } leaf guest-ipv6 { type inet:ipv6-address; description "Guest interface IPV6 address"; } leaf guest-ipv6-prefix-len { type uint8 { range "0 .. 128"; } description "Guest interface IPV6 prefix length"; } leaf mac-fwd-enable { type boolean; default "false"; description "Enable or Disable MAC forwarding mode on bridge"; } leaf mirror-enable { type boolean; default "false"; description "Enable or Disable Mirroring mode on bridge"; } } // container appintf-vlan-param } // list vlan-node } // container vlan-nodes } // list appintf-port } // container appintf-ports container app-cam-gintfs { description "List of Application guest interfaces for CGR ACT Module (CAM)"; list app-cam-gintf { key "guest-if"; description "Application guest interface for module CAM"; leaf guest-if { type uint8 { range "0 .. 63"; } description "Application interface number connected to module"; } leaf guest-ip { type inet:ip-address; description "Guest interface IP address"; } leaf guest-netmask { type inet:ip-address; description "Guest IP netmask"; } leaf guest-ipv6 { type inet:ipv6-address; description "Guest interface IPV6 address"; } leaf guest-ipv6-prefix-len { type uint8 { range "0 .. 128"; } description "Guest interface IPV6 prefix length"; } } // list app-cam-gintf } // container app-cam-gintfs } // list app } // container apps container controls { presence "Controls"; description "App-hosting control"; leaf application-hosting-infra-enable-statue { type uint8; must "../application-hosting-infra-enable-statue <= 1" { error-message "must be <= 1"; error-app-tag "must-violation"; } default "0"; description "Application hosting Infra enable status"; } leaf sign-verification { type boolean; description "Signature verification of all applications"; } } // container controls } // container app-hosting-cfg-data } // module Cisco-IOS-XE-app-hosting-cfg
© 2023 YumaWorks, Inc. All rights reserved.