Submit Job (v2)

Details

API DetailsRelease-Specific Information
CloudCenter Platform 4xCloudCenter Suite 5x
NameSubmit job (Asynchronous API)
Description

Submit job-related information for each resource

Allowed Role(s)WM_USER
MethodPOST
URI

v2/jobs

cloudcenter-ccm-backend/api/v2/jobs

Sample Request
curl -k -X POST -H "Accept: application/json" -H 'Content-Type: application/json' -u cloudcenteradmin:40E45DBE57E35ECB "https://<HOST>:<PORT>/v2/jobs"
curl -k -X POST -H "Accept: application/json" -H 'Content-Type: application/json' -u cloudcenteradmin:40E45DBE57E35ECB "https://<HOST>:<PORT>/loudcenter-ccm-backend/apiv2/jobs"
Release
  • Introduced in CloudCenter 4.6.
  • Enhanced in CloudCenter 4.7.0 to include the rootVolumeSize attribute in the cloudParams element.
  • Enhanced in CloudCenter 4.7.3.1 to include the createIsolatedNetwork attribute in the cloudProperties element.
  • Enhanced in CloudCenter 4.7.2 to include the Google Cloud Platform LaunchName in the cloudProperties element.
  • Enhanced in CloudCenter 4.8.0 to include the nodeIds (comma-separated list) in the jobs payload.
  • Enhanced in CloudCenter 4.8.2 to include the assignIpv6Address attribute in the nics element.
  • Enhanced in CloudCenter 4.9.0 to include the following changes:
    • Container Clouds name-value additions in the propertyTypes(v2) attribute
    • containerVolumes details in the cloudParams attribute (see Example 6 below)
    • Azure Pack multi-NIC support

Modified in CloudCenter Suite 5.0.0

Notes
  • Only resource owners and users with WRITE perms can view all the fields for this resource.
  • Other users can only view common fields like name, description, and so forth. See Permission Control for additional context.
  • Restful JSON Payload: Use the Restful JSON button (available in the CCM UI for N-tier applications) to seamlessly generate the payload for a job deployment request via the UI. You can then copy this payload (before submitting the UI request) and paste it into your RESTClient application to issue the corresponding API call. See Deployment Environments > Restful JSON for APIs for additional context.
Back To LinksCloudCenter Platform 4x APIWorkload Manager API

ESB Header

action: create.jobs 

See the Enterprise Service Bus (ESB) section for additional context.

Not applicable

Sample 1 – Governance Mode OFF

1a. Request Body: Batch – AWS

 Click here to expand...
{
    "name": "PP_BatchJobViaApi_01",
    "policyId": 1,
    "appId": "180",
    "environmentId": "79",
    "appVersion": "1.0",
    "parameters": {
        "cloudParams": {
            "cloudRegionId": "1",
            "instance": "m1.small",
            "cloudProperties": [{
                "name": "vpcId",
                "value": "vpc-5806923d"
            }],
            "nics": [{
                "id": "95845aef-995e-42d9-8d63-f2572e3cff9f",
                "allocationMode": "DHCP",
                "allocatePublicIp": true,
                "order": 1
            }]
        }
    }
}

1b. Request Body: NTier – Openstack

 Click here to expand...
{
    "appId": "33",
    "appVersion": "1.0",
    "name": "jenkins-14",
    "environmentId": 1,
    "parameters": {
        "cloudParams": {
            "cloudRegionId": 1,
            "instance": "1da5bcf0-0c52-476e-b841-394eea73a903",
            "cloudProperties": [{
                "name": "TenantId",
                "value": "xyz"
            }]
        }
    },
    "jobs": [{
        "tierId": "34",
        "parameters": {
            "appParams": [],
            "cloudParams": {
                "nics": [{
                    "id": "95845aef-995e-42d9-8d63-f2572e3cff9f",
                    "allocationMode": "DHCP",
                    "allocatePublicIp": true,
                    "order": 1
                }]
            }
        }
    }]
}

1c. Request Body: Multi-Site, NTier – AWS

 Click here to expand...
{
    "appId": "33",
    "appVersion": "3.0",
    "name": "TwoTierApp_MultiSite_1",
    "metadatas": [{
        "namespace": "",
        "name": "Name",
        "value": "%JOB_NAME%",
        "editable": false,
        "required": true
    }],
    "environmentId": "7",
    "tagIds": [],
    "policyIds": null,
    "preventTermination": false,
    "parameters": {
        "appParams": [{
            "name": "param1",
            "value": "test"
        }],
        "cloudParams": {}
    },
    "jobs": [{
        "tierId": "34",
        "policyIds": null,
        "tagIds": [],
        "securityProfileIds": [],
        "parameters": {
            "appParams": [{
                "name": "referredJob",
                "value": ""
            }, {
                "name": "param2",
                "value": ""
            }],
            "cloudParams": {
                "cloudRegionId": "1",
                "accountId": "1",
                "volumes": [{
                    "name": "Volume1",
                    "size": 10,
                    "type": null,
                    "iops": null
                }, {
                    "name": "Volume2",
                    "size": 10,
                    "type": null,
                    "iops": null
                }],
                "cloudProperties": [{
                    "name": "provisionInAvailabilitySet",
                    "value": ""
                }, {
                    "name": "availabilitySet",
                    "value": ""
                }, {
                    "name": "TenantName",
                    "value": "gautam"
                }],
                "nics": [{
                    "order": 1,
                    "id": "39fa3b95-986d-4a81-ab6e-88b361697cf1",
                    "allocatePublicIp": "true",
                    "allocationMode": "DHCP"
                }],
                "instance": "99ff730c-1161-4d70-92a2-d3dea3a39a88"
            }
        },
        "numNodesToLaunch": 1
    }, {
        "tierId": "35",
        "policyIds": null,
        "tagIds": [],
        "securityProfileIds": [],
        "parameters": {
            "appParams": [{
                "name": "referredJob",
                "value": ""
            }],
            "cloudParams": {
                "cloudRegionId": "2",
                "accountId": "2",
                "volumes": [],
                "cloudProperties": [{
                    "name": "vpcId",
                    "value": "vpc-e88bc68d"
                }],
                "nics": [{
                    "order": 1,
                    "allocationMode": "DHCP",
                    "allocatePublicIp": "true",
                    "id": "subnet-4d20503a"
                }],
                "instance": "t2.micro"
            }
        }
    }]
}

