Submit Benchmark

Details

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

Submit a benchmark job that deploys an application profile across multiple cloud providers or cloud regions from a single cloud provider and produces a report that helps customers optimize cost and performance

Allowed Role(s)WM_USER
MethodPOST
URI

v2/benchmark 

cloudcenter-ccm-backend/api/v2/benchmark 

Sample Request
curl -k -X POST -H "Accept: application/json" -u cloudcenteradmin:40E45DBE57E35ECB "https://<HOST>:<PORT>/v2/benchmark "
curl -k -X POST -H "Accept: application/json" -u cloudcenteradmin:40E45DBE57E35ECB "https://<HOST>:<PORT>/cloudcenter-ccm-backend/api/v2/benchmark"
Release

Introduced in CloudCenter 4.6

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.
  • The v2 version of this API requires job objects for each cloud combination.

  • To identify the child, load generator tier – provide the "benchmarkLoadGenerator": "true" setting in the request body.

  • Provide the appId and appVersion at the benchmark level instead of specifying this information in each job request as these values apply to various jobs.

  • You do not need to provide the name, appId, and appVersion attributes within the benchmarkJobs settings.

Back To LinksCloudCenter Platform 4x APIWorkload Manager API

ESB Header

action: create.benchmark

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

Not applicable

Sample 1 – Governance Mode OFF

Request Body: N-Tier – OpenStack

 Click here to expand...
{
    "benchmarkName": "my_benchmark_1",
    "benchmarkDesc": "my benchmark desc",
    "appId": "42",
    "appVersion": "2.0",
    "benchmarkSettings": {
        "benchmarkURL": "",
        "requests": 100,
        "repeats": 5,
        "delay": 10
    },
    "benchmarkJobs": [{
        "environmentId": 1,
        "parameters": {
            "cloudParams": {
                "cloudRegionId": 1,
                "instance": "1da5bcf0-0c52-476e-b841-394eea73a903",
                "cloudProperties": [{
                    "name": "TenantId",
                    "value": "xyz"
                }]
            }
        },
        "jobs": [{
            "tierId": "43",
            "parameters": {
                "appParams": [],
                "cloudParams": {
                    "nics": [{
                        "id": "27f911c8-1878-4672-aa7c-821d4b278dee",
                        "allocationMode": "DHCP",
                        "allocatePublicIp": true,
                        "order": 1
                    }]
                }
            }
        }, {
            "benchmarkLoadGenerator": "true",
            "parameters": {
                "cloudParams": {
                    "nics": [{
                        "id": "27f911c8-1878-4672-aa7c-821d4b278dee",
                        "allocationMode": "DHCP",
                        "allocatePublicIp": true,
                        "order": 1
                    }]
                }
            }
        }]
    }]
}

Example 2 – Governance Mode OFF

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

Request Body: N-Tier – AWS

 Click here to expand...
{
    "benchmarkName": "my_benchmark_2",
    "benchmarkDesc": "my benchmark desc",
    "appId": "56",
    "appVersion": "1.0",
    "benchmarkJobs": [{
        "environmentId": 1,
        "jobs": [{
            "tierId": "59",
            "parameters": {
                "appParams": [],
                "cloudParams": {
                    "cloudRegionId": 2,
                    "instance": "m1.small",
                    "cloudProperties": [{
                        "name": "vpcId",
                        "value": "vpc-35c58650"
                    }],
                    "nics": [{
                        "id": "subnet-0606795f",
                        "allocationMode": "DHCP",
                        "allocatePublicIp": true,
                        "order": 1
                    }]
                }
            }
        }, {
            "benchmarkLoadGenerator": "true",
            "parameters": {
                "appParams": [],
                "cloudParams": {
                    "cloudRegionId": 2,
                    "instance": "m1.small",
                    "cloudProperties": [{
                        "name": "vpcId",
                        "value": "vpc-35c58650"
                    }],
                    "nics": [{
                        "id": "subnet-0606795f",
                        "allocationMode": "DHCP",
                        "allocatePublicIp": true,
                        "order": 1
                    }]
                }
            }
        }]
    }]
}

Example 3 –  Governance Mode ON

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

Request Body: N-Tier – AWS

 Click here to expand...
{
    "benchmarkName": "my_benchmark_2",
    "benchmarkDesc": "my benchmark desc",
    "appId": "56",
    "appVersion": "1.0",
    "benchmarkJobs": [{
        "tagIds": [1],
        "jobs": [{
            "tierId": "59",
            "tagIds": [2, 3],
            "parameters": {
                "appParams": [],
                "cloudParams": {
                    "cloudRegionId": 2,
                    "instance": "m1.small",
                    "cloudProperties": [{
                        "name": "vpcId",
                        "value": "vpc-35c58650"
                    }],
                    "nics": [{
                        "id": "subnet-0606795f",
                        "allocationMode": "DHCP",
                        "allocatePublicIp": true,
                        "order": 1
                    }]
                }
            }
        }, {
            "benchmarkLoadGenerator": "true",
            "parameters": {
                "appParams": [],
                "cloudParams": {
                    "cloudRegionId": 2,
                    "instance": "m1.small",
                    "cloudProperties": [{
                        "name": "vpcId",
                        "value": "vpc-35c58650"
                    }],
                    "nics": [{
                        "id": "subnet-0606795f",
                        "allocationMode": "DHCP",
                        "allocatePublicIp": true,
                        "order": 1
                    }]
                }
            }
        }]
    }]
}

 Request Attributes

benchmarkName
  • Description: The name of the benchmark.
  • Type: String
benchmarkDesc
  • DescriptionA brief description for this benchmark.
  • 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

benchmarkSettings

 Click here to expand...

benchmarkSettings
  • Description: Identifies multiple benchmark settings, if configured.

    If you benchmark uses custom test plans, you have the following formatting options to identify the benchmark settings

    • Format Option 1

      "benchmarkSettings": {
          "testPlan": {
              "repositoryId": 1,
              "testPlanPath": "testPlan.jmx"
          }
      }
    • Format Option 2

      "benchmarkSettings": {
          "testPlan": {
              "testPlanPath": "http://<HOST>:<PORT>/kap/testPlan.jmx"
          }
      }
  • Type: Sequence of benchmark details

     benchmarkURL 
    • Description: The URL that is associated with the benchmark.
    • Type: String
    requests
    • Description: Identifies the number of successful benchmark requests per second.
    • Type: Long
    repeats
    • Description: Identifies the number of times to repeat requests in JMeter.
    • Type: Long
    delay
    • Description: Identifies the delay (in seconds) whrn starting all the JMeter requests. For example, if you enter a delay of 5 seconds, JMeter will finish starting all of the requests by the end of the 5 seconds. So, if you have 5 requests and a 5-second delay, then the delay between starting users is 1 second (5 users / 5 seconds = 1 user per second). If you set the value to 0, then JMeter will immediately start all your requests.
    • Type: Long

benchmarkJobs

 Click here to expand...

You do not need to provide the name, appId, and appVersion attributes within the benchmarkJobs settings. Even if you provide these settings, they are ignored as the name is auto-generated and the appId and appVersion are retrieved from the top-level benchmark settings.

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

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

jobs(v2)

 Click here to expand...
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

parameters

 Click here to expand...

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

 benchmarkLoadGenerator
  • Description: Identifies if this is a load generating  benchmark job.
  • Type:  Boolean

    • true = It is a load generating  benchmark job.
    • false = It is not load generating  benchmark job.

This attribute is only displayed for child-level jobs, not for parent-level jobs.

parameters

 Click here to expand...

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