Service Scaling Groups

Overview

This document describes the API to list Service Scaling Groups (SSG) and manually scale an individual SSG.

REST Endpoint: /mgmt/cm/cloud/service-scaling-groups

Requests

GET /mgmt/cm/cloud/service-scaling-groups/<id>

Request Parameters

None

Query Parameters

None

Response

HTTP/1.1 200 OK

Name Type Description
name string Name of the SSG.
description string A brief description of the SSG.
status string The status of the SSG (e.g. LAUNCHING, READY, TERMINATING, DELETING, OFFLINE, PAUSED, REDEPLOYING).
environmentReference reference Reference to the cloud environment used by the SSG.
     link string URI link of the reference.
minSize number The minimum size of the SSG in number of devices. This the lower boundary for auto-scaling.
maxSize number The maximum size of the SSG in number of devices. This is the upper boundary for auto-scaling.
desiredSize number The number of devices the SSG will attempt to reach and maintain. This number will fluctuate automatically over time within the minimum/maximum boundaries based on the defined scaling policies. For AWS, set the value to same value as the minSize field.
maxSupportedApplications number The limit for the number of applications the SSG will accept.
postDeviceCreationUserScriptReference reference Reference to a user script to be run with each device creation. The script runs on the device after it’s created and trust is established with BIG-IQ. Applicable only for VMware and not AWS.
     link string URI link of the reference.
preDeviceDeletionUserScriptReference reference Reference to a user script to be run with each device removal. The script runs on the device prior to it being removed from the SSG. Applicable only for VMware and not AWS.
     link string URI link of the reference.
accessGroupReference reference Reference to the Access Group under which Access configuration for this Service Scaling Group is managed.
     link string URI link of the reference.
loadBalancerDeviceReferences reference References to any managed BIG-IP devices providing load balancing to the SSG devices. Applicable for VMware and not AWS.
     link string URI link of the reference.
devices array_of_objects List of devices created by the SSG that still exist (they are either in the process of being created/removed or are active).
     deviceReference reference Reference to the managed device in BIG-IQ.
          link string URI link of the reference.
     providerGuestReference reference Reference to a handle for the device in the cloud provider.
          link string URI link of the reference.
     status string Status of the device in the SSG (e.g. LAUNCHING, DEPLOYING_APPLICATIONS, READY, PENDING_TERMINATION, TERMINATING).
scalingPolicies array_of_objects List of scaling policies that control auto-scaling for the SSG.
     name string Name of the scaling policy.
     cooldown number Number of minutes that must elapse after a prior scaling before this scaling policy becomes effective.
     direction string Indicates whether the scaling policy effects device creation or removal. Valid values are ADD or REMOVE.
     type string Indicates how the scaling policy applies to the SSG. The only valid value currently is ChangeCount, indicating the SSG device count will change by some delta.
     value number The number of devices the scaling policy will add or remove each time it’s applied.
activityLogCollectionReference reference Reference to the history of scaling tasks for this SSG.
     link string URI link of the reference.
eventLogCollectionReference reference Reference to the history of events for this SSG. An event is a request to change the SSG (e.g. scale-out, scale-in, replace a device).
     link string URI link of the reference.
currentActivity object Details for any currently running task for the SSG.
     workflowReference reference Reference for the currently running task.
          link string URI link of the reference.
     reason string A description of the task.
     correlationUuid string A UUID that is used to associate events and activities (tasks) together.
     keepAliveDateTime object A timestamp indicating when the task will be eligible to be forcibly timed out. If a task is actively working, this timestamp will periodically advance.
lastCompletedActivity object Details for the most recently completed task for the SSG.
     workflowReference reference Reference for the completed task.
          link string URI link of the reference.
     reason string A description of the task
     correlationUuid string A UUID that is used to associate events and activities (tasks) together.
     keepAliveDateTime object A timestamp indicating when the task was eligible to be forcibly timed out at the time it completed. This field is not meaningful for completed tasks.
activeEvents array_of_objects List of events that have not yet been handled.
     source string Who or what originated the event. Valid values are ALERT, USER, or SYSTEM.
     change number The change in device count associated with this event. Can be positive or negative.
     activityCount number The number of tasks that have been attempted to handle this event. More than one indicates prior tasks failed.
     correlationUuid string A UUID that is used to associate events and activities (tasks) together.
     eventDateTime object When the event occurred.
     scalingActivityReferences reference References to associated tasks. Generally, this should have only one reference, associated to the most recent task.
          link string URI link of the reference.
