Cloud Environments

Overview

This document describes the API to list, create, modify and delete cloud environments.

Version Information

Version : BIG-IQ 6.0.1

REST Endpoint: /mgmt/cm/cloud/environments

Requests

GET /mgmt/cm/cloud/environments/<id>

Request Parameters

None

Query Parameters

None

Response

HTTP/1.1 200 OK

Name Type Description
name string Name of the environment.
description string A brief description of the environment.
providerReference reference Reference to the underlying provider.
link string URI link of the reference.
deviceTemplateReference reference Reference to the device template that should be applied to devices created in this environment.
link string URI link of the reference.
vmwProperties object Fields associated with VMware environments.
annotation string Custom annotation/note to be associated with each device created.
datacenter string The VMware datacenter where devices should be created.
cluster string The VMware cluster on which devices should be created. Mutually exclusive with ESXi hostname. The cluster must have DRS enabled.
esxiHostname string The ESXi host on which devices should be created. Mutually exclusive with cluster.
resourcePool string The VMware resource pool that should be used when creating new devices.
folder string The folder in which new devices should be placed.
user string The user BIG-IQ should use to connect to VMware.
password string The passsword BIG-IQ should use to connect to VMware.
vmImage string The VM BIG-IQ should clone when creating new devices.
createLinkedClone string If yes, BIG-IQ will attempt to create a linked clone using the specified snapshot.
snapshotSrc string The snapshot BIG-IQ should use when creating linked clones.
networkInterfaceMapping array_of_objects Ordered list of network interfaces for each new device created.
network string The name of the network to associate to a given network interface.
ipPoolAliasMapping array_of_objects List of IP pools and associated aliases available for use in this environment. The aliases may be referenced by device templates or service templates.
ipPoolAlias string A user-defined string for referencing a given IP pool (e.g. external).
ipPoolReference reference Reference to an underlying IP pool.
link string URI link of the reference.
awsProperties object Fields associated with AWS environments.
region string The AWS region (e.g. us-east-1). The region dictates valid values for many of the other fields in the environment.
vpc string AWS VPC where you want to deploy BIG-IP VEs.
availabilityZones array_of_strings List of availability zones where you want to deploy BIG-IP VEs – at least 2 are recommended (e.g. us-east-1a, us-east-1b).
subnets array_of_strings List of public or external subnets for the availability zones.
restrictedSourceAddress string The IP address range (CIDR notation) that can be used to SSH to the BIG-IP instances. For stronger security, we do not recommend using 0.0.0.0/0.
sshKeyName string EC2 key pair to enable SSH access to the BIG-IP instance.
moduleSelection string The BIG-IP modules to use (e.g. LTM or WAF).
licenseType string The type of licensing to be used for the BIG-IP devices (BYOL or Utility).
imageId string The AMI to use when creating a BIG-IP device. Valid values are unique to each region.
instanceType string The AWS instance size/type (e.g. m4.xlarge).
microImage boolean Is this an AMI which has a small disk size requiring AVR module local disk provisioning check to be skipped.
perAppImage boolean Is this a Per App AMI.
advancedWAF boolean Is this an advanced WAF AMI.
byolLicenseInformation object Details associated with a BIG-IQ providing licenses to the BIG-IP devices (applicable when licenseType is BYOL (Bring Your Own License).
bigiqAddress string The address of the BIG-IQ providing licenses.
bigiqUser string The BIG-IQ user name that the BIG-IP devices should use to retrieve a license.
bigiqPassword string The BIG-IQ password that the BIG-IP devices should use to retrieve a license.
licensePoolName string The user-defined pool name on BIG-IQ containing the licenses to be used.
offeringName string The license offering to be used (applicable to volume/utility licenses).
unitOfMeasure string The unit of measure for utility billing (applicable to utility licenses).

Permissions

Role Allow
admin Yes

POST /mgmt/cm/cloud/environments

Request Parameters

Name Type Description
name string Name of the environment. required
description string A brief description of the environment. optional
providerReference reference Reference to the underlying provider. required
link string URI link of the reference. required
deviceTemplateReference reference Reference to the device template that should be applied to devices created in this environment. required
link string URI link of the reference. required
vmwProperties object Fields associated with VMware environments. optional
annotation string Custom annotation/note to be associated with each device created. optional
datacenter string The VMware datacenter where devices should be created. required
cluster string The VMware cluster on which devices should be created. Mutually exclusive with ESXi hostname. The cluster must have DRS enabled. optional
esxiHostname string The ESXi host on which devices should be created. Mutually exclusive with cluster. optional
resourcePool string The VMware resource pool that should be used when creating new devices. optional
folder string The folder in which new devices should be placed. optional
user string The user BIG-IQ should use to connect to VMware. required
password string The passsword BIG-IQ should use to connect to VMware. required
vmImage string The VM BIG-IQ should clone when creating new devices. required
createLinkedClone string If yes, BIG-IQ will attempt to create a linked clone using the specified snapshot. optional
snapshotSrc string The snapshot BIG-IQ should use when creating linked clones. optional
networkInterfaceMapping array_of_objects Ordered list of network interfaces for each new device created. optional
network string The name of the network to associate to a given network interface. required
ipPoolAliasMapping array_of_objects List of IP pools and associated aliases available for use in this environment. The aliases may be referenced by device templates or service templates. optional
ipPoolAlias string A user-defined string for referencing a given IP pool (e.g. external). optional
ipPoolReference reference Reference to an underlying IP pool. optional
link string URI link of the reference. required
awsProperties object Fields associated with AWS environments. optional
region string The AWS region (e.g. us-east-1). The region dictates valid values for many of the other fields in the environment. required
vpc string AWS VPC where you want to deploy BIG-IP VEs. required
availabilityZones array_of_strings List of availability zones where you want to deploy BIG-IP VEs – at least 2 are recommended (e.g. us-east-1a, us-east-1b). required
subnets array_of_strings List of public or external subnets for the availability zones. required
restrictedSourceAddress string The IP address range (CIDR notation) that can be used to SSH to the BIG-IP instances. For stronger security, we do not recommend using 0.0.0.0/0. required
sshKeyName string EC2 key pair to enable SSH access to the BIG-IP instance. required
moduleSelection string The BIG-IP modules to use (e.g. LTM or WAF). required
licenseType string The type of licensing to be used for the BIG-IP devices (BYOL or Utility). required
imageId string The AMI to use when creating a BIG-IP device. Valid values are unique to each region. required
instanceType string The AWS instance size/type (e.g. m4.xlarge). required
microImage boolean Is this an AMI which has a small disk size requiring AVR module local disk provisioning check to be skipped. required
perAppImage boolean Is this a Per App AMI. optional
advancedWAF boolean Is this an advanced WAF AMI. optional
byolLicenseInformation object Details associated with a BIG-IQ providing licenses to the BIG-IP devices (applicable when licenseType is BYOL (Bring Your Own License). optional
bigiqAddress string The address of the BIG-IQ providing licenses. required
bigiqUser string The BIG-IQ user name that the BIG-IP devices should use to retrieve a license. required
bigiqPassword string The BIG-IQ password that the BIG-IP devices should use to retrieve a license. required
licensePoolName string The user-defined pool name on BIG-IQ containing the licenses to be used. required
offeringName string The license offering to be used (applicable to volume/utility licenses). optional
unitOfMeasure string The unit of measure for utility billing (applicable to utility licenses). optional

Query Parameters

None

Response

Save as GET above.

Permissions

Role Allow
admin Yes

PATCH /mgmt/cm/cloud/environments/<id>

Request Parameters

Name Type Description
description string A brief description of the environment. optional
deviceTemplateReference reference Reference to the device template that should be applied to devices created in this environment. required
link string URI link of the reference. required
vmwProperties object Fields associated with VMware environments. optional
annotation string Custom annotation/note to be associated with each device created. optional
datacenter string The VMware datacenter where devices should be created. required
cluster string The VMware cluster on which devices should be created. Mutually exclusive with ESXi hostname. The cluster must have DRS enabled. optional
esxiHostname string The ESXi host on which devices should be created. Mutually exclusive with cluster. optional
resourcePool string The VMware resource pool that should be used when creating new devices. optional
folder string The folder in which new devices should be placed. optional
user string The user BIG-IQ should use to connect to VMware. required
password string The passsword BIG-IQ should use to connect to VMware. required
vmImage string The VM BIG-IQ should clone when creating new devices. required
createLinkedClone string If yes, BIG-IQ will attempt to create a linked clone using the specified snapshot. optional
snapshotSrc string The snapshot BIG-IQ should use when creating linked clones. optional
networkInterfaceMapping array_of_objects Ordered list of network interfaces for each new device created. optional
network string The name of the network to associate to a given network interface. required
ipPoolAliasMapping array_of_objects List of IP pools and associated aliases available for use in this environment. The aliases may be referenced by device templates or service templates. optional
ipPoolAlias string A user-defined string for referencing a given IP pool (e.g. external). optional
ipPoolReference reference Reference to an underlying IP pool. optional
link string URI link of the reference. required
awsProperties object Fields associated with AWS environments. optional
region string The AWS region (e.g. us-east-1). The region dictates valid values for many of the other fields in the environment. required
vpc string AWS VPC where you want to deploy BIG-IP VEs. required
availabilityZones array_of_strings List of availability zones where you want to deploy BIG-IP VEs – at least 2 are recommended (e.g. us-east-1a, us-east-1b). required
subnets array_of_strings List of public or external subnets for the availability zones. required
restrictedSourceAddress string The IP address range (CIDR notation) that can be used to SSH to the BIG-IP instances. For stronger security, we do not recommend using 0.0.0.0/0. required
sshKeyName string EC2 key pair to enable SSH access to the BIG-IP instance. required
moduleSelection string The BIG-IP modules to use (e.g. LTM or WAF). required
licenseType string The type of licensing to be used for the BIG-IP devices (BYOL or Utility). required
imageId string The AMI to use when creating a BIG-IP device. Valid values are unique to each region. required
instanceType string The AWS instance size/type (e.g. m4.xlarge). required
microImage boolean Is this an AMI which has a small disk size requiring AVR module local disk provisioning check to be skipped. required
perAppImage boolean Is this a Per App AMI. optional
advancedWAF boolean Is this an advanced WAF AMI. optional
byolLicenseInformation object Details associated with a BIG-IQ providing licenses to the BIG-IP devices (applicable when licenseType is BYOL (Bring Your Own License). optional
bigiqAddress string The address of the BIG-IQ providing licenses. required
bigiqUser string The BIG-IQ user name that the BIG-IP devices should use to retrieve a license. required
bigiqPassword string The BIG-IQ password that the BIG-IP devices should use to retrieve a license. required
licensePoolName string The user-defined pool name on BIG-IQ containing the licenses to be used. required
offeringName string The license offering to be used (applicable to volume/utility licenses). optional
unitOfMeasure string The unit of measure for utility billing (applicable to utility licenses). optional

Query Parameters

None

Response

Same as GET above.

Permissions

Role Allow
admin Yes

DELETE /mgmt/cm/cloud/environments/<id>

Request Parameters

None

Query Parameters

None

Response

Same as GET above.

Permissions

Role Allow
admin Yes

Examples

List a cloud environment

GET /mgmt/cm/cloud/environments/<id>

Response

HTTP/1.1 200 OK
{
    "deviceTemplateReference": {
        "link": "https://localhost/mgmt/cm/device/templates/40dd071b-a935-3d2d-bea5-10e4fca5ea0d"
    },
    "generation": 2,
    "id": "40dd071b-a935-3d2d-bea5-10e4fca5ea0d",
    "kind": "cm:cloud:environments:environmentstate",
    "lastUpdateMicros": 1529962334846618,
    "name": "vmware1",
    "providerReference": {
        "link": "https://localhost/mgmt/cm/cloud/providers/40dd071b-a935-3d2d-bea5-10e4fca5ea0d"
    },
    "selfLink": "https://localhost/mgmt/cm/cloud/environments/40dd071b-a935-3d2d-bea5-10e4fca5ea0d",
    "vmwProperties": {
        "datacenter": "DTC01",
        "cluster": "Cluster01",
        "user": "user1",
        "password": "L2uHz3Scui83ne8L3U2N0UinkSi7YklhbTUtxoBS+hQ\u003d",
        "vmImage": "BIG-IP VE 13.1.0.5",
        "networkInterfaceMapping": [
            {
                "network": "mgmt"
            },
            {
                "network": "internal-vlan3091"
            },
            {
                "network": "external-vlan3093"
            },
            {
                "network": "internal-vlan3092"
            }
        ]
    }
}

List all cloud environments

GET /mgmt/cm/cloud/environments

Response

HTTP/1.1 200 OK
{
    "items": [
        {
            "deviceTemplateReference": {
                "link": "https://localhost/mgmt/cm/device/templates/40dd071b-a935-3d2d-bea5-10e4fca5ea0d"
            },
            "generation": 2,
            "id": "40dd071b-a935-3d2d-bea5-10e4fca5ea0d",
            "kind": "cm:cloud:environments:environmentstate",
            "lastUpdateMicros": 1529962334846618,
            "name": "vmware1",
            "providerReference": {
                "link": "https://localhost/mgmt/cm/cloud/providers/40dd071b-a935-3d2d-bea5-10e4fca5ea0d"
            },
            "selfLink": "https://localhost/mgmt/cm/cloud/environments/40dd071b-a935-3d2d-bea5-10e4fca5ea0d",
            "vmwProperties": {
                "datacenter": "DTC01",
                "cluster": "Cluster01",
                "user": "user1",
                "password": "L2uHz3Scui83ne8L3U2N0UinkSi7YklhbTUtxoBS+hQ\u003d",
                "vmImage": "BIG-IP VE 13.1.0.5",
                "networkInterfaceMapping": [
                    {
                        "network": "mgmt"
                    },
                    {
                        "network": "internal-vlan3091"
                    },
                    {
                        "network": "external-vlan3093"
                    },
                    {
                        "network": "internal-vlan3092"
                    }
                ]
            }
        },
        {
            "id": "7181fa13-81a0-35fa-999f-c2a65f7098eb",
            "name": "aws1",
            "providerReference": {
                "link": "https://localhost/mgmt/cm/cloud/providers/7131fa13-81a0-35fa-999f-c2a65f7098eb"
            },
            "deviceTemplateReference": {
                "link": "https://localhost/mgmt/cm/device/templates/9e83e7b9-63c7-3363-a2fb-3eefcfecfc0e"
            },
            "awsProperties": {
                "region": "us-east-1",
                "vpc": "vpc-a2d6b123",
                "availabilityZones": [
                    "us-east-1a",
                    "us-east-1b"
                ],
                "subnets": [
                    "subnet-1234567a",
                    "subnet-1234567b"
                ],
                "restrictedSourceAddress": "192.0.2.0/24",
                "sshKeyName": "account-key1",
                "moduleSelection": "WAF",
                "licenseType": "Utility",
                "imageId": "ami-030fd17c",
                "instanceType": "t2.medium"
            },
            "generation": 1,
            "lastUpdateMicros": 1528586573236099,
            "kind": "cm:cloud:environments:environmentstate",
            "selfLink": "https://localhost/mgmt/cm/cloud/environments/7181fa13-81a0-35fa-999f-c2a65f7098eb"
        }
    ]
}

Create a VMware cloud environment

POST /mgmt/cm/cloud/environments
{
    "vmwProperties": {
        "esxiHostname": "192.0.2.1",
        "datacenter": "HRC1",
        "user": "huser1",
        "password": "password",
        "vmImage": "BIG-IP VE 13.1.0.7",
        "networkInterfaceMapping": [
            {
                "network": "mgmt"
            },
            {
                "network": "internal"
            },
            {
                "network": "external"
            },
            {
                "network": "internal2"
            }
        ]
    },
    "name": "vmware2",
    "description": "secondary environment",
    "deviceTemplateReference": {
        "link": "https://localhost/mgmt/cm/device/templates/0f98dedb-ee3c-3c75-a3d3-1169e2167134"
    },
    "providerReference": {
        "link": "https://localhost/mgmt/cm/cloud/providers/0f98dedb-ee3c-3c75-a3d3-1169e2167134"
    }
}

Response

HTTP/1.1 200 OK
{
    "id": "a894f544-4a80-33dc-86c3-f685038affda",
    "name": "vmware2",
    "description": "secondary environment",
    "providerReference": {
        "link": "https://localhost/mgmt/cm/cloud/providers/0f98dedb-ee3c-3c75-a3d3-1169e2167134"
    },
    "deviceTemplateReference": {
        "link": "https://localhost/mgmt/cm/device/templates/0f98dedb-ee3c-3c75-a3d3-1169e2167134"
    },
    "vmwProperties": {
        "datacenter": "HRC1",
        "esxiHostname": "192.0.2.1",
        "user": "huser1",
        "password": "S4cwyRJ6PJPjkwxfRhdSfNCQfa54xEZnMxSpGkp43Jmg=",
        "vmImage": "BIG-IP VE 13.1.0.7",
        "networkInterfaceMapping": [
            {
                "network": "mgmt"
            },
            {
                "network": "internal"
            },
            {
                "network": "external"
            },
            {
                "network": "internal2"
            }
        ]
    },
    "generation": 1,
    "lastUpdateMicros": 1530052014920547,
    "kind": "cm:cloud:environments:environmentstate",
    "selfLink": "https://localhost/mgmt/cm/cloud/environments/a894f544-4a80-33dc-86c3-f685038affda"
}

Create an AWS cloud environment

POST /mgmt/cm/cloud/environments
{
    "awsProperties": {
        "licenseType": "Utility",
        "region": "us-east-1",
        "vpc": "vpc-62a831",
        "subnets": ["subnet-12318eea", "subnet-123s2dab"],
        "availabilityZones": ["us-east-1d", "us-east-1e"],
        "restrictedSourceAddress": "192.0.2.0/24",
        "sshKeyName": "aws-01",
        "moduleSelection": "WAF",
        "imageId": "ami-0406d77dc",
        "instanceType": "m3.2xlarge"
    },
    "name": "aws3",
    "description": "extra environment",
    "deviceTemplateReference": {
        "link": "https://localhost/mgmt/cm/device/templates/eb2da8d5-5b5d-33b9-88bb-8889325c9c08"
    },
    "providerReference": {
        "link": "https://localhost/mgmt/cm/cloud/providers/7181fa13-81a0-35fa-999f-c2a65f7098eb"
    }
}

Response

HTTP/1.1 200 OK
{
    "id": "d199583e-ecd2-3f72-9bac-6be60dacabfa",
    "name": "aws3",
    "description": "extra environment",
    "providerReference": {
        "link": "https://localhost/mgmt/cm/cloud/providers/7181fa13-81a0-35fa-999f-c2a65f7098eb"
    },
    "deviceTemplateReference": {
        "link": "https://localhost/mgmt/cm/device/templates/eb2da8d5-5b5d-33b9-88bb-8889325c9c08"
    },
    "awsProperties": {
        "region": "us-east-1",
        "vpc": "vpc-62a831",
        "availabilityZones": [
            "us-east-1d",
            "us-east-1e"
        ],
        "subnets": [
            "subnet-12318eea",
            "subnet-123s2dab"
        ],
        "restrictedSourceAddress": "192.0.2.0/24",
        "sshKeyName": "aws-01",
        "moduleSelection": "WAF",
        "licenseType": "Utility",
        "imageId": "ami-0406d77dc",
        "instanceType": "m3.2xlarge"
    },
    "generation": 1,
    "lastUpdateMicros": 1530052795183127,
    "kind": "cm:cloud:environments:environmentstate",
    "selfLink": "https://localhost/mgmt/cm/cloud/environments/d199583e-ecd2-3f72-9bac-6be60dacabfa"
}

Modify a cloud environment

PATCH /mgmt/cm/cloud/environments/<id>
{
    "awsProperties": {
        "region": "us-east-1",
        "vpc": "vpc-62a831",
        "availabilityZones": [
            "us-east-1a",
            "us-east-1d",
            "us-east-1e"
        ],
        "subnets": [
            "subnet-12318eea",
            "subnet-123s2dab"
        ],
        "restrictedSourceAddress": "192.0.2.0/24",
        "sshKeyName": "aws-01",
        "moduleSelection": "WAF",
        "licenseType": "Utility",
        "imageId": "ami-0406d77dc",
        "instanceType": "m4.xlarge"
    }
}

Response

HTTP/1.1 200 OK
{
    "id": "d199583e-ecd2-3f72-9bac-6be60dacabfa",
    "name": "aws3",
    "description": "extra environment",
    "providerReference": {
        "link": "https://localhost/mgmt/cm/cloud/providers/7181fa13-81a0-35fa-999f-c2a65f7098eb"
    },
    "deviceTemplateReference": {
        "link": "https://localhost/mgmt/cm/device/templates/eb2da8d5-5b5d-33b9-88bb-8889325c9c08"
    },
    "awsProperties": {
        "region": "us-east-1",
        "vpc": "vpc-62a831",
        "availabilityZones": [
            "us-east-1a",
            "us-east-1d",
            "us-east-1e"
        ],
        "subnets": [
            "subnet-12318eea",
            "subnet-123s2dab"
        ],
        "restrictedSourceAddress": "192.0.2.0/24",
        "sshKeyName": "aws-01",
        "moduleSelection": "WAF",
        "licenseType": "Utility",
        "imageId": "ami-0406d77dc",
        "instanceType": "m4.xlarge"
    },
    "generation": 2,
    "lastUpdateMicros": 1530053543357561,
    "kind": "cm:cloud:environments:environmentstate",
    "selfLink": "https://localhost/mgmt/cm/cloud/environments/d199583e-ecd2-3f72-9bac-6be60dacabfa"
}

Delete a cloud environment

DELETE /mgmt/cm/cloud/environments/<id>

Response

HTTP/1.1 200 OK
{
    "id": "d199583e-ecd2-3f72-9bac-6be60dacabfa",
    "name": "aws3",
    "description": "extra environment",
    "providerReference": {
        "link": "https://localhost/mgmt/cm/cloud/providers/7181fa13-81a0-35fa-999f-c2a65f7098eb"
    },
    "deviceTemplateReference": {
        "link": "https://localhost/mgmt/cm/device/templates/eb2da8d5-5b5d-33b9-88bb-8889325c9c08"
    },
    "awsProperties": {
        "region": "us-east-1",
        "vpc": "vpc-62a831",
        "availabilityZones": [
            "us-east-1d",
            "us-east-1e"
        ],
        "subnets": [
            "subnet-12318eea",
            "subnet-123s2dab"
        ],
        "restrictedSourceAddress": "192.0.2.0/24",
        "sshKeyName": "aws-01",
        "moduleSelection": "WAF",
        "licenseType": "Utility",
        "imageId": "ami-0406d77dc",
        "instanceType": "m3.2xlarge"
    },
    "generation": 1,
    "lastUpdateMicros": 1530053103284561,
    "kind": "cm:cloud:environments:environmentstate",
    "selfLink": "https://localhost/mgmt/cm/cloud/environments/d199583e-ecd2-3f72-9bac-6be60dacabfa"
}