Create Extension

Details

API Details
NameCreate Extension
DescriptionCreate an extension on the CloudCenter platform to ease the resource-creation process. See Extensions for additional context.
MethodPOST
URI
  • v1/extensions/connectApic

  • /v1/extensions/aci
CloudCenter Release
  • Introduced in CloudCenter 4.6.0 
  • Enhanced to include the associatedL3Out, l3OutForRouteProfile, and dhcpRelayLbls parameters.
Notes
  • For additional context on <PORT> usage in the following example(s), see Base URI Format.
  • Updated to work with the Create Extension.
  • Provides a HTTP Location URL that you can use to query the system until this call returns a success or failure HTTP Status Codes.
  • The password parameter is displayed in clear text for users with write or admin access. For all other users, the CloudCenter platform displays ===redacted=== in the password attribute.
ESB Headeraction: create.extensions

Example 1 – Connect to ACI Endpoint

curl -k -X POST -H "Accept: application/json" -H "Content-Type: application/json" -u cliqradmin:40E45DBE57E35ECB "https://<HOST>:<PORT>/v1/extensions/connectApic"

Request Body

{
    "apicEndpoint": "http://<HOST>:<PORT>",
    "username": "admin",
    "password": "===redacted===",
    "connectingCloudType": "Vmware-default"
} 

Example 2 – Save the ACI Endpoint

curl -k -X POST -H "Accept: application/json" -H "Content-Type: application/json" -u cliqradmin:40E45DBE57E35ECB "https://<HOST>:<PORT>/v1/extensions/aci"

Request Body

{
    "extensionType": "ACI",
    "name": "DocDemo",
    "aciConnectionInfo": {
        "apicEndpoint": "http://<HOST>:<PORT>",
        "username ": "admin ",
        "password ": "===redacted===",
        "connectingCloudType ": "Vmware - default "
    },
    "bdTemplates ": []
}

Example 3 – Save the ACI Endpoint with a Bridge Domain Template

Request Body

{
    "extensionType": "ACI",
    "name": "DocDemo",
    "aciConnectionInfo": {
        "aciConnectionInfo": {
            "apicEndpoint": "http://1<HOST>:<PORT>/",
            "username": "admin",
            "password": "===redacted===",
            "connectingCloudType": "Vmware-default",
            "vmmDomainName": "VMM",
            "tenant": "Demo"
        },
        "bdTemplates": [{
            "name": "bdt1",
            "nameConfig": "%Pool_Name%:%App_Name%",
            "tenantName": "tenantA",
            "vrfTemplate": "vrf1",
            "dynamicVrfTemplate": false,
            "bdtSubnet": {
                "subnetScope": "private",
                "l3OutRoutePrefix": "common/default",
                "routeProfile": "",
                "ndraPrefix": false,
                "querierIp": false,
                "bdtSubnetPools": [{
                    "masterSubnet": "<HOST>/<SUBNET>",
                    "poolSubnet": "/<SUBNET>"
                }, {
                    "masterSubnet": "<HOST>/<SUBNET>",
                    "poolSubnet": "/<SUBNET>"
                }]
            }
        }, {
            "name": "bdt2",
            "nameConfig": "%Pool_Name%:%App_Name%",
            "tenantName": "",
            "vrfTemplate": "",
            "dynamicVrfTemplate": true,
            "bdtSubnet": {
                "subnetScope": "private",
                "l3OutRoutePrefix": "common/default",
                "routeProfile": "",
                "ndraPrefix": true,
                "querierIp": true,
                "bdtSubnetPools": [{
                    "masterSubnet": "<HOST>/<SUBNET>",
                    "poolSubnet": "/<SUBNET>"
                }, {
                    "masterSubnet": "<HOST>/<SUBNET>",
                    "poolSubnet": "/<SUBNET>"
                }]
            }
        }],
        "ownerUserId": 2,
        "endpoint": "http://<HOST>:<PORT>/"
    }
}

Example 4 – A Bridge Domain Request with L3 Out and DHCP Parameters

Request Body