1d. Request Body: Multi Account Deployments - NTier (AWS)

 Click here to expand...
{
    "appId": "31",
    "appVersion": "1.0",
    "name": "Jenkins_test",
    "keepExistingDeployment": false,
    "environmentId": 4,
    "parameters": {
        "cloudParams": {
        }
    },
    "jobs": [{
        "tierId": "32",
        "parameters": {
            "cloudParams": {
                "instance": "m1.small",
                "cloudRegionId": 1,
                "accountId": 1,
                "cloudProperties": [{
                    "name": "vpcId",
                    "value": "vpc-ed1e1c88"
                }],
                "nics": [{
                    "id": "subnet-01306d76",
                    "allocationMode": "DHCP",
                    "allocatePublicIp": true,
                    "order": 1
                }]
            }
        }
    }, {
        "tierId": "33",
        "parameters": {
            "cloudParams": {
                "instance": "m1.small",
                "accountId": 2,
                "cloudRegionId": 1,
                "cloudProperties": [{
                    "name": "vpcId",
                    "value": "vpc-dfaa3dba"
                }],
                "nics": [{
                    "id": "subnet-e9e0519e",
                    "allocationMode": "DHCP",
                    "allocatePublicIp": true,
                    "order": 1
                }]
            }
        }
    }]
}

Example 2 –  Governance Mode ON

curl -k -X POST -H "Accept: application/json" -H 'Content-Type: application/json' -u cloudcenteradmin:40E45DBE57E35ECB "https://<HOST>:<PORT>/v2/jobs 

Request Body

 Click here to expand...
{
    "appId": "65",
    "appVersion": "1.0",
    "name": "JenkinsT7SingleTier_Deploy32",
    "tagIds":[1],
    "parameters": {
        "cloudParams": {
         
        }
    },
    "jobs": [{
        "tierId": "68",
        "tagIds":[2,3],
        "parameters": {
            "cloudParams": {
                "cloudRegionId" : 1
                "instance": "m1.small",
                "cloudProperties": [{
                    "name": "vpcId",
                    "value": "vpc-5806923d"
                }],
                "nics": [{
                    "id": "subnet-c22448a7",
                    "allocationMode": "DHCP",
                    "allocatePublicIp": true,
                    "order": 1
                }]
            }
        }
    }]
}

 Example 3 –   Availability Set - Node Placement

 Request Payload: AWS

 Click here to expand...

The availability set is specified as a list of subnet IDs (comma separated) in the first NIC ID of the job submit request payload. See Availability Sets and Zones for additional context.

curl -k -X GET -H "Accept: application/json" -H 'Content-Type: application/json' -u cloudcenteradmin:40E45DBE57E35ECB "https://<HOST>:<PORT>/v2/jobs"
  • Example 3.1: Using DHCP allocation mode

    "nics": [
                {
                  "order": 1,
                  "allocationMode": "DHCP",
                  "allocatePublicIp": "true",
                  "id": "subnet-bf7c40cb,subnet-dc3c45f4"
                }]
  • Example 3.2: Using Static IP allocation mode

    Attach the static private address to the NIC when you Create Cloud Instance Type instance create then use that address instead of using the DHCP allocationMode.

    nics":[  
       		{  
          "order":1,
          "allocationMode":"STATIC_IP",
          "allocatePublicIp":"false",
          "id":"subnet-7dc30d25",
          "properties":
    		[{  
                "key":"PRIVATE_IP_LIST",
                "values":[  
                   "12.3.6.1"
                		]
             }]}]
  • Example 3.3: Using Multiple NICs

    AWS support multiple NICs across subnets in the same availability zone

    [ 
     { 
     "order":1,
     "allocationMode":"DHCP",
     "allocatePublicIp":"true",
     "id":"subnet-74752b32"
     },
     { 
     "order":2,
     "allocationMode":"STATIC_IP",
     "allocatePublicIp":"false",
     "id":"subnet-7dc30d25",
     "properties":[ 
     { 
     "key":"PRIVATE_IP_LIST",
     "values":[ 
     "12.3.6.1"
     ] } ] } ] 

Request Body: OpenStack

 Click here to expand...

