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"
}