dataProtectionReferences reference Reference to ASM data protection key.
     link string URI link of the reference.
dataSyncReferences reference Reference to the data sync key used to allow the BIG-IP devices to communicate when an SSG supports security applications.
     link string URI link of the reference.
providerType string The cloud provider for the SSG (e.g. VMware, AWS).

Permissions

Role Allow
Application_Viewer Yes
Application_Manager Yes

PATCH /mgmt/cm/cloud/service-scaling-groups/<id>

Request Parameters

Name Type Required Description
description string False A brief description of the SSG.
status string False The status of the SSG (e.g. LAUNCHING, READY, TERMINATING, DELETING, OFFLINE, PAUSED, REDEPLOYING).
minSize number False The minimum size of the SSG in number of devices. This the lower boundary for auto-scaling.
maxSize number False The maximum size of the SSG in number of devices. This is the upper boundary for auto-scaling.
desiredSize number False The number of devices the SSG will attempt to reach and maintain. This number will fluctuate automatically over time within the minimum/maximum boundaries based on the defined scaling policies. For AWS, set the value to same value as the minSize field.
maxSupportedApplications number False The limit for the number of applications the SSG will accept.
postDeviceCreationUserScriptReference reference False Reference to a user script to be run with each device creation. The script runs on the device after it’s created and trust is established with BIG-IQ. Applicable only for VMware and not AWS.
     link string True URI link of the reference.
preDeviceDeletionUserScriptReference reference False Reference to a user script to be run with each device removal. The script runs on the device prior to it being removed from the SSG. Applicable only for VMware and not AWS.
     link string True URI link of the reference.
accessGroupReference reference False Reference to the Access Group under which Access configuration for this Service Scaling Group is managed.
     link string True URI link of the reference.
devices array_of_objects False List of devices created by the SSG that still exist (they are either in the process of being created/removed or are active). Users are not expected to add/remove devices to/from this list via PATCH.
     deviceReference reference False Reference to the managed device in BIG-IQ. Users are not expected to change this value.
          link string True URI link of the reference.
     providerGuestReference reference False Reference to a handle for the device in the cloud provider. Users are not expected to change this value.
          link string True URI link of the reference.
     status string False Status of the device in the SSG (e.g. PENDING_TERMINATION).
scalingPolicies array_of_objects False List of scaling policies that control auto-scaling for the SSG. Users are not expected to add/remove policies to/from this list via PATCH.
     name string False Name of the scaling policy. Users are not expected to change this value.
     cooldown number False Number of minutes that must elapse after a prior scaling before this scaling policy becomes effective.
     direction string False Indicates whether the scaling policy effects device creation or removal. Valid values are ADD or REMOVE.
     type string False Indicates how the scaling policy applies to the SSG. The only valid value currently is ChangeCount.
     value number False The number of devices the scaling policy will add or remove each time it’s applied.

Query Parameters

None

Response

Same as GET above.

Permissions

Role Allow
Application_Viewer No
Application_Manager No

Examples

List a service scaling group’s properties

GET /mgmt/cm/cloud/service-scaling-groups/<id>

Response

