Cisco-IOS-XE-app-hosting-cfg

This module contains a collection of YANG definitions for app-hosting configuration data. Copyright (c) 2019-2020 by Cisco Syste...

  • Version: 2021-07-01

    Cisco-IOS-XE-app-hosting-cfg@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";
        }
    
        grouping im-app-resource {
          description
            "Application Resource information";
          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";
          }
        }  // grouping im-app-resource
    
        grouping im-app-docker-run-opts {
          description
            "Multi-line 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";
          }
        }  // grouping im-app-docker-run-opts
    
        grouping im-app-device {
          description
            "Application device information";
          leaf device-name {
            type string {
              length "0..32";
              pattern '[0-9a-zA-Z]*';
            }
            default "";
            description "device name";
          }
        }  // grouping im-app-device
    
        grouping im-app-mac {
          description
            "Application MAC information";
          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";
          }
        }  // grouping im-app-mac
    
        grouping im-app-vnic-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";
          }
        }  // grouping im-app-vnic-param
    
        grouping im-app-vnic-vlan-param {
          description
            "VLAN access mode parameters for application L2 interface";
          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";
          }
        }  // grouping im-app-vnic-vlan-param
    
        grouping im-app-vnic-mgmt-vlan {
          description
            "VLAN access mode parameters for application L2 interface 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";
            uses app-hosting-ios-xe-cfg:im-app-vnic-vlan-param;
          }  // container mgmt-vlan-param
        }  // grouping im-app-vnic-mgmt-vlan
    
        grouping im-app-vnic-mgmt {
          description
            "Application L2 interface using management interface parameters";
          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";
          }
        }  // grouping im-app-vnic-mgmt
    
        grouping im-app-vnic-vlan {
          description
            "VLAN access mode parameters for application L2 interface";
          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";
            uses app-hosting-ios-xe-cfg:im-app-vnic-vlan-param;
          }  // container appintf-vlan-param
        }  // grouping im-app-vnic-vlan
    
        grouping im-app-vnic {
          description
            "Application L2 interface configuration";
          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";
            uses app-hosting-ios-xe-cfg:im-app-vnic-param;
          }  // 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";
              uses app-hosting-ios-xe-cfg:im-app-vnic-vlan;
            }  // list vlan-node
          }  // container vlan-nodes
        }  // grouping im-app-vnic
    
        grouping im-app-network {
          description
            "Application Network 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";
            uses app-hosting-ios-xe-cfg:im-app-mac;
          }  // 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";
          }
        }  // grouping im-app-network
    
        grouping application-im-app-intf-vlan-rule {
          description
            "App interface VLAN access to guest interface table mapping";
          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";
          }
        }  // grouping application-im-app-intf-vlan-rule
    
        grouping application-im-app-device-usb {
          description "App device details";
          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";
          }
        }  // grouping application-im-app-device-usb
    
        grouping im-app-vnic-module {
          description
            "Application interface configuration for module network";
          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";
          }
        }  // grouping im-app-vnic-module
    
        grouping application-information {
          description "Application Information";
          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";
            uses app-hosting-ios-xe-cfg:im-app-network;
          }  // container application-network-resource
    
          container application-resource-profile {
            description
              "Application Resource profile";
            uses app-hosting-ios-xe-cfg:im-app-resource;
          }  // container application-resource-profile
    
          container application-attached-device {
            description
              "Application attached device";
            uses app-hosting-ios-xe-cfg:im-app-device;
          }  // 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";
              uses app-hosting-ios-xe-cfg:application-im-app-intf-vlan-rule;
            }  // 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";
              uses app-hosting-ios-xe-cfg:application-im-app-device-usb;
            }  // 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";
              uses app-hosting-ios-xe-cfg:im-app-docker-run-opts;
            }  // 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";
            uses app-hosting-ios-xe-cfg:im-app-vnic-mgmt;
          }  // 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";
              uses app-hosting-ios-xe-cfg:im-app-vnic-mgmt-vlan;
            }  // 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";
              uses app-hosting-ios-xe-cfg:im-app-vnic;
            }  // 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";
              uses app-hosting-ios-xe-cfg:im-app-vnic-module;
            }  // list app-cam-gintf
          }  // container app-cam-gintfs
        }  // grouping application-information
    
        grouping application-hosting-infra-record {
          description
            "Application hosting Infra Record";
          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";
          }
        }  // grouping application-hosting-infra-record
    
        container app-hosting-cfg-data {
          description
            "app-hosting configuration data";
          container apps {
            description "Application list";
            list app {
              key "application-name";
              description "Application info";
              uses app-hosting-ios-xe-cfg:application-information;
            }  // list app
          }  // container apps
    
          container controls {
            presence "Controls";
            description "App-hosting control";
            uses app-hosting-ios-xe-cfg:application-hosting-infra-record;
          }  // container controls
        }  // container app-hosting-cfg-data
      }  // module Cisco-IOS-XE-app-hosting-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.