The availability set is part of cloud properties of the job payload request. Provide the OpenStack zone information as comma separated zoneIds with name as availabilitySet in the cloud properties. See Availability Sets and Zones for additional context.

{ 
curl -k -X GET -H "Accept: application/json" -H 'Content-Type: application/json' -u cloudcenteradmin:40E45DBE57E35ECB "https://<HOST>:<PORT>/v2/jobs"
"cloudProperties": [
        ...
        {
            "name": "availabilitySet",
            "value": "nova,zone1"
        }
   ]
}

Request Body: Azure

 Click here to expand...

Provide the availability set as a boolean flag value in the cloud properties of the job submit payload request. Use the provisionInAvailabilitySet=true setting in the cloud properties to enable Azure's availability set.

{ 
curl -k -X GET -H "Accept: application/json" -H 'Content-Type: application/json' -u cloudcenteradmin:40E45DBE57E35ECB "https://<HOST>:<PORT>/v2/jobs"
"cloudProperties": [
        ...
        {
            "name": "provisionInAvailabilitySet",
            "value": "true"
        }
   ]
  } 

Request Body: Google Cloud Platform

 Click here to expand...

The zone is part of cloud properties of the job payload request. Provide the Google Cloud Platfrom zone information as comma separated zoneIds with name as LaunchZone in the cloud properties. See Availability Sets and Zones for additional context.

{ 
curl -k -X GET -H "Accept: application/json" -H 'Content-Type: application/json' -u cloudcenteradmin:40E45DBE57E35ECB "https://<HOST>:<PORT>/v2/jobs"
"cloudProperties": [
        ...
        {
            "name": "LaunchZone",
            "value": "us-central1-b"
        }
   ]
}

Example 4 –  Node IDs in the Payload

Effective CloudCenter 4.8.0, the Submit Job API is modified to optionally accept nodeIds as input for each tier. In case of a scaled job, provide a list of node IDs for a particular tier. See the Migrating Deployments Use Case for additional details.

Request Body

{
    "appId": "33",
    "appVersion": "1.0",
    "name": "jenkins-14",
    "environmentId": 1,
    "parameters": {
        "cloudParams": {
            "cloudRegionId": 1,
            "instance": "1da5bcf0-0c52-476e-b841-394eea73a903",
             "cloudProperties": [
							{
								"name": "TenantId",
								"value": "xyz"
							}
			]
              	}
	 },
    "jobs": [{
        "tierId": "34",
		"nodeIds": ["b5f49223-132d-4b9f-bab0-099268377d2b", "fd276f61-60f6-4f0b-a86b-90de83cf61a8"],
         "parameters": {
 			  "appParams": [], 
              "cloudParams" : {
              	"nics": [{
              	       "id": "95845aef-995e-42d9-8d63-f2572e3cff9f",
              	       "allocationMode": "DHCP",
              	       "allocatePublicIp":true,
              	       "order": 1
              	       }]
              	}
         }
    }]
}

Example 5 –   OpenStack Resource Placement in the Payload

Effective CloudCenter 4.8.0.1, the Submit Job API is modified to optionally include the Resource Placement feature attributes. See the Resource Placement and Validation for additional details.

Request Body (OpenStack)

{
        "appId": "29",
        "appVersion": "1",
        "name": "tetwq",
        "metadatas": [],
        "environmentId": "2",
        "tagIds": [],
        "securityProfileIds": [],
        "policyIds": null,
        "preventTermination": false,
        "parameters": {
                "appParams": [],
                "cloudParams": {
                        "cloudRegionId": "1",
                        "accountId": "1"
                }
        },
        "jobs": [
                {
                        "tierId": "30",
                        "policyIds": null,
                        "tagIds": [],
                        "securityProfileIds": [],
                        "parameters": {
                                "appParams": [
                                        {
                                                "name": "referredJob",
                                                "value": ""
                                        },
                                        {
                                                "name": "SSHPreference",
                                                "value": "NO_PREFERENCE"
                                        }
                                ],
                                "cloudParams": {
                                        "cloudRegionId": "1",
                                        "accountId": "1",
                                        "volumes": [
                                                {
                                                        "name": "Volume1",
                                                        "size": 1,
                                                        "type": "small",
                                                        "iops": null
                                                },
                                                {
                                                        "name": "Volume2",
                                                        "size": 1,
                                                        "type": "small",
                                                        "iops": null
                                                }
                                        ],
                                        "rootVolumeSize": "0",
                                        "cloudProperties": [
                                                {
                                                        "name": "provisionInAvailabilitySet",
                                                        "value": ""
                                                },
                                                {
                                                        "name": "availabilitySet",
                                                        "value": ""
                                                },
                                                {
                                                        "name": "TenantName",
                                                        "value": ""
                                                }
                                        ],
                                        "nics": [],
                                        "instance": "0"
                                }
                        },
                        "numNodesToLaunch": 3
                }
        ]
}

Example 6 –  Sample Kubernetes Payload

Effective CloudCenter 4.9.0, the Submit Job API is modified to optionally include Kubernetes-specific attributes. See the Container CloudsConfigure a Kubernetes Cloud, and  Container Service for additional details.

Request Body (Container Cloud)