{
   "resource":"https://<HOST>:<PORT>/v1/extensions/aci/1",
   "aciConnectionInfo":{
      "apicEndpoint":"http://<HOST>:<PORT>/",
      "username":"admin",
      "password":"===redacted===",
      "connectingCloudType":"Vmware-default",
      "vmmDomainName":null,
      "tenant":null
   },
   "bdTemplates":[
      {
         "bdtSubnet":{
            "bdtSubnetPools":[
               {
                  "masterSubnet":"<HOST>:<PORT>",
                  "poolSubnet":"/28"
               }
            ],
            "subnetScope":"private",
            "shared":false,
            "ndraPrefix":false,
            "querierIp":false
         },
         "associatedL3Outs":[
            {
               "l3ExtOutName":"common/L3_handoff"
            },
            {
               "l3ExtOutName":"common/default"
            }
         ],
         "dhcpRelayLbls":[
            {
               "name":"infra/InfraDHCPPolicy"
            },
            {
               "name":"infra/RelayPolicy_auto358"
            }
         ],
         "name":"temp-01",
         "nameConfig":"bd-temp01-%",
         "tenantName":"common",
         "vrfTemplate":"default",
         "dynamicVrfTemplate":false,
         "l3OutForRouteProfile":"common/default"
      }
   ],
   "extensionType":"ACI",
   "name":"CiscoLabACI_ByAdmin01",
   "description":null,
   "ownerUserId":2,
   "endpoint":"http://<HOST>:<PORT>/"
}

 

Response

When you issue a GET request using the  HTTP Location URL, you receive the following response:

{
    "perms": ["read", "delete", "access", "administration", "write"],
    "id": "8",
    "resource": "https://<HOST>:<PORT>/v1/extensions/aci/8",
    "aciConnectionInfo ": {
        "apicEndpoint ": "http: //<HOST>:<PORT>",
        "username": "admin",
        "password": "===redacted===",
        "connectingCloudType": "Vmware-default",
        "vmmDomainName": null,
        "tenant": null
    },
    "bdTemplates": [],
    "extensionType": "ACI",
    "name": "DocDemo",
    "description": null,
    "ownerUserId": 2,
    "endpoint": "http://<HOST>:<PORT>"
}

or

{
    "perms": [
        "read",
        "write",
        "delete",
        "access",
        "administration"
    ],
    "id": "1",
    "resource": "https://<HOST>:<PORT>/v1/extensions/aci/1",
    "extensionType": "ACI",
    "name": "DocDemo",
    "ownerUserId": 2,
    "endpoint": "http://<HOST>:<PORT>/",
    "aciConnectionInfo": {
        "apicEndpoint": "http://<HOST>:<PORT>/",
        "username": "admin",
        "password": "== redacted ==",
        "connectingCloudType": "Vmware-default",
        "vmmDomainName": "VMM",
        "tenant": "Demo"
    },
    "bdTemplates": [{
        "bdtSubnet": {
            "bdtSubnetPools": [{
                "usedNetworkPools": [],
                "id": "3",
                "masterSubnet": "<HOST>/<SUBNET>",
                "poolSubnet": "/<SUBNET>"
            }, {
                "usedNetworkPools": [],
                "id": "2",
                "masterSubnet": "<HOST>/<SUBNET>",
                "poolSubnet": "/<SUBNET>"
            }],
            "subnetScope": "private",
            "shared": false,
            "ndraPrefix": false,
            "querierIp": false
        },
        "id": "2",
        "name": "bdt1",
        "nameConfig": "%Pool_Name%:%App_Name%",
        "tenantName": "tenantA",
        "vrfTemplate": "vrf1",
        "dynamicVrfTemplate": false
    }, {
        "bdtSubnet": {
            "bdtSubnetPools": [{
                "usedNetworkPools": [],
                "id": "4",
                "masterSubnet": "<HOST>/<SUBNET>",
                "poolSubnet": "/<SUBNET>"
            }, {
                "usedNetworkPools": [],
                "id": "5",
                "masterSubnet": "<HOST>/<SUBNET>",
                "poolSubnet": "/<SUBNET>"
            }],
            "subnetScope": "private",
            "shared": false,
            "ndraPrefix": true,
            "querierIp": true
        },
        "id": "3",
        "name": "bdt2",
        "nameConfig": "%Pool_Name%:%App_Name%",
        "tenantName": "",
        "vrfTemplate": "",
        "dynamicVrfTemplate": true
    }]
}

 

When you issue a L3 Out/DHCP request, you receive the following response:

 