HTTP/1.1 200 OK
{
    "activeEvents": [],
    "activityLogCollectionReference": {
        "link": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce/activity-log",
        "isSubcollection": true
    },
    "dataProtectionReference": {
        "link": "https://localhost/mgmt/cm/asm/working-config/data-protection/1a73e205-92d5-3f90-9e18-697993c1ab3e"
    },
    "dataSyncReference": {
        "link": "https://localhost/mgmt/cm/security-shared/working-config/datasync/d4829944-d006-3f85-8205-2ad238fd9af0"
    },
    "desiredSize": 1,
    "devices": [{
            "deviceReference": {
                "hostname": "ssg1-device1.host.com",
                "link": "https://localhost/mgmt/shared/resolver/device-groups/cm-bigip-allBigIpDevices/devices/3887d783-9493-466c-8046-a239b31bee1f"
            },
            "providerGuestReference": {
                "link": "https://localhost/mgmt/cm/cloud/vmware/guests/34e22ac0-9884-4bc4-952a-97c64a8f2b3c"
            },
            "status": "READY"
        }
    ],
    "environmentReference": {
        "link": "https://localhost/mgmt/cm/cloud/environments/afc0cec4-f72b-37f2-a817-6a997207da9c"
    },
    "eventLogCollectionReference": {
        "link": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce/event-log",
        "isSubcollection": true
    },
    "generation": 200,
    "id": "cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce",
    "kind": "cm:cloud:service-scaling-groups:servicescalinggroupstate",
    "lastCompletedActivity": {
        "workflowReference": {
            "link": "https://localhost/mgmt/cm/cloud/tasks/vmware/scaling/8af423ed-3a2b-4f52-86d5-bce7521a2d47"
        },
        "correlationUuid": "eaa8074e-8793-4863-b3f3-f60ad3232233",
        "reason": "Scale-out 1 and scale-in 0 device(s) in response to 1 event(s)",
        "keepAliveDateTime": "2018-05-21T19:17:43.178Z",
        "id": "926c27f5-0965-43da-866e-26bcf8cc3fe9",
        "generation": 1,
        "lastUpdateMicros": 1526930572828203,
        "kind": "cm:cloud:service-scaling-groups:activity-log:scalingactivitystate",
        "selfLink": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce/activity-log/926c27f5-0965-43da-866e-26bcf8cc3fe9"
    },
    "lastUpdateMicros": 1526930572833141,
    "loadBalancerDeviceReferences": [{
            "link": "https://localhost/mgmt/shared/resolver/device-groups/cm-bigip-allBigIpDevices/devices/88cb6ecb-acb7-4d62-b876-ef675e97538f"
        }
    ],
    "maxSize": 5,
    "maxSupportedApplications": 3,
    "minSize": 1,
    "name": "ssg1",
    "providerType": "VMware",
    "scalingPolicies": [{
            "name": "scale-out",
            "cooldown": 15,
            "direction": "ADD",
            "type": "ChangeCount",
            "value": 1
        }, {
            "name": "scale-in",
            "cooldown": 15,
            "direction": "REMOVE",
            "type": "ChangeCount",
            "value": 1
        }
    ],
    "selfLink": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce",
    "status": "READY"
}

List all service scaling groups

GET /mgmt/cm/cloud/service-scaling-groups

Response

HTTP/1.1 200 OK
{
    "items": [
        {
            "activeEvents": [],
            "activityLogCollectionReference": {
                "link": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce/activity-log",
                "isSubcollection": true
            },
            "dataProtectionReference": {
                "link": "https://localhost/mgmt/cm/asm/working-config/data-protection/1a73e205-92d5-3f90-9e18-697993c1ab3e"
            },
            "dataSyncReference": {
                "link": "https://localhost/mgmt/cm/security-shared/working-config/datasync/d4829944-d006-3f85-8205-2ad238fd9af0"
            },
            "desiredSize": 1,
            "devices": [{
                    "deviceReference": {
                        "hostname": "ssg1-device1.host.com",
                        "link": "https://localhost/mgmt/shared/resolver/device-groups/cm-bigip-allBigIpDevices/devices/3887d783-9493-466c-8046-a239b31bee1f"
                    },
                    "providerGuestReference": {
                        "link": "https://localhost/mgmt/cm/cloud/vmware/guests/34e22ac0-9884-4bc4-952a-97c64a8f2b3c"
                    },
                    "status": "READY"
                }
            ],
            "environmentReference": {
                "link": "https://localhost/mgmt/cm/cloud/environments/afc0cec4-f72b-37f2-a817-6a997207da9c"
            },
            "eventLogCollectionReference": {
                "link": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce/event-log",
                "isSubcollection": true
            },
            "generation": 200,
            "id": "cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce",
            "kind": "cm:cloud:service-scaling-groups:servicescalinggroupstate",
            "lastCompletedActivity": {
                "workflowReference": {
                    "link": "https://localhost/mgmt/cm/cloud/tasks/vmware/scaling/8af423ed-3a2b-4f52-86d5-bce7521a2d47"
                },
                "correlationUuid": "eaa8074e-8793-4863-b3f3-f60ad3232233",
                "reason": "Scale-out 1 and scale-in 0 device(s) in response to 1 event(s)",
                "keepAliveDateTime": "2018-05-21T19:17:43.178Z",
                "id": "926c27f5-0965-43da-866e-26bcf8cc3fe9",
                "generation": 1,
                "lastUpdateMicros": 1526930572828203,
                "kind": "cm:cloud:service-scaling-groups:activity-log:scalingactivitystate",
                "selfLink": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce/activity-log/926c27f5-0965-43da-866e-26bcf8cc3fe9"
            },
            "lastUpdateMicros": 1526930572833141,
            "loadBalancerDeviceReferences": [{
                    "link": "https://localhost/mgmt/shared/resolver/device-groups/cm-bigip-allBigIpDevices/devices/88cb6ecb-acb7-4d62-b876-ef675e97538f"
                }
            ],
            "maxSize": 5,
            "maxSupportedApplications": 3,
            "minSize": 1,
            "name": "ssg1",
            "providerType": "VMware",
            "scalingPolicies": [{
                    "name": "scale-out",
                    "cooldown": 15,
                    "direction": "ADD",
                    "type": "ChangeCount",
                    "value": 1
                }, {
                    "name": "scale-in",
                    "cooldown": 15,
                    "direction": "REMOVE",
                    "type": "ChangeCount",
                    "value": 1
                }
            ],
            "selfLink": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce",
            "status": "READY"
        }
    ],
    "generation": 37,
    "kind": "cm:cloud:service-scaling-groups:servicescalinggroupcollectionstate",
    "lastUpdateMicros": 1526930572836925,
    "selfLink": "https://localhost/mgmt/cm/cloud/service-scaling-groups"
}