{
   "appId":"55",
   "appVersion":"1",
   "name":"msqlcontainer",
   "metadatas":[
      {
         "namespace":"",
         "name":"Name",
         "value":"%JOB_NAME%",
         "editable":false,
         "required":true
      }
   ],
   "environmentId":"2",
   "tagIds":[

   ],
   "securityProfileIds":[

   ],
   "agingPolicyId":null,
   "suspensionPolicyId":null,
   "policyIds":null,
   "preventTermination":false,
   "parameters":{
      "appParams":[

      ],
      "cloudParams":{
         "cloudRegionId":"2",
         "accountId":"2"
      }
   },
   "jobs":[
      {
         "tierId":"56",
         "policyIds":null,
         "tagIds":[

         ],
         "securityProfileIds":[

         ],
         "parameters":{
            "appParams":[
               {
                  "name":"referredJob",
                  "value":""
               },
               {
                  "name":"MYSQL_ROOT_PASSWORD",
                  "value":"{\"name\":\"mysqlpassword\",\"value\":\"MYSQL_ROOT_PASSWORD\"}"
               }
            ],
            "envParams":[

            ],
            "cloudParams":{
               "cloudRegionId":"2",
               "accountId":"2",
               "volumes":[

               ],
               "rootVolumeSize":"0",
               "cloudProperties":[
                  {
                     "name":"namespace",
                     "value":"default"
                  }
               ],
               "nics":[

               ],
               "instance":"small",
               "containerVolumes":[
                  {
                     "volumeType":"PERSISTENT_VOLUME_CLAIM",
                     "mountPath":"/var/data/mysql",
                     "size":"1",
                     "accessMode":"READ_WRITE_ONCE",
                     "name":"pvc0001",
                     "unit":"GB"
                  }
               ]
            }
         },
         "numNodesToLaunch":1
      }
   ],
   "timeZone":"GMT-07:00"
}

Request Attributes

name
  • DescriptionThe name assigned for this CloudCenter ResourceValid characters are letters, numbers, underscores, and spaces.

  • Type: String

policyId
  • DescriptionUnique, system-generated identifier for the policy.  
    • If used as a request parameter, pass the Policy ID based on the context.
    • Pass the aging policy as a top-level policy and the scaling policy at the child job level.
    • The Policy ID is required if configured in your application profile. 
  • Type: String

agingPolicyId
  • DescriptionUnique, system-generated identifier for the aging policy.  
    • If used as a request parameter, pass the Policy ID based on the context.
    • Pass the aging policy as a top-level policy and the scaling policy at the child job level.
    • The Policy ID is required if configured in your application profile. 
  • Type: String

environmentId
  • Description: Unique, system-generated identifier for the deployment environment. See the Deployment Environments section for the relevant release for additional details. This attribute is the same as the depEnvId attribute.
  • Type: String


appId
  • Description: Unique, system-generated identifier for the application profile. You can provide multiple application profile IDs as input parameters.

  • Type: String

appVersion
  • Description: The application build version with which a new job is started. If the appVersion is not specified, the latest application build version is used.

  • Type: String

params
  • Description: Information about the associated files.

  • Type: Array of name-value pairs

    name
    • DescriptionThe name assigned for this CloudCenter ResourceValid characters are letters, numbers, underscores, and spaces.

    • Type: String

    value
    • Description: Indicates the set value for this property
    • Type: Float

keepExistingDeployment
  • Description: Identifies if an existing deployment must be retained.
  • Type: Boolean
    • true = The existing deployment is retained.
    • false = Default. The existing deployment is retained.

tagIds
  • Description: A list of tag identifiers associated (or) to be associated with this resource. Each tag is represented by a System Tag ID.
  • Type: Long (list)
  • Example: "tagIds": [1, 5]

securityProfileIds
  • Description: Identifies a list of security profile identifiers to be associated with a job. This attribute is only valid in non-governance mode.
  • Type: Long

suspensionPolicyId
  • Description: Unique, system-generated identifier for the suspension policy.
  • Type: String

policyIds
  • Description: A list of policies associated with the job.
  • Type: String

preventTermination
  • Description: When set for a deployment/job, this attribute ensures that the deployment/job cannot be suspended, stopped, removed, or deleted. See Prevent Termination for additional context.
  • Type: Boolean
    • true = Termination is disabled.
    • false = Termination is enabled.