{
   "perms":[
      "read",
      "administration",
      "write",
      "access",
      "delete"
   ],
   "id":"1",
   "resource":"https://<HOST>:<PORT>/v1/extensions/aci/1",
   "aciConnectionInfo":{
      "apicEndpoint":"http://<HOST>:<PORT>/",
      "username":"admin",
      "password":"===redacted===",
      "connectingCloudType":"Vmware-default",
      "vmmDomainName":null,
      "tenant":null
   },
   "bdTemplates":[
      {
         "bdtSubnet":{
            "bdtSubnetPools":[
               {
                  "usedNetworkPools":[

                  ],
                  "id":10,
                  "masterSubnet":"<HOST>:<PORT>/<SUBNET>",
                  "poolSubnet":"/28"
               }
            ],
            "subnetScope":"private",
            "shared":false,
            "ndraPrefix":false,
            "querierIp":false
         },
         "associatedL3Outs":[
            {
               "id":6,
               "l3ExtOutName":"common/L3_handoff"
            },
            {
               "id":7,
               "l3ExtOutName":"common/default"
            }
         ],
         "dhcpRelayLbls":[
            {
               "id":5,
               "name":"infra/InfraDHCPPolicy"
            },
            {
               "id":6,
               "name":"infra/RelayPolicy_auto358"
            }
         ],
         "id":7,
         "name":"temp-01",
         "nameConfig":"bd-temp01-%",
         "tenantName":"common",
         "vrfTemplate":"default",
         "dynamicVrfTemplate":false,
         "l3OutForRouteProfile":"common/default"
      }
   ],
   "extensionType":"ACI",
   "name":"CiscoLabACI_ByAdmin01",
   "description":null,
   "ownerUserId":2,
   "endpoint":"http://<HOST>:<PORT>/"
}


Request Attributes

apicEndpoint
  • Description: The URL for the Cisco Application Policy Infrastructure Controller (Cisco APIC) endpoint.
  • Type: String
username
  • Description: Unique, CloudCenter-generated name reference for this user.
  • Type: String
password
  • Description: Password for the user's account. Effective Cloud Center 4.6.1, the CloudCenter platform enforces a minimum password length of 5 characters for all settings.
  • Type: String
 connectingCloudType 
  • Description: The CCO cloud used to manage the APIC endpoint.
  • Type: String
extensionType
  • Description: Identifies the type of extension on the CloudCenter platform. 
  • Type: Enumeration

    EnumerationDescription
    ACI Identifies this extension as an ACI resource. See ACI for additional context.
    --No other extensions are currently available. See Extensions for additional context.
name
  • DescriptionThe name assigned for this CloudCenter ResourceValid characters are letters, numbers, underscores, and spaces.

  • Type: String

aciConnectionInfo (click for additional details)

bdTemplates (click for additional details)

Response Attributes

perms (click for additional details)
id
  • DescriptionUnique, system-generated identifier for this CloudCenter Resource.

  • Type: String
resource
  • Description: Unique URL to access this resource
  • Type: String
aciConnectionInfo
  • Description: Identifies the information for the APIC endpoint.
  • Type: Sequence of details about this ACI type

    apicEndpoint
    • Description: The URL for the Cisco Application Policy Infrastructure Controller (Cisco APIC) endpoint.
    • Type: String
    username
    • Description: Unique, CloudCenter-generated name reference for this user.
    • Type: String
    password
    • Description: Password for the user's account. Effective Cloud Center 4.6.1, the CloudCenter platform enforces a minimum password length of 5 characters for all settings.
    • Type: String
     connectingCloudType 
    • Description: The CCO cloud used to manage the APIC endpoint.
    • Type: String
bdTemplates (click for additional details)
extensionType
  • Description: Identifies the type of extension on the CloudCenter platform. 
  • Type: Enumeration

    EnumerationDescription
    ACI Identifies this extension as an ACI resource. See ACI for additional context.
    --No other extensions are currently available. See Extensions for additional context.
name
  • DescriptionThe name assigned for this CloudCenter ResourceValid characters are letters, numbers, underscores, and spaces.

  • Type: String

description
  • DescriptionA brief description for this CloudCenter Resource.

  • Type: String
 ownerUserId 
  • DescriptionUnique, system-generated identifier for the owner of the tenant to which this service owner belongs
  • Type: String
endpoint
  • Description: The URL of the APIC device that is connected to the network directly or indirectly.
  • Type: String