Manually scale a VMware service scaling group

PATCH /mgmt/cm/cloud/service-scaling-groups/<id>
{
    "desiredSize": 2
}

Response

HTTP/1.1 200 OK
{
    "name": "ssg1",
    "status": "READY",
    "environmentReference": {
        "link": "https://localhost/mgmt/cm/cloud/environments/afc0cec4-f72b-37f2-a817-6a997207da9c"
    },
    "minSize": 1,
    "maxSize": 5,
    "maxSupportedApplications": 3,
    "desiredSize": 2,
    "devices": [{
            "deviceReference": {
                "hostname": "ssg1-device1.host.com",
                "link": "https://localhost/mgmt/shared/resolver/device-groups/cm-bigip-allBigIpDevices/devices/3887d783-9493-466c-8046-a239b31bee1f"
            },
            "providerGuestReference": {
                "link": "https://localhost/mgmt/cm/cloud/vmware/guests/34e22ac0-9884-4bc4-952a-97c64a8f2b3c"
            },
            "status": "READY"
        }
    ],
    "providerType": "VMware",
    "loadBalancerDeviceReferences": [{
            "link": "https://localhost/mgmt/shared/resolver/device-groups/cm-bigip-allBigIpDevices/devices/88cb6ecb-acb7-4d62-b876-ef675e97538f"
        }
    ],
    "scalingPolicies": [{
            "name": "scale-out",
            "cooldown": 15,
            "direction": "ADD",
            "type": "ChangeCount",
            "value": 1
        }, {
            "name": "scale-in",
            "cooldown": 15,
            "direction": "REMOVE",
            "type": "ChangeCount",
            "value": 1
        }
    ],
    "activityLogCollectionReference": {
        "link": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce/activity-log",
        "isSubcollection": true
    },
    "eventLogCollectionReference": {
        "link": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce/event-log",
        "isSubcollection": true
    },
    "lastCompletedActivity": {
        "workflowReference": {
            "link": "https://localhost/mgmt/cm/cloud/tasks/vmware/scaling/8af423ed-3a2b-4f52-86d5-bce7521a2d47"
        },
        "correlationUuid": "eaa8074e-8793-4863-b3f3-f60ad3232233",
        "reason": "Scale-out 1 and scale-in 0 device(s) in response to 1 event(s)",
        "keepAliveDateTime": "2018-05-21T19:17:43.178Z",
        "id": "926c27f5-0965-43da-866e-26bcf8cc3fe9",
        "generation": 1,
        "lastUpdateMicros": 1526930572828203,
        "kind": "cm:cloud:service-scaling-groups:activity-log:scalingactivitystate",
        "selfLink": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce/activity-log/926c27f5-0965-43da-866e-26bcf8cc3fe9"
    },
    "activeEvents": [{
            "source": "USER",
            "correlationUuid": "4907ec24-3d76-4a4a-8efc-66b91b047ccb",
            "activityCount": 0,
            "change": 1,
            "eventDateTime": "2018-05-21T21:12:07.229Z",
            "scalingActivityReferences": [],
            "generation": 0,
            "lastUpdateMicros": 0
        }
    ],
    "dataProtectionReference": {
        "link": "https://localhost/mgmt/cm/asm/working-config/data-protection/1a73e205-92d5-3f90-9e18-697993c1ab3e"
    },
    "dataSyncReference": {
        "link": "https://localhost/mgmt/cm/security-shared/working-config/datasync/d4829944-d006-3f85-8205-2ad238fd9af0"
    },
    "id": "cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce",
    "generation": 201,
    "lastUpdateMicros": 1526937127227984,
    "kind": "cm:cloud:service-scaling-groups:servicescalinggroupstate",
    "selfLink": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce"
}