parameters
  • Description: Information about the types of parameters used to start this job.
  • Type: Sequence of parameter types

    cloudParams
    • Description: Cloud specific job parameters (not required for SaaS deployments) – information about the cloud where new job is started
    • Type: Object

      cloudRegionId
      • Description: Unique, system-generated identifier for a cloud region
      • Type: String

      instance
      • Description: The name of the cloud Instance type that is used to start the new job. See the Manage Instance Types section for the relevant release for additional context.
      • Type: String

      instanceName
      • Description: The instance name for this external service. See the Manage Instance Types section for the relevant release for additional context.
      • Type: String

      AWS NICs (an example)
       Click here to expand...

      nics
      • Description: Details about the AWS Network Interface Cards (NICs) configuration. See IP Allocation Mode for additional details. The concept of Availability Sets and Zones in AWS is mapped to the subnet as you can have multiple subnets for a each zone. So you must input the list of subnets as the input for an availability set. During an API job deployment, the availability set input is provided as part of the NIC information. To be more specific the first NIC will contain the information as the comma separated subnet list as shown in the example.

      • Type: Object

        networkId                                                                                                                                        
        • Description: The network identifier for each required tier.
        • Type: String

        Required (if configured in your application profile)

        privateIPAllocationMode
        • Description: Identifies the allocation strategy used to configure the NIC for an AWS cloud
        • Type: Enumeration

          EnumerationDescription
          DHCP (default)This strategy allows the IP to be allocated by the DHCP server to the instance on server boot up. This IP address is not known prior to server boot up.
          Pre-allocate IP

          This strategy allows the cloud infrastructure IP allocation to be dynamically provided before the server boots up. This strategy is specific to the following OpenStack applications:

          • CISCO CSR1000: Configuration drive file IP populated with the pre-allocated IPs known before server boot up.
          • CISCO F5 Load Balancer: Multiple NIC support.
          Static IP (only CloudCenter 3.x)
          This strategy allows the customer to provide the IP address. As this IP address may or may not be available to the server (based on the availability), you must perform adequate checks to ensure IP availability before using this strategy.

        order
        • Description: The number at which a resource is to be attached. When updating a phase, use this order to re-order the resource to a different position in the array of resources.
        • Type: Long

        Required (if configured in your application profile)

        nicNetworkType
        • Description: The type of network for this NIC. A corresponding list of domains are attached to each option.
        • Type: Enumeration

          EnumerationDescription
          NETWORKA private network that supports IP ranges which overlap with another private network
          BRIDGE_DOMAINA set of logical ports that share the same flooding or broadcast characteristics. Used for ACI environments.
      • Example 1: Using DHCP allocation mode

        "nics": [
                    {
                      "order": 1,
                      "allocationMode": "DHCP",
                      "allocatePublicIp": "true",
                      "id": "subnet-bf7c40cb,subnet-dc3c45f4"
                    }]
      • Example2: Using Static IP allocation mode

        Attach the static private address to the NIC when you Create Cloud Instance Type instance create then use that address instead of using the DHCP allocationMode.

        nics":[  
           		{  
              "order":1,
              "allocationMode":"STATIC_IP",
              "allocatePublicIp":"false",
              "id":"subnet-7dc30d25",
              "properties":
        		[{  
                    "key":"PRIVATE_IP_LIST",
                    "values":[  
                       "12.3.6.1"
                    		]
                 }]}]
      • Example 3: Using IPv6 Address

        When allocating firewall rules, CloudCenter supports IPv6, in addition to IPv4, addresses in the source for app profile, tenant, and security profiles. When you assign IPv6 addresses, the CloudCenter platform validates the security rule source before accepting the IPv6 address. This support is restricted to AWS and OpenStack clouds. If you provide an invalid IPv4/6 IP address, then the CloudCenter platform rejects the deployment as invalid. See IP Allocation Mode for additional details.

        nics":[{  
              "order":1,
              "allocationMode":"DHCP",
              "allocatePublicIp":"false",
              "assignIpv6Address": "true",
              "id":"subnet-ab4afff0",
                }
      • Example 4: Using Multiple NICs

        AWS support multiple NICs across subnets in the same availability zone

        [ 
         { 
         "order":1,
         "allocationMode":"DHCP",
         "allocatePublicIp":"true",
         "id":"subnet-74752b32"
         },
         { 
         "order":2,
         "allocationMode":"STATIC_IP",
         "allocatePublicIp":"false",
         "id":"subnet-7dc30d25",
         "properties":[ 
         { 
         "key":"PRIVATE_IP_LIST",
         "values":[ 
         "12.3.6.1"
         ] } ] } ] 



      Azure Pack NICs (an example)
       Click here to expand...

      nics
      • Description: Details about the Azure Pack Network Interface Cards (NICs) configuration. Each NIC should be assigned access permissions in the Azure Pack console.

      • Type: Object

        networkId                                                                                                                                        
        • Description: The network identifier for each required tier.
        • Type: String

        Required (if configured in your application profile)

        order
        • Description: The number at which a resource is to be attached. When updating a phase, use this order to re-order the resource to a different position in the array of resources.
        • Type: Long

        Required (if configured in your application profile)

        "nics": [
                    {
                      "id": "data-160",
                      "order": "2"
                    },
                    {
                      "id": "storage-165",
                      "order": "3"
                    },
                    {
                      "id": "pxe-170",
                      "order": "1"
                    }
                ]



      volumes
      • Description: Identifies the volume-related details for this job

      • Type: Sequence of volume details.

        id
        • DescriptionUnique, system-generated identifier for this CloudCenter Resource.

        • Type: String

        name
        • DescriptionThe name assigned for this CloudCenter ResourceValid characters are letters, numbers, underscores, and spaces.

        • Type: String

        size
        • Description: Total number of records that any list page should contain. The default is: 

          • v1 APIs = 20 records

          • v2 APIs:

            • Prior to 4.8.0: All elements are returned and the page value is ignored.

            • Effective 4.8.0: 50 records
        • Type: Integer

        Unable to render {include} The included page could not be found.

        iops
        • Description: Input/Output Operations Per Second (IOPS) is an optional volume information attribute. This attribute is only applicable if the type attribute displays the Provisioned IOPS (SSD) value.
          • The ratio of provisioned IOPS and the requested volume size can be a maximum of 30.
          • A volume with 3000 IOPS must be a minimum of 100 GB in size.
          • A Provisioned IOPS (SSD) volume can range in size from 4 GB to 16 TB and in IOPS from 100 to 20000.

        • Type: Integer

        bootable
        • Description: Identifies if this is the root volume as only a root volume is bootable.
        • Type: Boolean
          • true = This is the root volume.
          • false = Default. This is not the root volume.

       provisionBareMetal 
      • Description: Identifies if the machines should be provisioned as bare metal hardware. See the Provisioning Bare Metal Hardware Servers section for the relevant release for additional context.
      • Type: Boolean
        • true = Bare metal hardware is provisioned and enabled for all tiers in the application
        • false = (Default) Bare metal hardware is not provisioned

      deploymentIsolationTag
      • Description: Creates the security group when you attach this tag to the group with all the VMs that need to communicate with each other. See the Application Security and Firewall Rules section for the relevant release for additional context.
      • Type: String

      autoCloudAndInstanceSelection
      • Description: Identifies if the cloud auto selection and instance type are based on the selectionCriteria.
      • Type: Boolean
        • true = This element is based on the selectionCriteria.
        • false = Default. This element is not based on the selectionCriteria.

      selectionCriteria
      • Description: The selection criteria based on the supported factors listed in the following table.

      • Type: Enumeration

        EnumerationDescription
        NONEThe volume does not have a selection criteria
        BEST_PRICEThe volume is selected based on the best price.
        BEST_PERFORMANCEThe volume is selected based on the best performance.
        BEST_PRICE_PERFORMANCEThe volume is selected based on the best price and performance.

      accountId
      • Description: Unique, system-generated identifier for the account of the cloud provider
      • Type: String

      rootVolumeSize
      • Description: Root volume size (in GB) if you need to expand root disk when you launch a VM. The size must be bigger than the size defined by the instance type. This is required for OpenStack, but optional for AWS.

        Optional for AWS

        To provide a larger size for root volume for an AWS deployment, use the newer generation of CloudCenter instance types. The older generation of instance types like the t1, m1 series do not support the resizing of root volume. To use the older generation of instance types, configure the root volume size as 0. This configuration, by default, uses the AMI's  root volume size. See the Attach Multiple Volumes to Tiers section for the relevant release  for additional context.

      • Type: String

      storage
      • Description: Identifies storage-related information for this job

      • Type: String

      networkTypeName
      • Description: Identifies the name of the network type for the simplified networks features. See the Deployment Environments section and the Cloud-Specific Network Settings section for the relevant release for additional context.

      • Type: String

      cloudProperties
      • Description: Information about the cloud region configuration. See Application Deployment for a use case.
      • Type: Array of name-value pairs

        name
        • DescriptionThe name assigned for this CloudCenter ResourceValid characters are letters, numbers, underscores, and spaces.

        • Type: String

        value
        • Description: Indicates the set value for this property
        • Type: Float

      • Availability Set Examples: If using CloudCenter 4.5.6 or later, see Availability Sets and Zones for a feature explanation or the following cloud-specific attributes:

      containerVolumes
      • Description: Identifies the type of container volume.
      • Type: Enumeration

        EnumerationDescription
        STORAGE_CLASSIdentifies if the user is attempting to create a new persistent volume and claim for the deployment.
        EMPTY_DIRIdentifies if the user has not specified any details.
        PERSISTENT_VOLUME_CLAIMIdentifies if the user is attempting to use an available claim in the cluster for the deployment.

    appParams
    • Description: Information about the application property
    • Type: Array of name-value pairs

      name
      • DescriptionThe name assigned for this CloudCenter ResourceValid characters are letters, numbers, underscores, and spaces.

      • Type: String

      value
      • Description: Indicates the set value for this property
      • Type: Float

    envParams
    • Description: Information about the application property
    • Type: Array of name-value pairs

      name
      • DescriptionThe name assigned for this CloudCenter ResourceValid characters are letters, numbers, underscores, and spaces.

      • Type: String

      value
      • Description: Indicates the set value for this property
      • Type: Float