Manually scale an AWS service scaling group

PATCH /mgmt/cm/cloud/service-scaling-groups/<id>
{
    "minSize": 2,
    "desiredSize": 2
}

Response

HTTP/1.1 200 OK
{
    "name": "ssg1",
    "status": "READY",
    "environmentReference": {
        "link": "https://localhost/mgmt/cm/cloud/environments/afc0cec4-f72b-37f2-a817-6a997207da9c"
    },
    "minSize": 2,
    "maxSize": 5,
    "maxSupportedApplications": 3,
    "desiredSize": 2,
    "devices": [{
            "deviceReference": {
                "hostname": "ssg1-device1.host.com",
                "link": "https://localhost/mgmt/shared/resolver/device-groups/cm-bigip-allBigIpDevices/devices/3887d783-9493-466c-8046-a239b31bee1f"
            },
            "providerGuestReference": {
                "link": "https://localhost/mgmt/cm/cloud/aws/guests/34e22ac0-9884-4bc4-952a-97c64a8f2b3c"
            },
            "status": "READY"
        }
    ],
    "providerType": "AWS",
    "scalingPolicies": [{
            "name": "scale-out",
            "cooldown": 15,
            "direction": "ADD",
            "type": "ChangeCount",
            "value": 1
        }, {
            "name": "scale-in",
            "cooldown": 15,
            "direction": "REMOVE",
            "type": "ChangeCount",
            "value": 1
        }
    ],
    "activityLogCollectionReference": {
        "link": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce/activity-log",
        "isSubcollection": true
    },
  "eventLogCollectionReference": {
        "link": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce/event-log",
        "isSubcollection": true
    },
    "lastCompletedActivity": {
        "workflowReference": {
            "link": "https://localhost/mgmt/cm/cloud/tasks/vmware/scaling/8af423ed-3a2b-4f52-86d5-bce7521a2d47"
        },
        "correlationUuid": "eaa8074e-8793-4863-b3f3-f60ad3232233",
        "reason": "Scale-out 1 and scale-in 0 device(s) in response to 1 event(s)",
        "keepAliveDateTime": "2018-05-21T19:17:43.178Z",
        "id": "926c27f5-0965-43da-866e-26bcf8cc3fe9",
        "generation": 1,
        "lastUpdateMicros": 1526930572828203,
        "kind": "cm:cloud:service-scaling-groups:activity-log:scalingactivitystate",
        "selfLink": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce/activity-log/926c27f5-0965-43da-866e-26bcf8cc3fe9"
    },
    "activeEvents": [{
            "source": "USER",
            "correlationUuid": "4907ec24-3d76-4a4a-8efc-66b91b047ccb",
            "activityCount": 0,
            "change": 1,
            "eventDateTime": "2018-05-21T21:12:07.229Z",
            "scalingActivityReferences": [],
            "generation": 0,
            "lastUpdateMicros": 0
        }
    ],
    "dataProtectionReference": {
        "link": "https://localhost/mgmt/cm/asm/working-config/data-protection/1a73e205-92d5-3f90-9e18-697993c1ab3e"
    },
    "dataSyncReference": {
        "link": "https://localhost/mgmt/cm/security-shared/working-config/datasync/d4829944-d006-3f85-8205-2ad238fd9af0"
    },
    "id": "cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce",
    "generation": 201,
    "lastUpdateMicros": 1526937127227984,
    "kind": "cm:cloud:service-scaling-groups:servicescalinggroupstate",
    "selfLink": "https://localhost/mgmt/cm/cloud/service-scaling-groups/cfdcf3b1-be78-3b7c-9e67-8eb33bb028ce"
}