numNodesToLaunch
  • Description: Identifies the number of nodes that should be launched with this job.
  • Type: Long

timeZone
  • Description: Identifies the timezone for your location

  • Type: String

jobs:

tierId
  • Description: Unique, system-generated identifier for the tier. 
    • If used as a request parameter, pass the Tier ID based on the context.
    • For multi-tier applications (Web Apps), provide a list of child jobs where each child job represents a service tier. The child job structure is similar to any other job, except that attributes like tags, cloud, and other attributes are ignored for a child job.
    • Required, if configured in your application profile.

  • Type: String

policyIds
  • Description: A list of policies associated with the job.
  • Type: String
tagIds
  • Description: A list of tag identifiers associated (or) to be associated with this resource. Each tag is represented by a System Tag ID.
  • Type: Long (list)
  • Example: "tagIds": [1, 5]
securityProfileIds
  • Description: Identifies a list of security profile identifiers to be associated with a job. This attribute is only valid in non-governance mode.
  • Type: Long
nodeIds
  • Description: Comma separated list of unique identifiers for the required tier.

    • If used in the request, provide multiple Node IDs for the same tier.

    • Use the correct Node ID for each tier in the application.

  • Type: String
parameters
  • Description: Information about the types of parameters used to start this job.
  • Type: Sequence of parameter types

    cloudParams
    • Description: Cloud specific job parameters (not required for SaaS deployments) – information about the cloud where new job is started
    • Type: Object

      cloudRegionId
      • Description: Unique, system-generated identifier for a cloud region
      • Type: String

      instance
      • Description: The name of the cloud Instance type that is used to start the new job. See the Manage Instance Types section for the relevant release for additional context.
      • Type: String

      instanceName
      • Description: The instance name for this external service. See the Manage Instance Types section for the relevant release for additional context.
      • Type: String

      AWS NICs (an example)
       Click here to expand...

      nics
      • Description: Details about the AWS Network Interface Cards (NICs) configuration. See IP Allocation Mode for additional details. The concept of Availability Sets and Zones in AWS is mapped to the subnet as you can have multiple subnets for a each zone. So you must input the list of subnets as the input for an availability set. During an API job deployment, the availability set input is provided as part of the NIC information. To be more specific the first NIC will contain the information as the comma separated subnet list as shown in the example.

      • Type: Object

        networkId                                                                                                                                        
        • Description: The network identifier for each required tier.
        • Type: String

        Required (if configured in your application profile)

        privateIPAllocationMode
        • Description: Identifies the allocation strategy used to configure the NIC for an AWS cloud
        • Type: Enumeration

          EnumerationDescription
          DHCP (default)This strategy allows the IP to be allocated by the DHCP server to the instance on server boot up. This IP address is not known prior to server boot up.
          Pre-allocate IP

          This strategy allows the cloud infrastructure IP allocation to be dynamically provided before the server boots up. This strategy is specific to the following OpenStack applications:

          • CISCO CSR1000: Configuration drive file IP populated with the pre-allocated IPs known before server boot up.
          • CISCO F5 Load Balancer: Multiple NIC support.
          Static IP (only CloudCenter 3.x)
          This strategy allows the customer to provide the IP address. As this IP address may or may not be available to the server (based on the availability), you must perform adequate checks to ensure IP availability before using this strategy.

        order
        • Description: The number at which a resource is to be attached. When updating a phase, use this order to re-order the resource to a different position in the array of resources.
        • Type: Long

        Required (if configured in your application profile)

        nicNetworkType
        • Description: The type of network for this NIC. A corresponding list of domains are attached to each option.
        • Type: Enumeration

          EnumerationDescription
          NETWORKA private network that supports IP ranges which overlap with another private network
          BRIDGE_DOMAINA set of logical ports that share the same flooding or broadcast characteristics. Used for ACI environments.
      • Example 1: Using DHCP allocation mode

        "nics": [
                    {
                      "order": 1,
                      "allocationMode": "DHCP",
                      "allocatePublicIp": "true",
                      "id": "subnet-bf7c40cb,subnet-dc3c45f4"
                    }]
      • Example2: Using Static IP allocation mode

        Attach the static private address to the NIC when you Create Cloud Instance Type instance create then use that address instead of using the DHCP allocationMode.

        nics":[  
           		{  
              "order":1,
              "allocationMode":"STATIC_IP",
              "allocatePublicIp":"false",
              "id":"subnet-7dc30d25",
              "properties":
        		[{  
                    "key":"PRIVATE_IP_LIST",
                    "values":[  
                       "12.3.6.1"
                    		]
                 }]}]
      • Example 3: Using IPv6 Address

        When allocating firewall rules, CloudCenter supports IPv6, in addition to IPv4, addresses in the source for app profile, tenant, and security profiles. When you assign IPv6 addresses, the CloudCenter platform validates the security rule source before accepting the IPv6 address. This support is restricted to AWS and OpenStack clouds. If you provide an invalid IPv4/6 IP address, then the CloudCenter platform rejects the deployment as invalid. See IP Allocation Mode for additional details.

        nics":[{  
              "order":1,
              "allocationMode":"DHCP",
              "allocatePublicIp":"false",
              "assignIpv6Address": "true",
              "id":"subnet-ab4afff0",
                }
      • Example 4: Using Multiple NICs

        AWS support multiple NICs across subnets in the same availability zone

        [ 
         { 
         "order":1,
         "allocationMode":"DHCP",
         "allocatePublicIp":"true",
         "id":"subnet-74752b32"
         },
         { 
         "order":2,
         "allocationMode":"STATIC_IP",
         "allocatePublicIp":"false",
         "id":"subnet-7dc30d25",
         "properties":[ 
         { 
         "key":"PRIVATE_IP_LIST",
         "values":[ 
         "12.3.6.1"
         ] } ] } ] 



      Azure Pack NICs (an example)
       Click here to expand...

      nics
      • Description: Details about the Azure Pack Network Interface Cards (NICs) configuration. Each NIC should be assigned access permissions in the Azure Pack console.

      • Type: Object

        networkId                                                                                                                                        
        • Description: The network identifier for each required tier.
        • Type: String

        Required (if configured in your application profile)

        order
        • Description: The number at which a resource is to be attached. When updating a phase, use this order to re-order the resource to a different position in the array of resources.
        • Type: Long

        Required (if configured in your application profile)

        "nics": [
                    {
                      "id": "data-160",
                      "order": "2"
                    },
                    {
                      "id": "storage-165",
                      "order": "3"
                    },
                    {
                      "id": "pxe-170",
                      "order": "1"
                    }
                ]



      volumes
      • Description: Identifies the volume-related details for this job

      • Type: Sequence of volume details.

        id
        • DescriptionUnique, system-generated identifier for this CloudCenter Resource.

        • Type: String

        name
        • DescriptionThe name assigned for this CloudCenter ResourceValid characters are letters, numbers, underscores, and spaces.

        • Type: String

        size
        • Description: Total number of records that any list page should contain. The default is: 

          • v1 APIs = 20 records

          • v2 APIs:

            • Prior to 4.8.0: All elements are returned and the page value is ignored.

            • Effective 4.8.0: 50 records
        • Type: Integer

        Unable to render {include} The included page could not be found.

        iops
        • Description: Input/Output Operations Per Second (IOPS) is an optional volume information attribute. This attribute is only applicable if the type attribute displays the Provisioned IOPS (SSD) value.
          • The ratio of provisioned IOPS and the requested volume size can be a maximum of 30.
          • A volume with 3000 IOPS must be a minimum of 100 GB in size.
          • A Provisioned IOPS (SSD) volume can range in size from 4 GB to 16 TB and in IOPS from 100 to 20000.

        • Type: Integer

        bootable
        • Description: Identifies if this is the root volume as only a root volume is bootable.
        • Type: Boolean
          • true = This is the root volume.
          • false = Default. This is not the root volume.

       provisionBareMetal 
      • Description: Identifies if the machines should be provisioned as bare metal hardware. See the Provisioning Bare Metal Hardware Servers section for the relevant release for additional context.
      • Type: Boolean
        • true = Bare metal hardware is provisioned and enabled for all tiers in the application
        • false = (Default) Bare metal hardware is not provisioned

      deploymentIsolationTag
      • Description: Creates the security group when you attach this tag to the group with all the VMs that need to communicate with each other. See the Application Security and Firewall Rules section for the relevant release for additional context.
      • Type: String

      autoCloudAndInstanceSelection
      • Description: Identifies if the cloud auto selection and instance type are based on the selectionCriteria.
      • Type: Boolean
        • true = This element is based on the selectionCriteria.
        • false = Default. This element is not based on the selectionCriteria.

      selectionCriteria
      • Description: The selection criteria based on the supported factors listed in the following table.

      • Type: Enumeration

        EnumerationDescription
        NONEThe volume does not have a selection criteria
        BEST_PRICEThe volume is selected based on the best price.
        BEST_PERFORMANCEThe volume is selected based on the best performance.
        BEST_PRICE_PERFORMANCEThe volume is selected based on the best price and performance.

      accountId
      • Description: Unique, system-generated identifier for the account of the cloud provider
      • Type: String

      rootVolumeSize
      • Description: Root volume size (in GB) if you need to expand root disk when you launch a VM. The size must be bigger than the size defined by the instance type. This is required for OpenStack, but optional for AWS.

        Optional for AWS

        To provide a larger size for root volume for an AWS deployment, use the newer generation of CloudCenter instance types. The older generation of instance types like the t1, m1 series do not support the resizing of root volume. To use the older generation of instance types, configure the root volume size as 0. This configuration, by default, uses the AMI's  root volume size. See the Attach Multiple Volumes to Tiers section for the relevant release  for additional context.

      • Type: String

      storage
      • Description: Identifies storage-related information for this job

      • Type: String

      networkTypeName
      • Description: Identifies the name of the network type for the simplified networks features. See the Deployment Environments section and the Cloud-Specific Network Settings section for the relevant release for additional context.

      • Type: String

      cloudProperties
      • Description: Information about the cloud region configuration. See Application Deployment for a use case.
      • Type: Array of name-value pairs

        name
        • DescriptionThe name assigned for this CloudCenter ResourceValid characters are letters, numbers, underscores, and spaces.

        • Type: String

        value
        • Description: Indicates the set value for this property
        • Type: Float

      • Availability Set Examples: If using CloudCenter 4.5.6 or later, see Availability Sets and Zones for a feature explanation or the following cloud-specific attributes:

      containerVolumes
      • Description: Identifies the type of container volume.
      • Type: Enumeration

        EnumerationDescription
        STORAGE_CLASSIdentifies if the user is attempting to create a new persistent volume and claim for the deployment.
        EMPTY_DIRIdentifies if the user has not specified any details.
        PERSISTENT_VOLUME_CLAIMIdentifies if the user is attempting to use an available claim in the cluster for the deployment.

    appParams
    • Description: Information about the application property
    • Type: Array of name-value pairs

      name
      • DescriptionThe name assigned for this CloudCenter ResourceValid characters are letters, numbers, underscores, and spaces.

      • Type: String

      value
      • Description: Indicates the set value for this property
      • Type: Float

    envParams
    • Description: Information about the application property
    • Type: Array of name-value pairs

      name
      • DescriptionThe name assigned for this CloudCenter ResourceValid characters are letters, numbers, underscores, and spaces.

      • Type: String

      value
      • Description: Indicates the set value for this property
      • Type: Float

Response Attributes

None

© 2017-2019 Cisco Systems, Inc. All rights reserved