Download OpenAPI specification:Download
Welcome to the Spot by Flexera OpenAPI Specification. Here you will find REST definitions for all Spot products and platform administration tasks.
The API is hosted at https://api.spotinst.io
and requires Bearer Token
Authentication.
For more information on how to use the Spot platform, including user guides, developer guides, concepts, and tutorials, see the external Spot Documentation.
Create a new user and link it to the creator's organization (the organization ID from the personal token attached to the API call). If the role is a viewer, the user is also linked to the default account for the organization.
generateToken | boolean Example: generateToken=true If |
string | |
firstName | string The first name of the user. Note: names cannot include these characters: + = @ |
lastName | string The last name of the user. Note: names cannot include these characters: + = @ |
password | string Password |
role | string User's role |
{- "firstName": "Test",
- "lastName": "Test",
- "email": "test@spot.io",
- "password": "password1234",
- "role": "viewer"
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/user/?generateToken=true",
- "method": "POST",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:setup:user",
- "items": [
- {
- "id": 9056,
- "firstName": "Test",
- "lastName": "Test",
- "displayName": "Test Test",
- "email": "test@gmail.com",
- "organizationId": 606079860000,
- "personalAccessToken": "...",
- "userId": "u-1a2b3c4d"
}
], - "count": 1
}
}
{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/setup/organization/user",
- "method": "GET",
- "timestamp": "2018-08-20T15:31:12.730Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "userId": "u-a1b2c3d4",
- "username": "John Doe",
- "type": "personal",
- "email": "john.doe@company.com",
- "mfa": "false",
- "groupNames": [
- "Developers",
- "DevOps"
]
}, - {
- "userId": "u-4d3c2b1a",
- "userName": "Jane Doe",
- "type": "personal",
- "email": "jane.doe@company.com",
- "mfa": "true",
- "groupNames": [
- "DevOps",
- "IT"
]
}
], - "count": 2,
- "kind": "spotinst:setup:organization:user"
}
}
{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/setup/organization/policy",
- "method": "GET",
- "timestamp": "2018-08-20T15:31:12.730Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "pol-a1b2c3d4",
- "name": "Developers",
- "description": "A policy that contains permissions for developers",
- "type": "ORGANIZATION",
- "policyContent": {
- "statements": [
- {
- "effect": "ALLOW",
- "actions": [
- "elastigroup:createGroup",
- "elastigroup:updateGroup"
], - "resources": [
- "*"
]
}
]
}, - "createdAt": "2021-12-19T13:44:13.000+0000",
- "updatedAt": "2022-01-02T22:04:29.000+0000"
}, - {
- "id": "pol-87654321",
- "name": "DevOps",
- "description": "A policy that contains permissions for DevOps",
- "type": "ACCOUNT",
- "policyContent": {
- "statements": [
- {
- "effect": "ALLOW",
- "actions": [
- "setup:updatePolicy"
], - "resources": [
- "*"
]
}
]
}, - "createdAt": "2021-12-19T13:44:13.000+0000",
- "updatedAt": "2022-01-02T22:04:29.000+0000"
}
], - "count": 2,
- "kind": "spotinst:setup:organization:policy"
}
}
Get all the details of a given user.
userId required | string Example: u-1234abcd Identifier of a user. |
{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/setup/user/u-1234abcd",
- "method": "GET",
- "timestamp": "2018-08-20T15:31:12.730Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": {
- "0": { },
- "userId": "u-a1b2c3d4",
- "username": "John Doe",
- "type": "personal",
- "email": "john.doe@company.com",
- "mfa": "false",
- "groups": [
- {
- "id": "ugr-12345678",
- "name": "DevOps",
- "policyNames": [
- "DevOps-PROD",
- "DevOps-DEV",
- "IT"
]
}, - {
- "id": "ugr-87654321",
- "name": "IT",
- "policyNames": [
- "IT"
]
}
], - "policies": [
- {
- "policyId": "pol-12345678",
- "policyName": "TriggerDeployment",
- "policyType": "ACCOUNT",
- "accountIds": [
- "act-12345678",
- "act-87654321"
]
}, - {
- "policyId": "pol-87654321",
- "policyName": "UpdateScheduling",
- "policyType": "ORGANIZATION",
- "accountIds": [ ]
}
], - "tokens": [
- {
- "name": "my_sweet_token",
- "createdAt": "2020-06-01T12:17:51.000+000",
- "tokenId": 11111,
- "tokenLastDigits": "2323"
}
]
}, - "count": 1,
- "kind": "spotinst:setup:access:user"
}
}
Delete a given user(console or programmatic) from organization.
userId required | string Example: u-1234abcd or pu-87654321 Identifier of a user. |
{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/setup/user/u-1234abcd",
- "method": "DELETE",
- "timestamp": "2018-08-20T15:31:12.730Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Update the mapping of a given user to user groups
userId required | string Example: u-1234abcd Identifier of a user. |
userGroupIds | Array of strings A list of the user groups to register the given user to (should be existing user groups only) |
{- "userGroupIds": [
- "ugr-12345678",
- "ugr-87654321"
]
}
{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/setup/user/u-1234abcd/userGroupMapping",
- "method": "PUT",
- "timestamp": "2018-08-20T15:31:12.730Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Update the mapping of a given user directly to policies
userId required | string Example: u-1234abcd Identifier of a user. |
Array of objects The policies to register under the given user (should be existing policies only) | |||||
Array
|
{- "policies": [
- {
- "policyId": "pol-12345678",
- "accountIds": [
- "act-12345678"
]
}, - {
- "policyId": "pol-87654321",
- "accountIds": [
- "act-12345678",
- "act-87654321"
]
}
]
}
{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/setup/user/u-1234abcd/policyMapping?accountId=act-567c21",
- "method": "PUT",
- "timestamp": "2018-08-20T15:31:12.730Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Get user's account mapping
userEmail required | string Example: userEmail=test@spot.io Target user email address |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/accountUserMapping?userEmail=test@spot.io",
- "method": "GET",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:log",
- "items": [
- {
- "accountId": "act-1234592",
- "role": "editor"
}, - {
- "accountId": "act-1234593",
- "role": "viewer"
}
], - "count": 2
}
}
Delete a Spot Organization. ID of the organization can be obtained from your Spot console via the following link: https://console.spotinst.com/#/settings/organization/general > Note: This cannot be undone. Take caution.
organizationId required | string Example: 606079812345 ID of the organization you would like to delete |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/organization/606079812345",
- "method": "DELETE",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
This API creates a new programmatic user (not a human user). Use this API to provide privileges to an application that needs to interface with Spot. Spot returns a token that the programmatic user can use to perform actions with. requires accounts
or policies
.
Array of objects All the accounts the programmatic user will have access to. If used - Cannot be empty. | |
description | string Brief description of the user. |
name required | string Name of the programmatic user. Note: names cannot include these characters: + = @ |
Array of objects All the policies the programmatic user will have access to. If used - Cannot be empty. |
{- "description": "test programmatic",
- "name": "testProgrammaticApi",
- "accounts": [
- {
- "id": "act-123",
- "role": "viewer"
}
], - "policies": [
- {
- "policyId": "pol-123",
- "accountIds": [
- "act-123",
- "act-321"
]
}
]
}
{- "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:setup:programmaticUser",
- "items": [
- {
- "token": "f872e7b157866a36229d915aa21cf430f661234568703fd",
- "name": "TestApi1",
- "id": "pu-6a6976ab"
}
], - "count": 1
}
}
Create a Spot Organization.
object Organization | |||
|
{- "organization": {
- "name": "organizationName"
}
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/organization",
- "method": "POST",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:setup:organization",
- "items": [
- {
- "organizationId": 12345678,
- "organizationName": "organizationName"
}
], - "count": 1
}
}
Get actions for access policies.
category | string Example: category=update The policy action category that you would like to get the information for |
name | string Example: name=ocean:updateCluster The policy action Name that you would like to get the information for |
resourcePattern | string Example: resourcePattern=ocean:o-* The policy action resource pattern that you would like to get the information for |
scope | string Example: scope=account The policy action scope that you would like to get the information for |
service | string Example: service=ocean The policy action service that you would like to get the information for |
{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/setup/access/policyAction?service=ocean&resourcePattern=ocean:ols-*&category=update",
- "method": "GET",
- "timestamp": "2022-04-14T05:05:26.044Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "ocean:updateLaunchSpec",
- "service": "ocean",
- "resourcePattern": "ocean:ols-*",
- "scope": "ACCOUNT",
- "category": "UPDATE"
}, - {
- "name": "ocean:launchNodesInLaunchSpec",
- "service": "ocean",
- "resourcePattern": "ocean:ols-*",
- "scope": "ACCOUNT",
- "category": "UPDATE"
}, - {
- "name": "ocean:updateClusterLaunchSpec",
- "service": "ocean",
- "resourcePattern": "ocean:ols-*",
- "scope": "ACCOUNT",
- "category": "UPDATE"
}
], - "count": 3,
- "kind": "spotinst:setup:policyAction"
}
}
Create an access policy to define the user's permissions more granularly than the role-based permissions.
object Set access policy settings. Example - Acme, Inc. | |||||||
|
{- "policy": {
- "name": "my policy",
- "description": "description of my policy",
- "policyContent": {
- "statements": [
- {
- "effect": "ALLOW",
- "actions": [
- "ocean:importCluster"
], - "resources": [
- "*"
]
}, - {
- "effect": "ALLOW",
- "actions": [
- "emr:scale"
], - "resources": [
- "*"
]
}
]
}
}
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/access/policy?accountId=act-6sd665cs\"",
- "method": "POST",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:setup:access:policy",
- "items": [
- {
- "name": "my policy",
- "description": "description of my policy",
- "policyContent": [
- { }
], - "id": "pol-de9716be"
}
], - "count": 1
}
}
Updates an access policy settings.
policyId required | string Example: pol-2344nn The access policy ID to operate on |
object Set access policy settings | |||
|
{- "policy": {
- "name": "A wonderful policy"
}
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/access/policy/pol-2344nn?accountId=act-4fbdvfc6",
- "method": "PUT",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Deletes an access policy settings.
policyId required | string Example: pol-2344nn The access policy ID to operate on |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/access/policy/pol-2344nn?accountId=act-123456789",
- "method": "DELETE",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/setup/access/userGroup?accountId=act-567c21",
- "method": "GET",
- "timestamp": "2018-08-20T15:31:12.730Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ugr-a1b2c3d4",
- "name": "Developers",
- "description": "managing permissions to my group of developers",
- "createdAt": "2020-11-04T11:29:10.000+0000",
- "usersCount": 10,
- "policyNames": [
- "TriggerDeployment"
]
}, - {
- "id": "ugr-4d3c2b1a",
- "name": "DevOps",
- "description": "managing permissions to my group of DevOps",
- "createdAt": "2020-09-01T11:28:00.000+0000",
- "usersCount": 5,
- "policyNames": [
- "TriggerDeployment",
- "UpdateScaling",
- "UpdateScheduling"
]
}
], - "count": 2,
- "kind": "spotinst:setup:access:userGroup"
}
}
Create a new user-group of your Spot organization
description | string user group description |
name | string Name of the user group. Note: names cannot include these characters: + = @ |
Array of objects The policies to register under the given group (should be existing policies only) | |
userIds | Array of strings The users to register under the created group (should be existing users only) |
{- "name": "Developers",
- "description": "managing permissions to my group of developers",
- "userIds": [
- "u-12345678",
- "pu-12345678"
], - "policies": [
- {
- "policyId": "pol-12345678",
- "accountIds": [
- "act-12345678"
]
}, - {
- "policyId": "pol-87654321",
- "accountIds": [
- "act-12345678",
- "act-87654321"
]
}
]
}
{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/setup/access/userGroup?accountId=act-567c21",
- "method": "POST",
- "timestamp": "2018-08-20T15:31:12.730Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": {
- "0": { },
- "id": "ugr-a1b2c3d4",
- "name": "Developers",
- "description": "managing permissions to my group of developers",
- "createdAt": "2020-11-04T11:29:10.000+0000",
- "userIds": [
- "u-12345678",
- "pu-12345678"
], - "policies": [
- {
- "policyId": "pol-12345678",
- "accountIds": [
- "act-12345678"
]
}, - {
- "policyId": "pol-87654321",
- "accountIds": [
- "act-12345678",
- "act-87654321"
]
}
]
}, - "count": 1,
- "kind": "spotinst:setup:access:userGroup"
}
}
Get the details of a user Group
userGroupId required | string Example: ugr-1234abcd Identifier of a user Group. |
{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/setup/access/userGroup/urg-1234abcd?accountId=act-567c21",
- "method": "GET",
- "timestamp": "2018-08-20T15:31:12.730Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": {
- "0": { },
- "id": "ugr-a1b2c3d4",
- "name": "Developers",
- "description": "managing permissions to my group of developers",
- "createdAt": "2020-11-04T11:29:10.000+0000",
- "users": [
- {
- "userId": "u-12345678",
- "userName": "Clark Kent",
- "type": "personal"
}, - {
- "userId": "pu-87654321",
- "userName": "Superman",
- "type": "programmatic"
}
], - "policies": [
- {
- "policyId": "pol-12345678",
- "policyName": "TriggerDeployment",
- "policyType": "ACCOUNT",
- "accountIds": [
- "act-12345678",
- "act-87654321"
]
}, - {
- "policyId": "pol-87654321",
- "policyName": "UpdateScheduling",
- "policyType": "ORGANIZATION"
}
]
}, - "count": 1,
- "kind": "spotinst:setup:access:userGroup"
}
}
Update the details of a user Group
userGroupId required | string Example: ugr-1234abcd Identifier of a user Group. |
description | string non-empty user group description |
name | string non-empty user group name |
{- "name": "Developers",
- "description": "managing permissions to my group of developers"
}
{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/setup/access/userGroup/urg-1234abcd?accountId=act-567c21",
- "method": "PUT",
- "timestamp": "2018-08-20T15:31:12.730Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Delete a user Group
userGroupId required | string Example: ugr-1234abcd Identifier of a user Group. |
{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/setup/access/userGroup/urg-1234abcd?accountId=act-567c21",
- "method": "DELETE",
- "timestamp": "2018-08-20T15:31:12.730Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Update the mapping of a given user group to users
userGroupId required | string Example: ugr-1234abcd Identifier of a user Group. |
userIds | Array of strings The users to register under the given user group (should be existing users only) |
{- "userIds": [
- "u-12345678",
- "pu-12345678"
]
}
{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/setup/access/userGroup/urg-1234abcd/userMapping?accountId=act-567c21",
- "method": "PUT",
- "timestamp": "2018-08-20T15:31:12.730Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Update the mapping of a given user group to policies
userGroupId required | string Example: ugr-1234abcd Identifier of a user Group. |
Array of objects The policies to register under the given user group (should be existing policies only) | |||||
Array
|
{- "policies": [
- {
- "policyId": "pol-12345678",
- "accountIds": [
- "act-12345678"
]
}, - {
- "policyId": "pol-87654321",
- "accountIds": [
- "act-12345678",
- "act-87654321"
]
}
]
}
{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/setup/access/userGroup/urg-1234abcd/policyMapping?accountId=act-567c21",
- "method": "PUT",
- "timestamp": "2018-08-20T15:31:12.730Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Get all available FinOps authorization policies.
paginationKey | string key used to fetch the next page of items |
paginationSize | integer number of items to include in the response |
targetOrganizationId | string |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/cbi/v1/access/policy",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "policyId": "BE-ViewAllOnly",
- "policyName": "Billing Engine View All Only",
- "policyDescription": "Grants authorization to view all features in Billing Engine. This policy requires and will automatically grant access to all accounts within Billing Engine.",
- "requiresAccessToAllAccounts": true
}
], - "count": 1,
- "kind": "spotinst:cbi:authorization:policy",
- "paginationInfo": {
- "totalCount": 0,
- "nextKey": "string",
- "previousKey": "string"
}
}
}
Get the user-level FinOps authorization configuration for the specified user.
userId required | string The userId to retrieve. |
includeChildOrgs | boolean Default: false Include the configurations for child organizations. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/cbi/v1/access/user/{userId}",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "organizationId": "11111111111111",
- "userId": "u-12345678",
- "costTypes": [
- {
- "id": "Effective",
- "name": "Effective Cost"
}
], - "accounts": [
- {
- "id": "aws~11111111111111",
- "name": "Test"
}
], - "policies": [
- {
- "id": "BE-ViewAllOnly",
- "name": "Billing Engine View All Only"
}
]
}
], - "count": 1,
- "kind": "spotinst:cbi:authorization:user"
}
}
Update the FinOps authorization configuration for a user.
userId required | string |
object (userAuthConfigChanges) The FinOps authorization changes for a user. | |||||||||||||||
|
{- "authChanges": {
- "resetCostTypes": true,
- "costTypeChanges": [
- {
- "id": "None",
- "action": "Add"
}
], - "organizationId": "string",
- "resetAccounts": true,
- "accountChanges": [
- {
- "id": "string",
- "action": "Add"
}
], - "resetPolicies": true,
- "policyChanges": [
- {
- "id": "string",
- "action": "Add"
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/cbi/v1/access/user/{userId}",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "userId": "u-12345678",
- "beforeChanges": {
- "organizationId": "11111111111111",
- "userId": "u-12345678",
- "costTypes": [
- {
- "id": "Effective",
- "name": "Effective Cost"
}
], - "accounts": [
- {
- "id": "aws~11111111111111",
- "name": "Test"
}
], - "policies": [
- {
- "id": "BE-ViewAllOnly",
- "name": "Billing Engine View All Only"
}
]
}, - "afterChanges": {
- "organizationId": "11111111111111",
- "userId": "u-12345678",
- "costTypes": [
- {
- "id": "Effective",
- "name": "Effective Cost"
}
], - "accounts": [
- {
- "id": "aws~11111111111111",
- "name": "Test"
}
], - "policies": [
- {
- "id": "BE-ViewAllOnly",
- "name": "Billing Engine View All Only"
}
]
}
}
], - "count": 1,
- "kind": "spotinst:cbi:authorization:user"
}
}
Update information in an account such as the account name and slack channel. To use this command, permissions for organization admin are required. Granular permissions will require access policies with the following actions: setup:updateAccount
accountId required | string Example: act-123456789 The ID of the account you want to update. |
required | object Used for updating items in an account. | ||||
|
{- "account": {
- "slackNotificationChannels": [
], - "name": "ACCOUNT_NAME"
}
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/account/act-4fb595c6?accountId=act-4fb595c6",
- "method": "PUT",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Delete a Spot Account. The Spot Account ID can be obtained from your Spot console via the following link: https://console.spotinst.com/#/settings/account/general . Note This cannot be undone – take caution. Only Organization Admins can perform this action. In case you want to delete your default Spot account which is the account visible when you first log in please contact Support.
accountId required | string Example: act-123456789 The ID of the account you want to delete. |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/account/act-123456",
- "method": "DELETE",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Get all users in the organization, their details, and mapped accounts. Providing the optional account ID parameter will filter out all users not mapped to that account.
accountId | string Example: accountId=act-123abc ID of the account you would like to get retrieve users from |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/user?accountId=act-123456789",
- "method": "GET",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:log",
- "items": [
- {
- "mappedAccountIds": [
- "act-0b18f123",
- "act-0b18f124",
- "act-0b18f125"
], - "userId": "u-19265",
- "displayName": "test",
- "email": "test@spot.io"
}, - {
- "mappedAccountIds": [
- "act-0b18f123",
- "act-0b18f124",
- "act-0b18f125"
], - "userId": "u-19266",
- "displayName": "test",
- "email": "abc@google.com"
}
], - "count": 2
}
}
Assign users to accounts in bulk. Only accounts under the creator's own organization are allowed. Creator's organization ID is taken from the personal token attached to the API call.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
Array of assignUsersToAccounts-example2 (object) or assignUsersToAccounts-example3 (object) Mappings objects include user, accountID and role. | |||||||
Array Any of
|
{- "mappings": [
- {
- "userId": "u-1234",
- "accountId": "act-123abc",
- "role": "editor"
}, - {
- "userId": "u-1234",
- "accountId": "act-123abc",
- "permissionStrategy": "ROLE_BASED",
- "role": "editor"
}
]
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/accountUserMapping?accountId=act-4fab9sc6",
- "method": "POST",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Change the users' permissions for an account (only accounts under the creator's own organization are allowed). Creator's organization ID is taken from the personal token attached to the API call.
accountId required | string Example: act-123abc ID of the account associated with your token |
permissionStrategy | string Default: "ROLE_BASED" Set the user permissions type, by role or by access policy. Valid values "ROLE_BASED", "POLICY_BASED" |
role | string Valid values "viewer", "editor". Required on permissionStrategy = ROLE_BASED |
userId | string One of userEmail / userId is required. identify user by its user ID |
{- "userId": "u-1234",
- "permissionStrategy": "POLICY_BASED",
- "role": "editor"
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/account/act-4fb595c6/user/",
- "method": "PUT",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Detach a user from an account (only accounts under the creator's own organization are allowed). Creator's organization ID is taken from the personal token attached to the API call.
accountId required | string Example: act-123456789 The ID of the account you want to update. |
userEmail required | string Email of the user that is going to be deleted |
{- "userEmail": "test@gmail.com"
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/account/act-12345678/user/",
- "method": "DELETE",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Add a user to the account and set its permissions on the account. Creator's organization ID is taken from the personal token attached to the API call.
accountId required | string Example: act-123456789 The ID of the account you want to update. |
role | string Valid values - "viewer", "editor". Required on permissionStrategy = ROLE_BASED |
userEmail | string One of userEmail / userId is required. identify user by its user ID |
{- "userEmail": "test@spot.io",
- "role": "viewer"
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/account/act-4fb765c6/user",
- "method": "PUT",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Create a Spot account.
object Account | |||
|
{- "account": {
- "name": "AccountName"
}
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/account",
- "method": "POST",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:setup:account",
- "items": [
- {
- "id": "act-123456",
- "name": "AccountName",
- "organizationId": 606012341234
}
], - "count": 1
}
}
Get a list of Spot accounts in your organization. When used without any parameters, the provided token must have Organization Admin permissions and the output will contain all the Organization's accounts. Note In case you want to list all the accounts associated with Organization you can use the below request URL without the cloudAccountId parameter, https://api.spotinst.io/setup/account
cloudAccountId | string Example: cloudAccountId=634245686616 Will list only the Spot accounts connected to the specified account ID. |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/account?cloudAccountId=123456789",
- "method": "GET",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:setup:account",
- "items": [
- {
- "accountId": "act-57765123",
- "organizationId": 606079861123,
- "name": "test",
- "providerExternalId": 123456789
}, - {
- "accountId": "act-57765123",
- "organizationId": 606079861123,
- "name": "prod",
- "providerExternalId": 123456789
}
], - "count": 2
}
}
Get access policy settings.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/access/policy?accountId=act-4fd325c3",
- "method": "GET",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:setup:access:policy",
- "items": [
- {
- "name": "my policy",
- "description": "description of my policy",
- "policyContent": {
- "statements": [
- {
- "effect": "ALLOW",
- "actions": [
- [
- "ocean:importCluster"
]
], - "resources": [
- [
- "*"
]
]
}
]
}, - "id": "pol-de9716be",
- "createdAt": "2020-01-21T12:37:14.000+0000",
- "updatedAt": "2020-01-21T12:37:14.000+0000"
}
], - "count": 1
}
}
Link a Spot account to an AWS Cloud account.
Please create external id using spot api (see /setup/credentials/aws/externalId)
and use it when creating the AWS role and then call this route with your AWS role's arn to link it to your spot account
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object Credentials details | |||
|
{- "credentials": {
- "iamRole": "arn:aws:iam::1234567890:role/Spot_Iam_Role"
}
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/credentials/aws?accountId=act-123456",
- "method": "POST",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Create aws account external id
You should use the external id when creating your AWS role for your spot account
and after you create the role you need to call set-aws-credentials Set Credentials for AWS
to link your AWS account with your spot account
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/setup/credentials/aws/externalId?accountId=act-123456",
- "method": "POST",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:setup:aws:externalId",
- "items": [
- {
- "externalId": "SpotinstAwsAccountExternalId",
- "maxValidUntil": "2021-03-18T16:11:04.402Z"
}
], - "count": 1
}
}
Link a Spot account to a GCP Cloud account.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object Set service account for credentials | |||||||||||||||||||||
|
{- "serviceAccount": {
- "type": "service_account",
- "project_id": "test-labs",
- "private_key_id": "XXXXXXXXXXXXXXXXX",
- "private_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
- "client_email": "test123@spot.io",
- "client_id": "XXXXXXXXXXXXXXXXXXXXX",
- "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/test123%40test-labs.iam.gserviceaccount.com"
}
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/gcp/setup/credentials?accountId=act-123456",
- "method": "POST",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Validate the credentials for connecting a Spot account to an GCP Cloud account. The validation will test the credentials without actually set it. Please notice to run the set credentials request to perform the set account credentials.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object Set service account for credentials | |||||||||||||||||||||
|
{- "serviceAccount": {
- "type": "service_account",
- "project_id": "test-labs",
- "private_key_id": "XXXXXXXXXXXXXXXXX",
- "private_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
- "client_email": "test123@spot.io",
- "client_id": "XXXXXXXXXXXXXXXXXXXXX",
- "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/test123%40test-labs.iam.gserviceaccount.com"
}
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/gcp/setup/credentials/validate?accountId=act-123456",
- "method": "POST",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Link a Spot account to an Azure Cloud account. Enter the expiration date of your Azure client secret. Spot can remind you to update before the credentials expire. If your client secret expires, your Azure subscription will disconnect from Spot and prevent Spot from managing your resources.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
clientId required | string Set the application ID |
clientSecret required | string Set the key secret |
expirationDate required | string <date-time> Set the key secret expiration date |
subscriptionId required | string Set the subscription ID |
tenantId required | string Set the directory ID |
{- "clientId": 111111111,
- "clientSecret": "32431r2431434132",
- "tenantId": "1321e1e3123er23",
- "subscriptionId": "234r3141131",
- "expirationDate": "2025-12-31T23:59:00.000Z"
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/azure/setup/credentials?accountId=act-123456",
- "method": "POST",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Get the credentials connecting a Spot account to an Azure Cloud account.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/azure/setup/credentials?accountId=act-123456",
- "method": "GET",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:azure:credentials",
- "items": [
- {
- "clientId": 111111111,
- "tenantId": "1321e1e3123er23",
- "subscriptionId": "234r3141131"
}
], - "count": 1
}
}
Validate the credentials for connecting a Spot account to an Azure Cloud account. The validation will test the credentials without actually set it. Please notice to run the set credentials request to perform the set Azure account credentials (https://docs.spot.io/connect-your-cloud-provider/azure-account) .
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
clientId | string Set the application ID |
clientSecret | string Set the key secret |
subscriptionId | string Set the subscription ID |
tenantId | string Set the directory ID |
{- "clientId": "111111111",
- "clientSecret": "32431r2431434132",
- "tenantId": "1321e1e3123er23",
- "subscriptionId": "234r3141131"
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/azure/setup/credentials/validation?accountId=act-123456",
- "method": "POST",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Sets up and enables Cost Intelligence functionality on a Spot account. The Spot account must already have credentials and be linked to a valid cloud provider account (e.g. AWS account, Azure subscription, etc).
required | object (Account) | ||
|
{- "account": {
- "accountId": "string"
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/cbi/v1/setup/account",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "organizationId": "60100100100100",
- "accountId": "act-012345",
- "providerName": "aws",
- "externalProviderId": "012345678901",
- "enabledDate": "2019-08-24T14:15:22Z",
- "updatedDate": "2019-08-24T14:15:22Z"
}
], - "count": 1,
- "kind": "spotinst:cbi:inventory:ciRegisteredAccount"
}
}
Get list of Spot accounts where Cost Intelligence has been setup.
paginationKey | string Key used to fetch a specific page of items |
paginationSize | integer Number of items to include in the response |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/cbi/v1/setup/account",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "organizationId": "60100100100100",
- "accountId": "act-012345",
- "providerName": "aws",
- "externalProviderId": "012345678901",
- "enabledDate": "2019-08-24T14:15:22Z",
- "updatedDate": "2019-08-24T14:15:22Z",
- "statusSummary": "connected",
- "status": [
- {
- "productOffering": "common",
- "statusType": "string",
- "statusCode": "string",
- "statusMessage": "string",
- "statistics": {
- "totalResourceTypeCount": 0,
- "failedResourceTypeCount": 0,
- "successfulResourceTypes": [
- "string"
], - "failedResourceTypes": [
- "string"
]
}, - "statusTimestamp": "2019-08-24T14:15:22Z"
}
]
}
], - "count": 1,
- "kind": "string",
- "paginationInfo": {
- "totalCount": 0,
- "nextKey": "string",
- "previousKey": "string"
}
}
}
Validate that Cost Intelligence can be setup on the specified Spot Account.
required | object (Account) | ||
|
{- "account": {
- "accountId": "string"
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/cbi/v1/setup/account/validation",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "string",
- "description": "string",
- "status": "success",
- "validationInfo": "string",
- "validationInfoDetails": { }
}
], - "count": 1,
- "kind": "spotinst:cbi:accountRegistrationValidation"
}
}
Get list of Spot accounts where Billing Engine has been setup.
paginationKey | string Key used to fetch a specific page of items |
paginationSize | integer Number of items to include in the response |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/cloudBilling/v1/setup/account",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "accountId": "act-23432",
- "organizationId": "634563908342",
- "cloudProvider": "aws",
- "externalProviderId": "435345634",
- "externalProviderName": "Provider account name 1",
- "enabledDate": "2019-08-24T14:15:22Z",
- "updatedDate": "2019-08-24T14:15:22Z",
- "statusSummary": "connected",
- "status": [
- {
- "productOffering": "common",
- "statusType": "string",
- "statusCode": "string",
- "statusMessage": "string",
- "statistics": {
- "totalResourceTypeCount": 0,
- "failedResourceTypeCount": 0,
- "successfulResourceTypes": [
- "string"
], - "failedResourceTypes": [
- "string"
]
}, - "statusTimestamp": "2019-08-24T14:15:22Z"
}
]
}
], - "count": 1,
- "kind": "spotinst:cloudBilling:beRegisteredAccount",
- "paginationInfo": {
- "totalCount": 0,
- "nextKey": "string",
- "previousKey": "string"
}
}
}
Sets up and enables Billing Engine functionality on a Spot account. The Spot account must already have credentials and be linked to a valid cloud provider account (e.g. AWS account, Azure billing account, etc).
accountId required | string Spot Account ID. |
(object or null) or (BERegisteredSetupAccountAwsConfig (object or null)) or (BERegisteredSetupAccountAzureConfig (object or null)) or (BERegisteredSetupAccountGcpConfig (object or null)) Configuration for the Billing Engine (e.g. location of the billing data) |
{- "accountId": "act-23432",
- "config": { }
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/cloudBilling/v1/setup/account",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "accountId": "act-23432",
- "organizationId": "634563908342",
- "cloudProvider": "aws",
- "externalProviderId": "435345634",
- "isBillingAccount": true,
- "enabledDate": "2019-08-24T14:15:22Z",
- "updatedDate": "2019-08-24T14:15:22Z",
- "config": { }
}
], - "count": 1,
- "kind": "spotinst:cloudBilling:beRegisteredAccount"
}
}
Validate that Billing Engine can be setup on the specified Spot Account.
accountId required | string Spot Account ID. |
(object or null) or (BERegisteredSetupAccountAwsConfig (object or null)) or (BERegisteredSetupAccountAzureConfig (object or null)) or (BERegisteredSetupAccountGcpConfig (object or null)) Configuration for the Billing Engine (e.g. location of the billing data) |
{- "accountId": "act-23432",
- "config": { }
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/cloudBilling/v1/setup/account/validation",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "string",
- "description": "string",
- "status": "success",
- "validationInfo": "string",
- "validationInfoDetails": { }
}
], - "count": 1,
- "kind": "spotinst:cbi:accountRegistrationValidation"
}
}
Prerequisites
The Ocean Controller is used to monitor the cluster resources and report back to Ocean. The Ocean Controller is required for Ocean Cloud.
To install the Ocean Controller, complete and run the following script on a machine with the kubectl command line tool installed and configured:
#!/usr/bin/env bash
curl -fsSL http://spotinst-public.s3.amazonaws.com/integrations/kubernetes/cluster-controller/scripts/init.sh | \
SPOTINST_TOKEN=<ENTER YOUR TOKEN HERE> \
SPOTINST_ACCOUNT=<ENTER YOUR SPOTINST ACCOUNT ID HERE> \
SPOTINST_CLUSTER_IDENTIFIER=<ENTER YOUR CLUSTER IDENTIFIER HERE> \
bash
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (AWS Cluster) The object specifying the configuration of the Ocean cluster. | ||||||||||||||||||||
|
{- "cluster": {
- "name": "oceanName",
- "controllerClusterId": "ocean.k8s",
- "region": "us-east-1",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVCpu": 750
}, - "down": {
- "maxScaleDownPercentage": 60,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headroom": {
- "cpuPerUnit": 2000,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnits": 4
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true,
- "extendedResourceDefinitions": [
- "erd-123",
- "erd-456"
]
}, - "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "gracePeriod": 300,
- "drainingTimeout": 60,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}, - "spreadNodesBy": "count"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}, - "amiAutoUpdate": {
- "patch": true,
- "minorVersion": true,
- "applyRoll": true,
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "security": {
- "containerImage": {
- "approvedImages": [
- [
- "*.ecr.*.amazonaws.com/*",
- "docker.*"
]
]
}
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}
}, - "launchSpecification": {
- "useAsTemplateOnly": false,
- "imageId": "string",
- "userData": "string",
- "securityGroupIds": [
- [
- "sg-c3d914b0"
]
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "dynamicIops": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "keyPair": "spotinst-labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "loadBalancers": [
- {
- "type": "TARGET_GROUP",
- "name": "MyTargetGroup",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:922761411234:targetgroup"
}
], - "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73,
- "reservedENIs": 1,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60,
- "startupTaints": [
- {
- "key": "node.cilium.io/agent-not-ready",
- "value": true,
- "effect": "NoSchedule"
}
], - "instanceStorePolicy": {
- "type": "RAID0"
}, - "gpu": {
- "sharing": [
- {
- "gpuSharingType": "timeSlicing",
- "config": {
- "replicas": 2
}
}
]
}
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/cluster",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "o-abcd1234",
- "name": "oceanName",
- "controllerClusterId": "ocean.k8s",
- "region": "us-east-1",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVCpu": 750
}, - "down": {
- "maxScaleDownPercentage": 60,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headroom": {
- "cpuPerUnit": 2000,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnits": 4
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true,
- "extendedResourceDefinitions": [
- "erd-123",
- "erd-456"
]
}, - "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "gracePeriod": 300,
- "drainingTimeout": 60,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}, - "spreadNodesBy": "count"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}, - "amiAutoUpdate": {
- "patch": true,
- "minorVersion": true,
- "applyRoll": true,
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "security": {
- "containerImage": {
- "approvedImages": [
- [
- "*.ecr.*.amazonaws.com/*",
- "docker.*"
]
]
}
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}
}, - "launchSpecification": {
- "useAsTemplateOnly": false,
- "imageId": "string",
- "userData": "string",
- "securityGroupIds": [
- [
- "sg-c3d914b0"
]
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "dynamicIops": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "keyPair": "spotinst-labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "loadBalancers": [
- {
- "type": "TARGET_GROUP",
- "name": "MyTargetGroup",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:922761411234:targetgroup"
}
], - "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73,
- "reservedENIs": 1,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60,
- "startupTaints": [
- {
- "key": "node.cilium.io/agent-not-ready",
- "value": true,
- "effect": "NoSchedule"
}
], - "instanceStorePolicy": {
- "type": "RAID0"
}, - "gpu": {
- "sharing": [
- {
- "gpuSharingType": "timeSlicing",
- "config": {
- "replicas": 2
}
}
]
}
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s"
}
}
List the configurations for all Ocean clusters in the specified account.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/cluster",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "o-abcd1234",
- "name": "oceanName",
- "controllerClusterId": "ocean.k8s",
- "region": "us-east-1",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVCpu": 750
}, - "down": {
- "maxScaleDownPercentage": 60,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headroom": {
- "cpuPerUnit": 2000,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnits": 4
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true,
- "extendedResourceDefinitions": [
- "erd-123",
- "erd-456"
]
}, - "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "gracePeriod": 300,
- "drainingTimeout": 60,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}, - "spreadNodesBy": "count"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}, - "amiAutoUpdate": {
- "patch": true,
- "minorVersion": true,
- "applyRoll": true,
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "security": {
- "containerImage": {
- "approvedImages": [
- [
- "*.ecr.*.amazonaws.com/*",
- "docker.*"
]
]
}
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}
}, - "launchSpecification": {
- "useAsTemplateOnly": false,
- "imageId": "string",
- "userData": "string",
- "securityGroupIds": [
- [
- "sg-c3d914b0"
]
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "dynamicIops": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "keyPair": "spotinst-labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "loadBalancers": [
- {
- "type": "TARGET_GROUP",
- "name": "MyTargetGroup",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:922761411234:targetgroup"
}
], - "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73,
- "reservedENIs": 1,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60,
- "startupTaints": [
- {
- "key": "node.cilium.io/agent-not-ready",
- "value": true,
- "effect": "NoSchedule"
}
], - "instanceStorePolicy": {
- "type": "RAID0"
}, - "gpu": {
- "sharing": [
- {
- "gpuSharingType": "timeSlicing",
- "config": {
- "replicas": 2
}
}
]
}
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s"
}
}
Delete an existing Ocean cluster.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/cluster/o-abcd1234",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Get the configuration of an existing Ocean cluster.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/cluster/o-abcd1234",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "o-abcd1234",
- "name": "oceanName",
- "controllerClusterId": "ocean.k8s",
- "region": "us-east-1",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVCpu": 750
}, - "down": {
- "maxScaleDownPercentage": 60,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headroom": {
- "cpuPerUnit": 2000,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnits": 4
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true,
- "extendedResourceDefinitions": [
- "erd-123",
- "erd-456"
]
}, - "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "gracePeriod": 300,
- "drainingTimeout": 60,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}, - "spreadNodesBy": "count"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}, - "amiAutoUpdate": {
- "patch": true,
- "minorVersion": true,
- "applyRoll": true,
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "security": {
- "containerImage": {
- "approvedImages": [
- [
- "*.ecr.*.amazonaws.com/*",
- "docker.*"
]
]
}
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}
}, - "launchSpecification": {
- "useAsTemplateOnly": false,
- "imageId": "string",
- "userData": "string",
- "securityGroupIds": [
- [
- "sg-c3d914b0"
]
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "dynamicIops": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "keyPair": "spotinst-labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "loadBalancers": [
- {
- "type": "TARGET_GROUP",
- "name": "MyTargetGroup",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:922761411234:targetgroup"
}
], - "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73,
- "reservedENIs": 1,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60,
- "startupTaints": [
- {
- "key": "node.cilium.io/agent-not-ready",
- "value": true,
- "effect": "NoSchedule"
}
], - "instanceStorePolicy": {
- "type": "RAID0"
}, - "gpu": {
- "sharing": [
- {
- "gpuSharingType": "timeSlicing",
- "config": {
- "replicas": 2
}
}
]
}
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s"
}
}
All Ocean parameters are updatable, except for region and identifier. This API supports partial updates, so specific fields can be updated separately.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
autoApplyTags | string Default: "false" Example: autoApplyTags=true Option to update instance tags on the fly without rolling the cluster. |
required | object (AWS Cluster) The object specifying the configuration of the Ocean cluster. | ||||||||||||||||||||
|
{- "cluster": {
- "name": "oceanName",
- "controllerClusterId": "ocean.k8s",
- "region": "us-east-1",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVCpu": 750
}, - "down": {
- "maxScaleDownPercentage": 60,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headroom": {
- "cpuPerUnit": 2000,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnits": 4
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true,
- "extendedResourceDefinitions": [
- "erd-123",
- "erd-456"
]
}, - "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "gracePeriod": 300,
- "drainingTimeout": 60,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}, - "spreadNodesBy": "count"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}, - "amiAutoUpdate": {
- "patch": true,
- "minorVersion": true,
- "applyRoll": true,
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "security": {
- "containerImage": {
- "approvedImages": [
- [
- "*.ecr.*.amazonaws.com/*",
- "docker.*"
]
]
}
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}
}, - "launchSpecification": {
- "useAsTemplateOnly": false,
- "imageId": "string",
- "userData": "string",
- "securityGroupIds": [
- [
- "sg-c3d914b0"
]
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "dynamicIops": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "keyPair": "spotinst-labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "loadBalancers": [
- {
- "type": "TARGET_GROUP",
- "name": "MyTargetGroup",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:922761411234:targetgroup"
}
], - "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73,
- "reservedENIs": 1,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60,
- "startupTaints": [
- {
- "key": "node.cilium.io/agent-not-ready",
- "value": true,
- "effect": "NoSchedule"
}
], - "instanceStorePolicy": {
- "type": "RAID0"
}, - "gpu": {
- "sharing": [
- {
- "gpuSharingType": "timeSlicing",
- "config": {
- "replicas": 2
}
}
]
}
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/cluster/o-abcd1234",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "o-abcd1234",
- "name": "oceanName",
- "controllerClusterId": "ocean.k8s",
- "region": "us-east-1",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVCpu": 750
}, - "down": {
- "maxScaleDownPercentage": 60,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headroom": {
- "cpuPerUnit": 2000,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnits": 4
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true,
- "extendedResourceDefinitions": [
- "erd-123",
- "erd-456"
]
}, - "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "gracePeriod": 300,
- "drainingTimeout": 60,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}, - "spreadNodesBy": "count"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}, - "amiAutoUpdate": {
- "patch": true,
- "minorVersion": true,
- "applyRoll": true,
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "security": {
- "containerImage": {
- "approvedImages": [
- [
- "*.ecr.*.amazonaws.com/*",
- "docker.*"
]
]
}
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}
}, - "launchSpecification": {
- "useAsTemplateOnly": false,
- "imageId": "string",
- "userData": "string",
- "securityGroupIds": [
- [
- "sg-c3d914b0"
]
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "dynamicIops": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "keyPair": "spotinst-labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "loadBalancers": [
- {
- "type": "TARGET_GROUP",
- "name": "MyTargetGroup",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:922761411234:targetgroup"
}
], - "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73,
- "reservedENIs": 1,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60,
- "startupTaints": [
- {
- "key": "node.cilium.io/agent-not-ready",
- "value": true,
- "effect": "NoSchedule"
}
], - "instanceStorePolicy": {
- "type": "RAID0"
}, - "gpu": {
- "sharing": [
- {
- "gpuSharingType": "timeSlicing",
- "config": {
- "replicas": 2
}
}
]
}
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s"
}
}
Get the heartbeat status of the Ocean Controller for the cluster.
The response returns the heartbeat status and the last heartbeat timestamp.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/k8s/cluster/o-e0a2bd7c/controllerHeartbeat",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "status": "ACTIVE",
- "lastHeartbeat": "2019-11-24T14:33:00.746Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:k8s:cluster:controllerHeartbeat"
}
}
Fetch the log of an Ocean cluster.
clusterIdentifier required | string Example: o-6e3819ae The reporting identifier of the Ocean Controller. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
fromDate required | string Beginning date value using either the date format "yyyy-mm-dd; 2016-11-20" or ms "1494751821472". |
limit | integer <= 1000 Default: 500 Example: limit=200 Maximum number of lines to extract in a response. |
resourceId | string Example: resourceId=i-12345678 Filter extracted log entries for a specific resource identifier. Default: Null |
severity | string Default: "ALL" Enum: "ALL" "INFO" "DEBUG" "ERROR" "WARN" Example: severity=INFO Severity of log entries to extract. |
toDate required | string End date value using either the date format "yyyy-mm-dd; 2016-11-20" or ms "1494751821472". |
{- "request": {
- "id": "3213f42e-455e-4801-a185-cd3eb65fac5f",
- "url": "/ocean/aws/k8s/cluster/o-e0a2bd7c/log?fromDate=2020-10-06&toDate=2020-10-08&severity=ALL&limit=500",
- "method": "GET",
- "timestamp": "2020-10-05T16:20:38.579Z"
}, - "response": {
- "status": {
- "code": "200",
- "message": "OK"
}, - "kind": "spotinst:ocean:cluster:log",
- "items": [
- {
- "message": "Ocean o-e0a2bd7c successfully created.",
- "severity": "INFO",
- "createdAt": "2020-10-07T09:51:12.000Z"
}
], - "count": "1"
}
}
Create an Ocean configuration according to an AWS autoscaling group (ASG) configuration.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
autoScalingGroupName required | string Example: autoScalingGroupName=myAutoScalingGroup The ASG name. |
region required | string Example: region=us-east-1 Region name of the ASG. |
object The object specifying the configuration of the VNG. | |||
|
{- "cluster": {
- "instanceTypes": [
- "c3.large",
- "m4.large"
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/cluster/autoScalingGroup/import",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "TestASG1",
- "controllerClusterId": "ocean-ed609402-8557-4d18-818a-e549333cc11e",
- "region": "us-west-2",
- "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "compute": {
- "subnetIds": [
- [
- "subnet-00cab2dd9f40a9883",
- "subnet-0df9d512c7cbbd9e1"
]
], - "launchSpecification": {
- "securityGroupIds": [
- [
- "sg-03ccf232a2bf0f4ea"
]
], - "keyPair": "testteamkp",
- "imageId": "ami-0ce21b51cb31a54b8",
- "tags": {
- "tagKey": "AmazonECSManaged",
- "tagValue": ""
}, - "associatePublicIpAddress": "false",
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}
}
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s"
}
}
Get right-sizing recommendations for an Ocean cluster and filter them according to namespace or label.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object Optional - may be null. | |||||
|
{- "filter": {
- "namespaces": [
- "sparkSpace",
- "kube-system"
], - "attribute": {
- "type": "label",
- "key": "app",
- "operator": "Equals",
- "value": "redis"
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/cluster/o-abcd1234/rightSizing/suggestion",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "resourceName": "redis-controller",
- "resourceType": "deployment",
- "namespace": "kube-system",
- "suggestedCPU": 4,
- "suggestedMemory": 19,
- "requestedCPU": 50,
- "requestedMemory": 50,
- "containers": [
- {
- "name": "dnsmasq",
- "requestedCPU": 10,
- "suggestedCPU": 2,
- "requestedMemory": 40,
- "suggestedMemory": 15
}, - {
- "name": "sidecar",
- "requestedCPU": 40,
- "suggestedCPU": 2,
- "requestedMemory": 10,
- "suggestedMemory": 4
}
]
}, - {
- "resourceName": "test-redis",
- "resourceType": "deployment",
- "namespace": "sparkSpace",
- "suggestedCPU": 2,
- "suggestedMemory": 20,
- "requestedCPU": 50,
- "requestedMemory": 30,
- "containers": [
- {
- "name": "dns-controller",
- "requestedCPU": 20,
- "suggestedCPU": 1,
- "requestedMemory": 20,
- "suggestedMemory": 15
}, - {
- "name": "kubedns",
- "requestedCPU": 30,
- "suggestedCPU": 1,
- "requestedMemory": 10,
- "suggestedMemory": 5
}
]
}
], - "count": 2,
- "kind": "spotinst:ocean:aws:k8s:cluster:rightSizing:suggestion"
}
}
Returns all instances types that match the given filters. These instance types will be used if the cluster is configured with these filters.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (InstanceTypesFilters) List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured together with whitelist/blacklist. | ||||||||||||||||||||||||||||||||||||||
|
{- "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/cluster/o-abcd1234/instanceTypeFiltersSimulation",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "filteredInstanceTypes": [
- "g5.xlarge",
- "c5.2xlarge",
- "c5ad.2xlarge",
- "c5d.2xlarge",
- "c5a.2xlarge"
]
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:instanceTypesFilters:simulation"
}
}
Return the list of the allowed Ocean cluster instance types.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/cluster/o-12345abc/allowedInstanceTypes",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "instanceTypes": [
- "c3.large",
- "c5.large"
]
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:allowedInstanceTypes"
}
}
Add new load balancers to the existing load balancers on the Ocean Cluster.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | Array of objects (ocean-lb) Load balancers to add to the Ocean cluster. | ||||||
Array
|
{- "loadBalancers": [
- {
- "type": "TARGET_GROUP",
- "name": "MyTargetGroup",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:922761411234:targetgroup"
}
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/cluster/o-12345abc/loadBalancer/attach",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "o-abcd1234",
- "name": "oceanName",
- "controllerClusterId": "ocean.k8s",
- "region": "us-east-1",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVCpu": 750
}, - "down": {
- "maxScaleDownPercentage": 60,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headroom": {
- "cpuPerUnit": 2000,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnits": 4
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true,
- "extendedResourceDefinitions": [
- "erd-123",
- "erd-456"
]
}, - "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "gracePeriod": 300,
- "drainingTimeout": 60,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}, - "spreadNodesBy": "count"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}, - "amiAutoUpdate": {
- "patch": true,
- "minorVersion": true,
- "applyRoll": true,
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "security": {
- "containerImage": {
- "approvedImages": [
- [
- "*.ecr.*.amazonaws.com/*",
- "docker.*"
]
]
}
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}
}, - "launchSpecification": {
- "useAsTemplateOnly": false,
- "imageId": "string",
- "userData": "string",
- "securityGroupIds": [
- [
- "sg-c3d914b0"
]
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "dynamicIops": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "keyPair": "spotinst-labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "loadBalancers": [
- {
- "type": "TARGET_GROUP",
- "name": "MyTargetGroup",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:922761411234:targetgroup"
}
], - "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73,
- "reservedENIs": 1,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60,
- "startupTaints": [
- {
- "key": "node.cilium.io/agent-not-ready",
- "value": true,
- "effect": "NoSchedule"
}
], - "instanceStorePolicy": {
- "type": "RAID0"
}, - "gpu": {
- "sharing": [
- {
- "gpuSharingType": "timeSlicing",
- "config": {
- "replicas": 2
}
}
]
}
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s"
}
}
Remove load balancers from the existing load balancers on the Ocean Cluster.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | Array of objects (ocean-lb) Load balancers to remove from the Ocean cluster. | ||||||
Array
|
{- "loadBalancers": [
- {
- "type": "TARGET_GROUP",
- "name": "MyTargetGroup",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:922761411234:targetgroup"
}
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/cluster/o-12345abc/loadBalancer/detach",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "o-abcd1234",
- "name": "oceanName",
- "controllerClusterId": "ocean.k8s",
- "region": "us-east-1",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVCpu": 750
}, - "down": {
- "maxScaleDownPercentage": 60,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headroom": {
- "cpuPerUnit": 2000,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnits": 4
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true,
- "extendedResourceDefinitions": [
- "erd-123",
- "erd-456"
]
}, - "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "gracePeriod": 300,
- "drainingTimeout": 60,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}, - "spreadNodesBy": "count"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}, - "amiAutoUpdate": {
- "patch": true,
- "minorVersion": true,
- "applyRoll": true,
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "security": {
- "containerImage": {
- "approvedImages": [
- [
- "*.ecr.*.amazonaws.com/*",
- "docker.*"
]
]
}
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}
}, - "launchSpecification": {
- "useAsTemplateOnly": false,
- "imageId": "string",
- "userData": "string",
- "securityGroupIds": [
- [
- "sg-c3d914b0"
]
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "dynamicIops": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "keyPair": "spotinst-labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "loadBalancers": [
- {
- "type": "TARGET_GROUP",
- "name": "MyTargetGroup",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:922761411234:targetgroup"
}
], - "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73,
- "reservedENIs": 1,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60,
- "startupTaints": [
- {
- "key": "node.cilium.io/agent-not-ready",
- "value": true,
- "effect": "NoSchedule"
}
], - "instanceStorePolicy": {
- "type": "RAID0"
}, - "gpu": {
- "sharing": [
- {
- "gpuSharingType": "timeSlicing",
- "config": {
- "replicas": 2
}
}
]
}
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s"
}
}
Upgrade an Elastigroup with Kubernetes integration to Ocean for Kubernetes cluster.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
groupId required | string Elastigroup identifier |
{- "kind": "spotinst:ocean:aws:k8s",
- "items": {
- "id": "o-482d9d26",
- "name": "Ocean::test-k8s-batch-1",
- "clusterName": "testEnvironment_Batch_852a670a-aa73-3d5d-9576-147a26d43401",
- "autoScaler": {
- "isEnabled": true,
- "isAutoConfig": true
}, - "region": "us-west-2",
- "groupId": "sig-b6bb68fb",
- "strategy": {
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 120
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}
}, - "launchSpecification": {
- "useAsTemplateOnly": false,
- "imageId": "string",
- "userData": "string",
- "securityGroupIds": [
- [
- "sg-c3d914b0"
]
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "dynamicIops": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "keyPair": "spotinst-labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "loadBalancers": [
- {
- "type": "TARGET_GROUP",
- "name": "MyTargetGroup",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:922761411234:targetgroup"
}
], - "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73,
- "reservedENIs": 1,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60,
- "startupTaints": [
- {
- "key": "node.cilium.io/agent-not-ready",
- "value": true,
- "effect": "NoSchedule"
}
], - "instanceStorePolicy": {
- "type": "RAID0"
}, - "gpu": {
- "sharing": [
- {
- "gpuSharingType": "timeSlicing",
- "config": {
- "replicas": 2
}
}
]
}
}
}, - "createdAt": "2018-11-05T12:55:50.000+0000",
- "updatedAt": "2018-11-05T12:58:15.000+0000"
}
}
Roll an entire Ocean cluster or roll subsets of the cluster by specifying launchSpecIds or instanceIds. Performing this request will start the roll immediately and run it in defined batches. Note that the first response for a successful request will indicate the start of a roll. In order to check the status of a roll, you can use the GET Roll API.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object | |||||||||
|
{- "roll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "respectPdb": true,
- "batchMinHealthyPercentage": 100
}
}
{- "id": "scr-5aaf854e",
- "scope": "Cluster",
- "status": "IN_PROGRESS",
- "currentBatch": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "unit": "percentage",
- "value": 0,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceId": "i-003a0281a24c01a20",
- "status": "REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a21",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a22",
- "status": "COULD_NOT_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a23",
- "status": "NOT_REPLACED_DUE_TO_PDB"
}
]
}
}, - "oceanId": "o-12e31234",
- "instanceIds": [
- "i-0003a99ffb566f039",
- "i-0567a99ffb566f765"
], - "launchSpecIds": [
- "ols-76694a7d",
- "ols-56694a76"
], - "respectPdb": true,
- "batchMinHealthyPercentage": 100,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
Get status for all rolls of an Ocean cluster.
oceanClusterId required | string Example: o-1abcd124 The identifier of the Ocean cluster |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:ocean:aws:k8s:cluster:roll",
- "items": [
- {
- "id": "scr-5aaf854e",
- "scope": "Cluster",
- "status": "IN_PROGRESS",
- "currentBatch": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "unit": "percentage",
- "value": 0,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceId": "i-003a0281a24c01a20",
- "status": "REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a21",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a22",
- "status": "COULD_NOT_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a23",
- "status": "NOT_REPLACED_DUE_TO_PDB"
}
]
}
}, - "oceanId": "o-12e31234",
- "instanceIds": [
- "i-0003a99ffb566f039",
- "i-0567a99ffb566f765"
], - "launchSpecIds": [
- "ols-76694a7d",
- "ols-56694a76"
], - "respectPdb": true,
- "batchMinHealthyPercentage": 100,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
]
}
Update a roll of an Ocean cluster.
Performing the request will stop the next batch in a roll.
oceanClusterId required | string Example: o-1abcd124 The identifier of the Ocean cluster |
ROLL_ID required | string Example: scr-12345abc Ocean cluster roll identifier |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object Object that specifies the parameters required to initiate a roll (also called a deployment). | ||
|
{- "roll": {
- "status": "STOPPED"
}
}
{- "id": "scr-5aaf854e",
- "scope": "Cluster",
- "status": "STOPPED",
- "currentBatch": 1,
- "numOfBatches": 5,
- "progress": {
- "unit": "percentage",
- "value": 0,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceId": "i-003a0281a24c01a20",
- "status": "REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a21",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a22",
- "status": "COULD_NOT_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a23",
- "status": "NOT_REPLACED_DUE_TO_PDB"
}
]
}
}, - "oceanId": "o-12e31234",
- "respectPdb": true,
- "batchMinHealthyPercentage": 100,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
Get status for a roll of an Ocean cluster.
oceanClusterId required | string Example: o-1abcd124 The identifier of the Ocean cluster |
ROLL_ID required | string Example: scr-12345abc Ocean Cluster Roll identifier |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "id": "scr-5aaf854e",
- "scope": "Cluster",
- "status": "IN_PROGRESS",
- "currentBatch": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "unit": "percentage",
- "value": 0,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceId": "i-003a0281a24c01a20",
- "status": "REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a21",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a22",
- "status": "COULD_NOT_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a23",
- "status": "NOT_REPLACED_DUE_TO_PDB"
}
]
}
}, - "oceanId": "o-12e31234",
- "instanceIds": [
- "i-0003a99ffb566f039",
- "i-0567a99ffb566f765"
], - "launchSpecIds": [
- "ols-76694a7d",
- "ols-56694a76"
], - "respectPdb": true,
- "batchMinHealthyPercentage": 100,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
Get nodes data of an Ocean cluster.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
instanceId | string Example: instanceId=i-123 Get a specific node by instance id. |
launchSpecId | string Example: launchSpecId=ols-123abc Ocean cluster Virtual Node Group identifier. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/cluster/o-12345abc/nodes",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "instanceId": "i-123",
- "instanceType": "c3.large",
- "availabilityZone": "us-west-2b",
- "launchSpecId": "ols-123",
- "launchSpecName": "dev-vng",
- "lifeCycle": "Spot",
- "publicIp": "1.2.3.4",
- "workloadRequestedMilliCpu": 1320,
- "workloadRequestedMemoryInMiB": 500,
- "workloadRequestedGpu": 1,
- "headroomRequestedMilliCpu": 1320,
- "headroomRequestedMemoryInMiB": 512,
- "headroomRequestedGpu": 1,
- "allocatableMilliCpu": 2000,
- "allocatableMemoryInMiB": 3646.1,
- "allocatableGpu": 1,
- "nodeName": "node-1",
- "registrationStatus": "Registered",
- "createdAt": "2021-10-1T05:51:06.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:nodes"
}
}
Detach instances from your Ocean cluster.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
instancesToDetach required | Array of strings Array of instance identifiers to be detached. |
shouldDecrementTargetCapacity | boolean Determines whether the Ocean cluster's target capacity should be decremented. |
shouldTerminateInstances | boolean Determines whether the detached EC2 instances should be terminated or not. |
{- "instancesToDetach": [
- "i-0003a99ffb566f039",
- "i-0567a99ffb566f765"
], - "shouldTerminateInstances": true,
- "shouldDecrementTargetCapacity": false
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/cluster/o-abcd1234/detachInstances",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Provides Kubernetes cluster resource usage and costs over a time interval which can be grouped and/or filtered by label/annotaion.
For example - application name (webapp, backend), environment (production, staging), version etc.
The response will contain a breakdown of the cluster resource costs($) in terms of compute (CPU, memory), storage (block, file, rootVolume).
The response will group the cluster usage costs based on preselected default of application namespace or user selected label or annotation.
Within the group, resource costs are broken down per resource kind (Deployment, DaemonSet etc.).
Time Rounding Down: The CostAnalysis API applies rounding down to the hours provided during the call.
For example, the value 1707004799099 (In GMT) representing Saturday, February 3, 2024, 23:59:59.099 is rounded down to Saturday, February 3, 2024, 23:00:00.000, resulting in the omission of one hour of cost.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
endTime required | string End date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
object Describe how to filter the costs. Optional field. | |
groupBy | string Default: "namespace" Enum: "namespace" "namespace.label.${labelKey}" "resource.label.${labelKey}" "resource.annotation.${annotationKey}" "namespace.annotation.${annotationKey}" The parameter we want to group the costs by. |
startTime required | string Beginning date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
{- "startTime": "2018-06-20T11:35:02.745Z",
- "endTime": "2018-06-22T11:30:01.745Z",
- "groupBy": "namespace.label.env",
- "filter": {
- "scope": "namespace",
- "conditions": {
- "anyMatch": [
- {
- "allMatch": [
- {
- "type": "label",
- "key": "env",
- "operator": "equals",
- "value": "prod"
}, - {
- "type": "label",
- "key": "app",
- "operator": "exists"
}
]
}, - {
- "allMatch": [
- {
- "type": "annotation",
- "key": "meta.data",
- "operator": "exists"
}
]
}
]
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/cluster/o-abcd1234/aggregatedCosts",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "result": {
- "totalForDuration": {
- "startTime": "2018-06-20T11:35:01.745Z",
- "endTime": "2018-06-22T11:30:01.745Z",
- "summary": {
- "total": 41772.882658035785,
- "compute": {
- "total": 40668.1299631538,
- "workloads": {
- "total": 39882.13803327978
}, - "headroom": {
- "total": 0
}
}, - "storage": {
- "total": 1104.7526948819868,
- "block": {
- "total": 1104.7526948819868,
- "ebsPv": {
- "total": 1104.7526948819868
}, - "nonPv": {
- "total": 0
}
}, - "file": {
- "total": 0,
- "efsPv": {
- "total": 0
}
}
}, - "networking": {
- "totalCost": 0.00278988928,
- "totalUsage": 0.03154064,
- "total": {
- "in": {
- "cost": 0.00139494464,
- "usage": 0.01577032
}, - "out": {
- "cost": 0.00139494464,
- "usage": 0.01577032
}
}, - "internet": {
- "in": {
- "cost": 0.000693972,
- "usage": 0.0077108
}, - "out": {
- "cost": 0.000693972,
- "usage": 0.0077108
}
}, - "interAZ": {
- "in": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}, - "out": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}
}, - "intraAZ": {
- "in": {
- "cost": 0.000693972,
- "usage": 0.0077108
}, - "out": {
- "cost": 0.000693972,
- "usage": 0.0077108
}
}, - "interRegion": {
- "in": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}, - "out": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}
}
}
}, - "detailedCosts": {
- "groupedBy": "n.l.name",
- "aggregations": {
- "property1": {
- "summary": {
- "total": 423.33455,
- "compute": {
- "total": 125.23778
}, - "storage": {
- "total": 307.09677,
- "block": {
- "total": 300,
- "ebsPv": {
- "total": 300
}, - "nonPv": {
- "total": 0
}
}, - "file": {
- "total": 7.09677,
- "efsPv": {
- "total": 7.09677
}
}
}, - "networking": {
- "totalCost": 0.00278988928,
- "totalUsage": 0.03154064,
- "total": {
- "in": {
- "cost": 0.00139494464,
- "usage": 0.01577032
}, - "out": {
- "cost": 0.00139494464,
- "usage": 0.01577032
}
}, - "internet": {
- "in": {
- "cost": 0.000693972,
- "usage": 0.0077108
}, - "out": {
- "cost": 0.000693972,
- "usage": 0.0077108
}
}, - "interAZ": {
- "in": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}, - "out": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}
}, - "intraAZ": {
- "in": {
- "cost": 0.000693972,
- "usage": 0.0077108
}, - "out": {
- "cost": 0.000693972,
- "usage": 0.0077108
}
}, - "interRegion": {
- "in": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}, - "out": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}
}
}
}, - "resources": [
- {
- "metadata": {
- "name": "k8s-events",
- "type": "Deployment",
- "namespace": "kube-system"
}, - "total": 1.655635222089105,
- "compute": {
- "total": 1.4213600158059045
}, - "storage": {
- "total": 0.23427520628320053,
- "block": {
- "total": 0.23427520628320053,
- "ebsPv": {
- "total": 0
}, - "nonPv": {
- "total": 0.23427520628320053
}
}, - "file": {
- "total": 0,
- "efsPv": {
- "total": 0
}
}
}, - "networking": {
- "totalCost": 0.00278988928,
- "totalUsage": 0.03154064,
- "total": {
- "in": {
- "cost": 0.00139494464,
- "usage": 0.01577032
}, - "out": {
- "cost": 0.00139494464,
- "usage": 0.01577032
}
}, - "internet": {
- "in": {
- "cost": 0.000693972,
- "usage": 0.0077108
}, - "out": {
- "cost": 0.000693972,
- "usage": 0.0077108
}
}, - "interAZ": {
- "in": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}, - "out": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}
}, - "intraAZ": {
- "in": {
- "cost": 0.000693972,
- "usage": 0.0077108
}, - "out": {
- "cost": 0.000693972,
- "usage": 0.0077108
}
}, - "interRegion": {
- "in": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}, - "out": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}
}
}
}
]
}, - "property2": {
- "summary": {
- "total": 423.33455,
- "compute": {
- "total": 125.23778
}, - "storage": {
- "total": 307.09677,
- "block": {
- "total": 300,
- "ebsPv": {
- "total": 300
}, - "nonPv": {
- "total": 0
}
}, - "file": {
- "total": 7.09677,
- "efsPv": {
- "total": 7.09677
}
}
}, - "networking": {
- "totalCost": 0.00278988928,
- "totalUsage": 0.03154064,
- "total": {
- "in": {
- "cost": 0.00139494464,
- "usage": 0.01577032
}, - "out": {
- "cost": 0.00139494464,
- "usage": 0.01577032
}
}, - "internet": {
- "in": {
- "cost": 0.000693972,
- "usage": 0.0077108
}, - "out": {
- "cost": 0.000693972,
- "usage": 0.0077108
}
}, - "interAZ": {
- "in": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}, - "out": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}
}, - "intraAZ": {
- "in": {
- "cost": 0.000693972,
- "usage": 0.0077108
}, - "out": {
- "cost": 0.000693972,
- "usage": 0.0077108
}
}, - "interRegion": {
- "in": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}, - "out": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}
}
}
}, - "resources": [
- {
- "metadata": {
- "name": "k8s-events",
- "type": "Deployment",
- "namespace": "kube-system"
}, - "total": 1.655635222089105,
- "compute": {
- "total": 1.4213600158059045
}, - "storage": {
- "total": 0.23427520628320053,
- "block": {
- "total": 0.23427520628320053,
- "ebsPv": {
- "total": 0
}, - "nonPv": {
- "total": 0.23427520628320053
}
}, - "file": {
- "total": 0,
- "efsPv": {
- "total": 0
}
}
}, - "networking": {
- "totalCost": 0.00278988928,
- "totalUsage": 0.03154064,
- "total": {
- "in": {
- "cost": 0.00139494464,
- "usage": 0.01577032
}, - "out": {
- "cost": 0.00139494464,
- "usage": 0.01577032
}
}, - "internet": {
- "in": {
- "cost": 0.000693972,
- "usage": 0.0077108
}, - "out": {
- "cost": 0.000693972,
- "usage": 0.0077108
}
}, - "interAZ": {
- "in": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}, - "out": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}
}, - "intraAZ": {
- "in": {
- "cost": 0.000693972,
- "usage": 0.0077108
}, - "out": {
- "cost": 0.000693972,
- "usage": 0.0077108
}
}, - "interRegion": {
- "in": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}, - "out": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}
}
}
}
]
}
}
}
}
}
}
], - "count": 1,
- "kind": "ocean:k8s:cluster:aggregatedCosts:detailed"
}
}
Provides Kubernetes cluster summary usage and costs over a time interval which can be grouped and/or filtered by label/annotaion,
for example - application name (webapp, backend), environment (production, staging), version etc.
The response will contain a breakdown of the cluster resource costs($) in terms of compute (CPU, memory), storage (block, file, rootVolume).
The response will group the cluster usage costs based on preselected default of application namespace or user selected label or annotation.
Time Rounding Down: The CostAnalysis API applies rounding down to the hours provided during the call.
For example, the value 1707004799099 (In GMT) representing Saturday, February 3, 2024, 23:59:59.099 is rounded down to Saturday, February 3, 2024, 23:00:00.000, resulting in the omission of one hour of cost.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
endTime required | string End date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
object Describe how to filter the costs. Optional field. | |
groupBy | string Default: "namespace" Enum: "namespace" "namespace.label.${labelKey}" "resource.label.${labelKey}" "resource.annotation.${annotationKey}" "namespace.annotation.${annotationKey}" The parameter we want to group the costs by. |
startTime required | string Beginning date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
{- "startTime": "2018-06-20T11:35:02.745Z",
- "endTime": "2018-06-22T11:30:01.745Z",
- "groupBy": "namespace.label.env",
- "filter": {
- "scope": "namespace",
- "conditions": {
- "anyMatch": [
- {
- "allMatch": [
- {
- "type": "label",
- "key": "env",
- "operator": "equals",
- "value": "prod"
}, - {
- "type": "label",
- "key": "app",
- "operator": "exists"
}
]
}, - {
- "allMatch": [
- {
- "type": "annotation",
- "key": "meta.data",
- "operator": "exists"
}
]
}
]
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/cluster/o-abcd1234/aggregatedCosts/summary",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "result": {
- "totalForDuration": {
- "startTime": "2018-06-20T11:35:01.745Z",
- "endTime": "2018-06-22T11:30:01.745Z",
- "summary": {
- "total": 41772.882658035785,
- "compute": {
- "total": 40668.1299631538,
- "workloads": {
- "total": 39882.13803327978
}, - "headroom": {
- "total": 0
}
}, - "storage": {
- "total": 1104.7526948819868,
- "block": {
- "total": 1104.7526948819868,
- "ebsPv": {
- "total": 1104.7526948819868
}, - "nonPv": {
- "total": 0
}
}, - "file": {
- "total": 0,
- "efsPv": {
- "total": 0
}
}
}, - "networking": {
- "totalCost": 0.00278988928,
- "totalUsage": 0.03154064,
- "total": {
- "in": {
- "cost": 0.00139494464,
- "usage": 0.01577032
}, - "out": {
- "cost": 0.00139494464,
- "usage": 0.01577032
}
}, - "internet": {
- "in": {
- "cost": 0.000693972,
- "usage": 0.0077108
}, - "out": {
- "cost": 0.000693972,
- "usage": 0.0077108
}
}, - "interAZ": {
- "in": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}, - "out": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}
}, - "intraAZ": {
- "in": {
- "cost": 0.000693972,
- "usage": 0.0077108
}, - "out": {
- "cost": 0.000693972,
- "usage": 0.0077108
}
}, - "interRegion": {
- "in": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}, - "out": {
- "cost": 0.0000035003200000000003,
- "usage": 0.000175016
}
}
}
}
}
}
}
], - "count": 1,
- "kind": "ocean:k8s:cluster:aggregatedCosts:summary"
}
}
Update the Ocean EKS cluster's VNGs with the latest image or the image matching the control plane's version after upgrading, by specifying ‘patch' or 'minorVersion’. Performing this request will update the VNGs with new AMI if available, and run a cluster roll if set. If the response is successful, the old and new AMIs will be included in the response along with the updated VNGs. If a cluster roll is set in the request, the first response for a successful request will indicate the start of a roll. In order to check the status of the roll, you can use the GET Roll API.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object | |||||||||
|
{- "amiAutoUpdate": {
- "patch": true,
- "minorVersion": true,
- "applyRoll": true,
- "clusterRoll": {
- "batchSizePercentage": 20,
- "batchMinHealthyPercentage": 100,
- "comment": "This is why I rolled my cluster.",
- "respectPdb": true
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/eks/cluster/o-abcd1234/amiAutoUpdate",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanId": "o-134abcd",
- "status": "Success",
- "data": [
- {
- "vngId": "default",
- "vngName": "default",
- "status": "UPDATE_SUCCEEDED",
- "updateType": "MINOR",
- "oldAmiId": "ami-00cd348996bfd7ba8",
- "newAmiId": "ami-019e5b81636e5a350"
}
], - "rollId": "scr-752331b9",
- "createdAt": "2024-01-02T09:57:09.211Z",
- "updatedAt": "2024-01-02T09:57:09.211Z"
}
], - "count": 1,
- "kind": "ocean:k8s:cluster:amiAutoUpdate:summary"
}
}
Create a Virtual Node Group.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
initialNodes | integer Default: null Example: initialNodes=1 When set to an integer greater than 0, a corresponding number of nodes will be launched from the virtual node group created. |
required | object (oceanClusterLaunchSpecWithMetadata) AWS Cluster Virtual Node Group (VNG). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{- "launchSpec": {
- "oceanId": "o-abcd1234",
- "name": "specialty.nodes.spotk8s.com",
- "imageId": "ami-ID",
- "images": [
- {
- "id": "ami-ID"
}
], - "userData": "dsa89d7uosduxq98sau9s8aux9s8aux09q0qu09axsuix0s9qas09xz",
- "iamInstanceProfile": {
- "arn": "arn:aws:iam::123456781234:instance-profile/EKS-nodes-test-NodeInstanceProfile-ABCDEFGH123",
- "name": "EKS-nodes-test"
}, - "securityGroupIds": [
- "sg-0ded3a2980208c30c",
- "sg-0ded3a2980208c30d"
], - "instanceTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "instanceTypesFilters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}, - "preferredOnDemandTypes": [
- "c3.large",
- "m4.xlarge"
], - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "reservedENIs": 1,
- "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "subnetIds": [
- "subnet-123",
- "subnet-456"
], - "elasticIpPool": {
- "tagSelector": {
- "tagKey": "color",
- "tagValue": "orange"
}
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2,
- "gpuPerUnit": 0
}
], - "autoHeadroomPercentage": 20,
- "down": {
- "maxScaleDownPercentage": 30
}
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "ephemeralStorage": {
- "deviceName": "/dev/xvdb"
}, - "resourceLimits": {
- "maxInstanceCount": 5,
- "minInstanceCount": 2
}, - "strategy": {
- "spotPercentage": 70,
- "utilizeReservedInstances": true,
- "utilizeCommitments": false,
- "drainingTimeout": 300,
- "orientation": {
- "availabilityVsCost": "balanced"
}
}, - "associatePublicIpAddress": false,
- "restrictScaleDown": false,
- "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2,
- "gpuPerUnit": 1
}
]
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12
}, - "startupTaints": [
- {
- "key": "node.cilium.io/agent-not-ready",
- "value": true,
- "effect": "NoSchedule"
}
], - "instanceStorePolicy": {
- "type": "RAID0"
}, - "gpu": {
- "sharing": [
- {
- "gpuSharingType": "timeSlicing",
- "config": {
- "replicas": 2
}
}
]
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/launchSpec",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ols-12345abc",
- "oceanId": "o-abcd1234",
- "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z",
- "name": "specialty.nodes.spotk8s.com",
- "imageId": "ami-ID",
- "images": [
- {
- "id": "ami-ID"
}
], - "userData": "dsa89d7uosduxq98sau9s8aux9s8aux09q0qu09axsuix0s9qas09xz",
- "iamInstanceProfile": {
- "arn": "arn:aws:iam::123456781234:instance-profile/EKS-nodes-test-NodeInstanceProfile-ABCDEFGH123",
- "name": "EKS-nodes-test"
}, - "securityGroupIds": [
- "sg-0ded3a2980208c30c",
- "sg-0ded3a2980208c30d"
], - "instanceTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "instanceTypesFilters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}, - "preferredOnDemandTypes": [
- "c3.large",
- "m4.xlarge"
], - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "reservedENIs": 1,
- "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "subnetIds": [
- "subnet-123",
- "subnet-456"
], - "elasticIpPool": {
- "tagSelector": {
- "tagKey": "color",
- "tagValue": "orange"
}
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2,
- "gpuPerUnit": 0
}
], - "autoHeadroomPercentage": 20,
- "down": {
- "maxScaleDownPercentage": 30
}
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "ephemeralStorage": {
- "deviceName": "/dev/xvdb"
}, - "resourceLimits": {
- "maxInstanceCount": 5,
- "minInstanceCount": 2
}, - "strategy": {
- "spotPercentage": 70,
- "utilizeReservedInstances": true,
- "utilizeCommitments": false,
- "drainingTimeout": 300,
- "orientation": {
- "availabilityVsCost": "balanced"
}
}, - "associatePublicIpAddress": false,
- "restrictScaleDown": false,
- "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2,
- "gpuPerUnit": 1
}
]
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12
}, - "startupTaints": [
- {
- "key": "node.cilium.io/agent-not-ready",
- "value": true,
- "effect": "NoSchedule"
}
], - "instanceStorePolicy": {
- "type": "RAID0"
}, - "gpu": {
- "sharing": [
- {
- "gpuSharingType": "timeSlicing",
- "config": {
- "replicas": 2
}
}
]
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:launchSpec"
}
}
List the configurations of all virtual node groups for the cluster.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
oceanId | string Example: oceanId=o-12345abc Identifier of the Ocean cluster. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/launchSpec",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ols-12345abc",
- "oceanId": "o-abcd1234",
- "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z",
- "name": "specialty.nodes.spotk8s.com",
- "imageId": "ami-ID",
- "images": [
- {
- "id": "ami-ID"
}
], - "userData": "dsa89d7uosduxq98sau9s8aux9s8aux09q0qu09axsuix0s9qas09xz",
- "iamInstanceProfile": {
- "arn": "arn:aws:iam::123456781234:instance-profile/EKS-nodes-test-NodeInstanceProfile-ABCDEFGH123",
- "name": "EKS-nodes-test"
}, - "securityGroupIds": [
- "sg-0ded3a2980208c30c",
- "sg-0ded3a2980208c30d"
], - "instanceTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "instanceTypesFilters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}, - "preferredOnDemandTypes": [
- "c3.large",
- "m4.xlarge"
], - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "reservedENIs": 1,
- "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "subnetIds": [
- "subnet-123",
- "subnet-456"
], - "elasticIpPool": {
- "tagSelector": {
- "tagKey": "color",
- "tagValue": "orange"
}
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2,
- "gpuPerUnit": 0
}
], - "autoHeadroomPercentage": 20,
- "down": {
- "maxScaleDownPercentage": 30
}
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "ephemeralStorage": {
- "deviceName": "/dev/xvdb"
}, - "resourceLimits": {
- "maxInstanceCount": 5,
- "minInstanceCount": 2
}, - "strategy": {
- "spotPercentage": 70,
- "utilizeReservedInstances": true,
- "utilizeCommitments": false,
- "drainingTimeout": 300,
- "orientation": {
- "availabilityVsCost": "balanced"
}
}, - "associatePublicIpAddress": false,
- "restrictScaleDown": false,
- "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2,
- "gpuPerUnit": 1
}
]
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12
}, - "startupTaints": [
- {
- "key": "node.cilium.io/agent-not-ready",
- "value": true,
- "effect": "NoSchedule"
}
], - "instanceStorePolicy": {
- "type": "RAID0"
}, - "gpu": {
- "sharing": [
- {
- "gpuSharingType": "timeSlicing",
- "config": {
- "replicas": 2
}
}
]
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:launchSpec"
}
}
Delete a specified Virtual Node Group in an Ocean cluster.
launchSpecId required | string Ocean cluster Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
deleteNodes | boolean Default: false Example: deleteNodes=true When set to "true", all instances belonging to the deleted Virtual Node Group will be drained, detached, and terminated. |
forceDelete | boolean Default: null Example: forceDelete=true When set to "true", delete even if it is the only custom Virtual Node Group remaining, and default Virtual Node Group has useAsTemlateOnly = true. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/launchSpec/ols-12345abc",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Update Virtual Node Group.
launchSpecId required | string Ocean cluster Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
autoApplyTags | boolean Default: false Example: autoApplyTags=true Optionally update resource tags on the fly without performing a roll. |
required | object (oceanClusterLaunchSpec) AWS Cluster Virtual Node Group (VNG). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{- "launchSpec": {
- "name": "specialty.nodes.spotk8s.com",
- "imageId": "ami-ID",
- "images": [
- {
- "id": "ami-ID"
}
], - "userData": "dsa89d7uosduxq98sau9s8aux9s8aux09q0qu09axsuix0s9qas09xz",
- "iamInstanceProfile": {
- "arn": "arn:aws:iam::123456781234:instance-profile/EKS-nodes-test-NodeInstanceProfile-ABCDEFGH123",
- "name": "EKS-nodes-test"
}, - "securityGroupIds": [
- "sg-0ded3a2980208c30c",
- "sg-0ded3a2980208c30d"
], - "instanceTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "instanceTypesFilters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}, - "preferredOnDemandTypes": [
- "c3.large",
- "m4.xlarge"
], - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "reservedENIs": 1,
- "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "subnetIds": [
- "subnet-123",
- "subnet-456"
], - "elasticIpPool": {
- "tagSelector": {
- "tagKey": "color",
- "tagValue": "orange"
}
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2,
- "gpuPerUnit": 0
}
], - "autoHeadroomPercentage": 20,
- "down": {
- "maxScaleDownPercentage": 30
}
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "ephemeralStorage": {
- "deviceName": "/dev/xvdb"
}, - "resourceLimits": {
- "maxInstanceCount": 5,
- "minInstanceCount": 2
}, - "strategy": {
- "spotPercentage": 70,
- "utilizeReservedInstances": true,
- "utilizeCommitments": false,
- "drainingTimeout": 300,
- "orientation": {
- "availabilityVsCost": "balanced"
}
}, - "associatePublicIpAddress": false,
- "restrictScaleDown": false,
- "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2,
- "gpuPerUnit": 1
}
]
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12
}, - "startupTaints": [
- {
- "key": "node.cilium.io/agent-not-ready",
- "value": true,
- "effect": "NoSchedule"
}
], - "instanceStorePolicy": {
- "type": "RAID0"
}, - "gpu": {
- "sharing": [
- {
- "gpuSharingType": "timeSlicing",
- "config": {
- "replicas": 2
}
}
]
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/launchSpec/ols-12345abc",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ols-12345abc",
- "oceanId": "o-abcd1234",
- "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z",
- "name": "specialty.nodes.spotk8s.com",
- "imageId": "ami-ID",
- "images": [
- {
- "id": "ami-ID"
}
], - "userData": "dsa89d7uosduxq98sau9s8aux9s8aux09q0qu09axsuix0s9qas09xz",
- "iamInstanceProfile": {
- "arn": "arn:aws:iam::123456781234:instance-profile/EKS-nodes-test-NodeInstanceProfile-ABCDEFGH123",
- "name": "EKS-nodes-test"
}, - "securityGroupIds": [
- "sg-0ded3a2980208c30c",
- "sg-0ded3a2980208c30d"
], - "instanceTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "instanceTypesFilters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}, - "preferredOnDemandTypes": [
- "c3.large",
- "m4.xlarge"
], - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "reservedENIs": 1,
- "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "subnetIds": [
- "subnet-123",
- "subnet-456"
], - "elasticIpPool": {
- "tagSelector": {
- "tagKey": "color",
- "tagValue": "orange"
}
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2,
- "gpuPerUnit": 0
}
], - "autoHeadroomPercentage": 20,
- "down": {
- "maxScaleDownPercentage": 30
}
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "ephemeralStorage": {
- "deviceName": "/dev/xvdb"
}, - "resourceLimits": {
- "maxInstanceCount": 5,
- "minInstanceCount": 2
}, - "strategy": {
- "spotPercentage": 70,
- "utilizeReservedInstances": true,
- "utilizeCommitments": false,
- "drainingTimeout": 300,
- "orientation": {
- "availabilityVsCost": "balanced"
}
}, - "associatePublicIpAddress": false,
- "restrictScaleDown": false,
- "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2,
- "gpuPerUnit": 1
}
]
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12
}, - "startupTaints": [
- {
- "key": "node.cilium.io/agent-not-ready",
- "value": true,
- "effect": "NoSchedule"
}
], - "instanceStorePolicy": {
- "type": "RAID0"
}, - "gpu": {
- "sharing": [
- {
- "gpuSharingType": "timeSlicing",
- "config": {
- "replicas": 2
}
}
]
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:launchSpec"
}
}
launchSpecId required | string Ocean cluster Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/launchSpec/ols-12345abc",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ols-12345abc",
- "oceanId": "o-abcd1234",
- "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z",
- "name": "specialty.nodes.spotk8s.com",
- "imageId": "ami-ID",
- "images": [
- {
- "id": "ami-ID"
}
], - "userData": "dsa89d7uosduxq98sau9s8aux9s8aux09q0qu09axsuix0s9qas09xz",
- "iamInstanceProfile": {
- "arn": "arn:aws:iam::123456781234:instance-profile/EKS-nodes-test-NodeInstanceProfile-ABCDEFGH123",
- "name": "EKS-nodes-test"
}, - "securityGroupIds": [
- "sg-0ded3a2980208c30c",
- "sg-0ded3a2980208c30d"
], - "instanceTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "instanceTypesFilters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}, - "preferredOnDemandTypes": [
- "c3.large",
- "m4.xlarge"
], - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "reservedENIs": 1,
- "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "subnetIds": [
- "subnet-123",
- "subnet-456"
], - "elasticIpPool": {
- "tagSelector": {
- "tagKey": "color",
- "tagValue": "orange"
}
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2,
- "gpuPerUnit": 0
}
], - "autoHeadroomPercentage": 20,
- "down": {
- "maxScaleDownPercentage": 30
}
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "ephemeralStorage": {
- "deviceName": "/dev/xvdb"
}, - "resourceLimits": {
- "maxInstanceCount": 5,
- "minInstanceCount": 2
}, - "strategy": {
- "spotPercentage": 70,
- "utilizeReservedInstances": true,
- "utilizeCommitments": false,
- "drainingTimeout": 300,
- "orientation": {
- "availabilityVsCost": "balanced"
}
}, - "associatePublicIpAddress": false,
- "restrictScaleDown": false,
- "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2,
- "gpuPerUnit": 1
}
]
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12
}, - "startupTaints": [
- {
- "key": "node.cilium.io/agent-not-ready",
- "value": true,
- "effect": "NoSchedule"
}
], - "instanceStorePolicy": {
- "type": "RAID0"
}, - "gpu": {
- "sharing": [
- {
- "gpuSharingType": "timeSlicing",
- "config": {
- "replicas": 2
}
}
]
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:launchSpec"
}
}
Returns all instance types that match the given filters. These instance types will be used if the Virtual Node Group is configured with these filters.
launchSpecId required | string Ocean cluster Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (InstanceTypesFilters) List of instance types filters. The instance types that match with all filters compose the Virtual Node Group's instanceTypes parameter. | ||||||||||||||||||||||||||||||||||||
|
{- "instanceTypesFilters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/launchspec/o-abcd1234/instanceTypeFiltersSimulation",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "filteredInstanceTypes": [
- "g5.xlarge",
- "c5.2xlarge",
- "c5ad.2xlarge",
- "c5d.2xlarge",
- "c5a.2xlarge"
]
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:launchSpec:instanceTypesFilters:simulation"
}
}
Returns the Virtual Node Group's instance types when instance types filters is set.
launchSpecId required | string Ocean cluster Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/launchSpec/ols-12345abc/allowedInstanceTypesByFilters",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "instanceTypes": [
- "c3.large",
- "c5.large"
]
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:launchSpec:allowedInstanceTypesByFilters"
}
}
Returns an Ocean Virtual Node Group (VNG) configuration in a given AWS autoscaling group (ASG). The returned value ("Imported VNG") can then be used as input to the Create Virtual Node Group API in order to create an actual VNG in your Ocean cluster.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
autoScalingGroupName required | string Example: autoScalingGroupName=myAutoScalingGroup The ASG name. |
oceanId required | string Example: oceanId=o-12345abc Identifier of the Ocean cluster. |
object The object specifying the configuration of the VNG. | |||||||
|
{- "launchSpec": {
- "name": "specialty.nodes.spotk8s.com",
- "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/launchSpec/autoScalingGroup/import",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanId": "o-500a5d5a",
- "name": "TestTeam1",
- "imageId": "ami-0ce21b51cb55a48b8",
- "securityGroupIds": [
- [
- "sg-03ccf232a2bf0f4ea"
]
], - "tags": {
- "tagKey": "AmazonECSManaged",
- "tagValue": ""
}, - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:launchSpec"
}
}
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
eksClusterName required | string Example: eksClusterName=MyEksCluster Cluster name of the EKS cluster. |
eksNodeGroupName required | string Example: eksNodeGroupName=MyEksClusterNodeGroup Node group name to import. |
oceanId | string Example: oceanId=o-12345abc Identifier of the Ocean cluster. |
region | string Example: region=us-east-1 Region name of the EKS cluster's node group. |
object The object specifying the configuration of the VNG. | |||||
|
{- "launchSpec": {
- "name": "specialty.nodes.spotk8s.com",
- "labels": [
- {
- "key": "env",
- "value": "test"
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/launchSpec/eksNodeGroup/import",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanId": "o-500a5d5a",
- "name": "TestTeam1",
- "imageId": "ami-0ce21b51cb55a48b8",
- "securityGroupIds": [
- "sg-03ccf232a2bf0f4ea"
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:launchSpec"
}
}
Launch nodes in Virtual Node Group.
launchSpecId required | string Ocean cluster Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (Ocean AWS Virtual Node Group Launch Request) Object specifying the details for the launch request. | ||
|
{- "launchRequest": {
- "amount": 5
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/k8s/launchSpec/ols-12345abc/launchNodes",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "launchSpecId": "ols-f73821bc",
- "newInstances": [
- {
- "instanceId": "i-08d53d2a1dcede08f",
- "availabilityZone": "us-west-2b",
- "instanceType": "c3.xlarge",
- "lifeCycle": "spot"
}
]
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:launchSpec:launchNodes"
}
}
Creates an Ocean extended resource definition entity.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (Ocean Extended Resource Definition) The Ocean extended resource definition. | ||||
|
{- "extendedResourceDefinition": {
- "name": "example.com/name",
- "mapping": {
- "c3.large": "2Ki",
- "c3.xlarge": "4Ki",
- "c3.2xlarge": "8Mi"
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/k8s/extendedResourceDefinition",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "erd-123abc",
- "name": "example.com/name",
- "mapping": {
- "c3.large": "2Ki",
- "c3.xlarge": "4Ki",
- "c3.2xlarge": "8Mi"
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:k8s:extendedResourceDefinition"
}
}
List the configurations for all Ocean extended resource definitions in the specified account.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/k8s/extendedResourceDefinition",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "erd-123abc",
- "name": "example.com/name",
- "mapping": {
- "c3.large": "2Ki",
- "c3.xlarge": "4Ki",
- "c3.2xlarge": "8Mi"
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:k8s:extendedResourceDefinition"
}
}
Get the configurations for a specified Ocean extended resource definition.
oceanExtendedResourceDefinitionId required | string Example: erd-12345abc Identifier of the Ocean extended resource definition. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/k8s/extendedResourceDefinition/erd-12345abc",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "erd-123abc",
- "name": "example.com/name",
- "mapping": {
- "c3.large": "2Ki",
- "c3.xlarge": "4Ki",
- "c3.2xlarge": "8Mi"
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:k8s:extendedResourceDefinition"
}
}
Only the mapping parameter is updatable for extended resource definition.
oceanExtendedResourceDefinitionId required | string Example: erd-12345abc Identifier of the Ocean extended resource definition. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (Ocean Extended Resource Definition) The Ocean extended resource definition. | ||||
|
{- "extendedResourceDefinition": {
- "name": "example.com/name",
- "mapping": {
- "c3.large": "2Ki",
- "c3.xlarge": "4Ki",
- "c3.2xlarge": "8Mi"
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/k8s/extendedResourceDefinition/erd-12345abc",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "erd-123abc",
- "name": "example.com/name",
- "mapping": {
- "c3.large": "2Ki",
- "c3.xlarge": "4Ki",
- "c3.2xlarge": "8Mi"
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:k8s:extendedResourceDefinition"
}
}
Delete a specified Ocean extended resource definition.
oceanExtendedResourceDefinitionId required | string Example: erd-12345abc Identifier of the Ocean extended resource definition. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/k8s/extendedResourceDefinition/erd-12345abc",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Get information about nodes which can be migrated into Ocean.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
shouldFetchPods | boolean Example: shouldFetchPods=true Should fetch data about running pods for each node. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "ocean/aws/k8s/cluster/o-abcd1234/migration/discovery",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "instances": [
- {
- "k8sNodeName": "ip-111-11-11-111.us-west-1.compute.internal",
- "asgName": "asg-name",
- "instanceId": "i-asdfjk3989",
- "launchSpecId": "ols-1234ascv",
- "runningPods": "6"
}
]
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:cluster:migration:discovery"
}
}
Create a migration for a given existing instances.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object Migration update configuration. | ||||||||||
|
{- "migration": {
- "instanceIds": [
- "i-a12345",
- "i-b12345"
], - "shouldTerminateDrainedNodes": true,
- "shouldEvictStandAlonePods": true,
- "forcePodEvictionOnPdbFailure": true,
- "batchSizePercentage": 50
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "ocean/aws/k8s/cluster/o-1234567/migration",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "owm-6e3819ae"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:cluster:migration"
}
}
Get summary of migrations history for an Ocean cluster.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "ocean/aws/k8s/cluster/o-1234567/migration",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "Id": "owm-1234567",
- "state": "FINISHED",
- "createdAt": "2021-10-1T05:51:06.000Z",
- "completedAt": "2021-10-1T05:51:06.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:cluster:migration"
}
}
Get Migration full info and status for an Ocean cluster.
migrationId required | string Example: owm-6e3819ae The migration identifier of a specific migration. |
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "ocean/aws/k8s/cluster/o-abcd1234/migration/owm-abcd1234",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "Id": "owm-1234567",
- "oceanId": "o-abcd1234",
- "status": "FINISHED",
- "newInstances": [
- {
- "instanceId": "i-asdfjk3989",
- "k8sNodeName": "ip-111-11-11-111.us-west-1.compute.internal",
- "asgName": "asg-name",
- "state": "RUNNING",
- "podDetails": [
- {
- "id": "abc123-abc123-abc123-abc123",
- "name": "podName",
- "kind": "STAND_ALONE_POD"
}
], - "runningPods": "6"
}
], - "oldInstances": [
- {
- "instanceId": "i-asdfjk3989",
- "k8sNodeName": "ip-111-11-11-111.us-west-1.compute.internal",
- "asgName": "asg-name",
- "state": "RUNNING",
- "podDetails": [
- {
- "id": "abc123-abc123-abc123-abc123",
- "name": "podName",
- "kind": "STAND_ALONE_POD"
}
], - "runningPods": "6"
}
], - "unscheduledPodIds": "o-abcd1234",
- "newUnscheduledPodIds": "o-abcd1234",
- "migrationConfig": {
- "shouldTerminateDrainedNodes": true,
- "shouldEvictStandAlonePods": true
}, - "createdAt": "2021-10-1T05:51:06.000Z",
- "erroredAt": "2021-10-1T05:51:06.000Z",
- "stoppedAt": "2021-10-1T05:51:06.000Z",
- "completedAt": "2021-10-1T05:51:06.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:cluster:migration"
}
}
Stop an ongoing Workload Migration.
migrationId required | string Example: owm-6e3819ae The migration identifier of a specific migration. |
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object Migration update configuration. | ||||
|
{- "migration": {
- "shouldTerminateDrainedNodes": true,
- "state": "STOPPED"
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "ocean/aws/k8s/cluster/o-1234567/migration/owm-abc1234",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "owm-6e3819ae",
- "oceanId": "o-12e31234",
- "state": "STOPPED"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:cluster:migration"
}
}
Ocean - Serverless containers for Amazon Elastic Container Service (ECS)
Get the configurations for all Ocean clusters in the specified account.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "id": "o-12345abc",
- "name": "Ocean::my-elastigroup-name",
- "clusterName": "my-ECS-cluster-name",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 300,
- "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVCpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": 20,
- "shouldScaleDownNonServiceTasks": true,
- "enableAutomaticAndManualHeadroom": false
}, - "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 200,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}
}, - "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "instanceTypes": {
- "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}, - "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
]
}, - "launchSpecification": {
- "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "iamInstanceProfile": {
- "arn": "my-arn"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled",
- "instanceMetadataTags": "Enabled"
}, - "userData": "Q29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT01MTg5MDY1Mzc3MjIyODk4NDA3PT0iCk1JTUUtVmVyc2lvbjogMS4wCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQp",
- "useAsTemplateOnly": false,
- "monitoring": false,
- "ebsOptimized": false,
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
]
}, - "optimizeImages": {
- "shouldOptimizeEcsAmi": "true",
- "performAt": "never",
- "timeWindows": [
- "['Sun:02:00-Sun:12:00', 'Wed:01:01-Fri:02:03']"
]
}
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": false,
- "cronExpression": "string",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}
Create a new Ocean ECS cluster in the specified account.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (ECS Ocean) | ||||||||||||||||||
|
{- "cluster": {
- "name": "Ocean::my-elastigroup-name",
- "clusterName": "my-ECS-cluster-name",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 300,
- "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVCpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": 20,
- "shouldScaleDownNonServiceTasks": true,
- "enableAutomaticAndManualHeadroom": false
}, - "region": "us-east-1",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 200,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}
}, - "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "instanceTypes": {
- "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}, - "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
]
}, - "launchSpecification": {
- "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "iamInstanceProfile": {
- "arn": "my-arn"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled",
- "instanceMetadataTags": "Enabled"
}, - "userData": "Q29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT01MTg5MDY1Mzc3MjIyODk4NDA3PT0iCk1JTUUtVmVyc2lvbjogMS4wCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQp",
- "useAsTemplateOnly": false,
- "monitoring": false,
- "ebsOptimized": false,
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
]
}, - "optimizeImages": {
- "shouldOptimizeEcsAmi": "true",
- "performAt": "never",
- "timeWindows": [
- "['Sun:02:00-Sun:12:00', 'Wed:01:01-Fri:02:03']"
]
}
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": false,
- "cronExpression": "string",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "id": "o-12345abc",
- "name": "Ocean::my-elastigroup-name",
- "clusterName": "my-ECS-cluster-name",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 300,
- "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVCpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": 20,
- "shouldScaleDownNonServiceTasks": true,
- "enableAutomaticAndManualHeadroom": false
}, - "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 200,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}
}, - "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "instanceTypes": {
- "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}, - "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
]
}, - "launchSpecification": {
- "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "iamInstanceProfile": {
- "arn": "my-arn"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled",
- "instanceMetadataTags": "Enabled"
}, - "userData": "Q29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT01MTg5MDY1Mzc3MjIyODk4NDA3PT0iCk1JTUUtVmVyc2lvbjogMS4wCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQp",
- "useAsTemplateOnly": false,
- "monitoring": false,
- "ebsOptimized": false,
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
]
}, - "optimizeImages": {
- "shouldOptimizeEcsAmi": "true",
- "performAt": "never",
- "timeWindows": [
- "['Sun:02:00-Sun:12:00', 'Wed:01:01-Fri:02:03']"
]
}
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": false,
- "cronExpression": "string",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}
Get the configurations for a specified Ocean cluster.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "id": "o-12345abc",
- "name": "Ocean::my-elastigroup-name",
- "clusterName": "my-ECS-cluster-name",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 300,
- "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVCpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": 20,
- "shouldScaleDownNonServiceTasks": true,
- "enableAutomaticAndManualHeadroom": false
}, - "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 200,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}
}, - "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "instanceTypes": {
- "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}, - "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
]
}, - "launchSpecification": {
- "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "iamInstanceProfile": {
- "arn": "my-arn"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled",
- "instanceMetadataTags": "Enabled"
}, - "userData": "Q29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT01MTg5MDY1Mzc3MjIyODk4NDA3PT0iCk1JTUUtVmVyc2lvbjogMS4wCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQp",
- "useAsTemplateOnly": false,
- "monitoring": false,
- "ebsOptimized": false,
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
]
}, - "optimizeImages": {
- "shouldOptimizeEcsAmi": "true",
- "performAt": "never",
- "timeWindows": [
- "['Sun:02:00-Sun:12:00', 'Wed:01:01-Fri:02:03']"
]
}
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": false,
- "cronExpression": "string",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}
All Ocean parameters are updatable, excluding Region and ID. This API supports partial updates, so specific fields can be updated separately.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
autoApplyTags | boolean Default: false Example: autoApplyTags=true Optionally update resource tags on the fly without performing a roll. |
required | object (ECS Ocean) | ||||||||||||||||
|
{- "cluster": {
- "name": "Ocean::my-elastigroup-name",
- "clusterName": "my-ECS-cluster-name",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 300,
- "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVCpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": 20,
- "shouldScaleDownNonServiceTasks": true,
- "enableAutomaticAndManualHeadroom": false
}, - "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 200,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}
}, - "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "instanceTypes": {
- "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}, - "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
]
}, - "launchSpecification": {
- "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "iamInstanceProfile": {
- "arn": "my-arn"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled",
- "instanceMetadataTags": "Enabled"
}, - "userData": "Q29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT01MTg5MDY1Mzc3MjIyODk4NDA3PT0iCk1JTUUtVmVyc2lvbjogMS4wCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQp",
- "useAsTemplateOnly": false,
- "monitoring": false,
- "ebsOptimized": false,
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
]
}, - "optimizeImages": {
- "shouldOptimizeEcsAmi": "true",
- "performAt": "never",
- "timeWindows": [
- "['Sun:02:00-Sun:12:00', 'Wed:01:01-Fri:02:03']"
]
}
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": false,
- "cronExpression": "string",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "id": "o-12345abc",
- "name": "Ocean::my-elastigroup-name",
- "clusterName": "my-ECS-cluster-name",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 300,
- "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVCpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": 20,
- "shouldScaleDownNonServiceTasks": true,
- "enableAutomaticAndManualHeadroom": false
}, - "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 200,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}
}, - "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "instanceTypes": {
- "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}, - "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
]
}, - "launchSpecification": {
- "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "iamInstanceProfile": {
- "arn": "my-arn"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled",
- "instanceMetadataTags": "Enabled"
}, - "userData": "Q29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT01MTg5MDY1Mzc3MjIyODk4NDA3PT0iCk1JTUUtVmVyc2lvbjogMS4wCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQp",
- "useAsTemplateOnly": false,
- "monitoring": false,
- "ebsOptimized": false,
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
]
}, - "optimizeImages": {
- "shouldOptimizeEcsAmi": "true",
- "performAt": "never",
- "timeWindows": [
- "['Sun:02:00-Sun:12:00', 'Wed:01:01-Fri:02:03']"
]
}
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": false,
- "cronExpression": "string",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}
Delete a specified Ocean cluster.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Create Ocean cluster object from an existing ECS cluster with at least one container instance to be used as input for create cluster.
Import the configuration from the latest instance id launched with in the cluster (out of the first batch of 100 instances ECS returns).
This route will not register the ECS cluster to Ocean.
EcsClusterName required | string Example: ecsName ECS Cluster name |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
instanceId | string Indicate the container instance id that the configuration will be taken from. This is an optional field |
name | string The name for the new Ocean cluster object. |
region required | string The region that the ECS cluster is running at. |
{- "region": "us-east-1",
- "name": "oceanName",
- "instanceId": "i-123456789abcdefgh"
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/ecs/cluster/my-ECS-cluster-name/import",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "name": "my-Ocean-ECS-cluster",
- "clusterName": "my-ECS-cluster-name",
- "region": "us-east-1",
- "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "launchSpecification": {
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "keyPair": "dev-keypair",
- "userData": "userData",
- "iamInstanceProfile": {
- "arn": "my-arn"
}, - "tags": {
- "tagKey": "env",
- "tagValue": "dev"
}, - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled",
- "instanceMetadataTags": "Enabled"
}
}
}
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}
Get the log of an Ocean Cluster.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
fromDate required | string Beginning date value using either the date format "yyyy-mm-dd; 2016-11-20" or ms "1494751821472". |
limit | integer <= 1000 Default: 500 Example: limit=200 Maximum number of lines to extract in a response. |
resourceId | string Example: resourceId=i-12345678 Filter extracted log entries for a specific resource identifier. Default: Null |
severity | string Default: "ALL" Enum: "ALL" "INFO" "DEBUG" "ERROR" "WARN" Example: severity=INFO Severity of log entries to extract. |
toDate required | string End date value using either the date format "yyyy-mm-dd; 2016-11-20" or ms "1494751821472". |
{- "request": {
- "id": "3213f42e-455e-4801-a185-cd3eb65fac5f",
- "url": "/ocean/aws/ecs/cluster/o-e0a2bd7c/log?fromDate=2020-10-06&toDate=2020-10-08&severity=ALL&limit=500",
- "method": "GET",
- "timestamp": "2020-10-05T16:20:38.579Z"
}, - "response": {
- "status": {
- "code": "200",
- "message": "OK"
}, - "kind": "spotinst:ocean:cluster:log",
- "items": [
- {
- "message": "Instances Terminated - ECS Autoscaler ,Terminated 1, List of instances: [i-0914721d46ebbabb2]",
- "severity": "INFO",
- "createdAt": "2020-10-07T09:51:12.000Z"
}, - {
- "message": "Instances: [i-0914721d46ebbabb2] have been detached. Reason: Auto scale",
- "severity": "INFO",
- "createdAt": "2020-10-07T09:51:11.000Z"
}
], - "count": "2"
}
}
Get right-sizing recommendations for an Ocean cluster.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "suggestedMemory": 2,
- "requestedMemory": 100,
- "serviceName": "sg-test",
- "suggestedCpu": 0,
- "requestedCpu": 128
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:cluster:rightSizing:resourceSuggestion"
}
}
Returns all instances types that match the given filters. These instance types will be used if the cluster is configured with these filters.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (InstanceTypesFilters) List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured together with whitelist/blacklist. | ||||||||||||||||||||||||||||||||||||||
|
{- "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/ecs/cluster/o-abcd1234/instanceTypeFiltersSimulation",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "filteredInstanceTypes": [
- "g5.xlarge",
- "c5.2xlarge",
- "c5ad.2xlarge",
- "c5d.2xlarge",
- "c5a.2xlarge"
]
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:instanceTypesFilters:simulation"
}
}
Return the list of the allowed Ocean cluster instance types.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/ecs/cluster/0-12345abc/allowedInstanceTypes",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "instanceTypes": [
- "c3.large",
- "c5.large"
]
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:allowedInstanceTypes"
}
}
Upgrade an Elastigroup with ECS integration into Ocean for ECS cluster.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
groupId required | string Example: groupId=sig-1234abcd The identifier of the Elastigroup to upgrade. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "id": "o-12345abc",
- "name": "Ocean::my-elastigroup-name",
- "clusterName": "my-ECS-cluster-name",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 300,
- "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVCpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": 20,
- "shouldScaleDownNonServiceTasks": true,
- "enableAutomaticAndManualHeadroom": false
}, - "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 200,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}
}, - "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "instanceTypes": {
- "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}, - "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
]
}, - "launchSpecification": {
- "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "iamInstanceProfile": {
- "arn": "my-arn"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled",
- "instanceMetadataTags": "Enabled"
}, - "userData": "Q29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT01MTg5MDY1Mzc3MjIyODk4NDA3PT0iCk1JTUUtVmVyc2lvbjogMS4wCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQp",
- "useAsTemplateOnly": false,
- "monitoring": false,
- "ebsOptimized": false,
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
]
}, - "optimizeImages": {
- "shouldOptimizeEcsAmi": "true",
- "performAt": "never",
- "timeWindows": [
- "['Sun:02:00-Sun:12:00', 'Wed:01:01-Fri:02:03']"
]
}
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": false,
- "cronExpression": "string",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}
Roll an entire Ocean cluster or roll subsets of the cluster by specifying launchSpecIds or instanceIds. Performing this request will start the roll immediately according to defined batches. Note that the first response for a successful request will indicate the start of a roll. In order to check the status of a roll, you can use the GET Roll API using the roll identifier.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object | |||||||
|
{- "roll": {
- "batchSizePercentage": 20,
- "comment": "This is why I rolled my cluster.",
- "batchMinHealthyPercentage": 100
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-1234abcd",
- "scope": "Cluster",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 10,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceId": "i-003a0281a24c01a20",
- "status": "REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a21",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a22",
- "status": "COULD_NOT_BE_REPLACED"
}
]
}
}, - "oceanId": "o-abcd1234",
- "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "status": "IN_PROGRESS",
- "comment": "This is why I rolled my cluster.",
- "batchMinHealthyPercentage": 100,
- "instanceIds": [
- "i-0003a99ffb566f039",
- "i-0567a99ffb566f765"
]
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:cluster:roll"
}
}
List rolls of an Ocean cluster.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-1234abcd",
- "scope": "Cluster",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 10,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceId": "i-003a0281a24c01a20",
- "status": "REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a21",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a22",
- "status": "COULD_NOT_BE_REPLACED"
}
]
}
}, - "oceanId": "o-abcd1234",
- "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "status": "IN_PROGRESS",
- "comment": "This is why I rolled my cluster.",
- "batchMinHealthyPercentage": 100,
- "instanceIds": [
- "i-0003a99ffb566f039",
- "i-0567a99ffb566f765"
]
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:cluster:roll"
}
}
Update a roll of an Ocean cluster. Performing the request will stop the next batch in a roll.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
ROLL_ID required | string Example: scr-12345abc Ocean Cluster Roll identifier |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object Sets the status of the roll. | |||
|
{- "roll": {
- "status": "STOPPED"
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-1234abcd",
- "scope": "Cluster",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 10,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceId": "i-003a0281a24c01a20",
- "status": "REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a21",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a22",
- "status": "COULD_NOT_BE_REPLACED"
}
]
}
}, - "oceanId": "o-abcd1234",
- "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "status": "IN_PROGRESS",
- "comment": "This is why I rolled my cluster.",
- "batchMinHealthyPercentage": 100,
- "instanceIds": [
- "i-0003a99ffb566f039",
- "i-0567a99ffb566f765"
]
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:cluster:roll"
}
}
Get status for roll of an Ocean cluster.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
ROLL_ID required | string Example: scr-12345abc Ocean Cluster Roll identifier |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-1234abcd",
- "scope": "Cluster",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 10,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceId": "i-003a0281a24c01a20",
- "status": "REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a21",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a22",
- "status": "COULD_NOT_BE_REPLACED"
}
]
}
}, - "oceanId": "o-abcd1234",
- "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "status": "IN_PROGRESS",
- "comment": "This is why I rolled my cluster.",
- "batchMinHealthyPercentage": 100,
- "instanceIds": [
- "i-0003a99ffb566f039",
- "i-0567a99ffb566f765"
]
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:cluster:roll"
}
}
Get container instances data of an Ocean cluster.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
instanceId | string Example: instanceId=i-123 Get a specific container instance ec2 instance id. |
launchSpecId | string Example: launchSpecId=ols-123abc Ocean cluster Virtual Node Group identifier. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/ecs/cluster/o-12345abc/containerInstances",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "instanceId": "i-123",
- "instanceType": "c3.large",
- "availabilityZone": "us-west-2b",
- "launchSpecId": "ols-123",
- "launchSpecName": "dev-launchSpec",
- "lifeCycle": "Spot",
- "publicIp": "1.2.3.4",
- "workloadRequestedCpuUnit": 1320,
- "workloadRequestedMemoryInMiB": 500,
- "workloadRequestedGpu": 1,
- "headroomRequestedCpuUnit": 1320,
- "headroomRequestedMemoryInMiB": 512,
- "headroomRequestedGpu": 1,
- "registeredCpuUnit": 2000,
- "registeredMemoryInMiB": 3646.1,
- "registeredGpu": 1,
- "containerInstanceId": "abcdefg",
- "registrationStatus": "Registered",
- "createdAt": "2021-10-1T05:51:06.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:containerInstances"
}
}
Detach instances from your Ocean cluster.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
instancesToDetach required | Array of strings Array of instance identifiers to be detached. |
shouldDecrementTargetCapacity | boolean Determines whether the Ocean cluster's target capacity should be decremented. |
shouldTerminateInstances | boolean Determines whether the detached EC2 instances should be terminated or not. |
{- "instancesToDetach": [
- "i-0003a99ffb566f039",
- "i-0567a99ffb566f765"
], - "shouldTerminateInstances": true,
- "shouldDecrementTargetCapacity": false
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/ecs/cluster/o-abcd1234/detachInstances",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Create a new Ocean ECS virtual node group in the specified account.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (oceanClusterLaunchSpec-create) AWS Cluster Virtual Node Group (VNG). | ||||||||||||||||||||||||||||||||||||
|
{- "launchSpec": {
- "oceanId": "o-1234abcd",
- "name": "mySpecLauncher",
- "imageId": "img2",
- "images": [
- {
- "id": "ami-ID"
}
], - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "securityGroupIds": [
- "sg1, sg3"
], - "instanceTypes": [
- "c3.2xlarge, c4.2xlarge"
], - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "subnetIds": [
- "subnet-01234566789abcdef, subnet-9876543210ghijkl"
], - "iamInstanceProfile": [
- "arn:aws:iam::123456789123:instance-profile"
], - "attributes": [
- {
- "key": "key1",
- "value": "value1"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "restrictScaleDown": false,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}
}
]
}, - "strategy": {
- "spotPercentage": 70
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/ecs/launchSpec",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ols-1234abcd",
- "oceanId": "o-1234abcd",
- "name": "mySpecLauncher",
- "imageId": "img2",
- "images": [
- {
- "id": "ami-ID"
}
], - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "securityGroupIds": [
- "sg1, sg3"
], - "instanceTypes": [
- "c3.2xlarge, c4.2xlarge"
], - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "subnetIds": [
- "subnet-01234566789abcdef, subnet-9876543210ghijkl"
], - "iamInstanceProfile": [
- "arn:aws:iam::123456789123:instance-profile"
], - "attributes": [
- {
- "key": "key1",
- "value": "value1"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "restrictScaleDown": false,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}
}
]
}, - "strategy": {
- "spotPercentage": 70
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:launchSpec"
}
}
Get all the custom VNGs for all Ocean clusters in the specified account.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
oceanId | string Example: oceanId=o-12345abc Identifier of the Ocean cluster. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/ecs/launchSpec",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ols-1234abcd",
- "oceanId": "o-1234abcd",
- "name": "mySpecLauncher",
- "imageId": "img2",
- "images": [
- {
- "id": "ami-ID"
}
], - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "securityGroupIds": [
- "sg1, sg3"
], - "instanceTypes": [
- "c3.2xlarge, c4.2xlarge"
], - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "subnetIds": [
- "subnet-01234566789abcdef, subnet-9876543210ghijkl"
], - "iamInstanceProfile": [
- "arn:aws:iam::123456789123:instance-profile"
], - "attributes": [
- {
- "key": "key1",
- "value": "value1"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "restrictScaleDown": false,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}
}
]
}, - "strategy": {
- "spotPercentage": 70
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:launchSpec"
}
}
Get a specific custom launch configuration for an Ocean cluster in the specified account.
launchSpecId required | string Ocean cluster Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/ecs/launchSpec/ols-12345abc",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ols-1234abcd",
- "oceanId": "o-1234abcd",
- "name": "mySpecLauncher",
- "imageId": "img2",
- "images": [
- {
- "id": "ami-ID"
}
], - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "securityGroupIds": [
- "sg1, sg3"
], - "instanceTypes": [
- "c3.2xlarge, c4.2xlarge"
], - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "subnetIds": [
- "subnet-01234566789abcdef, subnet-9876543210ghijkl"
], - "iamInstanceProfile": [
- "arn:aws:iam::123456789123:instance-profile"
], - "attributes": [
- {
- "key": "key1",
- "value": "value1"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "restrictScaleDown": false,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}
}
]
}, - "strategy": {
- "spotPercentage": 70
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:launchSpec"
}
}
Delete a specified virtual node group in an Ocean cluster.
launchSpecId required | string Ocean cluster Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
deleteContainerInstances | boolean Default: false Example: deleteContainerInstances=true When set to "true", all instances belonging to the deleted VNG will be drained, detached, and terminated. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/ecs/launchSpec/ols-12345abc",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Update a specified virtual node group in an Ocean cluster.
launchSpecId required | string Ocean cluster Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
autoApplyTags | boolean Default: false Example: autoApplyTags=true Optionally update resource tags on the fly without performing a roll. |
required | object (oceanClusterLaunchSpec-update) AWS Cluster Virtual Node Group (VNG). | ||||||||||||||||||||||||||||||||||
|
{- "launchSpec": {
- "name": "mySpecLauncher",
- "imageId": "img2",
- "images": [
- {
- "id": "ami-ID"
}
], - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "securityGroupIds": [
- "sg1, sg3"
], - "instanceTypes": [
- "c3.2xlarge, c4.2xlarge"
], - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "subnetIds": [
- "subnet-01234566789abcdef, subnet-9876543210ghijkl"
], - "iamInstanceProfile": [
- "arn:aws:iam::123456789123:instance-profile"
], - "attributes": [
- {
- "key": "key1",
- "value": "value1"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "restrictScaleDown": false,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}
}
]
}, - "strategy": {
- "spotPercentage": 70
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/ecs/launchSpec/ols-12345abc",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ols-1234abcd",
- "name": "mySpecLauncher",
- "imageId": "img2",
- "images": [
- {
- "id": "ami-ID"
}
], - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "securityGroupIds": [
- "sg1, sg3"
], - "instanceTypes": [
- "c3.2xlarge, c4.2xlarge"
], - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "subnetIds": [
- "subnet-01234566789abcdef, subnet-9876543210ghijkl"
], - "iamInstanceProfile": [
- "arn:aws:iam::123456789123:instance-profile"
], - "attributes": [
- {
- "key": "key1",
- "value": "value1"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "restrictScaleDown": false,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}
}
]
}, - "strategy": {
- "spotPercentage": 70
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:launchSpec"
}
}
Import a Fargate service into an existing Ocean ECS cluster. Upon Fargate service import, Spot clones the selected Fargate services and runs them with the same VPC & Subnet settings on EC2 spot Instances. Ocean will automatically and seamlessly predict and replace spot instances before they are interrupted, ensuring the uptime of the cluster and providing cost-savings of up to 90% over Fargate-enabled ECS clusters.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
services | Array of strings List of Fargate services by their names. Must contain at least one service. |
simpleNewServiceNames | boolean Default: false Flag to align imported service names in the following format: sfm_ |
{- "services": [
- "service_1",
- "service_2"
], - "simpleNewServiceNames": false
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "efm-d235b4d8",
- "oceanId": "o-fgdfgdf",
- "state": "STARTING",
- "config": {
- "services": [
- "service_1",
- "service_2"
]
}, - "simpleNewServiceNames": false
}
], - "count": 1,
- "kind": "string"
}
}
Get existing Fargate services in the ECS cluster.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "ecsClusterName": "EcsTestCluster",
- "ecsClusterRegion": "us-east-2",
- "serviceNames": [
- [
- "test_with_1",
- "test_without"
]
]
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:fargateMigration:serviceDiscovery"
}
}
Get the status of a Fargate service import.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "ecsClusterName": "EcsTestCluster",
- "ecsClusterRegion": "us-east-2",
- "state": "FINISHED",
- "importedServices": [
- "test_with_1"
]
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:fargateMigration:status"
}
}
This API copies the configuration from a Fargate service into the corresponding fields of an Ocean object. (This process is commonly referred to as importing.) The API returns an Ocean object that is suitable for use in the Create API to create a new Ocean cluster based on your Fargate configuration. If you are migrating a Fargate service that has tags, you must run the Opt In procedure on your Amazon account or IAM role. This is required in order to obtain the necessary Amazon Resource Name (ARN) and resource identifier format for your ECS tasks, container instances, and services. For more information about the required ARN and the Opt In procedure, see the following pages:
The API requires one of the following permissions to be defined in Spot -
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
ecsClusterName required | string Name of the cluster in ECS. |
keyPair | string Specify a key pair to attach to the services. |
oceanClusterName required | string Name of the cluster in new Ocean object. |
region required | string Name of the AWS region the ECS cluster is in. |
services required | Array of strings[ items ] Name of the ECS Fargate service to be imported. |
Array of objects Set tags for the service. Items should be unique. |
{- "oceanClusterName": "fargate-import-ocean",
- "ecsClusterName": "fargateTestCluster",
- "region": "us-west-1",
- "services": [
- [
- "service_2"
]
], - "keyPair": "spot-prod",
- "tags": [
- {
- "tagKey": "env",
- "tagValue": "prod"
}
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "name": "Ocean::my-elastigroup-name",
- "clusterName": "my-ECS-cluster-name",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 300,
- "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVCpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": 20,
- "shouldScaleDownNonServiceTasks": true,
- "enableAutomaticAndManualHeadroom": false
}, - "region": "us-east-1",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 200,
- "utilizeCommitments": false,
- "clusterOrientation": {
- "availabilityVsCost": "balanced"
}
}, - "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "instanceTypes": {
- "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "minGpu": 0,
- "maxGpu": 4,
- "includeFamilies": [
- "c5*",
- "g5"
], - "excludeFamilies": [
- "t2",
- "R4*"
], - "excludeMetal": true,
- "isEnaSupported": true,
- "architectures": [
- "i386",
- "x86_64"
], - "virtualizationTypes": [
- "hvm"
], - "categories": [
- "Accelerated_computing",
- "Compute_optimized"
], - "minEnis": 2,
- "diskTypes": [
- "NVMe",
- "EBS"
], - "hypervisor": [
- "nitro"
], - "rootDeviceTypes": [
- "ebs"
], - "minNetworkPerformance": 2,
- "maxNetworkPerformance": 20
}, - "whitelist": [
- "c4.xlarge",
- "c4.2xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": [
- "r5.large",
- "r5.xlarge"
]
}, - "launchSpecification": {
- "associatePublicIpAddress": false,
- "associateIpv6Address": false,
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "iamInstanceProfile": {
- "arn": "my-arn"
}, - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "throughput": 125,
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled",
- "instanceMetadataTags": "Enabled"
}, - "userData": "Q29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT01MTg5MDY1Mzc3MjIyODk4NDA3PT0iCk1JTUUtVmVyc2lvbjogMS4wCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQp",
- "useAsTemplateOnly": false,
- "monitoring": false,
- "ebsOptimized": false,
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
]
}, - "optimizeImages": {
- "shouldOptimizeEcsAmi": "true",
- "performAt": "never",
- "timeWindows": [
- "['Sun:02:00-Sun:12:00', 'Wed:01:01-Fri:02:03']"
]
}
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": false,
- "cronExpression": "string",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100
}
}
}
], - "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}
Provides Ecs cluster resource usage and costs over a time interval which can be grouped and/or filtered by AWS tags,
for example - application name (webapp, backend), environment (production, staging), version etc.
The response will contain a breakdown of the cluster resource costs($) in terms of compute (CPU, memory), storage (block, file, rootVolume).
The response will group the cluster usage costs based on the preselected default of Ecs Group Type which is composed of Service, Headroom, Custom Object,
Idle and Standalone, or user selected AWS tags.
Within the default grouping, costs are broken down for the Service group, and for tag grouping the costs will be broken up by tag value.
Time Rounding Down: The CostAnalysis API applies rounding down to the hours provided during the call.
For example, the value 1707004799099 (In GMT) representing Saturday, February 3, 2024, 23:59:59.099 is rounded down to Saturday, February 3, 2024, 23:00:00.000, resulting in the omission of one hour of cost.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
endTime required | string End date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
object Describe how to filter the costs. Optional field. Can only be used if grouping by tags. | |
groupBy | string The parameter we want to group the costs by, default is grouping by ECS group types. Only a tag key can be passed in. |
startTime required | string Beginning date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
{- "startTime": 1675209600000,
- "endTime": 1675216800000,
- "groupBy": "env",
- "filter": {
- "conditions": {
- "anyMatch": [
- {
- "allMatch": [
- {
- "key": "env",
- "operator": "equals",
- "value": "dev"
}, - {
- "key": "app",
- "operator": "exists"
}
]
}, - {
- "allMatch": [
- {
- "key": "team",
- "operator": "exists"
}
]
}
]
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/ecs/cluster/o-abcd1234/aggregatedCosts",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "totalForDuration": {
- "startTime": "2023-02-01T12:00:00.745Z",
- "endTime": "2023-02-01T02:00:00.745Z",
- "summary": {
- "total": 20000,
- "compute": {
- "total": 12000,
- "services": {
- "total": 12000
}
}, - "storage": {
- "total": 8000,
- "block": {
- "total": 6000,
- "ebsPv": {
- "total": 4000
}, - "nonPv": {
- "total": 2000
}
}, - "file": {
- "total": 2000,
- "efsPv": {
- "total": 2000
}
}
}
}, - "detailedCostsByTime": [
- {
- "startTime": "2023-02-01T12:00:00.745Z",
- "endTime": "2023-02-01T01:00:00.745Z",
- "summary": {
- "total": 10000,
- "compute": {
- "total": 6000
}, - "storage": {
- "total": 4000,
- "block": {
- "total": 3000,
- "ebsPv": {
- "total": 2000
}, - "nonPv": {
- "total": 1000
}
}, - "file": {
- "total": 1000,
- "efsPv": {
- "total": 1000
}
}
}
}, - "groupedBy": "env",
- "aggregations": {
- "dev": {
- "summary": {
- "total": 5000,
- "compute": {
- "total": 3000
}, - "storage": {
- "total": 2000,
- "block": {
- "total": 1500,
- "ebsPv": {
- "total": 1000
}, - "nonPv": {
- "total": 500
}
}, - "file": {
- "total": 500,
- "efsPv": {
- "total": 500
}
}
}
}, - "services": [
- {
- "name": "service-1",
- "total": 5000,
- "compute": {
- "total": 3000
}, - "storage": {
- "total": 2000,
- "block": {
- "total": 1500,
- "ebsPv": {
- "total": 1000
}, - "nonPv": {
- "total": 500
}
}, - "file": {
- "total": 500,
- "efsPv": {
- "total": 500
}
}
}
}
]
}, - "prod": {
- "summary": {
- "total": 5000,
- "compute": {
- "total": 3000
}, - "storage": {
- "total": 2000,
- "block": {
- "total": 1500,
- "ebsPv": {
- "total": 1000
}, - "nonPv": {
- "total": 500
}
}, - "file": {
- "total": 500,
- "efsPv": {
- "total": 500
}
}
}
}, - "services": [
- {
- "name": "service-2",
- "total": 5000,
- "compute": {
- "total": 3000
}, - "storage": {
- "total": 2000,
- "block": {
- "total": 1500,
- "ebsPv": {
- "total": 1000
}, - "nonPv": {
- "total": 500
}
}, - "file": {
- "total": 500,
- "efsPv": {
- "total": 500
}
}
}
}
]
}
}
}, - {
- "startTime": "2023-02-01T01:00:00.745Z",
- "endTime": "2023-02-01T02:00:00.745Z",
- "summary": {
- "total": 10000,
- "compute": {
- "total": 6000
}, - "storage": {
- "total": 4000,
- "block": {
- "total": 3000,
- "ebsPv": {
- "total": 2000
}, - "nonPv": {
- "total": 1000
}
}, - "file": {
- "total": 1000,
- "efsPv": {
- "total": 1000
}
}
}
}, - "groupedBy": "env",
- "aggregations": {
- "dev": {
- "summary": {
- "total": 5000,
- "compute": {
- "total": 3000
}, - "storage": {
- "total": 2000,
- "block": {
- "total": 1500,
- "ebsPv": {
- "total": 1000
}, - "nonPv": {
- "total": 500
}
}, - "file": {
- "total": 500,
- "efsPv": {
- "total": 500
}
}
}
}, - "services": [
- {
- "name": "service-1",
- "total": 5000,
- "compute": {
- "total": 3000
}, - "storage": {
- "total": 2000,
- "block": {
- "total": 1500,
- "ebsPv": {
- "total": 1000
}, - "nonPv": {
- "total": 500
}
}, - "file": {
- "total": 500,
- "efsPv": {
- "total": 500
}
}
}
}
]
}, - "prod": {
- "summary": {
- "total": 5000,
- "compute": {
- "total": 3000
}, - "storage": {
- "total": 2000,
- "block": {
- "total": 1500,
- "ebsPv": {
- "total": 1000
}, - "nonPv": {
- "total": 500
}
}, - "file": {
- "total": 500,
- "efsPv": {
- "total": 500
}
}
}
}, - "services": [
- {
- "name": "service-2",
- "total": 5000,
- "compute": {
- "total": 3000
}, - "storage": {
- "total": 2000,
- "block": {
- "total": 1500,
- "ebsPv": {
- "total": 1000
}, - "nonPv": {
- "total": 500
}
}, - "file": {
- "total": 500,
- "efsPv": {
- "total": 500
}
}
}
}
]
}
}
}
]
}
}
], - "count": 1,
- "kind": "ocean:ecs:cluster:aggregatedCosts:detailed"
}
}
Describes ECS cluster costs in a time range.
The response will provide the distribution of the costs per cluster.
Deprecated API: This API is no longer supported. As an alternative you may use the "Get Ecs Cluster Aggregated Detailed Costs" API.
clusterName required | string Example: ocean.ecs The name of the ECS cluster, as set in the Ocean cluster configuration under the "clusterName" field. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
fromDate required | string Beginning date value using either the date format "yyyy-mm-dd; 2016-11-20" or ms "1494751821472". |
region required | string Example: region=us-east-1 Region name. |
toDate required | string End date value using either the date format "yyyy-mm-dd; 2016-11-20" or ms "1494751821472". |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/mcs/ecs/cluster/my-cluster-identifier/costs",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "totalCost": 279.9907,
- "headroomCost": 279.9907,
- "standAloneTasksCost": 0,
- "ecsGroups": [
- {
- "name": "default",
- "cost": 18.00862,
- "type": "SERVICE"
}
]
}
], - "count": 1,
- "kind": "string"
}
}
Launch container instances in virtual node group.
launchSpecId required | string Ocean cluster Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (Ocean ECS VNG Launch Request) | ||
|
{- "launchRequest": {
- "amount": 5
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/aws/ecs/launchSpec/ols-12345abc/launchContainerInstances",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "newInstances": [
- {
- "instanceId": "i-08d53d2a1dcede08f",
- "availabilityZone": "us-west-2b",
- "instanceType": "c3.xlarge",
- "lifeCycle": "spot"
}
]
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:launchSpec:launchContainerInstances",
- "launchSpecId": "ols-f73821bc"
}
}
Get the heartbeat status of the Ocean Controller for the cluster.
The response returns the heartbeat status and the last heartbeat timestamp.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/k8s/cluster/o-e0a2bd7c/controllerHeartbeat",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "status": "ACTIVE",
- "lastHeartbeat": "2019-11-24T14:33:00.746Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:k8s:cluster:controllerHeartbeat"
}
}
The Ocean Controller is used to monitor the cluster resources and report back to Ocean.| To install the Ocean Controller, complete and run the following script on a machine with the kubectl command line tool installed and configured:
#!/usr/bin/env bash
curl -fsSL http://spotinst-public.s3.amazonaws.com/integrations/kubernetes/cluster-controller/scripts/init.sh | \
SPOTINST_TOKEN=<ENTER YOUR TOKEN HERE> \
SPOTINST_ACCOUNT=<ENTER YOUR SPOTINST ACCOUNT ID HERE> \
SPOTINST_CLUSTER_IDENTIFIER=<ENTER YOUR CLUSTER IDENTIFIER HERE> \
bash
You may need Kubernetes admin privileges for this script to work. To grant yourself admin privileges, run the following command:
kubectl create clusterrolebinding <clusterName> --clusterrole=cluster-admin --user=<userEmail>
For more information, refer to our controller installation guides. You can install with Helm, Kubectl or Terraform. For more about Ocean and the Ocean Controller, see the documentation here.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object The specification of the Ocean cluster. | ||||||||||||||||||||
|
{- "cluster": {
- "name": "test",
- "controllerClusterId": "test-123124",
- "gke": {
- "clusterName": "test-cluster",
- "masterLocation": "us-central1-a"
}, - "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVcpu": 750
}, - "down": {
- "evaluationPeriods": 3,
- "maxScaleDownPercentage": 30,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headRoom": {
- "cpuPerUnit": 0,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 0
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true
}, - "autoUpdate": {
- "isEnabled": true
}, - "capacity": {
- "minimum": 0,
- "maximum": 3,
- "target": 3
}, - "strategy": {
- "drainingTimeout": 60,
- "provisioningModel": "SPOT",
- "scalingOrientation": "COST",
- "preemptiblePercentage": 100,
- "shouldUtilizeCommitments": true,
- "revertToPreferred": {
- "shouldPerform": true,
- "maxBatchPercentage": 10
}
}, - "scheduling": {
- "shutdownHours": {
- "isEnabled": true,
- "timeWindows": [
- [
- "Fri:15:30-Wed:14:30",
- "Wed:15:30-Thu:18:30"
]
]
}, - "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}
}
}
]
}, - "security": {
- "containerImage": {
- "approvedImages": [
- [
- "gce.io/*",
- "docker.*"
]
]
}
}, - "compute": {
- "networkInterfaces": {
- "network": "default",
- "projectId": "test-project",
- "accessConfigs": {
- "name": "external-nat",
- "type": "ONE_TO_ONE_NAT"
}, - "aliasIpRanges": {
- "ipCidrRange": "/24",
- "subnetworkRangeName": "gke-test-native-vpc-pods-5cb557f7"
}
}, - "backendServices": {
- "backendServiceName": "test-global-tcp",
- "locationType": "regional",
- "scheme": "EXTERNAL",
- "namedPorts": {
- "name": "https",
- "ports": [
- 443,
- 8443
]
}
}, - "subnetName": "default",
- "availabilityZones": [
- "us-west1-a"
], - "instanceTypes": {
- "whitelist": [
- "n1-standard-2"
], - "blacklist": [
- "n2d-highcpu-96"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "includeFamilies": [
- "c2",
- "c3"
], - "excludeFamilies": [
- "n2",
- "c3"
]
}, - "preferredTypes": [
- "c3d-standard-4",
- "c3d-standard-8"
]
}, - "launchSpecification": {
- "metadata": {
- "key": "example_key1",
- "value": "exmample_value1"
}, - "tags": [
- "gke-cluster-name-12345-node"
], - "ipForwarding": true,
- "minCpuPlatform": "Intel Sandy Bridge",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "labels": [
- {
- "key": "spotinst-gke-original-node-pool",
- "value": "test-native-vpc__default-pool"
}
], - "rootVolumeSizeInGb": 100,
- "rootVolumeType": "pd-standard",
- "shieldedInstanceConfig": {
- "enableSecureBoot": true,
- "enableIntegrityMonitoring": true
}, - "useAsTemplateOnly": false
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/cluster",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "o-abcd1234",
- "name": "test",
- "controllerClusterId": "test-123124",
- "gke": {
- "clusterName": "test-cluster",
- "masterLocation": "us-central1-a"
}, - "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVcpu": 750
}, - "down": {
- "evaluationPeriods": 3,
- "maxScaleDownPercentage": 30,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headRoom": {
- "cpuPerUnit": 0,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 0
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true
}, - "autoUpdate": {
- "isEnabled": true
}, - "capacity": {
- "minimum": 0,
- "maximum": 3,
- "target": 3
}, - "strategy": {
- "drainingTimeout": 60,
- "provisioningModel": "SPOT",
- "scalingOrientation": "COST",
- "preemptiblePercentage": 100,
- "shouldUtilizeCommitments": true,
- "revertToPreferred": {
- "shouldPerform": true,
- "maxBatchPercentage": 10
}
}, - "scheduling": {
- "shutdownHours": {
- "isEnabled": true,
- "timeWindows": [
- [
- "Fri:15:30-Wed:14:30",
- "Wed:15:30-Thu:18:30"
]
]
}, - "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}
}
}
]
}, - "security": {
- "containerImage": {
- "approvedImages": [
- [
- "gce.io/*",
- "docker.*"
]
]
}
}, - "compute": {
- "networkInterfaces": {
- "network": "default",
- "projectId": "test-project",
- "accessConfigs": {
- "name": "external-nat",
- "type": "ONE_TO_ONE_NAT"
}, - "aliasIpRanges": {
- "ipCidrRange": "/24",
- "subnetworkRangeName": "gke-test-native-vpc-pods-5cb557f7"
}
}, - "backendServices": {
- "backendServiceName": "test-global-tcp",
- "locationType": "regional",
- "scheme": "EXTERNAL",
- "namedPorts": {
- "name": "https",
- "ports": [
- 443,
- 8443
]
}
}, - "subnetName": "default",
- "availabilityZones": [
- "us-west1-a"
], - "instanceTypes": {
- "whitelist": [
- "n1-standard-2"
], - "blacklist": [
- "n2d-highcpu-96"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "includeFamilies": [
- "c2",
- "c3"
], - "excludeFamilies": [
- "n2",
- "c3"
]
}, - "preferredTypes": [
- "c3d-standard-4",
- "c3d-standard-8"
]
}, - "launchSpecification": {
- "metadata": {
- "key": "example_key1",
- "value": "exmample_value1"
}, - "tags": [
- "gke-cluster-name-12345-node"
], - "ipForwarding": true,
- "minCpuPlatform": "Intel Sandy Bridge",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "labels": [
- {
- "key": "spotinst-gke-original-node-pool",
- "value": "test-native-vpc__default-pool"
}
], - "rootVolumeSizeInGb": 100,
- "rootVolumeType": "pd-standard",
- "shieldedInstanceConfig": {
- "enableSecureBoot": true,
- "enableIntegrityMonitoring": true
}, - "useAsTemplateOnly": false
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:gcp:k8s"
}
}
List the configurations for all Ocean clusters in the specified account.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/cluster",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "id": "o-abcd1234",
- "name": "test",
- "controllerClusterId": "test-123124",
- "gke": {
- "clusterName": "test-cluster",
- "masterLocation": "us-central1-a"
}, - "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVcpu": 750
}, - "down": {
- "evaluationPeriods": 3,
- "maxScaleDownPercentage": 30,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headRoom": {
- "cpuPerUnit": 0,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 0
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true
}, - "autoUpdate": {
- "isEnabled": true
}, - "capacity": {
- "minimum": 0,
- "maximum": 3,
- "target": 3
}, - "strategy": {
- "drainingTimeout": 60,
- "provisioningModel": "SPOT",
- "scalingOrientation": "COST",
- "preemptiblePercentage": 100,
- "shouldUtilizeCommitments": true,
- "revertToPreferred": {
- "shouldPerform": true,
- "maxBatchPercentage": 10
}
}, - "scheduling": {
- "shutdownHours": {
- "isEnabled": true,
- "timeWindows": [
- [
- "Fri:15:30-Wed:14:30",
- "Wed:15:30-Thu:18:30"
]
]
}, - "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}
}
}
]
}, - "security": {
- "containerImage": {
- "approvedImages": [
- [
- "gce.io/*",
- "docker.*"
]
]
}
}, - "compute": {
- "networkInterfaces": {
- "network": "default",
- "projectId": "test-project",
- "accessConfigs": {
- "name": "external-nat",
- "type": "ONE_TO_ONE_NAT"
}, - "aliasIpRanges": {
- "ipCidrRange": "/24",
- "subnetworkRangeName": "gke-test-native-vpc-pods-5cb557f7"
}
}, - "backendServices": {
- "backendServiceName": "test-global-tcp",
- "locationType": "regional",
- "scheme": "EXTERNAL",
- "namedPorts": {
- "name": "https",
- "ports": [
- 443,
- 8443
]
}
}, - "subnetName": "default",
- "availabilityZones": [
- "us-west1-a"
], - "instanceTypes": {
- "whitelist": [
- "n1-standard-2"
], - "blacklist": [
- "n2d-highcpu-96"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "includeFamilies": [
- "c2",
- "c3"
], - "excludeFamilies": [
- "n2",
- "c3"
]
}, - "preferredTypes": [
- "c3d-standard-4",
- "c3d-standard-8"
]
}, - "launchSpecification": {
- "metadata": {
- "key": "example_key1",
- "value": "exmample_value1"
}, - "tags": [
- "gke-cluster-name-12345-node"
], - "ipForwarding": true,
- "minCpuPlatform": "Intel Sandy Bridge",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "labels": [
- {
- "key": "spotinst-gke-original-node-pool",
- "value": "test-native-vpc__default-pool"
}
], - "rootVolumeSizeInGb": 100,
- "rootVolumeType": "pd-standard",
- "shieldedInstanceConfig": {
- "enableSecureBoot": true,
- "enableIntegrityMonitoring": true
}, - "useAsTemplateOnly": false
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:ocean:gcp:k8s"
}
}
Delete a specified Ocean cluster.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/cluster/o-abcd1234",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Get the configuration for a specified Ocean cluster.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/cluster/o-abcd1234",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "id": "o-abcd1234",
- "name": "test",
- "controllerClusterId": "test-123124",
- "gke": {
- "clusterName": "test-cluster",
- "masterLocation": "us-central1-a"
}, - "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVcpu": 750
}, - "down": {
- "evaluationPeriods": 3,
- "maxScaleDownPercentage": 30,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headRoom": {
- "cpuPerUnit": 0,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 0
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true
}, - "autoUpdate": {
- "isEnabled": true
}, - "capacity": {
- "minimum": 0,
- "maximum": 3,
- "target": 3
}, - "strategy": {
- "drainingTimeout": 60,
- "provisioningModel": "SPOT",
- "scalingOrientation": "COST",
- "preemptiblePercentage": 100,
- "shouldUtilizeCommitments": true,
- "revertToPreferred": {
- "shouldPerform": true,
- "maxBatchPercentage": 10
}
}, - "scheduling": {
- "shutdownHours": {
- "isEnabled": true,
- "timeWindows": [
- [
- "Fri:15:30-Wed:14:30",
- "Wed:15:30-Thu:18:30"
]
]
}, - "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}
}
}
]
}, - "security": {
- "containerImage": {
- "approvedImages": [
- [
- "gce.io/*",
- "docker.*"
]
]
}
}, - "compute": {
- "networkInterfaces": {
- "network": "default",
- "projectId": "test-project",
- "accessConfigs": {
- "name": "external-nat",
- "type": "ONE_TO_ONE_NAT"
}, - "aliasIpRanges": {
- "ipCidrRange": "/24",
- "subnetworkRangeName": "gke-test-native-vpc-pods-5cb557f7"
}
}, - "backendServices": {
- "backendServiceName": "test-global-tcp",
- "locationType": "regional",
- "scheme": "EXTERNAL",
- "namedPorts": {
- "name": "https",
- "ports": [
- 443,
- 8443
]
}
}, - "subnetName": "default",
- "availabilityZones": [
- "us-west1-a"
], - "instanceTypes": {
- "whitelist": [
- "n1-standard-2"
], - "blacklist": [
- "n2d-highcpu-96"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "includeFamilies": [
- "c2",
- "c3"
], - "excludeFamilies": [
- "n2",
- "c3"
]
}, - "preferredTypes": [
- "c3d-standard-4",
- "c3d-standard-8"
]
}, - "launchSpecification": {
- "metadata": {
- "key": "example_key1",
- "value": "exmample_value1"
}, - "tags": [
- "gke-cluster-name-12345-node"
], - "ipForwarding": true,
- "minCpuPlatform": "Intel Sandy Bridge",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "labels": [
- {
- "key": "spotinst-gke-original-node-pool",
- "value": "test-native-vpc__default-pool"
}
], - "rootVolumeSizeInGb": 100,
- "rootVolumeType": "pd-standard",
- "shieldedInstanceConfig": {
- "enableSecureBoot": true,
- "enableIntegrityMonitoring": true
}, - "useAsTemplateOnly": false
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:ocean:gcp:k8s"
}
}
All Ocean parameters are updatable, excluding the Name and controllerClusterId.
This API supports partial updates, so specific fields can be updated separately.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object The specification of the Ocean cluster. | ||||||||||||||||
|
{- "cluster": {
- "name": "test",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVcpu": 750
}, - "down": {
- "evaluationPeriods": 3,
- "maxScaleDownPercentage": 30,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headRoom": {
- "cpuPerUnit": 0,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 0
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true
}, - "autoUpdate": {
- "isEnabled": true
}, - "capacity": {
- "minimum": 0,
- "maximum": 3,
- "target": 3
}, - "strategy": {
- "drainingTimeout": 60,
- "provisioningModel": "SPOT",
- "scalingOrientation": "COST",
- "preemptiblePercentage": 100,
- "shouldUtilizeCommitments": true,
- "revertToPreferred": {
- "shouldPerform": true,
- "maxBatchPercentage": 10
}
}, - "scheduling": {
- "shutdownHours": {
- "isEnabled": true,
- "timeWindows": [
- [
- "Fri:15:30-Wed:14:30",
- "Wed:15:30-Thu:18:30"
]
]
}, - "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}
}
}
]
}, - "security": {
- "containerImage": {
- "approvedImages": [
- [
- "gce.io/*",
- "docker.*"
]
]
}
}, - "compute": {
- "networkInterfaces": {
- "network": "default",
- "projectId": "test-project",
- "accessConfigs": {
- "name": "external-nat",
- "type": "ONE_TO_ONE_NAT"
}, - "aliasIpRanges": {
- "ipCidrRange": "/24",
- "subnetworkRangeName": "gke-test-native-vpc-pods-5cb557f7"
}
}, - "backendServices": {
- "backendServiceName": "test-global-tcp",
- "locationType": "regional",
- "scheme": "EXTERNAL",
- "namedPorts": {
- "name": "https",
- "ports": [
- 443,
- 8443
]
}
}, - "subnetName": "default",
- "availabilityZones": [
- "us-west1-a"
], - "instanceTypes": {
- "whitelist": [
- "n1-standard-2"
], - "blacklist": [
- "n2d-highcpu-96"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "includeFamilies": [
- "c2",
- "c3"
], - "excludeFamilies": [
- "n2",
- "c3"
]
}, - "preferredTypes": [
- "c3d-standard-4",
- "c3d-standard-8"
]
}, - "launchSpecification": {
- "metadata": {
- "key": "example_key1",
- "value": "exmample_value1"
}, - "tags": [
- "gke-cluster-name-12345-node"
], - "ipForwarding": true,
- "minCpuPlatform": "Intel Sandy Bridge",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "labels": [
- {
- "key": "spotinst-gke-original-node-pool",
- "value": "test-native-vpc__default-pool"
}
], - "rootVolumeSizeInGb": 100,
- "rootVolumeType": "pd-standard",
- "shieldedInstanceConfig": {
- "enableSecureBoot": true,
- "enableIntegrityMonitoring": true
}, - "useAsTemplateOnly": false
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/cluster/o-abcd1234",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "id": "o-abcd1234",
- "name": "test",
- "controllerClusterId": "test-123124",
- "gke": {
- "clusterName": "test-cluster",
- "masterLocation": "us-central1-a"
}, - "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVcpu": 750
}, - "down": {
- "evaluationPeriods": 3,
- "maxScaleDownPercentage": 30,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headRoom": {
- "cpuPerUnit": 0,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 0
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true
}, - "autoUpdate": {
- "isEnabled": true
}, - "capacity": {
- "minimum": 0,
- "maximum": 3,
- "target": 3
}, - "strategy": {
- "drainingTimeout": 60,
- "provisioningModel": "SPOT",
- "scalingOrientation": "COST",
- "preemptiblePercentage": 100,
- "shouldUtilizeCommitments": true,
- "revertToPreferred": {
- "shouldPerform": true,
- "maxBatchPercentage": 10
}
}, - "scheduling": {
- "shutdownHours": {
- "isEnabled": true,
- "timeWindows": [
- [
- "Fri:15:30-Wed:14:30",
- "Wed:15:30-Thu:18:30"
]
]
}, - "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "respectPdb": true
}
}
}
]
}, - "security": {
- "containerImage": {
- "approvedImages": [
- [
- "gce.io/*",
- "docker.*"
]
]
}
}, - "compute": {
- "networkInterfaces": {
- "network": "default",
- "projectId": "test-project",
- "accessConfigs": {
- "name": "external-nat",
- "type": "ONE_TO_ONE_NAT"
}, - "aliasIpRanges": {
- "ipCidrRange": "/24",
- "subnetworkRangeName": "gke-test-native-vpc-pods-5cb557f7"
}
}, - "backendServices": {
- "backendServiceName": "test-global-tcp",
- "locationType": "regional",
- "scheme": "EXTERNAL",
- "namedPorts": {
- "name": "https",
- "ports": [
- 443,
- 8443
]
}
}, - "subnetName": "default",
- "availabilityZones": [
- "us-west1-a"
], - "instanceTypes": {
- "whitelist": [
- "n1-standard-2"
], - "blacklist": [
- "n2d-highcpu-96"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "includeFamilies": [
- "c2",
- "c3"
], - "excludeFamilies": [
- "n2",
- "c3"
]
}, - "preferredTypes": [
- "c3d-standard-4",
- "c3d-standard-8"
]
}, - "launchSpecification": {
- "metadata": {
- "key": "example_key1",
- "value": "exmample_value1"
}, - "tags": [
- "gke-cluster-name-12345-node"
], - "ipForwarding": true,
- "minCpuPlatform": "Intel Sandy Bridge",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "labels": [
- {
- "key": "spotinst-gke-original-node-pool",
- "value": "test-native-vpc__default-pool"
}
], - "rootVolumeSizeInGb": 100,
- "rootVolumeType": "pd-standard",
- "shieldedInstanceConfig": {
- "enableSecureBoot": true,
- "enableIntegrityMonitoring": true
}, - "useAsTemplateOnly": false
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:ocean:gcp:k8s"
}
}
Reimport the cluster's configuration from GKE.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/cluster/o-12345abc/reImport",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "oceanId": "o-12345abc",
- "associatedClusterName": "gke-cluster",
- "isUpdated": true,
- "launchSpecs": [
- {
- "launchSpecId": "ols-12345abc",
- "associatedNodePool": "default-pool",
- "isUpdated": true
}, - {
- "launchSpecId": "ols-98765cba",
- "associatedNodePool": "pool-1",
- "isUpdated": false
}
]
}
}
], - "count": 1,
- "kind": "spotinst:ocean:gcp:k8s"
}
}
Detach instances from your Ocean cluster.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
drainingTimeout | integer (Applies only if shouldTerminateInstances is on) The draining timeout (in seconds) before terminating the instance. |
instancesToDetach required | Array of strings Array of instance identifiers to be detached. |
shouldDecrementTargetCapacity | boolean Determines whether the Ocean cluster's target capacity should be decremented. (Default false) |
shouldTerminateInstances | boolean Determines whether the detached instances should be terminated or not. (Default true) |
{- "instancesToDetach": [
- "sin-9d317117a0df-oesg-02cff6a8",
- "sin-49784809d76a-oesg-02cff6a8"
], - "shouldTerminateInstances": true,
- "shouldDecrementTargetCapacity": false,
- "drainingTimeout": 0
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/cluster/o-4c794b06/detachInstances",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Get group’s Elastilog by
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
fromDate required | string Beginning date value using either the date format "yyyy-mm-dd; 2016-11-20" or ms "1494751821472". |
limit | integer <= 1000 Default: 500 Example: limit=200 Maximum number of lines to extract in a response. |
resourceId | string Example: resourceId=i-12345678 Filter extracted log entries for a specific resource identifier. Default: Null |
severity | string Default: "ALL" Enum: "ALL" "INFO" "DEBUG" "ERROR" "WARN" Example: severity=INFO Severity of log entries to extract. |
toDate required | string End date value using either the date format "yyyy-mm-dd; 2016-11-20" or ms "1494751821472". |
{- "request": {
- "id": "3213f42e-455e-4801-a185-cd3eb65fac5f",
- "url": "/ocean/gcp/k8s/cluster/o-e0a2bd7c/log?fromDate=2020-10-06&toDate=2020-10-08&severity=ALL&limit=500",
- "method": "GET",
- "timestamp": "2020-10-05T16:20:38.579Z"
}, - "response": {
- "status": {
- "code": "200",
- "message": "OK"
}, - "kind": "spotinst:ocean:cluster:log",
- "items": [
- {
- "message": "Ocean o-e0a2bd7c successfully created.",
- "severity": "INFO",
- "createdAt": "2020-10-07T09:51:12.000Z"
}
], - "count": "1"
}
}
Get right-sizing recommendations for an Ocean cluster and filter them according to namespace or label.
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object Optional - may be null. | |||||
|
{- "filter": {
- "namespaces": [
- "sparkSpace",
- "kube-system"
], - "attribute": {
- "type": "label",
- "key": "app",
- "operator": "Equals",
- "value": "redis"
}
}
}
{- "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:ocean:aws:k8s:cluster:rightSizing:resourceSuggestion",
- "items": [
- {
- "resourceName": "dns-controller",
- "resourceType": "deployment",
- "namespace": "kube-system",
- "suggestedCPU": 1,
- "suggestedMemory": 19,
- "requestedCPU": 50,
- "requestedMemory": 50
}, - {
- "resourceName": "kube-dns",
- "resourceType": "daemonSet",
- "namespace": "kube-system",
- "suggestedCPU": 2,
- "suggestedMemory": 20,
- "requestedCPU": 10,
- "requestedMemory": 30
}
], - "count": 2
}
}
Provides Kubernetes cluster resource usage and costs over a time interval which can be grouped and/or filtered by label/annotaion.
For example - application name (webapp, backend), environment (production, staging), version etc.
The response will contain a breakdown of the cluster resource costs($) in terms of compute (CPU, memory) and storage.
The response will group the cluster usage costs based on preselected default of application namespace or user selected label or annotation.
Within the group, resource costs are broken down per resource kind (Deployment, DaemonSet etc.).
Time Rounding Down: The CostAnalysis API applies rounding down to the hours provided during the call.
For example, the value 1707004799099 (In GMT) representing Saturday, February 3, 2024, 23:59:59.099 is rounded down to Saturday, February 3, 2024, 23:00:00.000, resulting in the omission of one hour of cost.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
endTime required | string End date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
object Describe how to filter the costs. Optional field. | |
groupBy | string Default: "namespace" Enum: "namespace" "namespace.label.${labelKey}" "resource.label.${labelKey}" "resource.annotation.${annotationKey}" "namespace.annotation.${annotationKey}" The parameter we want to group the costs by. |
startTime required | string Beginning date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
{- "startTime": "2018-06-20T11:35:02.745Z",
- "endTime": "2018-06-22T11:30:01.745Z",
- "groupBy": "namespace.label.env",
- "filter": {
- "scope": "namespace",
- "conditions": {
- "anyMatch": [
- {
- "allMatch": [
- {
- "type": "label",
- "key": "env",
- "operator": "equals",
- "value": "prod"
}, - {
- "type": "label",
- "key": "app",
- "operator": "exists"
}
]
}, - {
- "allMatch": [
- {
- "type": "annotation",
- "key": "meta.data",
- "operator": "exists"
}
]
}
]
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/cluster/o-abcd1234/aggregatedCosts",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "result": {
- "totalForDuration": {
- "startTime": "2018-06-20T11:35:01.745Z",
- "endTime": "2018-06-22T11:30:01.745Z",
- "summary": {
- "total": 41772.882658036,
- "compute": {
- "total": 40668.1299631538,
- "workloads": {
- "total": 40668.1299631538
}, - "headroom": {
- "total": 0
}
}, - "storage": {
- "total": 1104.7526948819,
- "block": {
- "total": 1104.7526948819,
- "pdPv": {
- "total": 1104.7526948819
}, - "pdBoot": {
- "total": 0
}
}
}
}, - "detailedCosts": {
- "groupedBy": "n.l.name",
- "aggregations": {
- "property1": {
- "summary": {
- "total": 425.23778,
- "compute": {
- "total": 125.23778
}, - "storage": {
- "total": 300,
- "block": {
- "total": 300,
- "pdPv": {
- "total": 300
}, - "pdBoot": {
- "total": 0
}
}
}
}, - "resources": [
- {
- "metadata": {
- "name": "k8s-events",
- "type": "Deployment",
- "namespace": "kube-system"
}, - "total": 1.655635222,
- "compute": {
- "total": 1.4213600158
}, - "storage": {
- "total": 0.2342752062,
- "block": {
- "total": 0.2342752062,
- "pdPv": {
- "total": 0
}, - "pdBoot": {
- "total": 0.2342752062
}
}
}
}
]
}, - "property2": {
- "summary": {
- "total": 425.23778,
- "compute": {
- "total": 125.23778
}, - "storage": {
- "total": 300,
- "block": {
- "total": 300,
- "pdPv": {
- "total": 300
}, - "pdBoot": {
- "total": 0
}
}
}
}, - "resources": [
- {
- "metadata": {
- "name": "k8s-events",
- "type": "Deployment",
- "namespace": "kube-system"
}, - "total": 1.655635222,
- "compute": {
- "total": 1.4213600158
}, - "storage": {
- "total": 0.2342752062,
- "block": {
- "total": 0.2342752062,
- "pdPv": {
- "total": 0
}, - "pdBoot": {
- "total": 0.2342752062
}
}
}
}
]
}
}
}
}
}
}
], - "count": 1,
- "kind": "ocean:k8s:cluster:aggregatedCosts:detailed"
}
}
Provides Kubernetes cluster summary usage and costs over a time interval which can be grouped and/or filtered by label/annotaion,
for example - application name (webapp, backend), environment (production, staging), version etc.
The response will contain a breakdown of the cluster resource costs($) in terms of compute (CPU, memory), storage (block, file, rootVolume).
The response will group the cluster usage costs based on preselected default of application namespace or user selected label or annotation.
Time Rounding Down: The CostAnalysis API applies rounding down to the hours provided during the call.
For example, the value 1707004799099 (In GMT) representing Saturday, February 3, 2024, 23:59:59.099 is rounded down to Saturday, February 3, 2024, 23:00:00.000, resulting in the omission of one hour of cost.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
endTime required | string End date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
object Describe how to filter the costs. Optional field. | |
groupBy | string Default: "namespace" Enum: "namespace" "namespace.label.${labelKey}" "resource.label.${labelKey}" "resource.annotation.${annotationKey}" "namespace.annotation.${annotationKey}" The parameter we want to group the costs by. |
startTime required | string Beginning date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
{- "startTime": "2023-07-20T11:35:01.745Z",
- "endTime": "2023-07-22T11:30:01.745Z",
- "groupBy": "namespace.label.env",
- "filter": {
- "scope": "namespace",
- "conditions": {
- "anyMatch": [
- {
- "allMatch": [
- {
- "type": "label",
- "key": "env",
- "operator": "equals",
- "value": "prod"
}, - {
- "type": "label",
- "key": "app",
- "operator": "exists"
}
]
}, - {
- "allMatch": [
- {
- "type": "annotation",
- "key": "meta.data",
- "operator": "exists"
}
]
}
]
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/cluster/o-abcd1234/aggregatedCosts/summary",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "result": {
- "totalForDuration": {
- "startTime": "2023-07-20T11:35:01.745Z",
- "endTime": "2023-07-22T11:30:01.745Z",
- "summary": {
- "total": 41772.882658035785,
- "compute": {
- "total": 40668.1299631538,
- "workloads": {
- "total": 39882.13803327978
}, - "headroom": {
- "total": 0
}
}, - "storage": {
- "total": 1104.7526948819868,
- "block": {
- "total": 1104.7526948819868,
- "pdPv": {
- "total": 1104.7526948819868
}, - "pdBoot": {
- "total": 0
}
}
}
}
}
}
}
], - "count": 1,
- "kind": "ocean:k8s:cluster:aggregatedCosts:summary"
}
}
Returns all instances types that match the given filters. These instance types will be used if the cluster is configured with these filters.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (InstanceTypesFilters) List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured together with whitelist/blacklist. | ||||||||||||
|
{- "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "includeFamilies": [
- "c2",
- "c3"
], - "excludeFamilies": [
- "n2",
- "c3"
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/cluster/o-abcd1234/instanceTypeFiltersSimulation",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "filteredInstanceTypes": [
- "n1-highcpu-4",
- "n1-highcpu-2",
- "n1-highcpu-8",
- "n1-standard-2",
- "n1-standard-1"
]
}
], - "count": 1,
- "kind": "spotinst:ocean:gcp:k8s:instanceTypesFilters:simulation"
}
}
Create a Virtual Node Group.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
initialNodes | integer Default: null Example: initialNodes=1 When set to an integer greater than 0, a corresponding number of nodes will be launched from the virtual node group created. |
required | object (oceanClusterLaunchSpecCreate) Ocean Cluster Virtual Node Group (VNG). | ||||||||||||||||||||||||||||||||||||||||||||
|
{- "launchSpec": {
- "oceanId": "o-1fff54ed",
- "name": "lp_name",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "rootVolumeSizeInGb": 8,
- "rootVolumeType": "pd-standard",
- "metadata": [
- {
- "key": "key1",
- "value": "value1"
}, - {
- "key": "key2",
- "value": "value2"
}
], - "instanceTypes": [
- "n1-standard-1",
- "n1-standard-2"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "includeFamilies": [
- "c2",
- "c3"
], - "excludeFamilies": [
- "n2",
- "c3"
]
}, - "preferredTypes": [
- "c3d-standard-4",
- "c3d-standard-8"
], - "availabilityZones": [
- "us-central1-a",
- "us-central1-b"
], - "tags": [
- "gke-cluster-name-12345-node",
- "network-tag-1"
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
], - "autoHeadroomPercentage": 20,
- "down": {
- "maxScaleDownPercentage": 30
}
}, - "resourceLimits": {
- "maxInstanceCount": 5,
- "minInstanceCount": 2
}, - "restrictScaleDown": false,
- "shieldedInstanceConfig": {
- "enableSecureBoot": true,
- "enableIntegrityMonitoring": true
}, - "strategy": {
- "preemptiblePercentage": 80,
- "scalingOrientation": "COST",
- "shouldUtilizeCommitments": true,
- "revertToPreferred": {
- "shouldPerform": true,
- "maxBatchPercentage": 10
}
}, - "storage": {
- "localSsdCount": 2
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 1
}
]
}
}
]
}, - "networkInterfaces": [
- {
- "network": "default",
- "projectId": "test-project",
- "accessConfigs": [
- {
- "name": "external-nat",
- "type": "ONE_TO_ONE_NAT"
}
], - "aliasIpRanges": [
- {
- "ipCidrRange": "/24",
- "subnetworkRangeName": "gke-test-native-vpc-pods-5cb557f7"
}
]
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/launchSpec",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanId": "o-1fff54ed",
- "name": "lp_name",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "rootVolumeSizeInGb": 8,
- "rootVolumeType": "pd-standard",
- "metadata": [
- {
- "key": "key1",
- "value": "value1"
}, - {
- "key": "key2",
- "value": "value2"
}
], - "instanceTypes": [
- "n1-standard-1",
- "n1-standard-2"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "includeFamilies": [
- "c2",
- "c3"
], - "excludeFamilies": [
- "n2",
- "c3"
]
}, - "preferredTypes": [
- "c3d-standard-4",
- "c3d-standard-8"
], - "availabilityZones": [
- "us-central1-a",
- "us-central1-b"
], - "tags": [
- "gke-cluster-name-12345-node",
- "network-tag-1"
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
], - "autoHeadroomPercentage": 20,
- "down": {
- "maxScaleDownPercentage": 30
}
}, - "resourceLimits": {
- "maxInstanceCount": 5,
- "minInstanceCount": 2
}, - "restrictScaleDown": false,
- "shieldedInstanceConfig": {
- "enableSecureBoot": true,
- "enableIntegrityMonitoring": true
}, - "strategy": {
- "preemptiblePercentage": 80,
- "scalingOrientation": "COST",
- "shouldUtilizeCommitments": true,
- "revertToPreferred": {
- "shouldPerform": true,
- "maxBatchPercentage": 10
}
}, - "storage": {
- "localSsdCount": 2
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 1
}
]
}
}
]
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "networkInterfaces": [
- {
- "network": "default",
- "projectId": "test-project",
- "accessConfigs": [
- {
- "name": "external-nat",
- "type": "ONE_TO_ONE_NAT"
}
], - "aliasIpRanges": [
- {
- "ipCidrRange": "/24",
- "subnetworkRangeName": "gke-test-native-vpc-pods-5cb557f7"
}
]
}
]
}
], - "count": 1,
- "kind": "spotinst:ocean:gcp:k8s:launchSpec"
}
}
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
oceanId required | string Example: oceanId=o-12345abc Identifier of the Ocean cluster. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/launchSpec",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanId": "o-1fff54ed",
- "name": "lp_name",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "rootVolumeSizeInGb": 8,
- "rootVolumeType": "pd-standard",
- "metadata": [
- {
- "key": "key1",
- "value": "value1"
}, - {
- "key": "key2",
- "value": "value2"
}
], - "instanceTypes": [
- "n1-standard-1",
- "n1-standard-2"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "includeFamilies": [
- "c2",
- "c3"
], - "excludeFamilies": [
- "n2",
- "c3"
]
}, - "preferredTypes": [
- "c3d-standard-4",
- "c3d-standard-8"
], - "availabilityZones": [
- "us-central1-a",
- "us-central1-b"
], - "tags": [
- "gke-cluster-name-12345-node",
- "network-tag-1"
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
], - "autoHeadroomPercentage": 20,
- "down": {
- "maxScaleDownPercentage": 30
}
}, - "resourceLimits": {
- "maxInstanceCount": 5,
- "minInstanceCount": 2
}, - "restrictScaleDown": false,
- "shieldedInstanceConfig": {
- "enableSecureBoot": true,
- "enableIntegrityMonitoring": true
}, - "strategy": {
- "preemptiblePercentage": 80,
- "scalingOrientation": "COST",
- "shouldUtilizeCommitments": true,
- "revertToPreferred": {
- "shouldPerform": true,
- "maxBatchPercentage": 10
}
}, - "storage": {
- "localSsdCount": 2
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 1
}
]
}
}
]
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "networkInterfaces": [
- {
- "network": "default",
- "projectId": "test-project",
- "accessConfigs": [
- {
- "name": "external-nat",
- "type": "ONE_TO_ONE_NAT"
}
], - "aliasIpRanges": [
- {
- "ipCidrRange": "/24",
- "subnetworkRangeName": "gke-test-native-vpc-pods-5cb557f7"
}
]
}
]
}
], - "count": 1,
- "kind": "spotinst:ocean:gcp:k8s:launchSpec"
}
}
Returns an Ocean Virtual Node Group (VNG) configuration based on a given GCP GKE Cluster Node Pool.
The returned value ("Imported VNG") can then be used as input to the Create VNG API in order to create an actual VNG in your Ocean cluster.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
nodePoolName required | string Example: nodePoolName=test Name of the Node Pool. |
oceanId required | string Example: oceanId=o-12345abc Identifier of the Ocean cluster. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/launchSpec/import",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanId": "o-1fff54ed",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "rootVolumeType": "pd-standard",
- "metadata": [
- {
- "key": "key1",
- "value": "value1"
}, - {
- "key": "key2",
- "value": "value2"
}
], - "availabilityZones": [
- "us-central1-a",
- "us-central1-b"
], - "tags": [
- "gke-cluster-name-12345-node",
- "network-tag-1"
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "shieldedInstanceConfig": {
- "enableSecureBoot": true,
- "enableIntegrityMonitoring": true
}, - "storage": {
- "localSsdCount": 2
}
}
], - "count": 1,
- "kind": "spotinst:ocean:gcp:k8s:launchSpec"
}
}
Delete a specified virtual node group in an Ocean cluster.
launchSpecId required | string Ocean cluster Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
deleteNodes | boolean Default: false Example: deleteNodes=true When set to "true", all instances belonging to the deleted Virtual Node Group will be drained, detached, and terminated. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/launchSpec/ols-12345abc",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
All Ocean parameters in a virtual node group are updatable.
launchSpecId required | string Ocean cluster Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object Object specifying the automatic scaling of an Ocean VNG. | |
availabilityZones | Array of strings An array holding availability zones, this configures the availability zones the Ocean may launch instances in per VNG. Can be null. |
object (InstanceTypesFilters) List of filters. The Instance types that match with all filters compose the Ocean's whitelist parameter. Cannot be configured together with whitelist/blacklist. | |
instanceTypes | Array of strings An array of supported machine types for the virtual node group. Can be null. |
Array of objects An array of labels to add to the virtual node group. Only custom user labels are allowed, and not Kubernetes built-in labels or Spot internal labels. | |
Array of objects Add metadata to the cluster. | |
name | string Set the name for the virtual node group. |
oceanId required | string The Ocean cluster identifier. Required to create the virtual node group. |
preferredTypes | Array of strings (preferredTypes) When Ocean scales up VMs, it prioritizes the preferred instance types for launching new nodes. If launching nodes from this preferred list is not feasible, Ocean will then proceed to utilize the configured instance types available within the cluster. Note that the preferred types must be a subset of the instance types configured for the cluster/vng. |
object | |
restrictScaleDown | boolean When set to True, VNG nodes will be treated as if all pods running have the restrict-scale-down label. Therefore, Ocean will not scale nodes down unless they are empty. |
rootVolumeSizeInGb | integer Set root volume size (in GB). |
rootVolumeType | string Enum: "pd-standard" "pd-ssd" "pd-balanced" Set the root volume disk type. |
object (Ocean Scheduling) An object used to define scheduled tasks such as a manual headroom update. | |
serviceAccount | string The account used by applications running on the VM to call GCP APIs. |
object (shielded-instance-config) The Ocean shielded instance configuration object. | |
sourceImage required | string Set the image URL. Can be null. |
object (storage) The Ocean virtual node group storage object. | |
object (strategy) The Ocean virtual node group strategy object. | |
tags | Array of strings Every node launched from this VNG will have those tags. If the value is null, the nodes will have the tags configured at the cluster level. |
Array of objects Add taints to the virtual node group. |
{- "oceanId": "o-1fff54ed",
- "name": "lp_name",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "rootVolumeSizeInGb": 8,
- "rootVolumeType": "pd-standard",
- "metadata": [
- {
- "key": "key1",
- "value": "value1"
}, - {
- "key": "key2",
- "value": "value2"
}
], - "instanceTypes": [
- "n1-standard-1",
- "n1-standard-2"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "includeFamilies": [
- "c2",
- "c3"
], - "excludeFamilies": [
- "n2",
- "c3"
]
}, - "preferredTypes": [
- "c3d-standard-4",
- "c3d-standard-8"
], - "availabilityZones": [
- "us-central1-a",
- "us-central1-b"
], - "tags": [
- "gke-cluster-name-12345-node",
- "network-tag-1"
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
], - "autoHeadroomPercentage": 20,
- "down": {
- "maxScaleDownPercentage": 30
}
}, - "resourceLimits": {
- "maxInstanceCount": 5,
- "minInstanceCount": 2
}, - "restrictScaleDown": false,
- "shieldedInstanceConfig": {
- "enableSecureBoot": true,
- "enableIntegrityMonitoring": true
}, - "strategy": {
- "preemptiblePercentage": 80,
- "scalingOrientation": "COST",
- "shouldUtilizeCommitments": true,
- "revertToPreferred": {
- "shouldPerform": true,
- "maxBatchPercentage": 10
}
}, - "storage": {
- "localSsdCount": 2
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 1
}
]
}
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/launchSpec/ols-12345abc",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanId": "o-1fff54ed",
- "name": "lp_name",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "rootVolumeSizeInGb": 8,
- "rootVolumeType": "pd-standard",
- "metadata": [
- {
- "key": "key1",
- "value": "value1"
}, - {
- "key": "key2",
- "value": "value2"
}
], - "instanceTypes": [
- "n1-standard-1",
- "n1-standard-2"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "includeFamilies": [
- "c2",
- "c3"
], - "excludeFamilies": [
- "n2",
- "c3"
]
}, - "preferredTypes": [
- "c3d-standard-4",
- "c3d-standard-8"
], - "availabilityZones": [
- "us-central1-a",
- "us-central1-b"
], - "tags": [
- "gke-cluster-name-12345-node",
- "network-tag-1"
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
], - "autoHeadroomPercentage": 20,
- "down": {
- "maxScaleDownPercentage": 30
}
}, - "resourceLimits": {
- "maxInstanceCount": 5,
- "minInstanceCount": 2
}, - "restrictScaleDown": false,
- "shieldedInstanceConfig": {
- "enableSecureBoot": true,
- "enableIntegrityMonitoring": true
}, - "strategy": {
- "preemptiblePercentage": 80,
- "scalingOrientation": "COST",
- "shouldUtilizeCommitments": true,
- "revertToPreferred": {
- "shouldPerform": true,
- "maxBatchPercentage": 10
}
}, - "storage": {
- "localSsdCount": 2
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 1
}
]
}
}
]
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:gcp:k8s:launchSpec"
}
}
launchSpecId required | string Ocean cluster Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/launchSpec/ols-12345abc",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanId": "o-1fff54ed",
- "name": "lp_name",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "rootVolumeSizeInGb": 8,
- "rootVolumeType": "pd-standard",
- "metadata": [
- {
- "key": "key1",
- "value": "value1"
}, - {
- "key": "key2",
- "value": "value2"
}
], - "instanceTypes": [
- "n1-standard-1",
- "n1-standard-2"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "includeFamilies": [
- "c2",
- "c3"
], - "excludeFamilies": [
- "n2",
- "c3"
]
}, - "preferredTypes": [
- "c3d-standard-4",
- "c3d-standard-8"
], - "availabilityZones": [
- "us-central1-a",
- "us-central1-b"
], - "tags": [
- "gke-cluster-name-12345-node",
- "network-tag-1"
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
], - "autoHeadroomPercentage": 20,
- "down": {
- "maxScaleDownPercentage": 30
}
}, - "resourceLimits": {
- "maxInstanceCount": 5,
- "minInstanceCount": 2
}, - "restrictScaleDown": false,
- "shieldedInstanceConfig": {
- "enableSecureBoot": true,
- "enableIntegrityMonitoring": true
}, - "strategy": {
- "preemptiblePercentage": 80,
- "scalingOrientation": "COST",
- "shouldUtilizeCommitments": true,
- "revertToPreferred": {
- "shouldPerform": true,
- "maxBatchPercentage": 10
}
}, - "storage": {
- "localSsdCount": 2
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "manualHeadroomUpdate",
- "config": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 1
}
]
}
}
]
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "networkInterfaces": [
- {
- "network": "default",
- "projectId": "test-project",
- "accessConfigs": [
- {
- "name": "external-nat",
- "type": "ONE_TO_ONE_NAT"
}
], - "aliasIpRanges": [
- {
- "ipCidrRange": "/24",
- "subnetworkRangeName": "gke-test-native-vpc-pods-5cb557f7"
}
]
}
]
}
], - "count": 1,
- "kind": "spotinst:ocean:gcp:k8s:launchSpec"
}
}
Roll an entire Ocean cluster or roll subsets of the cluster by specifying launchSpecIds or instanceNames. Performing this request will start the roll immediately, and the roll will take place according to defined batches.
Note that the first response for a successful request will notify about the start of a roll. In order to check the status of a roll, you can use the GET Cluster Roll API using the roll identifier.
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object | |||||||||
|
{- "roll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "respectPdb": true,
- "batchMinHealthyPercentage": 100
}
}
{- "rollId": "roll-1234",
- "oceanId": "o-12e31234",
- "scope": "Cluster",
- "status": "IN_PROGRESS",
- "batchNumber": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "respectPdb": true,
- "progress": {
- "unit": "percentage",
- "value": 0,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceName": "sin-0a4becc0-sig-1234abcd",
- "status": "REPLACED"
}, - {
- "instanceName": "sin-1a4becc0-sig-1234abcd",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceName": "sin-2a4becc0-sig-1234abcd",
- "status": "COULD_NOT_BE_REPLACED"
}, - {
- "instanceName": "sin-3a4becc0-sig-1234abcd",
- "status": "NOT_REPLACED_DUE_TO_PDB"
}
]
}
}, - "instanceNames": [
- "sin-0a4becc0-sig-6952238d",
- "sin-0542ecc0-sig-695223r4"
], - "launchSpecIds": [
- "ols-76694a7d",
- "ols-56694a76"
], - "batchMinHealthyPercentage": 100,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
Get status for all rolls of an Ocean cluster.
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:ocean:aws:k8s:cluster:roll",
- "items": [
- {
- "id": "scr-5aaf854e",
- "scope": "Cluster",
- "status": "IN_PROGRESS",
- "currentBatch": 2,
- "numOfBatches": 2,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "unit": "percentage",
- "value": 0,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceName": "sin-0a4becc0-sig-1234abcd",
- "status": "REPLACED"
}, - {
- "instanceName": "sin-1a4becc0-sig-1234abcd",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceName": "sin-2a4becc0-sig-1234abcd",
- "status": "COULD_NOT_BE_REPLACED"
}, - {
- "instanceName": "sin-3a4becc0-sig-1234abcd",
- "status": "NOT_REPLACED_DUE_TO_PDB"
}
]
}
}, - "batchMinHealthyPercentage": 100,
- "oceanId": "o-30681b13",
- "launchSpecIds": [
- [
- "ols-76694a7d",
- "ols-56694a76"
]
], - "respectPdb": true,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
]
}
Update a roll of an Ocean cluster.
Performing the request will stop the next batch in a roll.
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
rollId required | string Example: scr-12345abc Ocean Cluster Roll identifier |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object Object that specifies the parameters of a roll (also called a deployment). | |||
|
{- "roll": {
- "status": "STOPPED"
}
}
{- "rollId": "roll-1234",
- "status": "STOPPED",
- "batchNumber": 1,
- "numOfBatches": 5,
- "scope": "Cluster",
- "progress": {
- "unit": "percentage",
- "value": 0,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceName": "sin-0a4becc0-sig-1234abcd",
- "status": "REPLACED"
}, - {
- "instanceName": "sin-1a4becc0-sig-1234abcd",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceName": "sin-2a4becc0-sig-1234abcd",
- "status": "COULD_NOT_BE_REPLACED"
}, - {
- "instanceName": "sin-3a4becc0-sig-1234abcd",
- "status": "NOT_REPLACED_DUE_TO_PDB"
}
]
}
}, - "batchMinHealthyPercentage": 100,
- "oceanId": "o-12e31234",
- "respectPdb": true,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
Get status for roll of an Ocean cluster.
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
rollId required | string Example: scr-12345abc Ocean Cluster Roll identifier |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "rollId": "roll-1234",
- "oceanId": "o-12e31234",
- "scope": "Cluster",
- "status": "IN_PROGRESS",
- "batchNumber": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "respectPdb": true,
- "progress": {
- "unit": "percentage",
- "value": 0,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceName": "sin-0a4becc0-sig-1234abcd",
- "status": "REPLACED"
}, - {
- "instanceName": "sin-1a4becc0-sig-1234abcd",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceName": "sin-2a4becc0-sig-1234abcd",
- "status": "COULD_NOT_BE_REPLACED"
}, - {
- "instanceName": "sin-3a4becc0-sig-1234abcd",
- "status": "NOT_REPLACED_DUE_TO_PDB"
}
]
}
}, - "instanceNames": [
- "sin-0a4becc0-sig-6952238d",
- "sin-0542ecc0-sig-695223r4"
], - "launchSpecIds": [
- "ols-76694a7d",
- "ols-56694a76"
], - "batchMinHealthyPercentage": 100,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
Get nodes data of an Ocean cluster.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
instanceName | string Example: instanceName=sin-123 Get a specific node by instance name. |
launchSpecId | string Example: launchSpecId=ols-123abc Ocean cluster Virtual Node Group identifier. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/cluster/o-12345abc/nodes",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "instanceName": "sin-123",
- "instanceType": "n1-standard-2",
- "availabilityZone": "us-central1-b",
- "launchSpecId": "ols-123",
- "launchSpecName": "dev-launchSpec",
- "lifeCycle": "Preemtible",
- "publicIp": "1.2.3.4",
- "workloadRequestedMilliCpu": 1320,
- "workloadRequestedMemoryInMiB": 500,
- "workloadRequestedGpu": 1,
- "headroomRequestedMilliCpu": 1320,
- "headroomRequestedMemoryInMiB": 512,
- "headroomRequestedGpu": 1,
- "allocatableMilliCpu": 2000,
- "allocatableMemoryInMiB": 3646.1,
- "allocatableGpu": 1,
- "nodeName": "node-1",
- "registrationStatus": "Registered",
- "createdAt": "2021-10-1T05:51:06.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:gcp:k8s:nodes"
}
}
Prerequisites | Perform the following validations prior to upgrade executions: | * Group identifier cannot be null. * Group identifier exists in Elastigroup. * Group should be a GKE Elastigroup with defined scaling policy. * Group identifier is already managed by Ocean.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
groupId required | string Elastigroup identifier |
{- "request": {
- "id": "e1aba6b3-d1be-419f-b19a-9542e09716a5",
- "url": "/ocean/gcp/k8s/cluster/import?groupId=o-210e0c0b?accountId=act-7461862f",
- "method": "GET",
- "timestamp": "2019-03-05T15:43:16.306Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:ocean:gcp:k8s",
- "items": {
- "id": "o-9aa80ccb",
- "name": "ocean test",
- "controllerClusterId": "Test-5837c8ad1",
- "gke": {
- "clusterName": "test-native-vpc",
- "masterLocation": "us-central1-a"
}, - "capacity": {
- "minimum": 0,
- "maximum": 3,
- "target": 3
}, - "compute": {
- "networkInterfaces": {
- "network": "default",
- "accessConfigs": {
- "name": "external-nat",
- "type": "ONE_TO_ONE_NAT"
}, - "aliasIpRanges": {
- "ipCidrRange": "/24",
- "subnetworkRangeName": "gke-test-native-vpc-pods-5cb557f7"
}
}, - "subnetName": "default",
- "instanceTypes": {
- "whitelist": [
- "n1-standard-2"
]
}, - "launchSpecification": {
- "metadata": {
- "key": "example_key1",
- "value": "exmample_value1"
}, - "tags": [
- "gke-cluster-name-12345-node"
], - "ipForwarding": true,
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "labels": [
- {
- "key": "spotinst-gke-original-node-pool",
- "value": "test-native-vpc__default-pool"
}
], - "rootVolumeSizeInGb": 100
}, - "availabilityZones": [
- [
- "us-central1-a"
]
]
}, - "createdAt": "2018-11-05T12:55:50.000+0000",
- "updatedAt": "2018-11-05T12:58:15.000+0000"
}, - "count": 1
}
}
Returns an Ocean Cluster configuration, and optionally Virtual Node Group (VNG) configurations based on a given GKE Cluster and its Node Pools.
The returned values ("Imported Cluster/VNGs") can then be used as inputs to the Create Cluster/VNG APIs in order to create the respectful resources.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
clusterName required | string Example: clusterName=test-gke Name of the GKE Cluster. |
includeLaunchSpecs | boolean Default: true Example: includeLaunchSpecs=true When set to "true", GKE cluster node pools will be imported to Ocean custom VNG ("customLaunchSpec") configurations. |
location required | string Example: location=us-central1-a Location GKE Cluster Master. |
nodePoolName | string Example: nodePoolName=test Name of the Node Pool to use as a default for the Cluster configuration. |
required | object The specification of the Ocean cluster. | ||||||||||||||
|
{- "cluster": {
- "name": "test",
- "controllerClusterId": "test-123124",
- "capacity": {
- "minimum": 0,
- "maximum": 3,
- "target": 3
}, - "instanceTypes": {
- "whitelist": [
- "n1-standard-2"
], - "blacklist": [
- "n2d-highcpu-96"
]
}, - "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVcpu": 750
}, - "down": {
- "evaluationPeriods": 3,
- "maxScaleDownPercentage": 30,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headRoom": {
- "cpuPerUnit": 0,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 0
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true
}, - "availabilityZones": [
- "us-central1-a",
- "us-central1-b"
], - "backendServices": [
- {
- "backendServiceName": "bserv-2",
- "locationType": "regional",
- "scheme": "EXTERNAL",
- "namedPorts": {
- "name": "https",
- "ports": [
- 443,
- 8443
]
}
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/cluster/gke/import",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "name": "test",
- "controllerClusterId": "test-123124",
- "gke": {
- "clusterName": "test-cluster",
- "masterLocation": "us-central1-a"
}, - "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVcpu": 750
}, - "down": {
- "evaluationPeriods": 3,
- "maxScaleDownPercentage": 30,
- "aggressiveScaleDown": {
- "isEnabled": false
}
}, - "headRoom": {
- "cpuPerUnit": 0,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 0
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true
}, - "autoUpdate": {
- "isEnabled": true
}, - "capacity": {
- "minimum": 0,
- "maximum": 3,
- "target": 3
}, - "compute": {
- "networkInterfaces": {
- "network": "default",
- "projectId": "test-project",
- "accessConfigs": {
- "name": "external-nat",
- "type": "ONE_TO_ONE_NAT"
}, - "aliasIpRanges": {
- "ipCidrRange": "/24",
- "subnetworkRangeName": "gke-test-native-vpc-pods-5cb557f7"
}
}, - "backendServices": {
- "backendServiceName": "test-global-tcp",
- "locationType": "regional",
- "scheme": "EXTERNAL",
- "namedPorts": {
- "name": "https",
- "ports": [
- 443,
- 8443
]
}
}, - "subnetName": "default",
- "availabilityZones": [
- "us-west1-a"
], - "instanceTypes": {
- "whitelist": [
- "n1-standard-2"
], - "blacklist": [
- "n2d-highcpu-96"
], - "filters": {
- "minVcpu": 2,
- "maxVcpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "includeFamilies": [
- "c2",
- "c3"
], - "excludeFamilies": [
- "n2",
- "c3"
]
}, - "preferredTypes": [
- "c3d-standard-4",
- "c3d-standard-8"
]
}, - "launchSpecification": {
- "metadata": {
- "key": "example_key1",
- "value": "exmample_value1"
}, - "tags": [
- "gke-cluster-name-12345-node"
], - "ipForwarding": true,
- "minCpuPlatform": "Intel Sandy Bridge",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "labels": [
- {
- "key": "spotinst-gke-original-node-pool",
- "value": "test-native-vpc__default-pool"
}
], - "rootVolumeSizeInGb": 100,
- "rootVolumeType": "pd-standard",
- "shieldedInstanceConfig": {
- "enableSecureBoot": true,
- "enableIntegrityMonitoring": true
}, - "useAsTemplateOnly": false
}
}
}, - "customLaunchSpecs": [
- {
- "oceanId": "o-1fff54ed",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "rootVolumeType": "pd-standard",
- "metadata": [
- {
- "key": "key1",
- "value": "value1"
}, - {
- "key": "key2",
- "value": "value2"
}
], - "availabilityZones": [
- "us-central1-a",
- "us-central1-b"
], - "tags": [
- "gke-cluster-name-12345-node",
- "network-tag-1"
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "shieldedInstanceConfig": {
- "enableSecureBoot": true,
- "enableIntegrityMonitoring": true
}, - "storage": {
- "localSsdCount": 2
}
}
]
}
], - "count": 1,
- "kind": "spotinst:ocean:gcp:k8s"
}
}
Launch nodes in virtual node group.
launchSpecId required | string Ocean cluster Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object (Ocean GKE Virtual Node Group Launch Request) | |||
|
{- "launchRequest": {
- "amount": 5
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/gcp/k8s/launchSpec/ols-12345abc/launchNodes",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "newInstances": [
- {
- "instanceName": "sin-00b61aa5dde4-oesg-97499562",
- "availabilityZone": "us-west-2b",
- "instanceType": "c3.xlarge",
- "lifeCycle": "Preemptible"
}
]
}
], - "count": 1,
- "kind": "spotinst:ocean:gcp:k8s:launchSpec:launchNodes",
- "launchSpecId": "ols-f73821bc"
}
}
Creates an Ocean entity according to a given specification.
Notes:
It is recommended to import all necessary information from the existing AKS cluster using the Ocean AKS Cluster Import API call and use its output to create a fully configured Ocean cluster.
The Ocean Controller is used to monitor the cluster resources and report back to Ocean SaaS. A properly functioning controller is mandatory for Ocean to operate.
Installing the controller can be easily done by Helm, Terraform or a script using the guide.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (ocean-cluster-2) The Ocean cluster. | ||||||||||||||||
|
{- "cluster": {
- "name": "test",
- "controllerClusterId": "test-123124",
- "aks": {
- "clusterName": "test-cluster",
- "resourceGroupName": "TestResourceGroup",
- "region": "eastus",
- "infrastructureResourceGroupName": "MC_TestResourceGroup_test-cluster_eastus"
}, - "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVCpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "scheduling": {
- "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}, - "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "batchSizePercentage": 20,
- "comment": "Scheduled cluster roll",
- "respectPdb": true,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 80,
- "vngIds": [
- "vng-123456"
]
}
}
], - "suspensionHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "logging": {
- "export": {
- "azureBlob": {
- "id": "di-123"
}
}
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "availabilityZones": [
- "0",
- "1",
- "2",
- "3"
], - "nodePoolProperties": {
- "maxPodsPerNode": 30,
- "enableNodePublicIP": true,
- "osDiskSizeGB": 64,
- "osDiskType": "Managed",
- "osType": "Linux",
- "osSKU": "Ubuntu",
- "kubernetesVersion": 1.26,
- "vnetSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "podSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "linuxOSConfig": {
- "sysctls": {
- "vmMaxMapCount": 79550
}
}
}, - "nodeCountLimits": {
- "minCount": 1,
- "maxCount": 100
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 2
}
]
}, - "labels": {
- "key": "value"
}, - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "tags": { },
- "vmSizes": {
- "filters": {
- "minVCpu": 2,
- "maxVCpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "architectures": [
- "x86_64"
], - "series": [
- "D v3",
- "F",
- "E v4"
], - "excludeSeries": [
- "Bs",
- "Da v4"
], - "minDisk": 1,
- "minGpu": 1,
- "maxGpu": 2,
- "diskPerformance": "Standard",
- "acceleratedNetworking": "Enabled",
- "minNICs": 4,
- "vmTypes": [
- "memoryOptimized"
], - "gpuTypes": [
- [
- "nvidia-tesla-t4"
]
]
}
}, - "scheduling": {
- "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "o-134abcd",
- "name": "test",
- "controllerClusterId": "test-123124",
- "aks": {
- "clusterName": "test-cluster",
- "resourceGroupName": "TestResourceGroup",
- "region": "eastus",
- "infrastructureResourceGroupName": "MC_TestResourceGroup_test-cluster_eastus"
}, - "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVCpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "scheduling": {
- "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}, - "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "batchSizePercentage": 20,
- "comment": "Scheduled cluster roll",
- "respectPdb": true,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 80,
- "vngIds": [
- "vng-123456"
]
}
}
], - "suspensionHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "logging": {
- "export": {
- "azureBlob": {
- "id": "di-123"
}
}
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "availabilityZones": [
- "1",
- "2",
- "3"
], - "nodePoolProperties": {
- "maxPodsPerNode": 30,
- "enableNodePublicIP": true,
- "osDiskSizeGB": 64,
- "osDiskType": "Managed",
- "osType": "Linux",
- "osSKU": "Ubuntu",
- "kubernetesVersion": 1.26,
- "vnetSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "podSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "linuxOSConfig": {
- "sysctls": {
- "vmMaxMapCount": 79550
}
}
}, - "nodeCountLimits": {
- "minCount": 1,
- "maxCount": 100
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 2
}
]
}, - "labels": {
- "key": "value"
}, - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "tags": { },
- "vmSizes": {
- "filters": {
- "minVCpu": 2,
- "maxVCpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "architectures": [
- "x86_64"
], - "series": [
- "D v3",
- "F",
- "E v4"
], - "excludeSeries": [
- "Bs",
- "Da v4"
], - "minDisk": 1,
- "minGpu": 1,
- "maxGpu": 2,
- "diskPerformance": "Standard",
- "acceleratedNetworking": "Enabled",
- "minNICs": 4,
- "vmTypes": [
- "memoryOptimized"
], - "gpuTypes": [
- [
- "nvidia-tesla-t4"
]
]
}
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np"
}
}
List the configurations for all Ocean clusters in the specified account.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "o-134abcd",
- "name": "test",
- "controllerClusterId": "test-123124",
- "aks": {
- "clusterName": "test-cluster",
- "resourceGroupName": "TestResourceGroup",
- "region": "eastus",
- "infrastructureResourceGroupName": "MC_TestResourceGroup_test-cluster_eastus"
}, - "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVCpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "scheduling": {
- "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}, - "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "batchSizePercentage": 20,
- "comment": "Scheduled cluster roll",
- "respectPdb": true,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 80,
- "vngIds": [
- "vng-123456"
]
}
}
], - "suspensionHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "logging": {
- "export": {
- "azureBlob": {
- "id": "di-123"
}
}
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "availabilityZones": [
- "1",
- "2",
- "3"
], - "nodePoolProperties": {
- "maxPodsPerNode": 30,
- "enableNodePublicIP": true,
- "osDiskSizeGB": 64,
- "osDiskType": "Managed",
- "osType": "Linux",
- "osSKU": "Ubuntu",
- "kubernetesVersion": 1.26,
- "vnetSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "podSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "linuxOSConfig": {
- "sysctls": {
- "vmMaxMapCount": 79550
}
}
}, - "nodeCountLimits": {
- "minCount": 1,
- "maxCount": 100
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 2
}
]
}, - "labels": {
- "key": "value"
}, - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "tags": { },
- "vmSizes": {
- "filters": {
- "minVCpu": 2,
- "maxVCpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "architectures": [
- "x86_64"
], - "series": [
- "D v3",
- "F",
- "E v4"
], - "excludeSeries": [
- "Bs",
- "Da v4"
], - "minDisk": 1,
- "minGpu": 1,
- "maxGpu": 2,
- "diskPerformance": "Standard",
- "acceleratedNetworking": "Enabled",
- "minNICs": 4,
- "vmTypes": [
- "memoryOptimized"
], - "gpuTypes": [
- [
- "nvidia-tesla-t4"
]
]
}
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np"
}
}
Get the configurations for a specified Ocean cluster.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/o-12345abc",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "o-134abcd",
- "name": "test",
- "controllerClusterId": "test-123124",
- "aks": {
- "clusterName": "test-cluster",
- "resourceGroupName": "TestResourceGroup",
- "region": "eastus",
- "infrastructureResourceGroupName": "MC_TestResourceGroup_test-cluster_eastus"
}, - "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVCpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "scheduling": {
- "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}, - "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "batchSizePercentage": 20,
- "comment": "Scheduled cluster roll",
- "respectPdb": true,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 80,
- "vngIds": [
- "vng-123456"
]
}
}
], - "suspensionHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "logging": {
- "export": {
- "azureBlob": {
- "id": "di-123"
}
}
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "availabilityZones": [
- "1",
- "2",
- "3"
], - "nodePoolProperties": {
- "maxPodsPerNode": 30,
- "enableNodePublicIP": true,
- "osDiskSizeGB": 64,
- "osDiskType": "Managed",
- "osType": "Linux",
- "osSKU": "Ubuntu",
- "kubernetesVersion": 1.26,
- "vnetSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "podSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "linuxOSConfig": {
- "sysctls": {
- "vmMaxMapCount": 79550
}
}
}, - "nodeCountLimits": {
- "minCount": 1,
- "maxCount": 100
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 2
}
]
}, - "labels": {
- "key": "value"
}, - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "tags": { },
- "vmSizes": {
- "filters": {
- "minVCpu": 2,
- "maxVCpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "architectures": [
- "x86_64"
], - "series": [
- "D v3",
- "F",
- "E v4"
], - "excludeSeries": [
- "Bs",
- "Da v4"
], - "minDisk": 1,
- "minGpu": 1,
- "maxGpu": 2,
- "diskPerformance": "Standard",
- "acceleratedNetworking": "Enabled",
- "minNICs": 4,
- "vmTypes": [
- "memoryOptimized"
], - "gpuTypes": [
- [
- "nvidia-tesla-t4"
]
]
}
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np"
}
}
Update a specified Ocean cluster.
This API supports partial updates, so specific fields can be updated separately.
Notes:
When labels, tags and taints are updated in the VNG template, all existing nodes from VNGs that inherit these properties
from the tamplate will be updated as well.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (ocean-cluster-3) The Ocean cluster. | ||||||||||||
|
{- "cluster": {
- "name": "test",
- "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVCpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "scheduling": {
- "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}, - "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "batchSizePercentage": 20,
- "comment": "Scheduled cluster roll",
- "respectPdb": true,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 80,
- "vngIds": [
- "vng-123456"
]
}
}
], - "suspensionHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "logging": {
- "export": {
- "azureBlob": {
- "id": "di-123"
}
}
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "availabilityZones": [
- "1",
- "2",
- "3"
], - "nodePoolProperties": {
- "maxPodsPerNode": 30,
- "enableNodePublicIP": true,
- "osDiskSizeGB": 64,
- "osDiskType": "Managed",
- "osSKU": "Ubuntu",
- "kubernetesVersion": 1.26,
- "vnetSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "podSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "linuxOSConfig": {
- "sysctls": {
- "vmMaxMapCount": 79550
}
}
}, - "nodeCountLimits": {
- "minCount": 1,
- "maxCount": 100
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 2
}
]
}, - "labels": {
- "key": "value"
}, - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "tags": { },
- "vmSizes": {
- "filters": {
- "minVCpu": 2,
- "maxVCpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "architectures": [
- "x86_64"
], - "series": [
- "D v3",
- "F",
- "E v4"
], - "excludeSeries": [
- "Bs",
- "Da v4"
], - "minDisk": 1,
- "minGpu": 1,
- "maxGpu": 2,
- "diskPerformance": "Standard",
- "acceleratedNetworking": "Enabled",
- "minNICs": 4,
- "vmTypes": [
- "memoryOptimized"
], - "gpuTypes": [
- [
- "nvidia-tesla-t4"
]
]
}
}, - "scheduling": {
- "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/o-12345abc",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "o-134abcd",
- "name": "test",
- "controllerClusterId": "test-123124",
- "aks": {
- "clusterName": "test-cluster",
- "resourceGroupName": "TestResourceGroup",
- "region": "eastus",
- "infrastructureResourceGroupName": "MC_TestResourceGroup_test-cluster_eastus"
}, - "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVCpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "scheduling": {
- "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}, - "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "batchSizePercentage": 20,
- "comment": "Scheduled cluster roll",
- "respectPdb": true,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 80,
- "vngIds": [
- "vng-123456"
]
}
}
], - "suspensionHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "logging": {
- "export": {
- "azureBlob": {
- "id": "di-123"
}
}
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "availabilityZones": [
- "1",
- "2",
- "3"
], - "nodePoolProperties": {
- "maxPodsPerNode": 30,
- "enableNodePublicIP": true,
- "osDiskSizeGB": 64,
- "osDiskType": "Managed",
- "osType": "Linux",
- "osSKU": "Ubuntu",
- "kubernetesVersion": 1.26,
- "vnetSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "podSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "linuxOSConfig": {
- "sysctls": {
- "vmMaxMapCount": 79550
}
}
}, - "nodeCountLimits": {
- "minCount": 1,
- "maxCount": 100
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 2
}
]
}, - "labels": {
- "key": "value"
}, - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "tags": { },
- "vmSizes": {
- "filters": {
- "minVCpu": 2,
- "maxVCpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "architectures": [
- "x86_64"
], - "series": [
- "D v3",
- "F",
- "E v4"
], - "excludeSeries": [
- "Bs",
- "Da v4"
], - "minDisk": 1,
- "minGpu": 1,
- "maxGpu": 2,
- "diskPerformance": "Standard",
- "acceleratedNetworking": "Enabled",
- "minNICs": 4,
- "vmTypes": [
- "memoryOptimized"
], - "gpuTypes": [
- [
- "nvidia-tesla-t4"
]
]
}
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np"
}
}
Delete a specified Ocean cluster.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/o-12345abc",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
The Import Cluster API call returns a JSON formatted Ocean cluster specification for a given AKS cluster and import identifier. The returned specification is ready to use in the Ocean AKS Cluster Create API call.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
aksClusterName required | string Example: aksClusterName=test-cluster The name of the aks cluster. |
resourceGroupName required | string Example: resourceGroupName=test-clust_group The name of the resource group of the AKS cluster. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/aks/import",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "id": "o-134abcd",
- "name": "test",
- "controllerClusterId": "test-123124",
- "aks": {
- "clusterName": "test-cluster",
- "resourceGroupName": "TestResourceGroup",
- "region": "eastus",
- "infrastructureResourceGroupName": "MC_TestResourceGroup_test-cluster_eastus"
}, - "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVCpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "scheduling": {
- "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}, - "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll",
- "parameters": {
- "batchSizePercentage": 20,
- "comment": "Scheduled cluster roll",
- "respectPdb": true,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 80,
- "vngIds": [
- "vng-123456"
]
}
}
], - "suspensionHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "availabilityZones": [
- "1",
- "2",
- "3"
], - "nodePoolProperties": {
- "maxPodsPerNode": 30,
- "enableNodePublicIP": true,
- "osDiskSizeGB": 64,
- "osDiskType": "Managed",
- "osType": "Linux",
- "osSKU": "Ubuntu",
- "kubernetesVersion": 1.26,
- "vnetSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "podSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "linuxOSConfig": {
- "sysctls": {
- "vmMaxMapCount": 79550
}
}
}, - "nodeCountLimits": {
- "minCount": 1,
- "maxCount": 100
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "labels": {
- "key": "value"
}, - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "tags": { }
}
}
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np"
}
}
Launch new nodes for a cluster.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
adjustment required | integer >= 1 The number of nodes to launch. |
applicableVmSizes | Array of strings >= 1 |
availabilityZones | Array of strings An Array holding Availability Zones, this configures the availability zones the Ocean may launch instances in per VNG. |
minCoresPerNode | integer >= 2 Minimum number of core per node. |
minMemoryGiBPerNode | number <float> >= 2 Minimum memory per node. |
oceanId required | string Ocean cluster identifier. |
preferredLifecycle | string Enum: "Spot" "Regular" The preferred life cycle to launch the node. If not specified, the life cycle is chosen accoring to the scaled VNG. |
vngIds | Array of strings >= 1 |
{- "oceanId": "o-134abcd",
- "vngIds": [
- "vng-12345abc"
], - "preferredLifecycle": "Spot",
- "availabilityZones": [
- "1",
- "2",
- "3"
], - "adjustment": 2,
- "minCoresPerNode": 2,
- "minMemoryGiBPerNode": 2,
- "applicableVmSizes": [
- "string"
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/launchNewNodes",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "vngScalingUpResults": [
- {
- "vngId": "vng-12345abc",
- "scaleNodePoolName": "omnp9e26aa3e",
- "vmSizeName": "standard_d2as_v5",
- "zones": [
- "1"
], - "lifeCycle": "Spot",
- "numOfNewScaleNodes": 1
}
], - "nodesLeftToScale": 0
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np:cluster:launchNodes"
}
}
Detach Nodes nodes for a cluster.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
nodeNamesToDetach required | Array of strings >= 1 Node names to detach from the Ocean cluster. |
oceanId required | string Ocean cluster identifier. |
{- "oceanId": "o-134abcd",
- "nodeNamesToDetach": [
- "aks-omnpf52d2a6b-36204769-vmss000012"
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/detachNodes",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanId": "o-134abcd",
- "detachedNodeNames": [
- "aks-omnpf52d2a6b-36204769-vmss000012"
]
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np:cluster:detachNodes"
}
}
Create a virtual node group.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (Ocean AKS Virtual Node Group) | ||||||||||||||||||||||||
|
{- "virtualNodeGroup": {
- "name": "testVng",
- "oceanId": "o-134abcd",
- "availabilityZones": [
- "0",
- "1",
- "2",
- "3"
], - "nodePoolProperties": {
- "maxPodsPerNode": 30,
- "enableNodePublicIP": true,
- "osDiskSizeGB": 64,
- "osDiskType": "Managed",
- "osType": "Linux",
- "osSKU": "Ubuntu",
- "kubernetesVersion": 1.26,
- "vnetSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "podSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "linuxOSConfig": {
- "sysctls": {
- "vmMaxMapCount": 79550
}
}
}, - "nodeCountLimits": {
- "minCount": 1,
- "maxCount": 100
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 2
}
]
}, - "labels": {
- "key": "value"
}, - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "tags": { },
- "vmSizes": {
- "filters": {
- "minVCpu": 2,
- "maxVCpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "architectures": [
- "x86_64"
], - "series": [
- "D v3",
- "F",
- "E v4"
], - "excludeSeries": [
- "Bs",
- "Da v4"
], - "minDisk": 1,
- "minGpu": 1,
- "maxGpu": 2,
- "diskPerformance": "Standard",
- "acceleratedNetworking": "Enabled",
- "minNICs": 4,
- "vmTypes": [
- "memoryOptimized"
], - "gpuTypes": [
- [
- "nvidia-tesla-t4"
]
]
}
}, - "scheduling": {
- "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/virtualNodeGroup",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "vng-134abcd",
- "name": "testVng",
- "oceanId": "o-134abcd",
- "availabilityZones": [
- "1",
- "2",
- "3"
], - "nodePoolProperties": {
- "maxPodsPerNode": 30,
- "enableNodePublicIP": true,
- "osDiskSizeGB": 64,
- "osDiskType": "Managed",
- "osType": "Linux",
- "osSKU": "Ubuntu",
- "kubernetesVersion": 1.26,
- "vnetSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "podSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "linuxOSConfig": {
- "sysctls": {
- "vmMaxMapCount": 79550
}
}
}, - "nodeCountLimits": {
- "minCount": 1,
- "maxCount": 100
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 2
}
]
}, - "labels": {
- "key": "value"
}, - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "tags": { },
- "vmSizes": {
- "filters": {
- "minVCpu": 2,
- "maxVCpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "architectures": [
- "x86_64"
], - "series": [
- "D v3",
- "F",
- "E v4"
], - "excludeSeries": [
- "Bs",
- "Da v4"
], - "minDisk": 1,
- "minGpu": 1,
- "maxGpu": 2,
- "diskPerformance": "Standard",
- "acceleratedNetworking": "Enabled",
- "minNICs": 4,
- "vmTypes": [
- "memoryOptimized"
], - "gpuTypes": [
- [
- "nvidia-tesla-t4"
]
]
}
}, - "scheduling": {
- "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np:virtualNodeGroup"
}
}
List the configurations for all virtual node groups in the account or in a specified cluster.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
oceanId required | string Example: oceanId=o-12345abc Identifier of the Ocean cluster. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/virtualNodeGroup",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "vng-134abcd",
- "name": "testVng",
- "oceanId": "o-134abcd",
- "availabilityZones": [
- "1",
- "2",
- "3"
], - "nodePoolProperties": {
- "maxPodsPerNode": 30,
- "enableNodePublicIP": true,
- "osDiskSizeGB": 64,
- "osDiskType": "Managed",
- "osType": "Linux",
- "osSKU": "Ubuntu",
- "kubernetesVersion": 1.26,
- "vnetSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "podSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "linuxOSConfig": {
- "sysctls": {
- "vmMaxMapCount": 79550
}
}
}, - "nodeCountLimits": {
- "minCount": 1,
- "maxCount": 100
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 2
}
]
}, - "labels": {
- "key": "value"
}, - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "tags": { },
- "vmSizes": {
- "filters": {
- "minVCpu": 2,
- "maxVCpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "architectures": [
- "x86_64"
], - "series": [
- "D v3",
- "F",
- "E v4"
], - "excludeSeries": [
- "Bs",
- "Da v4"
], - "minDisk": 1,
- "minGpu": 1,
- "maxGpu": 2,
- "diskPerformance": "Standard",
- "acceleratedNetworking": "Enabled",
- "minNICs": 4,
- "vmTypes": [
- "memoryOptimized"
], - "gpuTypes": [
- [
- "nvidia-tesla-t4"
]
]
}
}, - "scheduling": {
- "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np:virtualNodeGroup"
}
}
Get the configuration of a specified virtual node group.
virtualNodeGroupId required | string Example: vng-12345abc Ocean Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/virtualNodeGroup/vng-12345abc",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "vng-134abcd",
- "name": "testVng",
- "oceanId": "o-134abcd",
- "availabilityZones": [
- "1",
- "2",
- "3"
], - "nodePoolProperties": {
- "maxPodsPerNode": 30,
- "enableNodePublicIP": true,
- "osDiskSizeGB": 64,
- "osDiskType": "Managed",
- "osType": "Linux",
- "osSKU": "Ubuntu",
- "kubernetesVersion": 1.26,
- "vnetSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "podSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "linuxOSConfig": {
- "sysctls": {
- "vmMaxMapCount": 79550
}
}
}, - "nodeCountLimits": {
- "minCount": 1,
- "maxCount": 100
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 2
}
]
}, - "labels": {
- "key": "value"
}, - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "tags": { },
- "vmSizes": {
- "filters": {
- "minVCpu": 2,
- "maxVCpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "architectures": [
- "x86_64"
], - "series": [
- "D v3",
- "F",
- "E v4"
], - "excludeSeries": [
- "Bs",
- "Da v4"
], - "minDisk": 1,
- "minGpu": 1,
- "maxGpu": 2,
- "diskPerformance": "Standard",
- "acceleratedNetworking": "Enabled",
- "minNICs": 4,
- "vmTypes": [
- "memoryOptimized"
], - "gpuTypes": [
- [
- "nvidia-tesla-t4"
]
]
}
}, - "scheduling": {
- "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np:virtualNodeGroup"
}
}
Update a specified virtual node group in an Ocean cluster.
This API supports partial updates, so specific fields can be updated separately.
Notes:
When labels, tags and taints are updated the existing nodes are updated as well.
virtualNodeGroupId required | string Example: vng-12345abc Ocean Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (Ocean AKS Virtual Node Group) | ||||||||||||||||||||||
|
{- "virtualNodeGroup": {
- "name": "testVng",
- "availabilityZones": [
- "1",
- "2",
- "3"
], - "nodePoolProperties": {
- "maxPodsPerNode": 30,
- "enableNodePublicIP": true,
- "osDiskSizeGB": 64,
- "osDiskType": "Managed",
- "osSKU": "Ubuntu",
- "kubernetesVersion": 1.26,
- "vnetSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "podSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "linuxOSConfig": {
- "sysctls": {
- "vmMaxMapCount": 79550
}
}
}, - "nodeCountLimits": {
- "minCount": 1,
- "maxCount": 100
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 2
}
]
}, - "labels": {
- "key": "value"
}, - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "tags": { },
- "vmSizes": {
- "filters": {
- "minVCpu": 2,
- "maxVCpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "architectures": [
- "x86_64"
], - "series": [
- "D v3",
- "F",
- "E v4"
], - "excludeSeries": [
- "Bs",
- "Da v4"
], - "minDisk": 1,
- "minGpu": 1,
- "maxGpu": 2,
- "diskPerformance": "Standard",
- "acceleratedNetworking": "Enabled",
- "minNICs": 4,
- "vmTypes": [
- "memoryOptimized"
], - "gpuTypes": [
- [
- "nvidia-tesla-t4"
]
]
}
}, - "scheduling": {
- "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/virtualNodeGroup/vng-12345abc",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "vng-134abcd",
- "name": "testVng",
- "oceanId": "o-134abcd",
- "availabilityZones": [
- "1",
- "2",
- "3"
], - "nodePoolProperties": {
- "maxPodsPerNode": 30,
- "enableNodePublicIP": true,
- "osDiskSizeGB": 64,
- "osDiskType": "Managed",
- "osType": "Linux",
- "osSKU": "Ubuntu",
- "kubernetesVersion": 1.26,
- "vnetSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "podSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "linuxOSConfig": {
- "sysctls": {
- "vmMaxMapCount": 79550
}
}
}, - "nodeCountLimits": {
- "minCount": 1,
- "maxCount": 100
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "gpuPerUnit": 0,
- "numOfUnits": 2
}
]
}, - "labels": {
- "key": "value"
}, - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "tags": { },
- "vmSizes": {
- "filters": {
- "minVCpu": 2,
- "maxVCpu": 16,
- "minMemoryGiB": 8,
- "maxMemoryGiB": 16,
- "architectures": [
- "x86_64"
], - "series": [
- "D v3",
- "F",
- "E v4"
], - "excludeSeries": [
- "Bs",
- "Da v4"
], - "minDisk": 1,
- "minGpu": 1,
- "maxGpu": 2,
- "diskPerformance": "Standard",
- "acceleratedNetworking": "Enabled",
- "minNICs": 4,
- "vmTypes": [
- "memoryOptimized"
], - "gpuTypes": [
- [
- "nvidia-tesla-t4"
]
]
}
}, - "scheduling": {
- "shutdownHours": {
- "timeWindows": [
- "Sat:08:00-Sun:08:00"
], - "isEnabled": true
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np:virtualNodeGroup"
}
}
Delete a specified virtual node group in an Ocean cluster.
virtualNodeGroupId required | string Example: vng-12345abc Ocean Virtual Node Group identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
deleteNodes | boolean Default: false Example: deleteNodes=true When set to "true", all instances belonging to the deleted Virtual Node Group will be drained, detached, and terminated. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/virtualNodeGroup/vng-12345abc",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
The Import Ocean Virtual Node Group (VNG) returns a JSON formatted Ocean Virtual Node Group specification based on a given AKS Node Pool. The returned specification is ready to use in the Ocean AKS Virtual Node Group Create API call.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
nodePoolName required | string Example: nodePoolName=nodePoolNameTest The name of the Node Pool. |
oceanId required | string Example: oceanId=o-12345abc Identifier of the Ocean cluster. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/virtualNodeGroup/import",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "virtualNodeGroup": {
- "name": "testVng",
- "oceanId": "o-134abcd",
- "availabilityZones": [
- "1",
- "2",
- "3"
], - "nodePoolProperties": {
- "maxPodsPerNode": 30,
- "enableNodePublicIP": true,
- "osDiskSizeGB": 64,
- "osDiskType": "Managed",
- "osType": "Linux",
- "osSKU": "Ubuntu",
- "kubernetesVersion": 1.26,
- "vnetSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "podSubnetIDs": [
- "/subscriptions/123456-1234-1234-1234-123456789/resourceGroups/ExampleResourceGroup/providers/Microsoft.Network/virtualNetworks/ExampleVirtualNetwork/subnets/default"
], - "linuxOSConfig": {
- "sysctls": {
- "vmMaxMapCount": 79550
}
}
}, - "nodeCountLimits": {
- "minCount": 1,
- "maxCount": 100
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "labels": {
- "key": "value"
}, - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "tags": { }
}
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np"
}
}
Get the allowed VM sizes that can be launched according to the virtual node group properties and selected VM size filters.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
virtualNodeGroupId required | string Example: virtualNodeGroupId=vng-12345abc Ocean Virtual Node Group identifier. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/virtualNodeGroup/vmSizes",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "allowedVmSizes": [
- "standard_d2",
- "standard_d2_v2",
- "standard_d2_v3",
- "standard_d2_v4",
- "standard_d2_v5"
], - "numOfAllowedVmSizes": 5
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s:np:virtualNodeGroup:allowedVmSizes"
}
}
Roll an entire Ocean cluster or roll subsets of the cluster by specifying vngIds, nodePoolNames or nodeNames. Performing this request will start the roll immediately and run it in defined batches. Note that the first response for a successful request will indicate the start of a roll. In order to check the status of a roll, you can use the GET Roll API.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
batchMinHealthyPercentage | integer Default: 50 Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the roll will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch. |
batchSizePercentage | integer Value as a percent to set the size of a batch in a roll. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%. |
comment | string Add a comment description for the roll. The comment is limited to 256 chars and optional. |
respectPdb | boolean Default: true During the roll, if the parameter is set to true we honor PDB during the nodes replacement. |
respectRestrictScaleDown | boolean Default: false During the roll, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement. |
{- "batchSizePercentage": 25,
- "comment": "This is why I deployed my cluster.",
- "respectPdb": false,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 100
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/o-12345abc/roll",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-12345abc",
- "oceanId": "o-12e31234",
- "type": "manual",
- "scope": "Cluster",
- "status": "IN_PROGRESS",
- "currentBatch": 1,
- "numOfBatches": 2,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "progressPercentage": 0,
- "detailedStatus": {
- "rollNodes": [
- {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000q",
- "status": "IN_PROGRESS"
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss000008",
- "status": "TO_BE_REPLACED"
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000r",
- "status": "TO_BE_REPLACED"
}, - {
- "nodeName": "aks-omnpe9429a2f-26725402-vmss00000z",
- "status": "IN_PROGRESS"
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000001",
- "status": "IN_PROGRESS"
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000003",
- "status": "TO_BE_REPLACED"
}
]
}
}, - "respectPdb": true,
- "respectRestrictScaleDown": false,
- "batchMinHealthyPercentage": 70,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np:roll"
}
}
Get status for all rolls of an Ocean cluster.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/o-12345abc/roll",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-12345abc",
- "oceanId": "o-12e31234",
- "type": "manual",
- "scope": "Cluster",
- "status": "COMPLETED",
- "currentBatch": 1,
- "numOfBatches": 2,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "progressPercentage": 0,
- "detailedStatus": {
- "rollNodes": [
- {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000q",
- "status": "REPLACED"
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss000008",
- "status": "TO_BE_REPLACED"
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000r",
- "status": "COULD_NOT_BE_REPLACED"
}, - {
- "nodeName": "aks-omnpe9429a2f-26725402-vmss00000z",
- "status": "NOT_REPLACED_DUE_TO_PDB"
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000001",
- "status": "IN_PROGRESS"
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000003",
- "status": "DID_NOT_REPLACE"
}
]
}
}, - "respectPdb": true,
- "respectRestrictScaleDown": false,
- "batchMinHealthyPercentage": 70,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np:roll"
}
}
Get status for a roll of an Ocean cluster.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
rollId required | string Example: acr-12345abc Ocean cluster roll identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/o-12345abc/roll/scr-12345abc",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-12345abc",
- "oceanId": "o-12e31234",
- "type": "manual",
- "scope": "Cluster",
- "status": "COMPLETED",
- "currentBatch": 1,
- "numOfBatches": 2,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "progressPercentage": 0,
- "detailedStatus": {
- "rollNodes": [
- {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000q",
- "status": "REPLACED"
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss000008",
- "status": "TO_BE_REPLACED"
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000r",
- "status": "COULD_NOT_BE_REPLACED"
}, - {
- "nodeName": "aks-omnpe9429a2f-26725402-vmss00000z",
- "status": "NOT_REPLACED_DUE_TO_PDB"
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000001",
- "status": "IN_PROGRESS"
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000003",
- "status": "DID_NOT_REPLACE"
}
]
}
}, - "respectPdb": true,
- "respectRestrictScaleDown": false,
- "batchMinHealthyPercentage": 70,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np:roll"
}
}
Stop a roll of an Ocean cluster.
Performing the request will stop the next batch in a roll.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
rollId required | string Example: acr-12345abc Ocean cluster roll identifier. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/o-12345abc/roll/scr-12345abc/stop",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-12345abc",
- "oceanId": "o-12e31234",
- "type": "manual",
- "scope": "Cluster",
- "status": "STOPPED",
- "currentBatch": 1,
- "numOfBatches": 2,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "progressPercentage": 0,
- "detailedStatus": {
- "rollNodes": [
- {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000q",
- "status": "REPLACED"
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss000008",
- "status": "DID_NOT_REPLACE"
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000r",
- "status": "DID_NOT_REPLACE"
}, - {
- "nodeName": "aks-omnpe9429a2f-26725402-vmss00000z",
- "status": "REPLACED"
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000001",
- "status": "REPLACED"
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000003",
- "status": "DID_NOT_REPLACE"
}
], - "progressPercentage": 50
}
}, - "respectPdb": true,
- "respectRestrictScaleDown": false,
- "batchMinHealthyPercentage": 70,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np:roll"
}
}
Get information about nodes which can be migrated into Ocean.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
shouldFetchPods | boolean Example: shouldFetchPods=true Should fetch data about running pods for each node. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "ocean/azure/np/cluster/o-abcd1234/migration/discovery",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "nodeName": "aks-mynodepool-18735776-vmss000001",
- "nodePoolName": "mynodepool",
- "runningPods": "6"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s:np:nodePoolUnmanaged"
}
}
Migrate to ocean workloads that run on unmanaged nodes by specifying nodePoolNames or nodeNames. Performing this request will start the migration immediately and run it in defined batches. Note that the first response for a successful request will indicate the start of a migration. In order to check the status of a migration, you can use the GET migration API.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
batchMinHealthyPercentage | integer [ 1 .. 100 ] Default: 50 Indicates the threshold of minimum healthy nodes in single batch. If the amount of healthy nodes in single batch is under the threshold, the migration will fail. If exists, the parameter value will be in range of 1-100. In case of null as value, the default value in the backend will be 50%. Value of param should represent the number in percentage (%) of the batch. |
batchSizePercentage | integer [ 1 .. 100 ] Value as a percent to set the size of a batch in a migration. Valid values are 0-100. In case of null as value, the default value in the backend will be 20%. |
comment | string Add a comment description for the migration. The comment is limited to 256 chars and optional. |
nodeNames | Array of strings List of node names to be migrated. Each identifier is a string. nodeNames can be null, and cannot be used together with nodePoolNames. |
respectPdb | boolean Default: true During the migration, if the parameter is set to true we honor PDB during the nodes replacement. |
respectRestrictScaleDown | boolean Default: false During the migration, if the parameter is set to true we honor Restrict Scale Down label during the nodes replacement. |
shouldEvictStandalonePods | boolean Default: true If the parameter is set to true we will evict all standalone pods during the migration. |
shouldTerminateNodes | boolean Default: true If the parameter is set to true we will terminate the node after the migration has finished successfully. If the parameter is set to false we will leave the nodes. example: true |
{- "batchSizePercentage": 25,
- "comment": "This is why I deployed my cluster.",
- "respectPdb": false,
- "respectRestrictScaleDown": true,
- "shouldTerminateNodes": true,
- "shouldEvictStandalonePods": true,
- "batchMinHealthyPercentage": 100,
- "nodeNames": [
- [
- "aks-omnpbc2ebdb1-15563275-vmss00000g",
- "aks-omnpe9429a2f-26725402-vmss000015"
]
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/o-12345abc/migration",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-12345abc",
- "oceanId": "o-12e31234",
- "status": "COMPLETED",
- "currentBatch": 1,
- "numOfBatches": 2,
- "comment": "migration comment.",
- "migrationProgress": {
- "progressPercentage": 0,
- "detailedStatus": {
- "oldNodes": [
- {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000q",
- "nodePoolName": "omnpbc2ebdb1",
- "status": "REPLACED",
- "podDetails": [
- {
- "podName": "pod-example-name1"
}
], - "runningPods": 1
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss000008",
- "nodePoolName": "omnpbc2ebdb1",
- "status": "TO_BE_REPLACED",
- "podDetails": [
- {
- "podName": "pod-example-name2"
}, - {
- "podName": "pod-example-name3"
}
], - "runningPods": 2
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000r",
- "nodePoolName": "omnpbc2ebdb1",
- "status": "COULD_NOT_BE_REPLACED",
- "podDetails": [
- {
- "podName": "pod-example-name4"
}, - {
- "podName": "pod-example-name5"
}
], - "runningPods": 2
}, - {
- "nodeName": "aks-omnpe9429a2f-26725402-vmss00000z",
- "nodePoolName": "omnpe9429a2f",
- "status": "NOT_REPLACED_DUE_TO_PDB",
- "podDetails": [
- {
- "podName": "pod-example-name6"
}
], - "runningPods": 1
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000001",
- "nodePoolName": "omnp0c85c2c2",
- "status": "IN_PROGRESS",
- "podDetails": [
- {
- "podName": "pod-example-name7"
}
], - "runningPods": 1
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000003",
- "nodePoolName": "omnp0c85c2c2",
- "status": "DID_NOT_REPLACE",
- "podDetails": [
- {
- "podName": "pod-example-name8"
}
], - "runningPods": 1
}
], - "scaleNodePools": [
- {
- "nodePoolName": "omnp12340",
- "newNodes": 2,
- "vngId": "vng-1234",
- "vngName": "vng2",
- "status": "Scaling"
}, - {
- "nodePoolName": "omnp12345",
- "newNodes": 10,
- "vngId": "vng-1234",
- "vngName": "vng2",
- "status": "Completed"
}
]
}
}, - "respectPdb": true,
- "respectRestrictScaleDown": false,
- "shouldTerminateNodes": true,
- "shouldEvictStandalonePods": false,
- "batchMinHealthyPercentage": 70,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "erredAt": "2019-03-24T15:46:09.000Z",
- "stoppedAt": "2019-03-24T15:46:09.000Z",
- "completedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np:migration"
}
}
Get status for all migrations of an Ocean cluster.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/o-12345abc/migration",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-12345abc",
- "oceanId": "o-12e31234",
- "status": "COMPLETED",
- "currentBatch": 1,
- "numOfBatches": 2,
- "comment": "migration comment.",
- "migrationProgress": {
- "progressPercentage": 0,
- "detailedStatus": {
- "oldNodes": [
- {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000q",
- "nodePoolName": "omnpbc2ebdb1",
- "status": "REPLACED",
- "podDetails": [
- {
- "podName": "pod-example-name1"
}
], - "runningPods": 1
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss000008",
- "nodePoolName": "omnpbc2ebdb1",
- "status": "TO_BE_REPLACED",
- "podDetails": [
- {
- "podName": "pod-example-name2"
}, - {
- "podName": "pod-example-name3"
}
], - "runningPods": 2
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000r",
- "nodePoolName": "omnpbc2ebdb1",
- "status": "COULD_NOT_BE_REPLACED",
- "podDetails": [
- {
- "podName": "pod-example-name4"
}, - {
- "podName": "pod-example-name5"
}
], - "runningPods": 2
}, - {
- "nodeName": "aks-omnpe9429a2f-26725402-vmss00000z",
- "nodePoolName": "omnpe9429a2f",
- "status": "NOT_REPLACED_DUE_TO_PDB",
- "podDetails": [
- {
- "podName": "pod-example-name6"
}
], - "runningPods": 1
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000001",
- "nodePoolName": "omnp0c85c2c2",
- "status": "IN_PROGRESS",
- "podDetails": [
- {
- "podName": "pod-example-name7"
}
], - "runningPods": 1
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000003",
- "nodePoolName": "omnp0c85c2c2",
- "status": "DID_NOT_REPLACE",
- "podDetails": [
- {
- "podName": "pod-example-name8"
}
], - "runningPods": 1
}
], - "scaleNodePools": [
- {
- "nodePoolName": "omnp12340",
- "newNodes": 2,
- "vngId": "vng-1234",
- "vngName": "vng2",
- "status": "Scaling"
}, - {
- "nodePoolName": "omnp12345",
- "newNodes": 10,
- "vngId": "vng-1234",
- "vngName": "vng2",
- "status": "Completed"
}
]
}
}, - "respectPdb": true,
- "respectRestrictScaleDown": false,
- "shouldTerminateNodes": true,
- "shouldEvictStandalonePods": false,
- "batchMinHealthyPercentage": 70,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "erredAt": "2019-03-24T15:46:09.000Z",
- "stoppedAt": "2019-03-24T15:46:09.000Z",
- "completedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "spotinst:azure:ocean:workloadMigration"
}
}
Get status for a migration of an Ocean cluster.
migrationId required | string Example: scr-12345abc Ocean cluster workload migration identifier. |
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/o-12345abc/migration/scr-12345abc",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-12345abc",
- "oceanId": "o-12e31234",
- "status": "COMPLETED",
- "currentBatch": 1,
- "numOfBatches": 2,
- "comment": "migration comment.",
- "migrationProgress": {
- "progressPercentage": 0,
- "detailedStatus": {
- "oldNodes": [
- {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000q",
- "nodePoolName": "omnpbc2ebdb1",
- "status": "REPLACED",
- "podDetails": [
- {
- "podName": "pod-example-name1"
}
], - "runningPods": 1
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss000008",
- "nodePoolName": "omnpbc2ebdb1",
- "status": "TO_BE_REPLACED",
- "podDetails": [
- {
- "podName": "pod-example-name2"
}, - {
- "podName": "pod-example-name3"
}
], - "runningPods": 2
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000r",
- "nodePoolName": "omnpbc2ebdb1",
- "status": "COULD_NOT_BE_REPLACED",
- "podDetails": [
- {
- "podName": "pod-example-name4"
}, - {
- "podName": "pod-example-name5"
}
], - "runningPods": 2
}, - {
- "nodeName": "aks-omnpe9429a2f-26725402-vmss00000z",
- "nodePoolName": "omnpe9429a2f",
- "status": "NOT_REPLACED_DUE_TO_PDB",
- "podDetails": [
- {
- "podName": "pod-example-name6"
}
], - "runningPods": 1
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000001",
- "nodePoolName": "omnp0c85c2c2",
- "status": "IN_PROGRESS",
- "podDetails": [
- {
- "podName": "pod-example-name7"
}
], - "runningPods": 1
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000003",
- "nodePoolName": "omnp0c85c2c2",
- "status": "DID_NOT_REPLACE",
- "podDetails": [
- {
- "podName": "pod-example-name8"
}
], - "runningPods": 1
}
], - "scaleNodePools": [
- {
- "nodePoolName": "omnp12340",
- "newNodes": 2,
- "vngId": "vng-1234",
- "vngName": "vng2",
- "status": "Scaling"
}, - {
- "nodePoolName": "omnp12345",
- "newNodes": 10,
- "vngId": "vng-1234",
- "vngName": "vng2",
- "status": "Completed"
}
]
}
}, - "respectPdb": true,
- "respectRestrictScaleDown": false,
- "shouldTerminateNodes": true,
- "shouldEvictStandalonePods": false,
- "batchMinHealthyPercentage": 70,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "erredAt": "2019-03-24T15:46:09.000Z",
- "stoppedAt": "2019-03-24T15:46:09.000Z",
- "completedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "spotinst:azure:ocean:workloadMigration"
}
}
Stop a migration of an Ocean cluster.
Performing the request will stop the next batch in a migration.
migrationId required | string Example: scr-12345abc Ocean cluster workload migration identifier. |
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/o-12345abc/migration/scr-12345abc",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-12345abc",
- "oceanId": "o-12e31234",
- "status": "STOPPED",
- "currentBatch": 1,
- "numOfBatches": 2,
- "comment": "migration comment.",
- "migrationProgress": {
- "progressPercentage": 0,
- "detailedStatus": {
- "oldNodes": [
- {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000q",
- "nodePoolName": "omnpbc2ebdb1",
- "status": "REPLACED",
- "podDetails": [
- {
- "podName": "pod-example-name1"
}
], - "runningPods": 1
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss000008",
- "nodePoolName": "omnpbc2ebdb1",
- "status": "TO_BE_REPLACED",
- "podDetails": [
- {
- "podName": "pod-example-name2"
}, - {
- "podName": "pod-example-name3"
}
], - "runningPods": 2
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000r",
- "nodePoolName": "omnpbc2ebdb1",
- "status": "COULD_NOT_BE_REPLACED",
- "podDetails": [
- {
- "podName": "pod-example-name4"
}, - {
- "podName": "pod-example-name5"
}
], - "runningPods": 2
}, - {
- "nodeName": "aks-omnpe9429a2f-26725402-vmss00000z",
- "nodePoolName": "omnpe9429a2f",
- "status": "NOT_REPLACED_DUE_TO_PDB",
- "podDetails": [
- {
- "podName": "pod-example-name6"
}
], - "runningPods": 1
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000001",
- "nodePoolName": "omnp0c85c2c2",
- "status": "IN_PROGRESS",
- "podDetails": [
- {
- "podName": "pod-example-name7"
}
], - "runningPods": 1
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000003",
- "nodePoolName": "omnp0c85c2c2",
- "status": "DID_NOT_REPLACE",
- "podDetails": [
- {
- "podName": "pod-example-name8"
}
], - "runningPods": 1
}
], - "scaleNodePools": [
- {
- "nodePoolName": "omnp12340",
- "newNodes": 2,
- "vngId": "vng-1234",
- "vngName": "vng2",
- "status": "Scaling"
}, - {
- "nodePoolName": "omnp12345",
- "newNodes": 10,
- "vngId": "vng-1234",
- "vngName": "vng2",
- "status": "Completed"
}
]
}
}, - "respectPdb": true,
- "respectRestrictScaleDown": false,
- "shouldTerminateNodes": true,
- "shouldEvictStandalonePods": false,
- "batchMinHealthyPercentage": 70,
- "createdAt": "2019-03-24T15:46:09.000Z",
- "erredAt": "2019-03-24T15:46:09.000Z",
- "stoppedAt": "2019-03-24T15:46:09.000Z",
- "completedAt": "2019-03-24T15:46:09.000Z",
- "progress": {
- "detailedStatus": {
- "progressPercentage": 50,
- "oldNodes": [
- {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000q",
- "status": "REPLACED"
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss000008",
- "status": "DID_NOT_REPLACE"
}, - {
- "nodeName": "aks-omnpbc2ebdb1-15563275-vmss00000r",
- "status": "DID_NOT_REPLACE"
}, - {
- "nodeName": "aks-omnpe9429a2f-26725402-vmss00000z",
- "status": "REPLACED"
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000001",
- "status": "REPLACED"
}, - {
- "nodeName": "aks-omnp0c85c2c2-26833420-vmss000003",
- "status": "DID_NOT_REPLACE"
}
]
}
}
}
], - "count": 1,
- "kind": "spotinst:azure:ocean:workloadMigration"
}
}
Get right-sizing recommendations for an Ocean cluster and filter them according to namespace or label.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object Optional - may be null. | |||||
|
{- "filter": {
- "namespaces": [
- "sparkSpace",
- "kube-system"
], - "attribute": {
- "type": "label",
- "key": "app",
- "operator": "Equals",
- "value": "redis"
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/o-abcd1234/rightSizing/suggestion",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "resourceName": "redis-controller",
- "resourceType": "deployment",
- "namespace": "kube-system",
- "suggestedCPU": 4,
- "suggestedMemory": 19,
- "requestedCPU": 50,
- "requestedMemory": 50,
- "containers": [
- {
- "name": "dnsmasq",
- "requestedCPU": 10,
- "suggestedCPU": 2,
- "requestedMemory": 40,
- "suggestedMemory": 15
}, - {
- "name": "sidecar",
- "requestedCPU": 40,
- "suggestedCPU": 2,
- "requestedMemory": 10,
- "suggestedMemory": 4
}
]
}, - {
- "resourceName": "test-redis",
- "resourceType": "deployment",
- "namespace": "sparkSpace",
- "suggestedCPU": 2,
- "suggestedMemory": 20,
- "requestedCPU": 50,
- "requestedMemory": 30,
- "containers": [
- {
- "name": "dns-controller",
- "requestedCPU": 20,
- "suggestedCPU": 1,
- "requestedMemory": 20,
- "suggestedMemory": 15
}, - {
- "name": "kubedns",
- "requestedCPU": 30,
- "suggestedCPU": 1,
- "requestedMemory": 10,
- "suggestedMemory": 5
}
]
}
], - "count": 2,
- "kind": "spotinst:ocean:azure:k8s:cluster:rightSizing:suggestion"
}
}
Fetch the log of an Ocean cluster.
oceanClusterId required | string Example: o-12345abc Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
fromDate required | string Beginning date value using either the date format "yyyy-mm-dd; 2016-11-20" or ms "1494751821472". |
limit | integer <= 1000 Default: 500 Example: limit=200 Maximum number of lines to extract in a response. |
resourceId | string Example: resourceId=i-12345678 Filter extracted log entries for a specific resource identifier. Default: Null |
severity | string Default: "ALL" Enum: "ALL" "INFO" "DEBUG" "ERROR" "WARN" Example: severity=INFO Severity of log entries to extract. |
toDate required | string End date value using either the date format "yyyy-mm-dd; 2016-11-20" or ms "1494751821472". |
{- "request": {
- "id": "3213f42e-455e-4801-a185-cd3eb65fac5f",
- "url": "/ocean/azure/np/cluster/o-e0a2bd7c/log?fromDate=2020-10-06&toDate=2020-10-08&severity=ALL&limit=500",
- "method": "GET",
- "timestamp": "2020-10-05T16:20:38.579Z"
}, - "response": {
- "status": {
- "code": "200",
- "message": "OK"
}, - "kind": "spotinst:ocean:azure:k8s:cluster:logs",
- "items": [
- {
- "message": "Ocean o-e0a2bd7c successfully created.",
- "severity": "INFO",
- "createdAt": "2020-10-07T09:51:12.000Z"
}
], - "count": "1"
}
}
Update the Ocean AKS cluster's VNGs with the latest version of the control plane's version after upgrading by specifying the scope. Performing this request will update the VNGs with a new version if available and run a cluster roll if set. If the response is successful, the old and new versions will be included in the response along with the updated VNGs. If a cluster roll is set in the request, the first response for a successful request will indicate the start of a roll. In order to check the status of the roll, you can use the GET Roll API.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
aksClusterName required | string Example: aksClusterName=test-cluster The name of the aks cluster. |
resourceGroupName required | string Example: resourceGroupName=test-clust_group The name of the resource group of the AKS cluster. |
required | object (Upgrade Config) The Configuration for scheduling automatic upgrades of your cluster to ensure it stays updated with the latest version. | ||||||
|
{- "upgradeConfig": {
- "applyRoll": true,
- "scopeVersion": "patch",
- "rollParameters": {
- "batchSizePercentage": 20,
- "comment": "Auto-upgrade the control plane to the latest patch version.",
- "respectPdb": true,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 80
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/np/cluster/o-12345abc/autoUpgrade",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanId": "o-12e31234",
- "scope": "Cluster",
- "id": "scr-12345abc",
- "oldVersion": "1.0.10",
- "newVersion": "1.0.15",
- "status": "COMPLETED",
- "createdAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:np:autoUpgrade"
}
}
Provides Kubernetes cluster resource usage and costs over a time interval which can be grouped and/or filtered by label/annotaion,
for example - application name (webapp, backend), environment (production, staging), version etc.
The response will contain a breakdown of the cluster resource costs($) in terms of compute (CPU, memory) and storage.
The response will group the cluster usage costs based on preselected default of application namespace or user selected label or annotation.
Within the group, resource costs are broken down per resource kind (Deployment, DaemonSet etc.).
Time Rounding Down: The CostAnalysis API applies rounding down to the hours provided during the call.
For example, the value 1707004799099 (In GMT) representing Saturday, February 3, 2024, 23:59:59.099 is rounded down to Saturday, February 3, 2024, 23:00:00.000, resulting in the omission of one hour of cost.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
endTime required | string End date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
object Describe how to filter the costs. Optional field. | |
groupBy | string Default: "namespace" Enum: "namespace" "namespace.label.${labelKey}" "resource.label.${labelKey}" "resource.annotation.${annotationKey}" "namespace.annotation.${annotationKey}" The parameter we want to group the costs by. |
startTime required | string Beginning date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
{- "startTime": "2023-07-20T11:35:01.745Z",
- "endTime": "2023-07-22T11:30:01.745Z",
- "groupBy": "namespace.label.env",
- "filter": {
- "scope": "namespace",
- "conditions": {
- "anyMatch": [
- {
- "allMatch": [
- {
- "type": "label",
- "key": "env",
- "operator": "equals",
- "value": "prod"
}, - {
- "type": "label",
- "key": "app",
- "operator": "exists"
}
]
}, - {
- "allMatch": [
- {
- "type": "annotation",
- "key": "meta.data",
- "operator": "exists"
}
]
}
]
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/k8s/cluster/o-abcd1234/aggregatedCosts",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "result": {
- "totalForDuration": {
- "startTime": "2023-07-20T11:35:01.745Z",
- "endTime": "2023-07-22T11:30:01.745Z",
- "summary": {
- "total": 41772.882658036,
- "compute": {
- "total": 40668.1299631538,
- "workloads": {
- "total": 40668.1299631538
}, - "headroom": {
- "total": 0
}
}, - "storage": {
- "total": 1104.7526948819,
- "block": {
- "total": 1104.7526948819,
- "azureDisk": {
- "total": 1104.7526948819
}, - "osDisk": {
- "total": 0
}
}
}
}, - "detailedCosts": {
- "groupedBy": "n.l.name",
- "aggregations": {
- "property1": {
- "summary": {
- "total": 425.23778,
- "compute": {
- "total": 125.23778
}, - "storage": {
- "total": 300,
- "block": {
- "total": 300,
- "azureDisk": {
- "total": 300
}, - "osDisk": {
- "total": 0
}
}
}
}, - "resources": [
- {
- "metadata": {
- "name": "k8s-events",
- "type": "Deployment",
- "namespace": "kube-system"
}, - "total": 1.655635222,
- "compute": {
- "total": 1.4213600158
}, - "storage": {
- "total": 0.2342752062,
- "block": {
- "total": 0.2342752062,
- "azureDisk": {
- "total": 0
}, - "osDisk": {
- "total": 0.2342752062
}
}
}
}
]
}, - "property2": {
- "summary": {
- "total": 425.23778,
- "compute": {
- "total": 125.23778
}, - "storage": {
- "total": 300,
- "block": {
- "total": 300,
- "azureDisk": {
- "total": 300
}, - "osDisk": {
- "total": 0
}
}
}
}, - "resources": [
- {
- "metadata": {
- "name": "k8s-events",
- "type": "Deployment",
- "namespace": "kube-system"
}, - "total": 1.655635222,
- "compute": {
- "total": 1.4213600158
}, - "storage": {
- "total": 0.2342752062,
- "block": {
- "total": 0.2342752062,
- "azureDisk": {
- "total": 0
}, - "osDisk": {
- "total": 0.2342752062
}
}
}
}
]
}
}
}
}
}
}
], - "count": 1,
- "kind": "ocean:k8s:cluster:aggregatedCosts:detailed"
}
}
Provides Kubernetes cluster summary usage and costs over a time interval which can be grouped and/or filtered by label/annotaion,
for example - application name (webapp, backend), environment (production, staging), version etc.
The response will contain a breakdown of the cluster resource costs($) in terms of compute (CPU, memory), storage (block, file, rootVolume).
The response will group the cluster usage costs based on preselected default of application namespace or user selected label or annotation.
Time Rounding Down: The CostAnalysis API applies rounding down to the hours provided during the call.
For example, the value 1707004799099 (In GMT) representing Saturday, February 3, 2024, 23:59:59.099 is rounded down to Saturday, February 3, 2024, 23:00:00.000, resulting in the omission of one hour of cost.
oceanClusterId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
endTime required | string End date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
object Describe how to filter the costs. Optional field. | |
groupBy | string Default: "namespace" Enum: "namespace" "namespace.label.${labelKey}" "resource.label.${labelKey}" "resource.annotation.${annotationKey}" "namespace.annotation.${annotationKey}" The parameter we want to group the costs by. |
startTime required | string Beginning date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
{- "startTime": "2023-07-20T11:35:01.745Z",
- "endTime": "2023-07-22T11:30:01.745Z",
- "groupBy": "namespace.label.env",
- "filter": {
- "scope": "namespace",
- "conditions": {
- "anyMatch": [
- {
- "allMatch": [
- {
- "type": "label",
- "key": "env",
- "operator": "equals",
- "value": "prod"
}, - {
- "type": "label",
- "key": "app",
- "operator": "exists"
}
]
}, - {
- "allMatch": [
- {
- "type": "annotation",
- "key": "meta.data",
- "operator": "exists"
}
]
}
]
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/k8s/cluster/o-abcd1234/aggregatedCosts/summary",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "result": {
- "totalForDuration": {
- "startTime": "2023-07-20T11:35:01.745Z",
- "endTime": "2023-07-22T11:30:01.745Z",
- "summary": {
- "total": 41772.882658035785,
- "compute": {
- "total": 40668.1299631538,
- "workloads": {
- "total": 39882.13803327978
}, - "headroom": {
- "total": 0
}
}, - "storage": {
- "total": 1104.7526948819868,
- "block": {
- "total": 1104.7526948819868,
- "azureDisk": {
- "total": 1104.7526948819868
}, - "osDisk": {
- "total": 0
}
}
}
}
}
}
}
], - "count": 1,
- "kind": "ocean:k8s:cluster:aggregatedCosts:summary"
}
}
Insights allows Spot users on AWS to connect a Kubernetes cluster and within minutes get the cluster analyzed with insights about the current state of infrastructure in the cluster, and the potential effect of migrating the specific cluster into Ocean. Through its powerful features, Ocean presents significant opportunities for infrastructure optimization and automation, which are on display in the Insights console. Connected to Kubernetes clusters and running a continuous analysis, Ocean Insights delivers a holistic picture of your cluster and workloads behavior, from expected cloud costs and resource utilization. Through a simple UI, users will see a breakdown of potential savings when they first connect to Ocean Insights.
Creates an Ocean Insight entity according to a given specification.
Prerequisite:
The Ocean Controller is used to monitor the cluster resources and report back to Ocean. The Ocean Controller is required for Ocean Insights.
To install the Ocean Controller, complete and run the following script on a machine with the kubectl command line tool installed and configured:
#!/usr/bin/env bash
curl -fsSL http://spotinst-public.s3.amazonaws.com/integrations/kubernetes/cluster-controller/scripts/init.sh | \
SPOTINST_TOKEN=<ENTER YOUR TOKEN HERE> \
SPOTINST_ACCOUNT=<ENTER YOUR SPOTINST ACCOUNT ID HERE> \
SPOTINST_CLUSTER_IDENTIFIER=<ENTER YOUR CLUSTER IDENTIFIER HERE> \
bash
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (Ocean Insight) | ||||
|
{- "cluster": {
- "name": "Ocean::my-ocean-insight-name",
- "controllerClusterId": "oceanInsight.k8s"
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/insight/k8s/cluster",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "o-134abcd",
- "name": "test",
- "controllerClusterId": "test-123124",
- "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:insight:k8s"
}
}
Get the configurations for all Ocean Insights clusters in the specified account.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/insight/k8s/cluster",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "o-134abcd",
- "name": "test",
- "controllerClusterId": "test-123124",
- "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:insight:k8s"
}
}
Get the configurations for a specified Ocean Insight cluster.
OCEAN_INSIGHT_ID required | string Example: oic-abcd1234 The ID of the Ocean Insight cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/insight/k8s/cluster/oic-12345abc",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "o-134abcd",
- "name": "test",
- "controllerClusterId": "test-123124",
- "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:insight:k8s"
}
}
Delete a specified Ocean Insight cluster.
OCEAN_INSIGHT_ID required | string Example: oic-abcd1234 The ID of the Ocean Insight cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/insight/k8s/cluster/oic-12345abc",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Ocean CD is a fully managed continuous delivery ('CD') solution for Kubernetes applications. Designed for end-to-end automation and verification of frequent application-deployment processes at scale. Ocean CD architecture and API enable a simple and secured installation that seamlessly fits into any Kubernetes environment. Users get key features like granular visibility, SaaS logic that manage the rollout process, verifications of the applied workloads and automatic rollbacks. To enable Ocean CD, install the controller with one simple command in the Kubernetes cluster and create the following entities using the API:
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "lastHeartbeatTime": "2018-11-05T12:55:50.000Z",
- "clusterInfo": {
- "kubernetesVersion": "string",
- "cloudProvider": "string",
- "kubernetesOrchestrator": "string"
}, - "operatorInfo": {
- "kubernetesVersion": "string",
- "nodeName": "string",
- "operatorVersion": "string",
- "podName": "string"
}, - "operatorMetadata": {
- "lastHeartbeatTime": "2018-11-05T12:55:50.000Z"
}, - "omInfo": {
- "kubernetesVersion": "string",
- "nodeName": "string",
- "operatorVersion": "string",
- "podName": "string"
}, - "omMetadata": {
- "lastHeartbeatTime": "2018-11-05T12:55:50.000Z"
}, - "argoRolloutInfo": {
- "argoRolloutVersion": "string",
- "lastHeartbeatTime": "2018-11-05T12:55:50.000Z"
}, - "id": "oceanCluster",
- "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Get an existing Ocean CD cluster.
clusterId required | string Example: cluster-prod The identifier of the Ocean CD cluster |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "lastHeartbeatTime": "2018-11-05T12:55:50.000Z",
- "clusterInfo": {
- "kubernetesVersion": "string",
- "cloudProvider": "string",
- "kubernetesOrchestrator": "string"
}, - "operatorInfo": {
- "kubernetesVersion": "string",
- "nodeName": "string",
- "operatorVersion": "string",
- "podName": "string"
}, - "operatorMetadata": {
- "lastHeartbeatTime": "2018-11-05T12:55:50.000Z"
}, - "omInfo": {
- "kubernetesVersion": "string",
- "nodeName": "string",
- "operatorVersion": "string",
- "podName": "string"
}, - "omMetadata": {
- "lastHeartbeatTime": "2018-11-05T12:55:50.000Z"
}, - "argoRolloutInfo": {
- "argoRolloutVersion": "string",
- "lastHeartbeatTime": "2018-11-05T12:55:50.000Z"
}, - "id": "oceanCluster",
- "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Create Ocean CD Verification Provider. Only one provider type can be defined
required | object (oceanCDVerificationProvider) | ||||||||||||||
|
{- "verificationProvider": {
- "name": "datadog-prod",
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
},
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "datadog-prod",
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
List all Ocean CD Verification Providers.
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "datadog-prod",
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Get an existing Ocean CD Verification Provider.
name required | string Example: datadog-prod The identifier of the Ocean CD Verification Provider |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "datadog-prod",
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Full Update of Ocean CD Verification Provider configuration. All non included fields will be nullified
name required | string Example: datadog-prod The identifier name of the Ocean CD Verification Provider |
required | object (oceanCDVerificationProviderUpdate) | ||||||||||||
|
{- "verificationProvider": {
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
},
}
}
Partial update Ocean CD Verification Provider configuration.
name required | string Example: datadog-prod The identifier name of the Ocean CD Verification Provider |
required | object (Ocean CD Verification Provider) Ocean CD Verification Provider spec entity. | ||||||||||||
|
{- "verificationProvider": {
- "clusterIds": [
- "prod-cluster-1",
- "prod-cluster-2"
], - "datadog": {
- "apiKey": "AUO32RN20oUMD-40283",
- "appKey": "APP-113ndsKlfmaoN"
}, - "newRelic": {
- "personalApiKey": "AUO32RN20oUMD-40283",
- "accountId": "account-0189718",
- "region": "eu",
}, - "cloudWatch": {
- "iamArn": "arn:aws:iam::123456789012:role/GetMetricData"
},
}
}
Create Ocean CD Verification Template.
required | object (oceanCDVerificationTemplate) The object specifying a set of metrics that need to be analyzed during the rollout, and the values that are considered successful or failed | ||||||
|
{- "verificationTemplate": {
- "name": "latency-validation",
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "5m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}, - "baseline": {
- "threshold": ">",
- "minRange": 45,
- "maxRange": 55,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}
}
}
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "latency-validation",
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "5m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}, - "baseline": {
- "threshold": ">",
- "minRange": 45,
- "maxRange": 55,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}
}
}
}
], - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
List all Ocean CD Verification Templates.
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "latency-validation",
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "5m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}, - "baseline": {
- "threshold": ">",
- "minRange": 45,
- "maxRange": 55,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}
}
}
}
], - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Get an existing Ocean CD Verification Template.
name required | string Example: latency-validation The identifier of the Ocean CD Verification Template |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "latency-validation",
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "5m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}, - "baseline": {
- "threshold": ">",
- "minRange": 45,
- "maxRange": 55,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}
}
}
}
], - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Full update of Ocean CD Verification Template configuration. All non included fields will be nullified
name required | string Example: latency-validation The identifier name of the Ocean CD Verification Template |
required | object (oceanCDVerificationTemplateUpdate) | ||||
|
{- "verificationTemplate": {
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "5m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}, - "baseline": {
- "threshold": ">",
- "minRange": 45,
- "maxRange": 55,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}
}
}
}
]
}
}
Partial update Ocean CD Verification Template configuration.
name required | string Example: latency-validation The identifier name of the Ocean CD Verification Template |
required | object (Ocean CD Verification Template) Ocean CD Verification Template spec entity. | ||||
|
{- "verificationTemplate": {
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "5m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}, - "baseline": {
- "threshold": ">",
- "minRange": 45,
- "maxRange": 55,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}
}
}
}
]
}
}
Create Ocean CD Strategy.
required | object (Ocean CD Strategy) Ocean CD strategy. Use in RolloutSpec to decide what strategy to use when applying | ||||||
|
{- "strategy": {
- "name": "service-strategy",
- "canary": {
- "backgroundVerification": {
- "templateNames": [
- "verification-template-name"
]
}, - "steps": [
- {
- "name": "first-step",
- "setWeight": 20,
- "setCanaryScale": {
- "weight": 20,
- "replicas": 20,
- "matchTrafficWeight": true
}, - "verification": {
- "templateNames": [
- "5xx-errors"
]
}, - "pause": {
- "duration": "5m"
}, - "setHeaderRoute": {
- "name": "set-header-1",
- "match": [
- {
- "headerName": "User-Agent",
- "headerValue": {
- "exact": "Mozilla",
- "prefix": "Mozilla-",
- "regex": "Mozilla(.*)"
}
}
]
}
}
]
}, - "rolling": {
- "steps": [
- {
- "name": "first-step",
- "verification": {
- "templateNames": [
- "5xx-errors"
]
}, - "pause": {
- "duration": "5m"
}
}
]
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "service-strategy",
- "canary": {
- "backgroundVerification": {
- "templateNames": [
- "verification-template-name"
]
}, - "steps": [
- {
- "name": "first-step",
- "setWeight": 20,
- "setCanaryScale": {
- "weight": 20,
- "replicas": 20,
- "matchTrafficWeight": true
}, - "verification": {
- "templateNames": [
- "5xx-errors"
]
}, - "pause": {
- "duration": "5m"
}, - "setHeaderRoute": {
- "name": "set-header-1",
- "match": [
- {
- "headerName": "User-Agent",
- "headerValue": {
- "exact": "Mozilla",
- "prefix": "Mozilla-",
- "regex": "Mozilla(.*)"
}
}
]
}
}
]
}, - "rolling": {
- "steps": [
- {
- "name": "first-step",
- "verification": {
- "templateNames": [
- "5xx-errors"
]
}, - "pause": {
- "duration": "5m"
}
}
]
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "service-strategy",
- "canary": {
- "backgroundVerification": {
- "templateNames": [
- "verification-template-name"
]
}, - "steps": [
- {
- "name": "first-step",
- "setWeight": 20,
- "setCanaryScale": {
- "weight": 20,
- "replicas": 20,
- "matchTrafficWeight": true
}, - "verification": {
- "templateNames": [
- "5xx-errors"
]
}, - "pause": {
- "duration": "5m"
}, - "setHeaderRoute": {
- "name": "set-header-1",
- "match": [
- {
- "headerName": "User-Agent",
- "headerValue": {
- "exact": "Mozilla",
- "prefix": "Mozilla-",
- "regex": "Mozilla(.*)"
}
}
]
}
}
]
}, - "rolling": {
- "steps": [
- {
- "name": "first-step",
- "verification": {
- "templateNames": [
- "5xx-errors"
]
}, - "pause": {
- "duration": "5m"
}
}
]
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Get an existing Ocean CD Strategy.
strategyName required | string Example: canary-prod The identifier name of the Ocean CD Strategy |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "service-strategy",
- "canary": {
- "backgroundVerification": {
- "templateNames": [
- "verification-template-name"
]
}, - "steps": [
- {
- "name": "first-step",
- "setWeight": 20,
- "setCanaryScale": {
- "weight": 20,
- "replicas": 20,
- "matchTrafficWeight": true
}, - "verification": {
- "templateNames": [
- "5xx-errors"
]
}, - "pause": {
- "duration": "5m"
}, - "setHeaderRoute": {
- "name": "set-header-1",
- "match": [
- {
- "headerName": "User-Agent",
- "headerValue": {
- "exact": "Mozilla",
- "prefix": "Mozilla-",
- "regex": "Mozilla(.*)"
}
}
]
}
}
]
}, - "rolling": {
- "steps": [
- {
- "name": "first-step",
- "verification": {
- "templateNames": [
- "5xx-errors"
]
}, - "pause": {
- "duration": "5m"
}
}
]
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Full update of Ocean CD strategy configuration. All non included fields will be nullified
strategyName required | string Example: canary-prod The identifier name of the Ocean CD Strategy |
required | object (Ocean CD Strategy) Ocean CD strategy. Use in RolloutSpec to decide what strategy to use when applying | ||||
|
{- "strategy": {
- "canary": {
- "backgroundVerification": {
- "templateNames": [
- "verification-template-name"
]
}, - "steps": [
- {
- "name": "first-step",
- "setWeight": 20,
- "setCanaryScale": {
- "weight": 20,
- "replicas": 20,
- "matchTrafficWeight": true
}, - "verification": {
- "templateNames": [
- "5xx-errors"
]
}, - "pause": {
- "duration": "5m"
}, - "setHeaderRoute": {
- "name": "set-header-1",
- "match": [
- {
- "headerName": "User-Agent",
- "headerValue": {
- "exact": "Mozilla",
- "prefix": "Mozilla-",
- "regex": "Mozilla(.*)"
}
}
]
}
}
]
}, - "rolling": {
- "steps": [
- {
- "name": "first-step",
- "verification": {
- "templateNames": [
- "5xx-errors"
]
}, - "pause": {
- "duration": "5m"
}
}
]
}
}
}
Partial update of Ocean CD strategy configuration.
strategyName required | string Example: canary-prod The identifier name of the Ocean CD Strategy |
required | object (Ocean CD Strategy) Ocean CD strategy. Use in RolloutSpec to decide what strategy to use when applying | ||||
|
{- "strategy": {
- "canary": {
- "backgroundVerification": {
- "templateNames": [
- "verification-template-name"
]
}, - "steps": [
- {
- "name": "first-step",
- "setWeight": 20,
- "setCanaryScale": {
- "weight": 20,
- "replicas": 20,
- "matchTrafficWeight": true
}, - "verification": {
- "templateNames": [
- "5xx-errors"
]
}, - "pause": {
- "duration": "5m"
}, - "setHeaderRoute": {
- "name": "set-header-1",
- "match": [
- {
- "headerName": "User-Agent",
- "headerValue": {
- "exact": "Mozilla",
- "prefix": "Mozilla-",
- "regex": "Mozilla(.*)"
}
}
]
}
}
]
}, - "rolling": {
- "steps": [
- {
- "name": "first-step",
- "verification": {
- "templateNames": [
- "5xx-errors"
]
}, - "pause": {
- "duration": "5m"
}
}
]
}
}
}
Create Ocean CD Rollout Spec.
required | object (Ocean CD Rollout Spec) Ocean CD Rollout Spec entity. | ||||||||||||
|
{- "rolloutSpec": {
- "name": "my-rolloutspec",
- "spotDeployment": {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}, - "spotDeployments": [
- {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}
], - "strategy": {
- "name": "canary-strategy",
- "args": [
- {
- "name": "app",
- "value": "my-application",
- "valueFrom": {
- "fieldRef": {
- "fieldPath": "metadata.labels['app']"
}
}
}
]
}, - "traffic": {
- "canaryService": "canary-service",
- "stableService": "stable-service",
- "istio": {
- "virtualServices": [
- {
- "name": "service",
- "routes": [
- "http-primary"
], - "tlsRoutes": [
- {
- "port": 443,
- "sniHosts": [
- "spot.io"
]
}
]
}
], - "destinationRule": {
- "name": "rollout-destrule",
- "canarySubsetName": "canary-subset",
- "stableSubsetName": "stable-subset"
}
}, - "nginx": {
- "annotationPrefix": "customingress.nginx.ingress.kubernetes.io",
- "stableIngress": "rollouts-demo-ingress-nginx",
- "additionalIngressAnnotations": {
- "canary-by-header": "X-Canary",
- "key1": "value1"
}
}, - "alb": {
- "ingress": "rollouts-demo-ingress",
- "servicePort": 80,
- "rootService": "rollouts-demo-root",
- "stickinessConfig": {
- "enabled": true,
- "durationSeconds": 3600
}, - "annotationPrefix": "custom.alb.ingress.kubernetes.io"
}, - "smi": {
- "rootService": "rollouts-demo-root",
- "trafficSplitName": "rollout-example-traffic-split"
}, - "ambassador": {
- "mappings": [
- "stable-mapping"
]
}, - "pingPong": {
- "pingService": "rollouts-demo-canary",
- "pongService": "rollouts-demo-stable"
}
}, - "failurePolicy": {
- "action": "abort"
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "my-rolloutspec",
- "spotDeployment": {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}, - "spotDeployments": [
- {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}
], - "strategy": {
- "name": "canary-strategy",
- "args": [
- {
- "name": "app",
- "value": "my-application",
- "valueFrom": {
- "fieldRef": {
- "fieldPath": "metadata.labels['app']"
}
}
}
]
}, - "traffic": {
- "canaryService": "canary-service",
- "stableService": "stable-service",
- "istio": {
- "virtualServices": [
- {
- "name": "service",
- "routes": [
- "http-primary"
], - "tlsRoutes": [
- {
- "port": 443,
- "sniHosts": [
- "spot.io"
]
}
]
}
], - "destinationRule": {
- "name": "rollout-destrule",
- "canarySubsetName": "canary-subset",
- "stableSubsetName": "stable-subset"
}
}, - "nginx": {
- "annotationPrefix": "customingress.nginx.ingress.kubernetes.io",
- "stableIngress": "rollouts-demo-ingress-nginx",
- "additionalIngressAnnotations": {
- "canary-by-header": "X-Canary",
- "key1": "value1"
}
}, - "alb": {
- "ingress": "rollouts-demo-ingress",
- "servicePort": 80,
- "rootService": "rollouts-demo-root",
- "stickinessConfig": {
- "enabled": true,
- "durationSeconds": 3600
}, - "annotationPrefix": "custom.alb.ingress.kubernetes.io"
}, - "smi": {
- "rootService": "rollouts-demo-root",
- "trafficSplitName": "rollout-example-traffic-split"
}, - "ambassador": {
- "mappings": [
- "stable-mapping"
]
}, - "pingPong": {
- "pingService": "rollouts-demo-canary",
- "pongService": "rollouts-demo-stable"
}
}, - "failurePolicy": {
- "action": "abort"
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "my-rolloutspec",
- "spotDeployment": {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}, - "spotDeployments": [
- {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}
], - "strategy": {
- "name": "canary-strategy",
- "args": [
- {
- "name": "app",
- "value": "my-application",
- "valueFrom": {
- "fieldRef": {
- "fieldPath": "metadata.labels['app']"
}
}
}
]
}, - "traffic": {
- "canaryService": "canary-service",
- "stableService": "stable-service",
- "istio": {
- "virtualServices": [
- {
- "name": "service",
- "routes": [
- "http-primary"
], - "tlsRoutes": [
- {
- "port": 443,
- "sniHosts": [
- "spot.io"
]
}
]
}
], - "destinationRule": {
- "name": "rollout-destrule",
- "canarySubsetName": "canary-subset",
- "stableSubsetName": "stable-subset"
}
}, - "nginx": {
- "annotationPrefix": "customingress.nginx.ingress.kubernetes.io",
- "stableIngress": "rollouts-demo-ingress-nginx",
- "additionalIngressAnnotations": {
- "canary-by-header": "X-Canary",
- "key1": "value1"
}
}, - "alb": {
- "ingress": "rollouts-demo-ingress",
- "servicePort": 80,
- "rootService": "rollouts-demo-root",
- "stickinessConfig": {
- "enabled": true,
- "durationSeconds": 3600
}, - "annotationPrefix": "custom.alb.ingress.kubernetes.io"
}, - "smi": {
- "rootService": "rollouts-demo-root",
- "trafficSplitName": "rollout-example-traffic-split"
}, - "ambassador": {
- "mappings": [
- "stable-mapping"
]
}, - "pingPong": {
- "pingService": "rollouts-demo-canary",
- "pongService": "rollouts-demo-stable"
}
}, - "failurePolicy": {
- "action": "abort"
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Get the configuration of an existing Ocean CD Rollout Spec.
rolloutSpecName required | string Example: app-rolloutspec The identifier name of the Ocean CD Rollout Spec |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "my-rolloutspec",
- "spotDeployment": {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}, - "spotDeployments": [
- {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}
], - "strategy": {
- "name": "canary-strategy",
- "args": [
- {
- "name": "app",
- "value": "my-application",
- "valueFrom": {
- "fieldRef": {
- "fieldPath": "metadata.labels['app']"
}
}
}
]
}, - "traffic": {
- "canaryService": "canary-service",
- "stableService": "stable-service",
- "istio": {
- "virtualServices": [
- {
- "name": "service",
- "routes": [
- "http-primary"
], - "tlsRoutes": [
- {
- "port": 443,
- "sniHosts": [
- "spot.io"
]
}
]
}
], - "destinationRule": {
- "name": "rollout-destrule",
- "canarySubsetName": "canary-subset",
- "stableSubsetName": "stable-subset"
}
}, - "nginx": {
- "annotationPrefix": "customingress.nginx.ingress.kubernetes.io",
- "stableIngress": "rollouts-demo-ingress-nginx",
- "additionalIngressAnnotations": {
- "canary-by-header": "X-Canary",
- "key1": "value1"
}
}, - "alb": {
- "ingress": "rollouts-demo-ingress",
- "servicePort": 80,
- "rootService": "rollouts-demo-root",
- "stickinessConfig": {
- "enabled": true,
- "durationSeconds": 3600
}, - "annotationPrefix": "custom.alb.ingress.kubernetes.io"
}, - "smi": {
- "rootService": "rollouts-demo-root",
- "trafficSplitName": "rollout-example-traffic-split"
}, - "ambassador": {
- "mappings": [
- "stable-mapping"
]
}, - "pingPong": {
- "pingService": "rollouts-demo-canary",
- "pongService": "rollouts-demo-stable"
}
}, - "failurePolicy": {
- "action": "abort"
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
Full update Ocean CD Rollout Spec configuration. All non included fields will be nullified
rolloutSpecName required | string Example: app-rolloutspec The identifier name of the Ocean CD Rollout Spec |
required | object (Ocean CD Rollout Spec) Ocean CD rollout spec entity | ||||||||||
|
{- "rolloutSpec": {
- "spotDeployment": {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}, - "spotDeployments": [
- {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}
], - "strategy": {
- "name": "canary-strategy",
- "args": [
- {
- "name": "app",
- "value": "my-application",
- "valueFrom": {
- "fieldRef": {
- "fieldPath": "metadata.labels['app']"
}
}
}
]
}, - "traffic": {
- "canaryService": "canary-service",
- "stableService": "stable-service",
- "istio": {
- "virtualServices": [
- {
- "name": "service",
- "routes": [
- "http-primary"
], - "tlsRoutes": [
- {
- "port": 443,
- "sniHosts": [
- "spot.io"
]
}
]
}
], - "destinationRule": {
- "name": "rollout-destrule",
- "canarySubsetName": "canary-subset",
- "stableSubsetName": "stable-subset"
}
}, - "nginx": {
- "annotationPrefix": "customingress.nginx.ingress.kubernetes.io",
- "stableIngress": "rollouts-demo-ingress-nginx",
- "additionalIngressAnnotations": {
- "canary-by-header": "X-Canary",
- "key1": "value1"
}
}, - "alb": {
- "ingress": "rollouts-demo-ingress",
- "servicePort": 80,
- "rootService": "rollouts-demo-root",
- "stickinessConfig": {
- "enabled": true,
- "durationSeconds": 3600
}, - "annotationPrefix": "custom.alb.ingress.kubernetes.io"
}, - "smi": {
- "rootService": "rollouts-demo-root",
- "trafficSplitName": "rollout-example-traffic-split"
}, - "ambassador": {
- "mappings": [
- "stable-mapping"
]
}, - "pingPong": {
- "pingService": "rollouts-demo-canary",
- "pongService": "rollouts-demo-stable"
}
}, - "failurePolicy": {
- "action": "abort"
}
}
}
Partial update Ocean CD Rollout Spec configuration.
rolloutSpecName required | string Example: app-rolloutspec The identifier name of the Ocean CD Rollout Spec |
required | object (Ocean CD Rollout Spec) Ocean CD rollout spec entity | ||||||||||
|
{- "rolloutSpec": {
- "spotDeployment": {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}, - "spotDeployments": [
- {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}
], - "strategy": {
- "name": "canary-strategy",
- "args": [
- {
- "name": "app",
- "value": "my-application",
- "valueFrom": {
- "fieldRef": {
- "fieldPath": "metadata.labels['app']"
}
}
}
]
}, - "traffic": {
- "canaryService": "canary-service",
- "stableService": "stable-service",
- "istio": {
- "virtualServices": [
- {
- "name": "service",
- "routes": [
- "http-primary"
], - "tlsRoutes": [
- {
- "port": 443,
- "sniHosts": [
- "spot.io"
]
}
]
}
], - "destinationRule": {
- "name": "rollout-destrule",
- "canarySubsetName": "canary-subset",
- "stableSubsetName": "stable-subset"
}
}, - "nginx": {
- "annotationPrefix": "customingress.nginx.ingress.kubernetes.io",
- "stableIngress": "rollouts-demo-ingress-nginx",
- "additionalIngressAnnotations": {
- "canary-by-header": "X-Canary",
- "key1": "value1"
}
}, - "alb": {
- "ingress": "rollouts-demo-ingress",
- "servicePort": 80,
- "rootService": "rollouts-demo-root",
- "stickinessConfig": {
- "enabled": true,
- "durationSeconds": 3600
}, - "annotationPrefix": "custom.alb.ingress.kubernetes.io"
}, - "smi": {
- "rootService": "rollouts-demo-root",
- "trafficSplitName": "rollout-example-traffic-split"
}, - "ambassador": {
- "mappings": [
- "stable-mapping"
]
}, - "pingPong": {
- "pingService": "rollouts-demo-canary",
- "pongService": "rollouts-demo-stable"
}
}, - "failurePolicy": {
- "action": "abort"
}
}
}
Get Ocean CD rollout by ID.
rolloutId required | string Example: rol-123456 The identifier name of the Ocean CD rollout |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "rol-56789000",
- "spotDeployment": {
- "name": "example-12345",
- "isLiveApplied": false,
- "revision": 3,
- "spotDeploymentDeletedAt": "2018-11-05T12:55:50.000Z",
- "oldVersion": "nginx:1.10",
- "newVersion": "nginx:1.11",
- "oldManifest": "{\"kind\":\"SpotDeployment\",\"apiVersion\":\"spot.io/v1beta1\",\"metadata\"...",
- "newManifest": "{\"kind\":\"SpotDeployment\",\"apiVersion\":\"spot.io/v1beta1\",\"metadata\"..."
}, - "namespace": "oceancd",
- "clusterId": "oceancd-cluster",
- "originalRolloutId": "rol-1000550",
- "newRolloutId": "rol-1000551",
- "strategyType": "canary",
- "strategyName": "4-steps-verification",
- "status": "finished",
- "startTime": "2018-11-05T12:55:50.000Z",
- "endTime": "2018-11-05T12:58:15.000Z",
- "rolloutSpec": "canary-nginx-rolloutspec",
- "cloudProvider": "aws",
- "clusterDeletedAt": "2018-11-05T12:55:50.000Z"
}
]
}
}
Execute action on an existing Ocean CD rollout.
rolloutId required | string Example: rol-123456 The identifier name of the Ocean CD rollout |
action required | string Enum: "promote" "promoteFull" "pause" "abort" "retry" An action that might be applied to a rollout |
{- "action": "promote"
}
List Ocean CD rollouts.
fromDate required | string Example: fromDate=1656622800000 The timestamp indicating the starting point from which only rollouts initiated thereafter will be listed |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "rol-56789000",
- "spotDeployment": {
- "name": "example-12345",
- "isLiveApplied": false,
- "revision": 3,
- "spotDeploymentDeletedAt": "2018-11-05T12:55:50.000Z",
- "oldVersion": "nginx:1.10",
- "newVersion": "nginx:1.11",
- "oldManifest": "{\"kind\":\"SpotDeployment\",\"apiVersion\":\"spot.io/v1beta1\",\"metadata\"...",
- "newManifest": "{\"kind\":\"SpotDeployment\",\"apiVersion\":\"spot.io/v1beta1\",\"metadata\"..."
}, - "namespace": "oceancd",
- "clusterId": "oceancd-cluster",
- "originalRolloutId": "rol-1000550",
- "newRolloutId": "rol-1000551",
- "strategyType": "canary",
- "strategyName": "4-steps-verification",
- "status": "finished",
- "startTime": "2018-11-05T12:55:50.000Z",
- "endTime": "2018-11-05T12:58:15.000Z",
- "rolloutSpec": "canary-nginx-rolloutspec",
- "cloudProvider": "aws",
- "clusterDeletedAt": "2018-11-05T12:55:50.000Z"
}
]
}
}
Get Ocean CD rollout status.
rolloutId required | string Example: rol-1234567890 The identifier name of the Ocean CD rollout |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "rol-56789000",
- "status": "finished",
- "spotDeployment": "oceancd-spotdeployment-1",
- "originalRolloutId": "rol-1000550",
- "newRolloutId": "rol-1000551",
- "startTime": "2018-11-05T12:55:50.000Z",
- "endTime": "2018-11-05T12:58:15.000Z",
- "clusterId": "oceancd-cluster",
- "namespace": "oceancd",
- "strategy": "canary",
- "hasBackgroundVerification": true,
- "failureReason": "Triggering failure policy. Phase 2 failed due to Metric assessed",
- "newVersionStatus": {
- "version": "nginx:1.10",
- "k8sService": "service-example",
- "trafficPercentage": 80,
- "replicas": {
- "desired": 4,
- "ready": 2,
- "inProgress": 1,
- "failed": 1
}
}, - "stableVersionStatus": {
- "version": "nginx:1.10",
- "k8sService": "service-example",
- "trafficPercentage": 80,
- "replicas": {
- "desired": 4,
- "ready": 2,
- "inProgress": 1,
- "failed": 1
}
}
}
]
}
}
Get Ocean CD latest rollout(s).
clusterId required | string Example: clusterId=cluster-id The identifier name of Ocean CD cluster |
count required | string Example: count=1 Number of intended responses, sorted from the last one down |
namespace required | string Example: namespace=namespace-name The Kubernetes namespace in which the rollout is running |
spotDeployment required | string Example: spotDeployment=spotDeployment-name The identifier name of the associated SpotDeployment |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "rol-56789000",
- "status": "finished",
- "spotDeployment": "oceancd-spotdeployment-1",
- "originalRolloutId": "rol-1000550",
- "newRolloutId": "rol-1000551",
- "startTime": "2018-11-05T12:55:50.000Z",
- "endTime": "2018-11-05T12:58:15.000Z",
- "clusterId": "oceancd-cluster",
- "namespace": "oceancd",
- "strategy": "canary",
- "hasBackgroundVerification": true,
- "failureReason": "Triggering failure policy. Phase 2 failed due to Metric assessed",
- "newVersionStatus": {
- "version": "nginx:1.10",
- "k8sService": "service-example",
- "trafficPercentage": 80,
- "replicas": {
- "desired": 4,
- "ready": 2,
- "inProgress": 1,
- "failed": 1
}
}, - "stableVersionStatus": {
- "version": "nginx:1.10",
- "k8sService": "service-example",
- "trafficPercentage": 80,
- "replicas": {
- "desired": 4,
- "ready": 2,
- "inProgress": 1,
- "failed": 1
}
}
}
]
}
}
Get Ocean CD ongoing rollouts number.
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "rollouts": 1
}
]
}
}
Get Ocean CD rollout verification.
rolloutId required | string Example: rol-123456 The identifier name of the Ocean CD Rollout Verification |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "metricName": "prometheus-metric",
- "startTime": "2018-11-05T12:55:50.000Z",
- "status": "successful",
- "message": "Failed to get data",
- "failureCondition": "result[0] >= 1000000",
- "successCondition": "result[0] < 1000000",
- "query": "sum(container_cpu_usage_seconds_total{namespace=\"analysis-namespace\", endpoint=\"https-metrics\"})",
- "failureLimit": 1,
- "interval": "5s",
- "count": 3,
- "dataPoints": [
- {
- "timestamp": "2018-11-05T12:55:50.000Z",
- "value": "[11.374236757]",
- "status": "Successful",
- "message": "failure message"
}
], - "provider": "prometheus",
- "step": "1",
- "baseline": {
- "baselineResult": 2.453,
- "metric": {
- "threshold": "<",
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}
}
}
}, - "providerDetails": {
- "job": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
]
}
}
}
]
}
}
Get Ocean CD rollout definition.
rolloutId required | string Example: rol-123456 The identifier name of the Ocean CD rollout |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": {
- "rolloutSpec": {
- "name": "my-rolloutspec",
- "spotDeployment": {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}, - "spotDeployments": [
- {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}
], - "strategy": {
- "name": "canary-strategy",
- "args": [
- {
- "name": "app",
- "value": "my-application",
- "valueFrom": {
- "fieldRef": {
- "fieldPath": "metadata.labels['app']"
}
}
}
]
}, - "traffic": {
- "canaryService": "canary-service",
- "stableService": "stable-service",
- "istio": {
- "virtualServices": [
- {
- "name": "service",
- "routes": [
- "http-primary"
], - "tlsRoutes": [
- {
- "port": 443,
- "sniHosts": [
- "spot.io"
]
}
]
}
], - "destinationRule": {
- "name": "rollout-destrule",
- "canarySubsetName": "canary-subset",
- "stableSubsetName": "stable-subset"
}
}, - "nginx": {
- "annotationPrefix": "customingress.nginx.ingress.kubernetes.io",
- "stableIngress": "rollouts-demo-ingress-nginx",
- "additionalIngressAnnotations": {
- "canary-by-header": "X-Canary",
- "key1": "value1"
}
}, - "alb": {
- "ingress": "rollouts-demo-ingress",
- "servicePort": 80,
- "rootService": "rollouts-demo-root",
- "stickinessConfig": {
- "enabled": true,
- "durationSeconds": 3600
}, - "annotationPrefix": "custom.alb.ingress.kubernetes.io"
}, - "smi": {
- "rootService": "rollouts-demo-root",
- "trafficSplitName": "rollout-example-traffic-split"
}, - "ambassador": {
- "mappings": [
- "stable-mapping"
]
}, - "pingPong": {
- "pingService": "rollouts-demo-canary",
- "pongService": "rollouts-demo-stable"
}
}, - "failurePolicy": {
- "action": "abort"
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}, - "strategy": {
- "canary": {
- "backgroundVerification": {
- "templateNames": [
- "verification-template-name"
]
}, - "steps": [
- {
- "name": "first-step",
- "setWeight": 20,
- "setCanaryScale": {
- "weight": 20,
- "replicas": 20,
- "matchTrafficWeight": true
}, - "verification": {
- "templateNames": [
- "5xx-errors"
]
}, - "pause": {
- "duration": "5m"
}, - "setHeaderRoute": {
- "name": "set-header-1",
- "match": [
- {
- "headerName": "User-Agent",
- "headerValue": {
- "exact": "Mozilla",
- "prefix": "Mozilla-",
- "regex": "Mozilla(.*)"
}
}
]
}
}
]
}, - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}, - "phaseVerifications": [
- {
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "fieldRef": {
- "fieldPath": "metadata.labels['env']"
}, - "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "5m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}, - "baseline": {
- "threshold": ">",
- "minRange": 45,
- "maxRange": 55,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}
}
}
}
], - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
], - "backgroundVerifications": [
- {
- "args": [
- {
- "name": "root-password",
- "value": 12345678,
- "valueFrom": {
- "fieldRef": {
- "fieldPath": "metadata.labels['env']"
}, - "secretKeyRef": {
- "name": "root-password-secret",
- "key": "root-password"
}
}
}
], - "metrics": [
- {
- "name": "5xx-errors",
- "dryRun": false,
- "interval": "5m",
- "initialDelay": "1m",
- "count": 10,
- "successCondition": "result[0] <= 0.95",
- "failureCondition": "result[0] >= 1.2",
- "failureLimit": 2,
- "consecutiveErrorLimit": 4,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}, - "cloudWatch": {
- "duration": "5m",
- "metricDataQueries": [
- {
- "id": "utilization",
- "metricStat": {
- "metric": {
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "i-1234567890abcdef"
}
]
}, - "period": 300,
- "stat": "Average",
- "unit": "None"
}, - "expression": "SELECT AVG(CPUUtilization) FROM SCHEMA(\\\"AWS/EC2\\\", InstanceId)",
- "label": "Cluster CpuUtilization",
- "returnData": false,
- "period": 300
}
]
}, - "web": {
- "method": "GET",
- "url": "https://oceancd.com/api/v1/metrics?clusterId={{ args.clusterId }}",
- "headers": [
- {
- "key": "Authorization",
- "value": "Bearer {{ args.token }}"
}
], - "body": "{\"key\": \"test\"}",
- "timeoutSeconds": 10,
- "jsonPath": "{$.data}",
- "insecure": false
}, - "job": {
- "spec": {
- "backoffLimit": 1,
- "template": {
- "spec": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
], - "restartPolicy": "Never"
}
}
}
}, - "jenkins": {
- "pipelineName": "pipelineName",
- "tlsVerification": true,
- "timeout": "120s/2m",
- "interval": "5s",
- "parameters": [
- {
- "key": "app",
- "value": "my-application"
}
]
}
}, - "baseline": {
- "threshold": ">",
- "minRange": 45,
- "maxRange": 55,
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}
}
}
}
], - "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:58:15.000Z"
}
]
}
}
}
Get Ocean CD rollout resource.
rolloutId required | string Example: rol-123456 The identifier name of the Ocean CD rollout |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "events": [
- {
- "lastTimestamp": "2018-06-20T11:35:01.745Z",
- "type": "Normal",
- "reason": "Created",
- "object": "Pod/rollout-demo-prod-xxxxx",
- "message": "Created container rollout-demo-prod-xxxxx"
}
], - "replicaSets": {
- "stable": {
- "name": "2018-06-20T11:35:01.745Z",
- "desired": 4,
- "current": 2,
- "ready": 2
}, - "latest": {
- "name": "2018-06-20T11:35:01.745Z",
- "desired": 4,
- "current": 2,
- "ready": 2
}
}, - "pods": [
- {
- "name": "rollout-pod",
- "containersReadiness": "1/1",
- "ready": true,
- "status": "ready",
- "restarts": 0,
- "version": "stable"
}
], - "services": [
- {
- "name": "stable-service",
- "type": "ClusterIP",
- "clusterIp": "172.12.207.19",
- "externalIp": "192.12.207.10",
- "ports": [
- 80
], - "version": "stable"
}
], - "spotDeployment": {
- "oldVersion": "nginx:1.10",
- "newVersion": "nginx:1.11",
- "oldManifest": "{\"kind\":\"SpotDeployment\",\"apiVersion\":\"spot.io/v1beta1\",\"metadata\"...",
- "newManifest": "{\"kind\":\"SpotDeployment\",\"apiVersion\":\"spot.io/v1beta1\",\"metadata\"..."
}
}
]
}
}
Get Ocean CD rollout phase.
rolloutId required | string Example: rol-123456 The identifier name of the Ocean CD rollout |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "phase-01",
- "status": "finished",
- "startTime": "2018-06-20T11:35:01.745Z",
- "pausedAt": "2018-06-20T11:35:01.745Z",
- "verifiedAt": "2018-06-20T11:35:01.745Z",
- "endTime": "2018-06-20T11:35:01.745Z",
- "trafficPercentage": 80,
- "verifications": [
- {
- "metricName": "prometheus-metric",
- "startTime": "2018-11-05T12:55:50.000Z",
- "status": "successful",
- "message": "Failed to get data",
- "failureCondition": "result[0] >= 1000000",
- "successCondition": "result[0] < 1000000",
- "query": "sum(container_cpu_usage_seconds_total{namespace=\"analysis-namespace\", endpoint=\"https-metrics\"})",
- "failureLimit": 1,
- "interval": "5s",
- "count": 3,
- "dataPoints": [
- {
- "timestamp": "2018-11-05T12:55:50.000Z",
- "value": "[11.374236757]",
- "status": "Successful",
- "message": "failure message"
}
], - "provider": "prometheus",
- "step": "1",
- "baseline": {
- "baselineResult": 2.453,
- "metric": {
- "threshold": "<",
- "provider": {
- "prometheus": {
- "query": "http_requests_total{status!~\"5..\"}\""
}, - "newRelic": {
- "profile": "account-12345678",
- "query": "FROM Metric SELECT count(*)"
}, - "datadog": {
- "duration": "1m",
- "query": "avg:kubernetes.cpu.user.total{*}"
}
}
}
}, - "providerDetails": {
- "job": {
- "containers": [
- {
- "name": "hello",
- "command": [
- "sh",
- "-c",
- "echo",
- "Hello, world!"
], - "image": "nginx:1.21"
}
]
}
}
}
]
}
]
}
}
Get Ocean CD rollout Strategy override entity.
rolloutId required | string Example: rol-123456 The identifier of the Ocean CD Rollout |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "rolloutId": "rol-123456",
- "isOverridden": true,
- "newStrategy": "canary-strategy",
- "oldStrategy": "rolling-update-strategy",
- "failureReason": "Failed to override a strategy...",
- "spotDeployment": {
- "clusterId": "aws-cluster",
- "namespace": "us-region",
- "name": "us-app"
}
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "spotdeployment-app",
- "namespace": "oceancd",
- "clusterId": "prod-cluster",
- "type": "spotDeployment",
- "image": "nginx:1.22",
- "revisions": 2,
- "desiredReplicas": 4,
- "readyReplicas": 2,
- "updatedAt": "2018-11-05T12:55:50.000Z"
}
]
}
}
Get the ongoing operation being applied to the workload.
namespace required | string Example: oceancd The Kubernetes namespace within which the workload exists |
workloadName required | string Example: app The name of the workload |
clusterId required | string Example: clusterId=prod-cluster The identifier name of Ocean CD cluster within which the workload exists |
kind required | string Example: kind=SpotDeployment The workload's Kubernetes kind. Currently only the |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "workloadId": 405938231,
- "type": "retry",
- "operationStatus": "finished",
- "createdAt": "2018-11-05T12:55:50.000Z",
- "updatedAt": "2018-11-05T12:55:50.000Z"
}
]
}
}
Get Ocean CD Workload's revision.
namespace required | string Example: oceancd The Kubernetes namespace within which the workload exists |
workloadName required | string Example: app The name of the workload |
clusterId required | string Example: clusterId=prod-cluster The identifier name of Ocean CD cluster within which the workload exists |
kind required | string Example: kind=SpotDeployment The workload's Kubernetes kind. Currently only the |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "revision": 3,
- "rolloutId": "rol-67c2d5c2d384",
- "date": "2018-11-05T12:55:50.000Z",
- "image": "nginx:1.22",
- "status": "degraded"
}
]
}
}
Restart Ocean CD workload.
namespace required | string Example: oceancd The Kubernetes namespace within which the workload exists |
workloadName required | string Example: app The name of the workload |
clusterId required | string Example: clusterId=prod-cluster The identifier name of Ocean CD cluster within which the workload exists |
kind required | string Example: kind=SpotDeployment The workload's Kubernetes kind. Currently only the |
Retry Ocean CD workload.
namespace required | string Example: oceancd The Kubernetes namespace within which the workload exists |
revisionId required | string The associated revision ID |
workloadName required | string Example: app The name of the workload |
clusterId required | string Example: clusterId=prod-cluster The identifier name of Ocean CD cluster within which the workload exists |
kind required | string Example: kind=SpotDeployment The workload's Kubernetes kind. Currently only the |
Rollback Ocean CD workload.
namespace required | string Example: oceancd The Kubernetes namespace within which the workload exists |
revisionId required | string The associated revision ID |
workloadName required | string Example: app The name of the workload |
clusterId required | string Example: clusterId=prod-cluster The identifier name of Ocean CD cluster within which the workload exists |
kind required | string Example: kind=SpotDeployment The workload's Kubernetes kind. Currently only the |
Get Ocean CD workload graph.
namespace required | string Example: oceancd The Kubernetes namespace within which the workload exists |
workloadName required | string Example: app The name of the workload |
clusterId required | string Example: clusterId=prod-cluster The identifier name of Ocean CD cluster within which the workload exists |
kind required | string Example: kind=SpotDeployment The workload's Kubernetes kind. Currently only the |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "rolloutId": "rol-123456",
- "name": "prod-app",
- "namespace": "oceancd",
- "clusterId": "prod-cluster",
- "status": "finished",
- "failureReasonType": "kubernetes",
- "startTime": "2018-11-05T12:55:50.000Z",
- "endTime": "2018-11-05T12:58:15.000Z"
}
]
}
}
Ocean for Apache Spark is a managed cloud-native Spark platform that can be deployed in your cloud account.
Running on top of Ocean, Spot’s serverless infrastructure engine for containers, Ocean Spark makes it easy for your data teams to be successful with Apache Spark on Kubernetes, without dealing with the complexity of managing servers.
Create Ocean Spark Cluster
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (Ocean Spark Cluster) The object specifying the configuration of the Ocean Spark cluster. | ||||
|
{- "cluster": {
- "oceanClusterId": "o-d3a2908e",
- "config": {
- "ingress": {
- "serviceAnnotations": {
- "service.beta.kubernetes.io/aws-load-balancer-security-groups": "sg-03ba056e31f183482"
}, - "controller": {
- "managed": true
}, - "loadBalancer": {
- "managed": true,
- "targetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:XXXXXXXXXXXX:targetgroup/my-spark-cluster-tg/XXXXXXXXXXXXXXXX",
- "serviceAnnotations": {
- "service.beta.kubernetes.io/aws-load-balancer-security-groups": "sg-XXXXXXXXXXXXXXXXX"
}
}, - "customEndpoint": {
- "enabled": false,
- "address": "my-spark-cluster-nlb-8cbb8da7XXXXXXXX.elb.us-east-1.amazonaws.com"
}, - "privateLink": {
- "enabled": false,
- "vpcEndpointService": "com.amazonaws.vpce.eu-north-1.vpce-svc-XXXXXXXXXXXXXXXXX"
}
}, - "webhook": {
- "useHostNetwork": true,
- "hostNetworkPorts": [
- 1234
]
}, - "compute": {
- "useTaints": false,
- "createVngs": false
}, - "logCollection": {
- "collectDriverLogs": false,
- "collectAppLogs": true
}, - "spark": {
- "appNamespaces": [
- "spark-apps",
- "spark-apps-extra-ns-1",
- "spark-apps-extra-ns-2"
]
}, - "workspaces": {
- "storageClassOverride": "my-custom-storage-class"
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/spark/cluster",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "oceanClusterId": "o-d3a2908e",
- "state": "AVAILABLE",
- "config": {
- "ingress": {
- "serviceAnnotations": {
- "service.beta.kubernetes.io/aws-load-balancer-security-groups": "sg-03ba056e31f183482"
}, - "controller": {
- "managed": true
}, - "loadBalancer": {
- "managed": true,
- "targetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:XXXXXXXXXXXX:targetgroup/my-spark-cluster-tg/XXXXXXXXXXXXXXXX",
- "serviceAnnotations": {
- "service.beta.kubernetes.io/aws-load-balancer-security-groups": "sg-XXXXXXXXXXXXXXXXX"
}
}, - "customEndpoint": {
- "enabled": false,
- "address": "my-spark-cluster-nlb-8cbb8da7XXXXXXXX.elb.us-east-1.amazonaws.com"
}, - "privateLink": {
- "enabled": false,
- "vpcEndpointService": "com.amazonaws.vpce.eu-north-1.vpce-svc-XXXXXXXXXXXXXXXXX"
}
}, - "webhook": {
- "useHostNetwork": true,
- "hostNetworkPorts": [
- 1234
]
}, - "compute": {
- "useTaints": false,
- "createVngs": false
}, - "logCollection": {
- "collectDriverLogs": false,
- "collectAppLogs": true
}, - "spark": {
- "appNamespaces": [
- "spark-apps",
- "spark-apps-extra-ns-1",
- "spark-apps-extra-ns-2"
]
}, - "workspaces": {
- "storageClassOverride": "my-custom-storage-class"
}
}, - "region": "us-west-2",
- "k8sVersion": "v1.21.2-eks-0389ca3",
- "operatorVersion": "0.1.30",
- "operatorLastHeartbeat": "2021-11-20T13:29:30.000Z",
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "spotinst:ocean:spark:cluster"
}
}
List the Ocean Spark clusters in the specified account.
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
controllerClusterId | string (controllerClusterId) Example: controllerClusterId=my-ocean-cluster Optionally filter on the reporting identifier of the Ocean controller in the Ocean cluster (controllerClusterId) |
fromDate | string Example: fromDate=2020-09-01 or fromDate=1598918400000 Get items on or after this date (ISO 8601 or Unix timestamp) |
state | any (oceanSparkClusterState) Enum: "AVAILABLE" "PROGRESSING" "DEGRADED" "FAILING" "UNKNOWN" "UNREACHABLE" "DELETING" Example: state=AVAILABLE Optionally filter on the current state of the Ocean Spark cluster |
toDate | string Example: toDate=2020-09-01 or fromDate=1598918400000 Get items on or before this date (ISO 8601 or Unix timestamp) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "oceanClusterId": "o-d3a2908e",
- "state": "AVAILABLE",
- "config": {
- "ingress": {
- "serviceAnnotations": {
- "service.beta.kubernetes.io/aws-load-balancer-security-groups": "sg-03ba056e31f183482"
}, - "controller": {
- "managed": true
}, - "loadBalancer": {
- "managed": true,
- "targetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:XXXXXXXXXXXX:targetgroup/my-spark-cluster-tg/XXXXXXXXXXXXXXXX",
- "serviceAnnotations": {
- "service.beta.kubernetes.io/aws-load-balancer-security-groups": "sg-XXXXXXXXXXXXXXXXX"
}
}, - "customEndpoint": {
- "enabled": false,
- "address": "my-spark-cluster-nlb-8cbb8da7XXXXXXXX.elb.us-east-1.amazonaws.com"
}, - "privateLink": {
- "enabled": false,
- "vpcEndpointService": "com.amazonaws.vpce.eu-north-1.vpce-svc-XXXXXXXXXXXXXXXXX"
}
}, - "webhook": {
- "useHostNetwork": true,
- "hostNetworkPorts": [
- 1234
]
}, - "compute": {
- "useTaints": false,
- "createVngs": false
}, - "logCollection": {
- "collectDriverLogs": false,
- "collectAppLogs": true
}, - "spark": {
- "appNamespaces": [
- "spark-apps",
- "spark-apps-extra-ns-1",
- "spark-apps-extra-ns-2"
]
}, - "workspaces": {
- "storageClassOverride": "my-custom-storage-class"
}
}, - "region": "us-west-2",
- "k8sVersion": "v1.21.2-eks-0389ca3",
- "operatorVersion": "0.1.30",
- "operatorLastHeartbeat": "2021-11-20T13:29:30.000Z",
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "string"
}
}
Describe an Ocean Spark cluster.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "oceanClusterId": "o-d3a2908e",
- "state": "AVAILABLE",
- "config": {
- "ingress": {
- "serviceAnnotations": {
- "service.beta.kubernetes.io/aws-load-balancer-security-groups": "sg-03ba056e31f183482"
}, - "controller": {
- "managed": true
}, - "loadBalancer": {
- "managed": true,
- "targetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:XXXXXXXXXXXX:targetgroup/my-spark-cluster-tg/XXXXXXXXXXXXXXXX",
- "serviceAnnotations": {
- "service.beta.kubernetes.io/aws-load-balancer-security-groups": "sg-XXXXXXXXXXXXXXXXX"
}
}, - "customEndpoint": {
- "enabled": false,
- "address": "my-spark-cluster-nlb-8cbb8da7XXXXXXXX.elb.us-east-1.amazonaws.com"
}, - "privateLink": {
- "enabled": false,
- "vpcEndpointService": "com.amazonaws.vpce.eu-north-1.vpce-svc-XXXXXXXXXXXXXXXXX"
}
}, - "webhook": {
- "useHostNetwork": true,
- "hostNetworkPorts": [
- 1234
]
}, - "compute": {
- "useTaints": false,
- "createVngs": false
}, - "logCollection": {
- "collectDriverLogs": false,
- "collectAppLogs": true
}, - "spark": {
- "appNamespaces": [
- "spark-apps",
- "spark-apps-extra-ns-1",
- "spark-apps-extra-ns-2"
]
}, - "workspaces": {
- "storageClassOverride": "my-custom-storage-class"
}
}, - "region": "us-west-2",
- "k8sVersion": "v1.21.2-eks-0389ca3",
- "operatorVersion": "0.1.30",
- "operatorLastHeartbeat": "2021-11-20T13:29:30.000Z",
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "string"
}
}
Delete an Ocean Spark cluster.
Removing a cluster will disconnect it from Ocean for Spark. This action is permanent and cannot be undone.
The Ocean for Spark resources will be uninstalled from the cluster, but the Ocean cluster itself (and related Kubernetes resources) will not be deleted.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
All Ocean Spark configuration parameters are updatable. This API supports partial updates, so specific fields can be updated separately.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (Ocean Spark Cluster) The object specifying the configuration of the Ocean Spark cluster. | ||||||||||||||||
|
{- "cluster": {
- "config": {
- "ingress": {
- "serviceAnnotations": {
- "service.beta.kubernetes.io/aws-load-balancer-security-groups": "sg-03ba056e31f183482"
}, - "controller": {
- "managed": true
}, - "loadBalancer": {
- "managed": true,
- "targetGroupArn": "arn:aws:elasticloadbalancing:us-east-1:XXXXXXXXXXXX:targetgroup/my-spark-cluster-tg/XXXXXXXXXXXXXXXX",
- "serviceAnnotations": {
- "service.beta.kubernetes.io/aws-load-balancer-security-groups": "sg-XXXXXXXXXXXXXXXXX"
}
}, - "customEndpoint": {
- "enabled": false,
- "address": "my-spark-cluster-nlb-8cbb8da7XXXXXXXX.elb.us-east-1.amazonaws.com"
}, - "privateLink": {
- "enabled": false,
- "vpcEndpointService": "com.amazonaws.vpce.eu-north-1.vpce-svc-XXXXXXXXXXXXXXXXX"
}
}, - "webhook": {
- "useHostNetwork": true,
- "hostNetworkPorts": [
- 1234
]
}, - "compute": {
- "useTaints": false,
- "createVngs": false
}, - "logCollection": {
- "collectDriverLogs": false,
- "collectAppLogs": true
}, - "spark": {
- "appNamespaces": [
- "spark-apps",
- "spark-apps-extra-ns-1",
- "spark-apps-extra-ns-2"
]
}, - "workspaces": {
- "storageClassOverride": "my-custom-storage-class"
}
}
}
}
Gets the number of core hours applications have consumed.
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
clusterId | Array of strings (oceanSparkClusterId) Example: clusterId=osc-20fac3f1 |
period | string <date-time> Example: period=2021-11 The month to query from. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "osc-20fac3f1",
- "coreHours": 99
}
], - "count": 1,
- "kind": "string"
}
}
Aggregates the number of apps reaching a terminal state (completed, failed, killed, ...) within time buckets.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
since required | string <date-time> Example: since=2021-11-22 Date at which to start the analysis. If the time range up to now is less or equal to a day, values are reported grouped per hours. Otherwise, values are reported grouped per days. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "start": "2021-11-18T17:09:37+00:00",
- "end": "2021-11-18T17:09:37+00:00",
- "completed": 0,
- "failed": 0,
- "killed": 0,
- "timedOut": 0
}
], - "count": 1,
- "kind": "string"
}
}
Reports the number of applications in pending and running state within time buckets.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
since required | string <date-time> Example: since=2021-11-22 Date at which to start the analysis. If the time range up to now is less or equal to a day, values are reported grouped per hours. Otherwise, values are reported grouped per days. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "time": "2021-11-18T17:09:37+00:00",
- "pending": 0,
- "running": 0
}
], - "count": 1,
- "kind": "string"
}
}
Returns a summary of the cluster usage since a given date in the past.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
since required | string <date-time> Example: since=2021-11-22 Date at which to start the analysis. If the time range up to now is less or equal to a day, values are reported grouped per hours. Otherwise, values are reported grouped per days. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "osc-20fac3f1",
- "metrics": {
- "cost": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "total": 0
}, - "spark": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "sparkCoresDurationSeconds": 0,
- "inputDataBytes": 0,
- "outputDataBytes": 0,
- "efficiencyPercent": 0,
- "availability": "string"
}
}
}
], - "count": 1,
- "kind": "string"
}
}
List Spark applications on all Ocean Spark clusters in the specified account. This endpoint is paginated (cursor pagination).
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
after | string (after) Example: after=MjAyMS0xMS0xOFQwOTo1MjowNS43Mzg4NjArMDA6MDB8NWM3NGY2MDYtZDYxNy00MzcxLWE5ZDktNjc2ZDkxMzRlNWFk If specified, the page returned in the response contains the items right after this cursor in the ordering |
appType | string (oceanSparkApplicationType) Enum: "batch" "notebook" "spark-connect" "hive-thrift-server" "spark-connect-and-hive-thrift-server" Example: appType=notebook Optionally filter on the type of the Spark application |
before | string (before) Example: before=MjAyMS0xMS0xOFQwOTo1MjowNS43Mzg4NjArMDA6MDB8NWM3NGY2MDYtZDYxNy00MzcxLWE5ZDktNjc2ZDkxMzRlNWFk If specified, the page returned in the response contains the items right before this cursor in the ordering |
clusterId | string (oceanSparkClusterId) Example: clusterId=osc-20fac3f1 Optionally filter on the Ocean Spark cluster ID |
jobId | string (oceanSparkJobId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... Example: jobId=daily-reporting Optionally filter on the job ID |
maxCreatedAt | string <date-time> Example: maxCreatedAt=2021-11-22T00:00 Optionally filter on the creation date |
maxUpdatedAt | string <date-time> Example: maxUpdatedAt=2021-11-22T00:00 Optionally filter on the last update date |
minCreatedAt | string <date-time> Example: minCreatedAt=2021-11-22T00:00 Optionally filter on the creation date |
minUpdatedAt | string <date-time> Example: minUpdatedAt=2021-11-22T00:00 Optionally filter on the last update date |
order | string Default: "DESC" Enum: "ASC" "DESC" The direction of the ordering |
orderBy | string Default: "CREATED_AT" Enum: "CREATED_AT" "COST_IN_CENTS" "DURATION" The field on which to sort |
pageSize | integer Default: 20 The number of applications returned by page |
searchTerm | string Optionally search for a substring of the application ID, application display name, job ID or job display name |
state | any (oceanSparkApplicationState) Enum: "PENDING" "RUNNING" "COMPLETED" "COMPLETED_WITH_WARNINGS" "FAILED" "KILLED" "TIMED_OUT" Example: state=RUNNING Optionally filter on the state of the Spark application |
submissionSource | string (oceanSparkApplicationSubmissionSource) Enum: "public-api" "jupyter-enterprise-gateway" Example: submissionSource=public-api Optionally filter on the submission source of the Spark application |
userId | integer (userId) Example: userId=59438 Optionally filter on the user who created the Spark application |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "total": 3256,
- "page": [
- {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000",
- "id": "daily-reporting-2021-08-18",
- "displayName": "Daily Reporting 2021-08-18",
- "accountId": "act-123456789",
- "organizationId": 606012341234,
- "userId": 59438,
- "clusterId": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "appState": "RUNNING",
- "submissionSource": "public-api",
- "appType": "notebook",
- "job": {
- "id": "daily-reporting",
- "displayName": "Daily Reporting"
}, - "startedAt": "2021-11-18T17:09:37+00:00",
- "endedAt": "2021-11-18T17:09:37+00:00",
- "killRequestedAt": "2021-11-18T17:09:37+00:00",
- "liveLog": {
- "logsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/logs/live",
- "kubeEventsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/kubeEvents/live"
}, - "metrics": {
- "cost": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "total": 0
}, - "spark": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "sparkCoresDurationSeconds": 0,
- "inputDataBytes": 0,
- "outputDataBytes": 0,
- "efficiencyPercent": 0,
- "availability": "string"
}
}, - "cores": 1
}
], - "after": "MjAyMS0xMS0xOFQwOTo1MjowNS43Mzg4NjArMDA6MDB8NWM3NGY2MDYtZDYxNy00MzcxLWE5ZDktNjc2ZDkxMzRlNWFk",
- "before": "MjAyMS0xMS0xOFQwOTo1MjowNS43Mzg4NjArMDA6MDB8NWM3NGY2MDYtZDYxNy00MzcxLWE5ZDktNjc2ZDkxMzRlNWFk"
}
], - "count": 1,
- "kind": "string"
}
}
List the Spark applications in a specific cluster. This endpoint is paginated (cursor pagination).
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
after | string (after) Example: after=MjAyMS0xMS0xOFQwOTo1MjowNS43Mzg4NjArMDA6MDB8NWM3NGY2MDYtZDYxNy00MzcxLWE5ZDktNjc2ZDkxMzRlNWFk If specified, the page returned in the response contains the items right after this cursor in the ordering |
appType | string (oceanSparkApplicationType) Enum: "batch" "notebook" "spark-connect" "hive-thrift-server" "spark-connect-and-hive-thrift-server" Example: appType=notebook Optionally filter on the type of the Spark application |
before | string (before) Example: before=MjAyMS0xMS0xOFQwOTo1MjowNS43Mzg4NjArMDA6MDB8NWM3NGY2MDYtZDYxNy00MzcxLWE5ZDktNjc2ZDkxMzRlNWFk If specified, the page returned in the response contains the items right before this cursor in the ordering |
order | string Default: "DESC" Enum: "ASC" "DESC" The direction of the ordering |
orderBy | string Default: "CREATED_AT" Enum: "CREATED_AT" "COST_IN_CENTS" "DURATION" The field on which to sort |
pageSize | integer Default: 20 The number of applications returned by page |
state | any (oceanSparkApplicationState) Enum: "PENDING" "RUNNING" "COMPLETED" "COMPLETED_WITH_WARNINGS" "FAILED" "KILLED" "TIMED_OUT" Example: state=RUNNING Optionally filter on the state of the Spark application |
submissionSource | string (oceanSparkApplicationSubmissionSource) Enum: "public-api" "jupyter-enterprise-gateway" Example: submissionSource=public-api Optionally filter on the submission source of the Spark application |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "total": 3256,
- "page": [
- {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000",
- "id": "daily-reporting-2021-08-18",
- "displayName": "Daily Reporting 2021-08-18",
- "accountId": "act-123456789",
- "organizationId": 606012341234,
- "userId": 59438,
- "clusterId": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "appState": "RUNNING",
- "submissionSource": "public-api",
- "appType": "notebook",
- "job": {
- "id": "daily-reporting",
- "displayName": "Daily Reporting"
}, - "startedAt": "2021-11-18T17:09:37+00:00",
- "endedAt": "2021-11-18T17:09:37+00:00",
- "killRequestedAt": "2021-11-18T17:09:37+00:00",
- "liveLog": {
- "logsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/logs/live",
- "kubeEventsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/kubeEvents/live"
}, - "metrics": {
- "cost": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "total": 0
}, - "spark": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "sparkCoresDurationSeconds": 0,
- "inputDataBytes": 0,
- "outputDataBytes": 0,
- "efficiencyPercent": 0,
- "availability": "string"
}
}, - "cores": 1
}
], - "after": "MjAyMS0xMS0xOFQwOTo1MjowNS43Mzg4NjArMDA6MDB8NWM3NGY2MDYtZDYxNy00MzcxLWE5ZDktNjc2ZDkxMzRlNWFk",
- "before": "MjAyMS0xMS0xOFQwOTo1MjowNS43Mzg4NjArMDA6MDB8NWM3NGY2MDYtZDYxNy00MzcxLWE5ZDktNjc2ZDkxMzRlNWFk"
}
], - "count": 1,
- "kind": "string"
}
}
Submit a Spark application in an Ocean Spark cluster
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
appId | string (oceanSparkApplicationId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... A unique identifier for the Spark application, set by the user or auto-generated from the job ID |
object Configurations for the Spark application supplied in the request. Prefer using a config template for configurations that are stable across runs. Configurations in | |
configTemplateId | string (oceanSparkConfigTemplateId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... A unique identifier for a configuration template, set by the user. |
jobId required | string (oceanSparkJobId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... The ID of the job to which the Spark application belongs. If a job with this ID does not exist yet, it will be created. |
submissionSource | string (oceanSparkApplicationSubmissionSource) Enum: "public-api" "jupyter-enterprise-gateway" The source that initiated the application submission |
{- "appId": "daily-reporting-2021-08-18",
- "jobId": "daily-reporting",
- "configOverrides": {
- "arguments": [
- "string"
], - "deps": {
- "files": [
- "string"
], - "jars": [
- "string"
], - "pyFiles": [
- "string"
], - "packages": [
- "string"
], - "excludePackages": [
- "string"
], - "repositories": [
- "string"
]
}, - "driver": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "javaOptions": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podName": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "executor": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "instances": 0,
- "javaOptions": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "hadoopConf": {
- "property1": "string",
- "property2": "string"
}, - "hadoopConfigMap": "string",
- "image": "string",
- "imagePullPolicy": "string",
- "imagePullSecrets": [
- "string"
], - "interactive": true,
- "initContainerImage": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "logCollection": {
- "collectAppLogs": true
}, - "mainApplicationFile": "string",
- "mainClass": "string",
- "memoryOverheadFactor": 0,
- "availabilityZone": "string",
- "priority": "low",
- "pythonVersion": "3",
- "shuffle": {
- "enabled": true,
- "rootDir": "string",
- "dependencyInitUserId": 0,
- "dependencyFsGroup": 0
}, - "sparkConf": {
- "property1": "string",
- "property2": "string"
}, - "sparkConfigMap": "string",
- "sparkVersion": "string",
- "timeout": "DISABLED",
- "timeToLiveSeconds": 0,
- "type": "Java",
- "volumes": [
- {
- "awsElasticBlockStore": {
- "fsType": "string",
- "partition": 0,
- "readOnly": true,
- "volumeID": "string"
}, - "azureDisk": {
- "cachingMode": "string",
- "diskName": "string",
- "diskURI": "string",
- "fsType": "string",
- "kind": "string",
- "readOnly": true
}, - "azureFile": {
- "readOnly": true,
- "secretName": "string",
- "shareName": "string"
}, - "cephfs": {
- "monitors": [
- "string"
], - "path": "string",
- "readOnly": true,
- "secretFile": "string",
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "cinder": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeID": "string"
}, - "configMap": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "csi": {
- "driver": "string",
- "fsType": "string",
- "nodePublishSecretRef": {
- "name": "string"
}, - "readOnly": true,
- "volumeAttributes": {
- "property1": "string",
- "property2": "string"
}
}, - "downwardAPI": {
- "defaultMode": 0,
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "emptyDir": {
- "medium": "string",
- "sizeLimit": "string"
}, - "fc": {
- "fsType": "string",
- "lun": 0,
- "readOnly": true,
- "targetWWNs": [
- "string"
], - "wwids": [
- "string"
]
}, - "flexVolume": {
- "driver": "string",
- "fsType": "string",
- "options": {
- "property1": "string",
- "property2": "string"
}, - "readOnly": true,
- "secretRef": {
- "name": "string"
}
}, - "flocker": {
- "datasetName": "string",
- "datasetUUID": "string"
}, - "gcePersistentDisk": {
- "fsType": "string",
- "partition": 0,
- "pdName": "string",
- "readOnly": true
}, - "gitRepo": {
- "directory": "string",
- "repository": "string",
- "revision": "string"
}, - "glusterfs": {
- "endpoints": "string",
- "path": "string",
- "readOnly": true
}, - "hostPath": {
- "path": "string",
- "type": "string"
}, - "iscsi": {
- "chapAuthDiscovery": true,
- "chapAuthSession": true,
- "fsType": "string",
- "initiatorName": "string",
- "iqn": "string",
- "iscsiInterface": "string",
- "lun": 0,
- "portals": [
- "string"
], - "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "targetPortal": "string"
}, - "name": "string",
- "nfs": {
- "path": "string",
- "readOnly": true,
- "server": "string"
}, - "persistentVolumeClaim": {
- "claimName": "string",
- "readOnly": true
}, - "photonPersistentDisk": {
- "fsType": "string",
- "pdID": "string"
}, - "portworxVolume": {
- "fsType": "string",
- "readOnly": true,
- "volumeID": "string"
}, - "projected": {
- "defaultMode": 0,
- "sources": [
- {
- "configMap": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "downwardAPI": {
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "secret": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "serviceAccountToken": {
- "audience": "string",
- "expirationSeconds": 0,
- "path": "string"
}
}
]
}, - "quobyte": {
- "group": "string",
- "readOnly": true,
- "registry": "string",
- "tenant": "string",
- "user": "string",
- "volume": "string"
}, - "rbd": {
- "fsType": "string",
- "image": "string",
- "keyring": "string",
- "monitors": [
- "string"
], - "pool": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "scaleIO": {
- "fsType": "string",
- "gateway": "string",
- "protectionDomain": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "sslEnabled": true,
- "storageMode": "string",
- "storagePool": "string",
- "system": "string",
- "volumeName": "string"
}, - "secret": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "optional": true,
- "secretName": "string"
}, - "storageos": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeName": "string",
- "volumeNamespace": "string"
}, - "vsphereVolume": {
- "fsType": "string",
- "storagePolicyID": "string",
- "storagePolicyName": "string",
- "volumePath": "string"
}
}
], - "namespace": "string",
- "serviceAccountName": "string"
}, - "configTemplateId": "large-app",
- "submissionSource": "public-api"
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000",
- "id": "daily-reporting-2021-08-18",
- "displayName": "Daily Reporting 2021-08-18",
- "accountId": "act-123456789",
- "organizationId": 606012341234,
- "userId": 59438,
- "clusterId": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "appState": "RUNNING",
- "submissionSource": "public-api",
- "appType": "notebook",
- "job": {
- "id": "daily-reporting",
- "displayName": "Daily Reporting"
}, - "config": {
- "arguments": [
- "string"
], - "deps": {
- "files": [
- "string"
], - "jars": [
- "string"
], - "pyFiles": [
- "string"
], - "packages": [
- "string"
], - "excludePackages": [
- "string"
], - "repositories": [
- "string"
]
}, - "driver": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "javaOptions": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podName": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "executor": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "instances": 0,
- "javaOptions": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "hadoopConf": {
- "property1": "string",
- "property2": "string"
}, - "hadoopConfigMap": "string",
- "image": "string",
- "imagePullPolicy": "string",
- "imagePullSecrets": [
- "string"
], - "interactive": true,
- "initContainerImage": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "logCollection": {
- "collectAppLogs": true
}, - "mainApplicationFile": "string",
- "mainClass": "string",
- "memoryOverheadFactor": 0,
- "availabilityZone": "string",
- "priority": "low",
- "pythonVersion": "3",
- "shuffle": {
- "enabled": true,
- "rootDir": "string",
- "dependencyInitUserId": 0,
- "dependencyFsGroup": 0
}, - "sparkConf": {
- "property1": "string",
- "property2": "string"
}, - "sparkConfigMap": "string",
- "sparkVersion": "string",
- "timeout": "DISABLED",
- "timeToLiveSeconds": 0,
- "type": "Java",
- "volumes": [
- {
- "awsElasticBlockStore": {
- "fsType": "string",
- "partition": 0,
- "readOnly": true,
- "volumeID": "string"
}, - "azureDisk": {
- "cachingMode": "string",
- "diskName": "string",
- "diskURI": "string",
- "fsType": "string",
- "kind": "string",
- "readOnly": true
}, - "azureFile": {
- "readOnly": true,
- "secretName": "string",
- "shareName": "string"
}, - "cephfs": {
- "monitors": [
- "string"
], - "path": "string",
- "readOnly": true,
- "secretFile": "string",
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "cinder": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeID": "string"
}, - "configMap": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "csi": {
- "driver": "string",
- "fsType": "string",
- "nodePublishSecretRef": {
- "name": "string"
}, - "readOnly": true,
- "volumeAttributes": {
- "property1": "string",
- "property2": "string"
}
}, - "downwardAPI": {
- "defaultMode": 0,
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "emptyDir": {
- "medium": "string",
- "sizeLimit": "string"
}, - "fc": {
- "fsType": "string",
- "lun": 0,
- "readOnly": true,
- "targetWWNs": [
- "string"
], - "wwids": [
- "string"
]
}, - "flexVolume": {
- "driver": "string",
- "fsType": "string",
- "options": {
- "property1": "string",
- "property2": "string"
}, - "readOnly": true,
- "secretRef": {
- "name": "string"
}
}, - "flocker": {
- "datasetName": "string",
- "datasetUUID": "string"
}, - "gcePersistentDisk": {
- "fsType": "string",
- "partition": 0,
- "pdName": "string",
- "readOnly": true
}, - "gitRepo": {
- "directory": "string",
- "repository": "string",
- "revision": "string"
}, - "glusterfs": {
- "endpoints": "string",
- "path": "string",
- "readOnly": true
}, - "hostPath": {
- "path": "string",
- "type": "string"
}, - "iscsi": {
- "chapAuthDiscovery": true,
- "chapAuthSession": true,
- "fsType": "string",
- "initiatorName": "string",
- "iqn": "string",
- "iscsiInterface": "string",
- "lun": 0,
- "portals": [
- "string"
], - "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "targetPortal": "string"
}, - "name": "string",
- "nfs": {
- "path": "string",
- "readOnly": true,
- "server": "string"
}, - "persistentVolumeClaim": {
- "claimName": "string",
- "readOnly": true
}, - "photonPersistentDisk": {
- "fsType": "string",
- "pdID": "string"
}, - "portworxVolume": {
- "fsType": "string",
- "readOnly": true,
- "volumeID": "string"
}, - "projected": {
- "defaultMode": 0,
- "sources": [
- {
- "configMap": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "downwardAPI": {
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "secret": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "serviceAccountToken": {
- "audience": "string",
- "expirationSeconds": 0,
- "path": "string"
}
}
]
}, - "quobyte": {
- "group": "string",
- "readOnly": true,
- "registry": "string",
- "tenant": "string",
- "user": "string",
- "volume": "string"
}, - "rbd": {
- "fsType": "string",
- "image": "string",
- "keyring": "string",
- "monitors": [
- "string"
], - "pool": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "scaleIO": {
- "fsType": "string",
- "gateway": "string",
- "protectionDomain": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "sslEnabled": true,
- "storageMode": "string",
- "storagePool": "string",
- "system": "string",
- "volumeName": "string"
}, - "secret": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "optional": true,
- "secretName": "string"
}, - "storageos": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeName": "string",
- "volumeNamespace": "string"
}, - "vsphereVolume": {
- "fsType": "string",
- "storagePolicyID": "string",
- "storagePolicyName": "string",
- "volumePath": "string"
}
}
], - "namespace": "string",
- "serviceAccountName": "string"
}, - "startedAt": "2021-11-18T17:09:37+00:00",
- "endedAt": "2021-11-18T17:09:37+00:00",
- "killRequestedAt": "2021-11-18T17:09:37+00:00",
- "liveLog": {
- "logsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/logs/live",
- "kubeEventsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/kubeEvents/live"
}, - "sparkEventLog": {
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "availability": "COMPLETE"
}, - "configurationTemplate": {
- "id": "string",
- "displayName": "string"
}, - "cores": 1
}
], - "count": 1,
- "kind": "string"
}
}
Describe a Spark application in an Ocean Spark cluster.
applicationId required | string (oceanSparkApplicationId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... Example: daily-reporting-2021-08-18 A unique identifier for the Spark application, set by the user or auto-generated from the job ID |
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000",
- "id": "daily-reporting-2021-08-18",
- "displayName": "Daily Reporting 2021-08-18",
- "accountId": "act-123456789",
- "organizationId": 606012341234,
- "userId": 59438,
- "clusterId": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "appState": "RUNNING",
- "submissionSource": "public-api",
- "job": {
- "id": "daily-reporting",
- "displayName": "Daily Reporting"
}, - "config": {
- "arguments": [
- "string"
], - "deps": {
- "files": [
- "string"
], - "jars": [
- "string"
], - "pyFiles": [
- "string"
], - "packages": [
- "string"
], - "excludePackages": [
- "string"
], - "repositories": [
- "string"
]
}, - "driver": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "javaOptions": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podName": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "executor": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "instances": 0,
- "javaOptions": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "hadoopConf": {
- "property1": "string",
- "property2": "string"
}, - "hadoopConfigMap": "string",
- "image": "string",
- "imagePullPolicy": "string",
- "imagePullSecrets": [
- "string"
], - "interactive": true,
- "initContainerImage": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "logCollection": {
- "collectAppLogs": true
}, - "mainApplicationFile": "string",
- "mainClass": "string",
- "memoryOverheadFactor": 0,
- "availabilityZone": "string",
- "priority": "low",
- "pythonVersion": "3",
- "shuffle": {
- "enabled": true,
- "rootDir": "string",
- "dependencyInitUserId": 0,
- "dependencyFsGroup": 0
}, - "sparkConf": {
- "property1": "string",
- "property2": "string"
}, - "sparkConfigMap": "string",
- "sparkVersion": "string",
- "timeout": "DISABLED",
- "timeToLiveSeconds": 0,
- "type": "Java",
- "volumes": [
- {
- "awsElasticBlockStore": {
- "fsType": "string",
- "partition": 0,
- "readOnly": true,
- "volumeID": "string"
}, - "azureDisk": {
- "cachingMode": "string",
- "diskName": "string",
- "diskURI": "string",
- "fsType": "string",
- "kind": "string",
- "readOnly": true
}, - "azureFile": {
- "readOnly": true,
- "secretName": "string",
- "shareName": "string"
}, - "cephfs": {
- "monitors": [
- "string"
], - "path": "string",
- "readOnly": true,
- "secretFile": "string",
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "cinder": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeID": "string"
}, - "configMap": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "csi": {
- "driver": "string",
- "fsType": "string",
- "nodePublishSecretRef": {
- "name": "string"
}, - "readOnly": true,
- "volumeAttributes": {
- "property1": "string",
- "property2": "string"
}
}, - "downwardAPI": {
- "defaultMode": 0,
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "emptyDir": {
- "medium": "string",
- "sizeLimit": "string"
}, - "fc": {
- "fsType": "string",
- "lun": 0,
- "readOnly": true,
- "targetWWNs": [
- "string"
], - "wwids": [
- "string"
]
}, - "flexVolume": {
- "driver": "string",
- "fsType": "string",
- "options": {
- "property1": "string",
- "property2": "string"
}, - "readOnly": true,
- "secretRef": {
- "name": "string"
}
}, - "flocker": {
- "datasetName": "string",
- "datasetUUID": "string"
}, - "gcePersistentDisk": {
- "fsType": "string",
- "partition": 0,
- "pdName": "string",
- "readOnly": true
}, - "gitRepo": {
- "directory": "string",
- "repository": "string",
- "revision": "string"
}, - "glusterfs": {
- "endpoints": "string",
- "path": "string",
- "readOnly": true
}, - "hostPath": {
- "path": "string",
- "type": "string"
}, - "iscsi": {
- "chapAuthDiscovery": true,
- "chapAuthSession": true,
- "fsType": "string",
- "initiatorName": "string",
- "iqn": "string",
- "iscsiInterface": "string",
- "lun": 0,
- "portals": [
- "string"
], - "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "targetPortal": "string"
}, - "name": "string",
- "nfs": {
- "path": "string",
- "readOnly": true,
- "server": "string"
}, - "persistentVolumeClaim": {
- "claimName": "string",
- "readOnly": true
}, - "photonPersistentDisk": {
- "fsType": "string",
- "pdID": "string"
}, - "portworxVolume": {
- "fsType": "string",
- "readOnly": true,
- "volumeID": "string"
}, - "projected": {
- "defaultMode": 0,
- "sources": [
- {
- "configMap": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "downwardAPI": {
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "secret": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "serviceAccountToken": {
- "audience": "string",
- "expirationSeconds": 0,
- "path": "string"
}
}
]
}, - "quobyte": {
- "group": "string",
- "readOnly": true,
- "registry": "string",
- "tenant": "string",
- "user": "string",
- "volume": "string"
}, - "rbd": {
- "fsType": "string",
- "image": "string",
- "keyring": "string",
- "monitors": [
- "string"
], - "pool": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "scaleIO": {
- "fsType": "string",
- "gateway": "string",
- "protectionDomain": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "sslEnabled": true,
- "storageMode": "string",
- "storagePool": "string",
- "system": "string",
- "volumeName": "string"
}, - "secret": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "optional": true,
- "secretName": "string"
}, - "storageos": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeName": "string",
- "volumeNamespace": "string"
}, - "vsphereVolume": {
- "fsType": "string",
- "storagePolicyID": "string",
- "storagePolicyName": "string",
- "volumePath": "string"
}
}
], - "namespace": "string",
- "serviceAccountName": "string"
}, - "startedAt": "2021-11-18T17:09:37+00:00",
- "endedAt": "2021-11-18T17:09:37+00:00",
- "killRequestedAt": "2021-11-18T17:09:37+00:00",
- "liveLog": {
- "logsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/logs/live",
- "kubeEventsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/kubeEvents/live"
}, - "metrics": {
- "cost": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "total": 0
}, - "spark": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "sparkCoresDurationSeconds": 0,
- "inputDataBytes": 0,
- "outputDataBytes": 0,
- "efficiencyPercent": 0,
- "availability": "string"
}
}, - "sparkEventLog": {
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "availability": "COMPLETE"
}, - "configurationTemplate": {
- "id": "string",
- "displayName": "string"
}, - "cores": 1,
- "archiveLog": {
- "logsArchiveUrl": "string",
- "availability": "PENDING"
}, - "executorLogs": {
- "logsArchiveUrl": "string",
- "availability": "PENDING"
}
}
], - "count": 1,
- "kind": "string"
}
}
For pending Spark applications, the creation request is canceled. For running Spark applications, the application is forcibly interrupted.
applicationId required | string (oceanSparkApplicationId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... Example: daily-reporting-2021-08-18 A unique identifier for the Spark application, set by the user or auto-generated from the job ID |
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000",
- "id": "daily-reporting-2021-08-18",
- "displayName": "Daily Reporting 2021-08-18",
- "accountId": "act-123456789",
- "organizationId": 606012341234,
- "userId": 59438,
- "clusterId": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "appState": "RUNNING",
- "submissionSource": "public-api",
- "appType": "notebook",
- "startedAt": "2021-11-18T17:09:37+00:00",
- "endedAt": "2021-11-18T17:09:37+00:00",
- "killRequestedAt": "2021-11-18T17:09:37+00:00",
- "liveLog": {
- "logsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/logs/live",
- "kubeEventsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/kubeEvents/live"
}, - "cores": 1
}
], - "count": 1,
- "kind": "string"
}
}
List the issues associated with the Spark Application.
applicationId required | string (oceanSparkApplicationId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... Example: daily-reporting-2021-08-18 A unique identifier for the Spark application, set by the user or auto-generated from the job ID |
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "errorType": "string",
- "severity": "ERROR",
- "abstract": "string",
- "stacktrace": "string"
}
], - "count": 1,
- "kind": "string"
}
}
Stream the driver log of a Spark application in real time.
applicationId required | string (oceanSparkApplicationId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... Example: daily-reporting-2021-08-18 A unique identifier for the Spark application, set by the user or auto-generated from the job ID |
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
Download an archive of the driver logs for a finished spark application.
applicationId required | string (oceanSparkApplicationId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... Example: daily-reporting-2021-08-18 A unique identifier for the Spark application, set by the user or auto-generated from the job ID |
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
Download an archive of the executor logs for a finished spark application.
applicationId required | string (oceanSparkApplicationId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... Example: daily-reporting-2021-08-18 A unique identifier for the Spark application, set by the user or auto-generated from the job ID |
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
Stream Kubernetes events about the Spark application in real time.
applicationId required | string (oceanSparkApplicationId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... Example: daily-reporting-2021-08-18 A unique identifier for the Spark application, set by the user or auto-generated from the job ID |
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
List config templates across all clusters.
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000",
- "id": "large-app",
- "displayName": "Large application",
- "clusterId": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "config": {
- "arguments": [
- "string"
], - "deps": {
- "files": [
- "string"
], - "jars": [
- "string"
], - "pyFiles": [
- "string"
], - "packages": [
- "string"
], - "excludePackages": [
- "string"
], - "repositories": [
- "string"
]
}, - "driver": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "javaOptions": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podName": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "executor": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "instances": 0,
- "javaOptions": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "hadoopConf": {
- "property1": "string",
- "property2": "string"
}, - "hadoopConfigMap": "string",
- "image": "string",
- "imagePullPolicy": "string",
- "imagePullSecrets": [
- "string"
], - "interactive": true,
- "initContainerImage": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "logCollection": {
- "collectAppLogs": true
}, - "mainApplicationFile": "string",
- "mainClass": "string",
- "memoryOverheadFactor": 0,
- "availabilityZone": "string",
- "priority": "low",
- "pythonVersion": "3",
- "shuffle": {
- "enabled": true,
- "rootDir": "string",
- "dependencyInitUserId": 0,
- "dependencyFsGroup": 0
}, - "sparkConf": {
- "property1": "string",
- "property2": "string"
}, - "sparkConfigMap": "string",
- "sparkVersion": "string",
- "timeout": "DISABLED",
- "timeToLiveSeconds": 0,
- "type": "Java",
- "volumes": [
- {
- "awsElasticBlockStore": {
- "fsType": "string",
- "partition": 0,
- "readOnly": true,
- "volumeID": "string"
}, - "azureDisk": {
- "cachingMode": "string",
- "diskName": "string",
- "diskURI": "string",
- "fsType": "string",
- "kind": "string",
- "readOnly": true
}, - "azureFile": {
- "readOnly": true,
- "secretName": "string",
- "shareName": "string"
}, - "cephfs": {
- "monitors": [
- "string"
], - "path": "string",
- "readOnly": true,
- "secretFile": "string",
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "cinder": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeID": "string"
}, - "configMap": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "csi": {
- "driver": "string",
- "fsType": "string",
- "nodePublishSecretRef": {
- "name": "string"
}, - "readOnly": true,
- "volumeAttributes": {
- "property1": "string",
- "property2": "string"
}
}, - "downwardAPI": {
- "defaultMode": 0,
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "emptyDir": {
- "medium": "string",
- "sizeLimit": "string"
}, - "fc": {
- "fsType": "string",
- "lun": 0,
- "readOnly": true,
- "targetWWNs": [
- "string"
], - "wwids": [
- "string"
]
}, - "flexVolume": {
- "driver": "string",
- "fsType": "string",
- "options": {
- "property1": "string",
- "property2": "string"
}, - "readOnly": true,
- "secretRef": {
- "name": "string"
}
}, - "flocker": {
- "datasetName": "string",
- "datasetUUID": "string"
}, - "gcePersistentDisk": {
- "fsType": "string",
- "partition": 0,
- "pdName": "string",
- "readOnly": true
}, - "gitRepo": {
- "directory": "string",
- "repository": "string",
- "revision": "string"
}, - "glusterfs": {
- "endpoints": "string",
- "path": "string",
- "readOnly": true
}, - "hostPath": {
- "path": "string",
- "type": "string"
}, - "iscsi": {
- "chapAuthDiscovery": true,
- "chapAuthSession": true,
- "fsType": "string",
- "initiatorName": "string",
- "iqn": "string",
- "iscsiInterface": "string",
- "lun": 0,
- "portals": [
- "string"
], - "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "targetPortal": "string"
}, - "name": "string",
- "nfs": {
- "path": "string",
- "readOnly": true,
- "server": "string"
}, - "persistentVolumeClaim": {
- "claimName": "string",
- "readOnly": true
}, - "photonPersistentDisk": {
- "fsType": "string",
- "pdID": "string"
}, - "portworxVolume": {
- "fsType": "string",
- "readOnly": true,
- "volumeID": "string"
}, - "projected": {
- "defaultMode": 0,
- "sources": [
- {
- "configMap": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "downwardAPI": {
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "secret": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "serviceAccountToken": {
- "audience": "string",
- "expirationSeconds": 0,
- "path": "string"
}
}
]
}, - "quobyte": {
- "group": "string",
- "readOnly": true,
- "registry": "string",
- "tenant": "string",
- "user": "string",
- "volume": "string"
}, - "rbd": {
- "fsType": "string",
- "image": "string",
- "keyring": "string",
- "monitors": [
- "string"
], - "pool": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "scaleIO": {
- "fsType": "string",
- "gateway": "string",
- "protectionDomain": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "sslEnabled": true,
- "storageMode": "string",
- "storagePool": "string",
- "system": "string",
- "volumeName": "string"
}, - "secret": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "optional": true,
- "secretName": "string"
}, - "storageos": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeName": "string",
- "volumeNamespace": "string"
}, - "vsphereVolume": {
- "fsType": "string",
- "storagePolicyID": "string",
- "storagePolicyName": "string",
- "volumePath": "string"
}
}
], - "namespace": "string",
- "serviceAccountName": "string"
}
}
], - "count": 1,
- "kind": "string"
}
}
List the config templates tied to a specific cluster.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000",
- "id": "large-app",
- "displayName": "Large application",
- "clusterId": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "config": {
- "arguments": [
- "string"
], - "deps": {
- "files": [
- "string"
], - "jars": [
- "string"
], - "pyFiles": [
- "string"
], - "packages": [
- "string"
], - "excludePackages": [
- "string"
], - "repositories": [
- "string"
]
}, - "driver": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "javaOptions": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podName": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "executor": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "instances": 0,
- "javaOptions": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "hadoopConf": {
- "property1": "string",
- "property2": "string"
}, - "hadoopConfigMap": "string",
- "image": "string",
- "imagePullPolicy": "string",
- "imagePullSecrets": [
- "string"
], - "interactive": true,
- "initContainerImage": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "logCollection": {
- "collectAppLogs": true
}, - "mainApplicationFile": "string",
- "mainClass": "string",
- "memoryOverheadFactor": 0,
- "availabilityZone": "string",
- "priority": "low",
- "pythonVersion": "3",
- "shuffle": {
- "enabled": true,
- "rootDir": "string",
- "dependencyInitUserId": 0,
- "dependencyFsGroup": 0
}, - "sparkConf": {
- "property1": "string",
- "property2": "string"
}, - "sparkConfigMap": "string",
- "sparkVersion": "string",
- "timeout": "DISABLED",
- "timeToLiveSeconds": 0,
- "type": "Java",
- "volumes": [
- {
- "awsElasticBlockStore": {
- "fsType": "string",
- "partition": 0,
- "readOnly": true,
- "volumeID": "string"
}, - "azureDisk": {
- "cachingMode": "string",
- "diskName": "string",
- "diskURI": "string",
- "fsType": "string",
- "kind": "string",
- "readOnly": true
}, - "azureFile": {
- "readOnly": true,
- "secretName": "string",
- "shareName": "string"
}, - "cephfs": {
- "monitors": [
- "string"
], - "path": "string",
- "readOnly": true,
- "secretFile": "string",
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "cinder": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeID": "string"
}, - "configMap": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "csi": {
- "driver": "string",
- "fsType": "string",
- "nodePublishSecretRef": {
- "name": "string"
}, - "readOnly": true,
- "volumeAttributes": {
- "property1": "string",
- "property2": "string"
}
}, - "downwardAPI": {
- "defaultMode": 0,
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "emptyDir": {
- "medium": "string",
- "sizeLimit": "string"
}, - "fc": {
- "fsType": "string",
- "lun": 0,
- "readOnly": true,
- "targetWWNs": [
- "string"
], - "wwids": [
- "string"
]
}, - "flexVolume": {
- "driver": "string",
- "fsType": "string",
- "options": {
- "property1": "string",
- "property2": "string"
}, - "readOnly": true,
- "secretRef": {
- "name": "string"
}
}, - "flocker": {
- "datasetName": "string",
- "datasetUUID": "string"
}, - "gcePersistentDisk": {
- "fsType": "string",
- "partition": 0,
- "pdName": "string",
- "readOnly": true
}, - "gitRepo": {
- "directory": "string",
- "repository": "string",
- "revision": "string"
}, - "glusterfs": {
- "endpoints": "string",
- "path": "string",
- "readOnly": true
}, - "hostPath": {
- "path": "string",
- "type": "string"
}, - "iscsi": {
- "chapAuthDiscovery": true,
- "chapAuthSession": true,
- "fsType": "string",
- "initiatorName": "string",
- "iqn": "string",
- "iscsiInterface": "string",
- "lun": 0,
- "portals": [
- "string"
], - "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "targetPortal": "string"
}, - "name": "string",
- "nfs": {
- "path": "string",
- "readOnly": true,
- "server": "string"
}, - "persistentVolumeClaim": {
- "claimName": "string",
- "readOnly": true
}, - "photonPersistentDisk": {
- "fsType": "string",
- "pdID": "string"
}, - "portworxVolume": {
- "fsType": "string",
- "readOnly": true,
- "volumeID": "string"
}, - "projected": {
- "defaultMode": 0,
- "sources": [
- {
- "configMap": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "downwardAPI": {
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "secret": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "serviceAccountToken": {
- "audience": "string",
- "expirationSeconds": 0,
- "path": "string"
}
}
]
}, - "quobyte": {
- "group": "string",
- "readOnly": true,
- "registry": "string",
- "tenant": "string",
- "user": "string",
- "volume": "string"
}, - "rbd": {
- "fsType": "string",
- "image": "string",
- "keyring": "string",
- "monitors": [
- "string"
], - "pool": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "scaleIO": {
- "fsType": "string",
- "gateway": "string",
- "protectionDomain": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "sslEnabled": true,
- "storageMode": "string",
- "storagePool": "string",
- "system": "string",
- "volumeName": "string"
}, - "secret": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "optional": true,
- "secretName": "string"
}, - "storageos": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeName": "string",
- "volumeNamespace": "string"
}, - "vsphereVolume": {
- "fsType": "string",
- "storagePolicyID": "string",
- "storagePolicyName": "string",
- "volumePath": "string"
}
}
], - "namespace": "string",
- "serviceAccountName": "string"
}
}
], - "count": 1,
- "kind": "string"
}
}
Create a new configuration template
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
required | object The piece of configuration contained in the config template. |
displayName | string (oceanSparkConfigTemplateDisplayName) A non-unique free-form name for the config template used in the Spot console. Defaults to the config template ID. |
id required | string (oceanSparkConfigTemplateId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... A unique identifier for a configuration template, set by the user. |
{- "id": "large-app",
- "displayName": "Large application",
- "config": {
- "arguments": [
- "string"
], - "deps": {
- "files": [
- "string"
], - "jars": [
- "string"
], - "pyFiles": [
- "string"
], - "packages": [
- "string"
], - "excludePackages": [
- "string"
], - "repositories": [
- "string"
]
}, - "driver": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "javaOptions": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podName": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "executor": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "instances": 0,
- "javaOptions": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "hadoopConf": {
- "property1": "string",
- "property2": "string"
}, - "hadoopConfigMap": "string",
- "image": "string",
- "imagePullPolicy": "string",
- "imagePullSecrets": [
- "string"
], - "interactive": true,
- "initContainerImage": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "logCollection": {
- "collectAppLogs": true
}, - "mainApplicationFile": "string",
- "mainClass": "string",
- "memoryOverheadFactor": 0,
- "availabilityZone": "string",
- "priority": "low",
- "pythonVersion": "3",
- "shuffle": {
- "enabled": true,
- "rootDir": "string",
- "dependencyInitUserId": 0,
- "dependencyFsGroup": 0
}, - "sparkConf": {
- "property1": "string",
- "property2": "string"
}, - "sparkConfigMap": "string",
- "sparkVersion": "string",
- "timeout": "DISABLED",
- "timeToLiveSeconds": 0,
- "type": "Java",
- "volumes": [
- {
- "awsElasticBlockStore": {
- "fsType": "string",
- "partition": 0,
- "readOnly": true,
- "volumeID": "string"
}, - "azureDisk": {
- "cachingMode": "string",
- "diskName": "string",
- "diskURI": "string",
- "fsType": "string",
- "kind": "string",
- "readOnly": true
}, - "azureFile": {
- "readOnly": true,
- "secretName": "string",
- "shareName": "string"
}, - "cephfs": {
- "monitors": [
- "string"
], - "path": "string",
- "readOnly": true,
- "secretFile": "string",
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "cinder": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeID": "string"
}, - "configMap": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "csi": {
- "driver": "string",
- "fsType": "string",
- "nodePublishSecretRef": {
- "name": "string"
}, - "readOnly": true,
- "volumeAttributes": {
- "property1": "string",
- "property2": "string"
}
}, - "downwardAPI": {
- "defaultMode": 0,
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "emptyDir": {
- "medium": "string",
- "sizeLimit": "string"
}, - "fc": {
- "fsType": "string",
- "lun": 0,
- "readOnly": true,
- "targetWWNs": [
- "string"
], - "wwids": [
- "string"
]
}, - "flexVolume": {
- "driver": "string",
- "fsType": "string",
- "options": {
- "property1": "string",
- "property2": "string"
}, - "readOnly": true,
- "secretRef": {
- "name": "string"
}
}, - "flocker": {
- "datasetName": "string",
- "datasetUUID": "string"
}, - "gcePersistentDisk": {
- "fsType": "string",
- "partition": 0,
- "pdName": "string",
- "readOnly": true
}, - "gitRepo": {
- "directory": "string",
- "repository": "string",
- "revision": "string"
}, - "glusterfs": {
- "endpoints": "string",
- "path": "string",
- "readOnly": true
}, - "hostPath": {
- "path": "string",
- "type": "string"
}, - "iscsi": {
- "chapAuthDiscovery": true,
- "chapAuthSession": true,
- "fsType": "string",
- "initiatorName": "string",
- "iqn": "string",
- "iscsiInterface": "string",
- "lun": 0,
- "portals": [
- "string"
], - "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "targetPortal": "string"
}, - "name": "string",
- "nfs": {
- "path": "string",
- "readOnly": true,
- "server": "string"
}, - "persistentVolumeClaim": {
- "claimName": "string",
- "readOnly": true
}, - "photonPersistentDisk": {
- "fsType": "string",
- "pdID": "string"
}, - "portworxVolume": {
- "fsType": "string",
- "readOnly": true,
- "volumeID": "string"
}, - "projected": {
- "defaultMode": 0,
- "sources": [
- {
- "configMap": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "downwardAPI": {
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "secret": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "serviceAccountToken": {
- "audience": "string",
- "expirationSeconds": 0,
- "path": "string"
}
}
]
}, - "quobyte": {
- "group": "string",
- "readOnly": true,
- "registry": "string",
- "tenant": "string",
- "user": "string",
- "volume": "string"
}, - "rbd": {
- "fsType": "string",
- "image": "string",
- "keyring": "string",
- "monitors": [
- "string"
], - "pool": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "scaleIO": {
- "fsType": "string",
- "gateway": "string",
- "protectionDomain": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "sslEnabled": true,
- "storageMode": "string",
- "storagePool": "string",
- "system": "string",
- "volumeName": "string"
}, - "secret": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "optional": true,
- "secretName": "string"
}, - "storageos": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeName": "string",
- "volumeNamespace": "string"
}, - "vsphereVolume": {
- "fsType": "string",
- "storagePolicyID": "string",
- "storagePolicyName": "string",
- "volumePath": "string"
}
}
], - "namespace": "string",
- "serviceAccountName": "string"
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000",
- "id": "large-app",
- "displayName": "Large application",
- "clusterId": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "config": {
- "arguments": [
- "string"
], - "deps": {
- "files": [
- "string"
], - "jars": [
- "string"
], - "pyFiles": [
- "string"
], - "packages": [
- "string"
], - "excludePackages": [
- "string"
], - "repositories": [
- "string"
]
}, - "driver": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "javaOptions": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podName": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "executor": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "instances": 0,
- "javaOptions": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "hadoopConf": {
- "property1": "string",
- "property2": "string"
}, - "hadoopConfigMap": "string",
- "image": "string",
- "imagePullPolicy": "string",
- "imagePullSecrets": [
- "string"
], - "interactive": true,
- "initContainerImage": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "logCollection": {
- "collectAppLogs": true
}, - "mainApplicationFile": "string",
- "mainClass": "string",
- "memoryOverheadFactor": 0,
- "availabilityZone": "string",
- "priority": "low",
- "pythonVersion": "3",
- "shuffle": {
- "enabled": true,
- "rootDir": "string",
- "dependencyInitUserId": 0,
- "dependencyFsGroup": 0
}, - "sparkConf": {
- "property1": "string",
- "property2": "string"
}, - "sparkConfigMap": "string",
- "sparkVersion": "string",
- "timeout": "DISABLED",
- "timeToLiveSeconds": 0,
- "type": "Java",
- "volumes": [
- {
- "awsElasticBlockStore": {
- "fsType": "string",
- "partition": 0,
- "readOnly": true,
- "volumeID": "string"
}, - "azureDisk": {
- "cachingMode": "string",
- "diskName": "string",
- "diskURI": "string",
- "fsType": "string",
- "kind": "string",
- "readOnly": true
}, - "azureFile": {
- "readOnly": true,
- "secretName": "string",
- "shareName": "string"
}, - "cephfs": {
- "monitors": [
- "string"
], - "path": "string",
- "readOnly": true,
- "secretFile": "string",
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "cinder": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeID": "string"
}, - "configMap": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "csi": {
- "driver": "string",
- "fsType": "string",
- "nodePublishSecretRef": {
- "name": "string"
}, - "readOnly": true,
- "volumeAttributes": {
- "property1": "string",
- "property2": "string"
}
}, - "downwardAPI": {
- "defaultMode": 0,
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "emptyDir": {
- "medium": "string",
- "sizeLimit": "string"
}, - "fc": {
- "fsType": "string",
- "lun": 0,
- "readOnly": true,
- "targetWWNs": [
- "string"
], - "wwids": [
- "string"
]
}, - "flexVolume": {
- "driver": "string",
- "fsType": "string",
- "options": {
- "property1": "string",
- "property2": "string"
}, - "readOnly": true,
- "secretRef": {
- "name": "string"
}
}, - "flocker": {
- "datasetName": "string",
- "datasetUUID": "string"
}, - "gcePersistentDisk": {
- "fsType": "string",
- "partition": 0,
- "pdName": "string",
- "readOnly": true
}, - "gitRepo": {
- "directory": "string",
- "repository": "string",
- "revision": "string"
}, - "glusterfs": {
- "endpoints": "string",
- "path": "string",
- "readOnly": true
}, - "hostPath": {
- "path": "string",
- "type": "string"
}, - "iscsi": {
- "chapAuthDiscovery": true,
- "chapAuthSession": true,
- "fsType": "string",
- "initiatorName": "string",
- "iqn": "string",
- "iscsiInterface": "string",
- "lun": 0,
- "portals": [
- "string"
], - "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "targetPortal": "string"
}, - "name": "string",
- "nfs": {
- "path": "string",
- "readOnly": true,
- "server": "string"
}, - "persistentVolumeClaim": {
- "claimName": "string",
- "readOnly": true
}, - "photonPersistentDisk": {
- "fsType": "string",
- "pdID": "string"
}, - "portworxVolume": {
- "fsType": "string",
- "readOnly": true,
- "volumeID": "string"
}, - "projected": {
- "defaultMode": 0,
- "sources": [
- {
- "configMap": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "downwardAPI": {
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "secret": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "serviceAccountToken": {
- "audience": "string",
- "expirationSeconds": 0,
- "path": "string"
}
}
]
}, - "quobyte": {
- "group": "string",
- "readOnly": true,
- "registry": "string",
- "tenant": "string",
- "user": "string",
- "volume": "string"
}, - "rbd": {
- "fsType": "string",
- "image": "string",
- "keyring": "string",
- "monitors": [
- "string"
], - "pool": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "scaleIO": {
- "fsType": "string",
- "gateway": "string",
- "protectionDomain": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "sslEnabled": true,
- "storageMode": "string",
- "storagePool": "string",
- "system": "string",
- "volumeName": "string"
}, - "secret": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "optional": true,
- "secretName": "string"
}, - "storageos": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeName": "string",
- "volumeNamespace": "string"
}, - "vsphereVolume": {
- "fsType": "string",
- "storagePolicyID": "string",
- "storagePolicyName": "string",
- "volumePath": "string"
}
}
], - "namespace": "string",
- "serviceAccountName": "string"
}
}
], - "count": 1,
- "kind": "string"
}
}
Describe a config template tied to an Ocean Spark cluster.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
configTemplateId required | string (oceanSparkConfigTemplateId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... Example: large-app A unique identifier for a configuration template, set by the user. |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000",
- "id": "large-app",
- "displayName": "Large application",
- "clusterId": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "config": {
- "arguments": [
- "string"
], - "deps": {
- "files": [
- "string"
], - "jars": [
- "string"
], - "pyFiles": [
- "string"
], - "packages": [
- "string"
], - "excludePackages": [
- "string"
], - "repositories": [
- "string"
]
}, - "driver": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "javaOptions": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podName": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "executor": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "instances": 0,
- "javaOptions": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "hadoopConf": {
- "property1": "string",
- "property2": "string"
}, - "hadoopConfigMap": "string",
- "image": "string",
- "imagePullPolicy": "string",
- "imagePullSecrets": [
- "string"
], - "interactive": true,
- "initContainerImage": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "logCollection": {
- "collectAppLogs": true
}, - "mainApplicationFile": "string",
- "mainClass": "string",
- "memoryOverheadFactor": 0,
- "availabilityZone": "string",
- "priority": "low",
- "pythonVersion": "3",
- "shuffle": {
- "enabled": true,
- "rootDir": "string",
- "dependencyInitUserId": 0,
- "dependencyFsGroup": 0
}, - "sparkConf": {
- "property1": "string",
- "property2": "string"
}, - "sparkConfigMap": "string",
- "sparkVersion": "string",
- "timeout": "DISABLED",
- "timeToLiveSeconds": 0,
- "type": "Java",
- "volumes": [
- {
- "awsElasticBlockStore": {
- "fsType": "string",
- "partition": 0,
- "readOnly": true,
- "volumeID": "string"
}, - "azureDisk": {
- "cachingMode": "string",
- "diskName": "string",
- "diskURI": "string",
- "fsType": "string",
- "kind": "string",
- "readOnly": true
}, - "azureFile": {
- "readOnly": true,
- "secretName": "string",
- "shareName": "string"
}, - "cephfs": {
- "monitors": [
- "string"
], - "path": "string",
- "readOnly": true,
- "secretFile": "string",
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "cinder": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeID": "string"
}, - "configMap": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "csi": {
- "driver": "string",
- "fsType": "string",
- "nodePublishSecretRef": {
- "name": "string"
}, - "readOnly": true,
- "volumeAttributes": {
- "property1": "string",
- "property2": "string"
}
}, - "downwardAPI": {
- "defaultMode": 0,
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "emptyDir": {
- "medium": "string",
- "sizeLimit": "string"
}, - "fc": {
- "fsType": "string",
- "lun": 0,
- "readOnly": true,
- "targetWWNs": [
- "string"
], - "wwids": [
- "string"
]
}, - "flexVolume": {
- "driver": "string",
- "fsType": "string",
- "options": {
- "property1": "string",
- "property2": "string"
}, - "readOnly": true,
- "secretRef": {
- "name": "string"
}
}, - "flocker": {
- "datasetName": "string",
- "datasetUUID": "string"
}, - "gcePersistentDisk": {
- "fsType": "string",
- "partition": 0,
- "pdName": "string",
- "readOnly": true
}, - "gitRepo": {
- "directory": "string",
- "repository": "string",
- "revision": "string"
}, - "glusterfs": {
- "endpoints": "string",
- "path": "string",
- "readOnly": true
}, - "hostPath": {
- "path": "string",
- "type": "string"
}, - "iscsi": {
- "chapAuthDiscovery": true,
- "chapAuthSession": true,
- "fsType": "string",
- "initiatorName": "string",
- "iqn": "string",
- "iscsiInterface": "string",
- "lun": 0,
- "portals": [
- "string"
], - "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "targetPortal": "string"
}, - "name": "string",
- "nfs": {
- "path": "string",
- "readOnly": true,
- "server": "string"
}, - "persistentVolumeClaim": {
- "claimName": "string",
- "readOnly": true
}, - "photonPersistentDisk": {
- "fsType": "string",
- "pdID": "string"
}, - "portworxVolume": {
- "fsType": "string",
- "readOnly": true,
- "volumeID": "string"
}, - "projected": {
- "defaultMode": 0,
- "sources": [
- {
- "configMap": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "downwardAPI": {
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "secret": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "serviceAccountToken": {
- "audience": "string",
- "expirationSeconds": 0,
- "path": "string"
}
}
]
}, - "quobyte": {
- "group": "string",
- "readOnly": true,
- "registry": "string",
- "tenant": "string",
- "user": "string",
- "volume": "string"
}, - "rbd": {
- "fsType": "string",
- "image": "string",
- "keyring": "string",
- "monitors": [
- "string"
], - "pool": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "scaleIO": {
- "fsType": "string",
- "gateway": "string",
- "protectionDomain": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "sslEnabled": true,
- "storageMode": "string",
- "storagePool": "string",
- "system": "string",
- "volumeName": "string"
}, - "secret": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "optional": true,
- "secretName": "string"
}, - "storageos": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeName": "string",
- "volumeNamespace": "string"
}, - "vsphereVolume": {
- "fsType": "string",
- "storagePolicyID": "string",
- "storagePolicyName": "string",
- "volumePath": "string"
}
}
], - "namespace": "string",
- "serviceAccountName": "string"
}
}
], - "count": 1,
- "kind": "string"
}
}
Update a config template by replacing the existing configuration with the one provided in the request body.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
configTemplateId required | string (oceanSparkConfigTemplateId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... Example: large-app A unique identifier for a configuration template, set by the user. |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
object The piece of configuration that will replace the existing configuration | |
displayName | string (oceanSparkConfigTemplateDisplayName) A non-unique free-form name for the config template used in the Spot console. Defaults to the config template ID. |
{- "displayName": "Large application",
- "config": {
- "arguments": [
- "string"
], - "deps": {
- "files": [
- "string"
], - "jars": [
- "string"
], - "pyFiles": [
- "string"
], - "packages": [
- "string"
], - "excludePackages": [
- "string"
], - "repositories": [
- "string"
]
}, - "driver": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "javaOptions": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podName": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "executor": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "instances": 0,
- "javaOptions": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "hadoopConf": {
- "property1": "string",
- "property2": "string"
}, - "hadoopConfigMap": "string",
- "image": "string",
- "imagePullPolicy": "string",
- "imagePullSecrets": [
- "string"
], - "interactive": true,
- "initContainerImage": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "logCollection": {
- "collectAppLogs": true
}, - "mainApplicationFile": "string",
- "mainClass": "string",
- "memoryOverheadFactor": 0,
- "availabilityZone": "string",
- "priority": "low",
- "pythonVersion": "3",
- "shuffle": {
- "enabled": true,
- "rootDir": "string",
- "dependencyInitUserId": 0,
- "dependencyFsGroup": 0
}, - "sparkConf": {
- "property1": "string",
- "property2": "string"
}, - "sparkConfigMap": "string",
- "sparkVersion": "string",
- "timeout": "DISABLED",
- "timeToLiveSeconds": 0,
- "type": "Java",
- "volumes": [
- {
- "awsElasticBlockStore": {
- "fsType": "string",
- "partition": 0,
- "readOnly": true,
- "volumeID": "string"
}, - "azureDisk": {
- "cachingMode": "string",
- "diskName": "string",
- "diskURI": "string",
- "fsType": "string",
- "kind": "string",
- "readOnly": true
}, - "azureFile": {
- "readOnly": true,
- "secretName": "string",
- "shareName": "string"
}, - "cephfs": {
- "monitors": [
- "string"
], - "path": "string",
- "readOnly": true,
- "secretFile": "string",
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "cinder": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeID": "string"
}, - "configMap": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "csi": {
- "driver": "string",
- "fsType": "string",
- "nodePublishSecretRef": {
- "name": "string"
}, - "readOnly": true,
- "volumeAttributes": {
- "property1": "string",
- "property2": "string"
}
}, - "downwardAPI": {
- "defaultMode": 0,
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "emptyDir": {
- "medium": "string",
- "sizeLimit": "string"
}, - "fc": {
- "fsType": "string",
- "lun": 0,
- "readOnly": true,
- "targetWWNs": [
- "string"
], - "wwids": [
- "string"
]
}, - "flexVolume": {
- "driver": "string",
- "fsType": "string",
- "options": {
- "property1": "string",
- "property2": "string"
}, - "readOnly": true,
- "secretRef": {
- "name": "string"
}
}, - "flocker": {
- "datasetName": "string",
- "datasetUUID": "string"
}, - "gcePersistentDisk": {
- "fsType": "string",
- "partition": 0,
- "pdName": "string",
- "readOnly": true
}, - "gitRepo": {
- "directory": "string",
- "repository": "string",
- "revision": "string"
}, - "glusterfs": {
- "endpoints": "string",
- "path": "string",
- "readOnly": true
}, - "hostPath": {
- "path": "string",
- "type": "string"
}, - "iscsi": {
- "chapAuthDiscovery": true,
- "chapAuthSession": true,
- "fsType": "string",
- "initiatorName": "string",
- "iqn": "string",
- "iscsiInterface": "string",
- "lun": 0,
- "portals": [
- "string"
], - "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "targetPortal": "string"
}, - "name": "string",
- "nfs": {
- "path": "string",
- "readOnly": true,
- "server": "string"
}, - "persistentVolumeClaim": {
- "claimName": "string",
- "readOnly": true
}, - "photonPersistentDisk": {
- "fsType": "string",
- "pdID": "string"
}, - "portworxVolume": {
- "fsType": "string",
- "readOnly": true,
- "volumeID": "string"
}, - "projected": {
- "defaultMode": 0,
- "sources": [
- {
- "configMap": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "downwardAPI": {
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "secret": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "serviceAccountToken": {
- "audience": "string",
- "expirationSeconds": 0,
- "path": "string"
}
}
]
}, - "quobyte": {
- "group": "string",
- "readOnly": true,
- "registry": "string",
- "tenant": "string",
- "user": "string",
- "volume": "string"
}, - "rbd": {
- "fsType": "string",
- "image": "string",
- "keyring": "string",
- "monitors": [
- "string"
], - "pool": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "scaleIO": {
- "fsType": "string",
- "gateway": "string",
- "protectionDomain": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "sslEnabled": true,
- "storageMode": "string",
- "storagePool": "string",
- "system": "string",
- "volumeName": "string"
}, - "secret": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "optional": true,
- "secretName": "string"
}, - "storageos": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeName": "string",
- "volumeNamespace": "string"
}, - "vsphereVolume": {
- "fsType": "string",
- "storagePolicyID": "string",
- "storagePolicyName": "string",
- "volumePath": "string"
}
}
], - "namespace": "string",
- "serviceAccountName": "string"
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000",
- "id": "large-app",
- "displayName": "Large application",
- "clusterId": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "config": {
- "arguments": [
- "string"
], - "deps": {
- "files": [
- "string"
], - "jars": [
- "string"
], - "pyFiles": [
- "string"
], - "packages": [
- "string"
], - "excludePackages": [
- "string"
], - "repositories": [
- "string"
]
}, - "driver": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "javaOptions": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podName": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "executor": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "instances": 0,
- "javaOptions": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "hadoopConf": {
- "property1": "string",
- "property2": "string"
}, - "hadoopConfigMap": "string",
- "image": "string",
- "imagePullPolicy": "string",
- "imagePullSecrets": [
- "string"
], - "interactive": true,
- "initContainerImage": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "logCollection": {
- "collectAppLogs": true
}, - "mainApplicationFile": "string",
- "mainClass": "string",
- "memoryOverheadFactor": 0,
- "availabilityZone": "string",
- "priority": "low",
- "pythonVersion": "3",
- "shuffle": {
- "enabled": true,
- "rootDir": "string",
- "dependencyInitUserId": 0,
- "dependencyFsGroup": 0
}, - "sparkConf": {
- "property1": "string",
- "property2": "string"
}, - "sparkConfigMap": "string",
- "sparkVersion": "string",
- "timeout": "DISABLED",
- "timeToLiveSeconds": 0,
- "type": "Java",
- "volumes": [
- {
- "awsElasticBlockStore": {
- "fsType": "string",
- "partition": 0,
- "readOnly": true,
- "volumeID": "string"
}, - "azureDisk": {
- "cachingMode": "string",
- "diskName": "string",
- "diskURI": "string",
- "fsType": "string",
- "kind": "string",
- "readOnly": true
}, - "azureFile": {
- "readOnly": true,
- "secretName": "string",
- "shareName": "string"
}, - "cephfs": {
- "monitors": [
- "string"
], - "path": "string",
- "readOnly": true,
- "secretFile": "string",
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "cinder": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeID": "string"
}, - "configMap": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "csi": {
- "driver": "string",
- "fsType": "string",
- "nodePublishSecretRef": {
- "name": "string"
}, - "readOnly": true,
- "volumeAttributes": {
- "property1": "string",
- "property2": "string"
}
}, - "downwardAPI": {
- "defaultMode": 0,
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "emptyDir": {
- "medium": "string",
- "sizeLimit": "string"
}, - "fc": {
- "fsType": "string",
- "lun": 0,
- "readOnly": true,
- "targetWWNs": [
- "string"
], - "wwids": [
- "string"
]
}, - "flexVolume": {
- "driver": "string",
- "fsType": "string",
- "options": {
- "property1": "string",
- "property2": "string"
}, - "readOnly": true,
- "secretRef": {
- "name": "string"
}
}, - "flocker": {
- "datasetName": "string",
- "datasetUUID": "string"
}, - "gcePersistentDisk": {
- "fsType": "string",
- "partition": 0,
- "pdName": "string",
- "readOnly": true
}, - "gitRepo": {
- "directory": "string",
- "repository": "string",
- "revision": "string"
}, - "glusterfs": {
- "endpoints": "string",
- "path": "string",
- "readOnly": true
}, - "hostPath": {
- "path": "string",
- "type": "string"
}, - "iscsi": {
- "chapAuthDiscovery": true,
- "chapAuthSession": true,
- "fsType": "string",
- "initiatorName": "string",
- "iqn": "string",
- "iscsiInterface": "string",
- "lun": 0,
- "portals": [
- "string"
], - "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "targetPortal": "string"
}, - "name": "string",
- "nfs": {
- "path": "string",
- "readOnly": true,
- "server": "string"
}, - "persistentVolumeClaim": {
- "claimName": "string",
- "readOnly": true
}, - "photonPersistentDisk": {
- "fsType": "string",
- "pdID": "string"
}, - "portworxVolume": {
- "fsType": "string",
- "readOnly": true,
- "volumeID": "string"
}, - "projected": {
- "defaultMode": 0,
- "sources": [
- {
- "configMap": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "downwardAPI": {
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "secret": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "serviceAccountToken": {
- "audience": "string",
- "expirationSeconds": 0,
- "path": "string"
}
}
]
}, - "quobyte": {
- "group": "string",
- "readOnly": true,
- "registry": "string",
- "tenant": "string",
- "user": "string",
- "volume": "string"
}, - "rbd": {
- "fsType": "string",
- "image": "string",
- "keyring": "string",
- "monitors": [
- "string"
], - "pool": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "scaleIO": {
- "fsType": "string",
- "gateway": "string",
- "protectionDomain": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "sslEnabled": true,
- "storageMode": "string",
- "storagePool": "string",
- "system": "string",
- "volumeName": "string"
}, - "secret": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "optional": true,
- "secretName": "string"
}, - "storageos": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeName": "string",
- "volumeNamespace": "string"
}, - "vsphereVolume": {
- "fsType": "string",
- "storagePolicyID": "string",
- "storagePolicyName": "string",
- "volumePath": "string"
}
}
], - "namespace": "string",
- "serviceAccountName": "string"
}
}
], - "count": 1,
- "kind": "string"
}
}
Delete a config template.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
configTemplateId required | string (oceanSparkConfigTemplateId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... Example: large-app A unique identifier for a configuration template, set by the user. |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
List jobs on all Ocean Spark clusters in the specified account.
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "total": 3256,
- "page": [
- {
- "id": "daily-reporting",
- "displayName": "Daily Reporting",
- "controllerClusterId": "my-ocean-cluster",
- "clusterId": "osc-20fac3f1",
- "organizationId": 606012341234,
- "accountId": "act-123456789",
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "lastApp": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000",
- "id": "daily-reporting-2021-08-18",
- "displayName": "Daily Reporting 2021-08-18",
- "accountId": "act-123456789",
- "organizationId": 606012341234,
- "userId": 59438,
- "clusterId": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "appState": "RUNNING",
- "submissionSource": "public-api",
- "appType": "notebook",
- "startedAt": "2021-11-18T17:09:37+00:00",
- "endedAt": "2021-11-18T17:09:37+00:00",
- "killRequestedAt": "2021-11-18T17:09:37+00:00",
- "liveLog": {
- "logsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/logs/live",
- "kubeEventsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/kubeEvents/live"
}, - "metrics": {
- "cost": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "total": 0
}, - "spark": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "sparkCoresDurationSeconds": 0,
- "inputDataBytes": 0,
- "outputDataBytes": 0,
- "efficiencyPercent": 0,
- "availability": "string"
}
}, - "cores": 1
}, - "config": {
- "arguments": [
- "string"
], - "deps": {
- "files": [
- "string"
], - "jars": [
- "string"
], - "pyFiles": [
- "string"
], - "packages": [
- "string"
], - "excludePackages": [
- "string"
], - "repositories": [
- "string"
]
}, - "driver": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "javaOptions": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podName": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "executor": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "instances": 0,
- "javaOptions": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "hadoopConf": {
- "property1": "string",
- "property2": "string"
}, - "hadoopConfigMap": "string",
- "image": "string",
- "imagePullPolicy": "string",
- "imagePullSecrets": [
- "string"
], - "interactive": true,
- "initContainerImage": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "logCollection": {
- "collectAppLogs": true
}, - "mainApplicationFile": "string",
- "mainClass": "string",
- "memoryOverheadFactor": 0,
- "availabilityZone": "string",
- "priority": "low",
- "pythonVersion": "3",
- "shuffle": {
- "enabled": true,
- "rootDir": "string",
- "dependencyInitUserId": 0,
- "dependencyFsGroup": 0
}, - "sparkConf": {
- "property1": "string",
- "property2": "string"
}, - "sparkConfigMap": "string",
- "sparkVersion": "string",
- "timeout": "DISABLED",
- "timeToLiveSeconds": 0,
- "type": "Java",
- "volumes": [
- {
- "awsElasticBlockStore": {
- "fsType": "string",
- "partition": 0,
- "readOnly": true,
- "volumeID": "string"
}, - "azureDisk": {
- "cachingMode": "string",
- "diskName": "string",
- "diskURI": "string",
- "fsType": "string",
- "kind": "string",
- "readOnly": true
}, - "azureFile": {
- "readOnly": true,
- "secretName": "string",
- "shareName": "string"
}, - "cephfs": {
- "monitors": [
- "string"
], - "path": "string",
- "readOnly": true,
- "secretFile": "string",
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "cinder": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeID": "string"
}, - "configMap": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "csi": {
- "driver": "string",
- "fsType": "string",
- "nodePublishSecretRef": {
- "name": "string"
}, - "readOnly": true,
- "volumeAttributes": {
- "property1": "string",
- "property2": "string"
}
}, - "downwardAPI": {
- "defaultMode": 0,
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "emptyDir": {
- "medium": "string",
- "sizeLimit": "string"
}, - "fc": {
- "fsType": "string",
- "lun": 0,
- "readOnly": true,
- "targetWWNs": [
- "string"
], - "wwids": [
- "string"
]
}, - "flexVolume": {
- "driver": "string",
- "fsType": "string",
- "options": {
- "property1": "string",
- "property2": "string"
}, - "readOnly": true,
- "secretRef": {
- "name": "string"
}
}, - "flocker": {
- "datasetName": "string",
- "datasetUUID": "string"
}, - "gcePersistentDisk": {
- "fsType": "string",
- "partition": 0,
- "pdName": "string",
- "readOnly": true
}, - "gitRepo": {
- "directory": "string",
- "repository": "string",
- "revision": "string"
}, - "glusterfs": {
- "endpoints": "string",
- "path": "string",
- "readOnly": true
}, - "hostPath": {
- "path": "string",
- "type": "string"
}, - "iscsi": {
- "chapAuthDiscovery": true,
- "chapAuthSession": true,
- "fsType": "string",
- "initiatorName": "string",
- "iqn": "string",
- "iscsiInterface": "string",
- "lun": 0,
- "portals": [
- "string"
], - "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "targetPortal": "string"
}, - "name": "string",
- "nfs": {
- "path": "string",
- "readOnly": true,
- "server": "string"
}, - "persistentVolumeClaim": {
- "claimName": "string",
- "readOnly": true
}, - "photonPersistentDisk": {
- "fsType": "string",
- "pdID": "string"
}, - "portworxVolume": {
- "fsType": "string",
- "readOnly": true,
- "volumeID": "string"
}, - "projected": {
- "defaultMode": 0,
- "sources": [
- {
- "configMap": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "downwardAPI": {
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "secret": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "serviceAccountToken": {
- "audience": "string",
- "expirationSeconds": 0,
- "path": "string"
}
}
]
}, - "quobyte": {
- "group": "string",
- "readOnly": true,
- "registry": "string",
- "tenant": "string",
- "user": "string",
- "volume": "string"
}, - "rbd": {
- "fsType": "string",
- "image": "string",
- "keyring": "string",
- "monitors": [
- "string"
], - "pool": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "scaleIO": {
- "fsType": "string",
- "gateway": "string",
- "protectionDomain": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "sslEnabled": true,
- "storageMode": "string",
- "storagePool": "string",
- "system": "string",
- "volumeName": "string"
}, - "secret": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "optional": true,
- "secretName": "string"
}, - "storageos": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeName": "string",
- "volumeNamespace": "string"
}, - "vsphereVolume": {
- "fsType": "string",
- "storagePolicyID": "string",
- "storagePolicyName": "string",
- "volumePath": "string"
}
}
], - "namespace": "string",
- "serviceAccountName": "string"
}
}
], - "after": "MjAyMS0xMS0xOFQwOTo1MjowNS43Mzg4NjArMDA6MDB8NWM3NGY2MDYtZDYxNy00MzcxLWE5ZDktNjc2ZDkxMzRlNWFk",
- "before": "MjAyMS0xMS0xOFQwOTo1MjowNS43Mzg4NjArMDA6MDB8NWM3NGY2MDYtZDYxNy00MzcxLWE5ZDktNjc2ZDkxMzRlNWFk"
}
], - "count": 1,
- "kind": "string"
}
}
List the Ocean Spark jobs in a specific cluster.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "total": 3256,
- "page": [
- {
- "id": "daily-reporting",
- "displayName": "Daily Reporting",
- "controllerClusterId": "my-ocean-cluster",
- "clusterId": "osc-20fac3f1",
- "organizationId": 606012341234,
- "accountId": "act-123456789",
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "lastApp": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000",
- "id": "daily-reporting-2021-08-18",
- "displayName": "Daily Reporting 2021-08-18",
- "accountId": "act-123456789",
- "organizationId": 606012341234,
- "userId": 59438,
- "clusterId": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "appState": "RUNNING",
- "submissionSource": "public-api",
- "appType": "notebook",
- "startedAt": "2021-11-18T17:09:37+00:00",
- "endedAt": "2021-11-18T17:09:37+00:00",
- "killRequestedAt": "2021-11-18T17:09:37+00:00",
- "liveLog": {
- "logsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/logs/live",
- "kubeEventsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/kubeEvents/live"
}, - "metrics": {
- "cost": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "total": 0
}, - "spark": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "sparkCoresDurationSeconds": 0,
- "inputDataBytes": 0,
- "outputDataBytes": 0,
- "efficiencyPercent": 0,
- "availability": "string"
}
}, - "cores": 1
}, - "config": {
- "arguments": [
- "string"
], - "deps": {
- "files": [
- "string"
], - "jars": [
- "string"
], - "pyFiles": [
- "string"
], - "packages": [
- "string"
], - "excludePackages": [
- "string"
], - "repositories": [
- "string"
]
}, - "driver": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "javaOptions": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podName": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "executor": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "instances": 0,
- "javaOptions": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "hadoopConf": {
- "property1": "string",
- "property2": "string"
}, - "hadoopConfigMap": "string",
- "image": "string",
- "imagePullPolicy": "string",
- "imagePullSecrets": [
- "string"
], - "interactive": true,
- "initContainerImage": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "logCollection": {
- "collectAppLogs": true
}, - "mainApplicationFile": "string",
- "mainClass": "string",
- "memoryOverheadFactor": 0,
- "availabilityZone": "string",
- "priority": "low",
- "pythonVersion": "3",
- "shuffle": {
- "enabled": true,
- "rootDir": "string",
- "dependencyInitUserId": 0,
- "dependencyFsGroup": 0
}, - "sparkConf": {
- "property1": "string",
- "property2": "string"
}, - "sparkConfigMap": "string",
- "sparkVersion": "string",
- "timeout": "DISABLED",
- "timeToLiveSeconds": 0,
- "type": "Java",
- "volumes": [
- {
- "awsElasticBlockStore": {
- "fsType": "string",
- "partition": 0,
- "readOnly": true,
- "volumeID": "string"
}, - "azureDisk": {
- "cachingMode": "string",
- "diskName": "string",
- "diskURI": "string",
- "fsType": "string",
- "kind": "string",
- "readOnly": true
}, - "azureFile": {
- "readOnly": true,
- "secretName": "string",
- "shareName": "string"
}, - "cephfs": {
- "monitors": [
- "string"
], - "path": "string",
- "readOnly": true,
- "secretFile": "string",
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "cinder": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeID": "string"
}, - "configMap": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "csi": {
- "driver": "string",
- "fsType": "string",
- "nodePublishSecretRef": {
- "name": "string"
}, - "readOnly": true,
- "volumeAttributes": {
- "property1": "string",
- "property2": "string"
}
}, - "downwardAPI": {
- "defaultMode": 0,
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "emptyDir": {
- "medium": "string",
- "sizeLimit": "string"
}, - "fc": {
- "fsType": "string",
- "lun": 0,
- "readOnly": true,
- "targetWWNs": [
- "string"
], - "wwids": [
- "string"
]
}, - "flexVolume": {
- "driver": "string",
- "fsType": "string",
- "options": {
- "property1": "string",
- "property2": "string"
}, - "readOnly": true,
- "secretRef": {
- "name": "string"
}
}, - "flocker": {
- "datasetName": "string",
- "datasetUUID": "string"
}, - "gcePersistentDisk": {
- "fsType": "string",
- "partition": 0,
- "pdName": "string",
- "readOnly": true
}, - "gitRepo": {
- "directory": "string",
- "repository": "string",
- "revision": "string"
}, - "glusterfs": {
- "endpoints": "string",
- "path": "string",
- "readOnly": true
}, - "hostPath": {
- "path": "string",
- "type": "string"
}, - "iscsi": {
- "chapAuthDiscovery": true,
- "chapAuthSession": true,
- "fsType": "string",
- "initiatorName": "string",
- "iqn": "string",
- "iscsiInterface": "string",
- "lun": 0,
- "portals": [
- "string"
], - "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "targetPortal": "string"
}, - "name": "string",
- "nfs": {
- "path": "string",
- "readOnly": true,
- "server": "string"
}, - "persistentVolumeClaim": {
- "claimName": "string",
- "readOnly": true
}, - "photonPersistentDisk": {
- "fsType": "string",
- "pdID": "string"
}, - "portworxVolume": {
- "fsType": "string",
- "readOnly": true,
- "volumeID": "string"
}, - "projected": {
- "defaultMode": 0,
- "sources": [
- {
- "configMap": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "downwardAPI": {
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "secret": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "serviceAccountToken": {
- "audience": "string",
- "expirationSeconds": 0,
- "path": "string"
}
}
]
}, - "quobyte": {
- "group": "string",
- "readOnly": true,
- "registry": "string",
- "tenant": "string",
- "user": "string",
- "volume": "string"
}, - "rbd": {
- "fsType": "string",
- "image": "string",
- "keyring": "string",
- "monitors": [
- "string"
], - "pool": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "scaleIO": {
- "fsType": "string",
- "gateway": "string",
- "protectionDomain": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "sslEnabled": true,
- "storageMode": "string",
- "storagePool": "string",
- "system": "string",
- "volumeName": "string"
}, - "secret": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "optional": true,
- "secretName": "string"
}, - "storageos": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeName": "string",
- "volumeNamespace": "string"
}, - "vsphereVolume": {
- "fsType": "string",
- "storagePolicyID": "string",
- "storagePolicyName": "string",
- "volumePath": "string"
}
}
], - "namespace": "string",
- "serviceAccountName": "string"
}
}
], - "after": "MjAyMS0xMS0xOFQwOTo1MjowNS43Mzg4NjArMDA6MDB8NWM3NGY2MDYtZDYxNy00MzcxLWE5ZDktNjc2ZDkxMzRlNWFk",
- "before": "MjAyMS0xMS0xOFQwOTo1MjowNS43Mzg4NjArMDA6MDB8NWM3NGY2MDYtZDYxNy00MzcxLWE5ZDktNjc2ZDkxMzRlNWFk"
}
], - "count": 1,
- "kind": "string"
}
}
Describe an Ocean Spark job in an Ocean Spark cluster.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
jobId required | string (oceanSparkJobId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... Example: daily-reporting A unique identifier for an Ocean Spark job. |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
maxCreatedAt | string <date-time> Example: maxCreatedAt=2021-11-22T00:00 Optionally filter app history on the creation date. To retrieve the |
minCreatedAt | string <date-time> Example: minCreatedAt=2021-11-22T00:00 Optionally filter app history on the creation date. To retrieve the |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "daily-reporting",
- "displayName": "Daily Reporting",
- "organizationId": 606012341234,
- "accountId": "act-123456789",
- "controllerClusterId": "my-ocean-cluster",
- "clusterId": "osc-20fac3f1",
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "lastApp": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000",
- "id": "daily-reporting-2021-08-18",
- "displayName": "Daily Reporting 2021-08-18",
- "accountId": "act-123456789",
- "organizationId": 606012341234,
- "userId": 59438,
- "clusterId": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "appState": "RUNNING",
- "submissionSource": "public-api",
- "appType": "notebook",
- "startedAt": "2021-11-18T17:09:37+00:00",
- "endedAt": "2021-11-18T17:09:37+00:00",
- "killRequestedAt": "2021-11-18T17:09:37+00:00",
- "liveLog": {
- "logsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/logs/live",
- "kubeEventsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/kubeEvents/live"
}, - "metrics": {
- "cost": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "total": 0
}, - "spark": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "sparkCoresDurationSeconds": 0,
- "inputDataBytes": 0,
- "outputDataBytes": 0,
- "efficiencyPercent": 0,
- "availability": "string"
}
}, - "cores": 1
}, - "history": [
- {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000",
- "id": "daily-reporting-2021-08-18",
- "displayName": "Daily Reporting 2021-08-18",
- "accountId": "act-123456789",
- "organizationId": 606012341234,
- "userId": 59438,
- "clusterId": "osc-20fac3f1",
- "controllerClusterId": "my-ocean-cluster",
- "appState": "RUNNING",
- "submissionSource": "public-api",
- "appType": "notebook",
- "startedAt": "2021-11-18T17:09:37+00:00",
- "endedAt": "2021-11-18T17:09:37+00:00",
- "killRequestedAt": "2021-11-18T17:09:37+00:00",
- "liveLog": {
- "logsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/logs/live",
- "kubeEventsStreamUrl": "/ocean/spark/cluster/osc-20fac3f1/app/daily-reporting-2021-08-18/kubeEvents/live"
}, - "metrics": {
- "cost": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "total": 0
}, - "spark": {
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "sparkCoresDurationSeconds": 0,
- "inputDataBytes": 0,
- "outputDataBytes": 0,
- "efficiencyPercent": 0,
- "availability": "string"
}
}, - "cores": 1
}
], - "config": {
- "arguments": [
- "string"
], - "deps": {
- "files": [
- "string"
], - "jars": [
- "string"
], - "pyFiles": [
- "string"
], - "packages": [
- "string"
], - "excludePackages": [
- "string"
], - "repositories": [
- "string"
]
}, - "driver": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "javaOptions": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podName": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "executor": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "instances": 0,
- "javaOptions": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "hadoopConf": {
- "property1": "string",
- "property2": "string"
}, - "hadoopConfigMap": "string",
- "image": "string",
- "imagePullPolicy": "string",
- "imagePullSecrets": [
- "string"
], - "interactive": true,
- "initContainerImage": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "logCollection": {
- "collectAppLogs": true
}, - "mainApplicationFile": "string",
- "mainClass": "string",
- "memoryOverheadFactor": 0,
- "availabilityZone": "string",
- "priority": "low",
- "pythonVersion": "3",
- "shuffle": {
- "enabled": true,
- "rootDir": "string",
- "dependencyInitUserId": 0,
- "dependencyFsGroup": 0
}, - "sparkConf": {
- "property1": "string",
- "property2": "string"
}, - "sparkConfigMap": "string",
- "sparkVersion": "string",
- "timeout": "DISABLED",
- "timeToLiveSeconds": 0,
- "type": "Java",
- "volumes": [
- {
- "awsElasticBlockStore": {
- "fsType": "string",
- "partition": 0,
- "readOnly": true,
- "volumeID": "string"
}, - "azureDisk": {
- "cachingMode": "string",
- "diskName": "string",
- "diskURI": "string",
- "fsType": "string",
- "kind": "string",
- "readOnly": true
}, - "azureFile": {
- "readOnly": true,
- "secretName": "string",
- "shareName": "string"
}, - "cephfs": {
- "monitors": [
- "string"
], - "path": "string",
- "readOnly": true,
- "secretFile": "string",
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "cinder": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeID": "string"
}, - "configMap": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "csi": {
- "driver": "string",
- "fsType": "string",
- "nodePublishSecretRef": {
- "name": "string"
}, - "readOnly": true,
- "volumeAttributes": {
- "property1": "string",
- "property2": "string"
}
}, - "downwardAPI": {
- "defaultMode": 0,
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "emptyDir": {
- "medium": "string",
- "sizeLimit": "string"
}, - "fc": {
- "fsType": "string",
- "lun": 0,
- "readOnly": true,
- "targetWWNs": [
- "string"
], - "wwids": [
- "string"
]
}, - "flexVolume": {
- "driver": "string",
- "fsType": "string",
- "options": {
- "property1": "string",
- "property2": "string"
}, - "readOnly": true,
- "secretRef": {
- "name": "string"
}
}, - "flocker": {
- "datasetName": "string",
- "datasetUUID": "string"
}, - "gcePersistentDisk": {
- "fsType": "string",
- "partition": 0,
- "pdName": "string",
- "readOnly": true
}, - "gitRepo": {
- "directory": "string",
- "repository": "string",
- "revision": "string"
}, - "glusterfs": {
- "endpoints": "string",
- "path": "string",
- "readOnly": true
}, - "hostPath": {
- "path": "string",
- "type": "string"
}, - "iscsi": {
- "chapAuthDiscovery": true,
- "chapAuthSession": true,
- "fsType": "string",
- "initiatorName": "string",
- "iqn": "string",
- "iscsiInterface": "string",
- "lun": 0,
- "portals": [
- "string"
], - "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "targetPortal": "string"
}, - "name": "string",
- "nfs": {
- "path": "string",
- "readOnly": true,
- "server": "string"
}, - "persistentVolumeClaim": {
- "claimName": "string",
- "readOnly": true
}, - "photonPersistentDisk": {
- "fsType": "string",
- "pdID": "string"
}, - "portworxVolume": {
- "fsType": "string",
- "readOnly": true,
- "volumeID": "string"
}, - "projected": {
- "defaultMode": 0,
- "sources": [
- {
- "configMap": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "downwardAPI": {
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "secret": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "serviceAccountToken": {
- "audience": "string",
- "expirationSeconds": 0,
- "path": "string"
}
}
]
}, - "quobyte": {
- "group": "string",
- "readOnly": true,
- "registry": "string",
- "tenant": "string",
- "user": "string",
- "volume": "string"
}, - "rbd": {
- "fsType": "string",
- "image": "string",
- "keyring": "string",
- "monitors": [
- "string"
], - "pool": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "scaleIO": {
- "fsType": "string",
- "gateway": "string",
- "protectionDomain": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "sslEnabled": true,
- "storageMode": "string",
- "storagePool": "string",
- "system": "string",
- "volumeName": "string"
}, - "secret": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "optional": true,
- "secretName": "string"
}, - "storageos": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeName": "string",
- "volumeNamespace": "string"
}, - "vsphereVolume": {
- "fsType": "string",
- "storagePolicyID": "string",
- "storagePolicyName": "string",
- "volumePath": "string"
}
}
], - "namespace": "string",
- "serviceAccountName": "string"
}
}
], - "count": 1,
- "kind": "string"
}
}
Attach or update an attached config template by replacing the existing configuration with the one provided in the request body.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
jobId required | string (oceanSparkJobId) ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a... Example: daily-reporting A unique identifier for an Ocean Spark job. |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
object The piece of configuration that will replace the existing configuration, if empty then the job configuration will be removed | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{- "config": {
- "arguments": [
- "string"
], - "deps": {
- "files": [
- "string"
], - "jars": [
- "string"
], - "pyFiles": [
- "string"
], - "packages": [
- "string"
], - "excludePackages": [
- "string"
], - "repositories": [
- "string"
]
}, - "driver": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "javaOptions": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podName": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "executor": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "instances": 0,
- "javaOptions": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "hadoopConf": {
- "property1": "string",
- "property2": "string"
}, - "hadoopConfigMap": "string",
- "image": "string",
- "imagePullPolicy": "string",
- "imagePullSecrets": [
- "string"
], - "interactive": true,
- "initContainerImage": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "logCollection": {
- "collectAppLogs": true
}, - "mainApplicationFile": "string",
- "mainClass": "string",
- "memoryOverheadFactor": 0,
- "availabilityZone": "string",
- "priority": "low",
- "pythonVersion": "3",
- "shuffle": {
- "enabled": true,
- "rootDir": "string",
- "dependencyInitUserId": 0,
- "dependencyFsGroup": 0
}, - "sparkConf": {
- "property1": "string",
- "property2": "string"
}, - "sparkConfigMap": "string",
- "sparkVersion": "string",
- "timeout": "DISABLED",
- "timeToLiveSeconds": 0,
- "type": "Java",
- "volumes": [
- {
- "awsElasticBlockStore": {
- "fsType": "string",
- "partition": 0,
- "readOnly": true,
- "volumeID": "string"
}, - "azureDisk": {
- "cachingMode": "string",
- "diskName": "string",
- "diskURI": "string",
- "fsType": "string",
- "kind": "string",
- "readOnly": true
}, - "azureFile": {
- "readOnly": true,
- "secretName": "string",
- "shareName": "string"
}, - "cephfs": {
- "monitors": [
- "string"
], - "path": "string",
- "readOnly": true,
- "secretFile": "string",
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "cinder": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeID": "string"
}, - "configMap": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "csi": {
- "driver": "string",
- "fsType": "string",
- "nodePublishSecretRef": {
- "name": "string"
}, - "readOnly": true,
- "volumeAttributes": {
- "property1": "string",
- "property2": "string"
}
}, - "downwardAPI": {
- "defaultMode": 0,
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "emptyDir": {
- "medium": "string",
- "sizeLimit": "string"
}, - "fc": {
- "fsType": "string",
- "lun": 0,
- "readOnly": true,
- "targetWWNs": [
- "string"
], - "wwids": [
- "string"
]
}, - "flexVolume": {
- "driver": "string",
- "fsType": "string",
- "options": {
- "property1": "string",
- "property2": "string"
}, - "readOnly": true,
- "secretRef": {
- "name": "string"
}
}, - "flocker": {
- "datasetName": "string",
- "datasetUUID": "string"
}, - "gcePersistentDisk": {
- "fsType": "string",
- "partition": 0,
- "pdName": "string",
- "readOnly": true
}, - "gitRepo": {
- "directory": "string",
- "repository": "string",
- "revision": "string"
}, - "glusterfs": {
- "endpoints": "string",
- "path": "string",
- "readOnly": true
}, - "hostPath": {
- "path": "string",
- "type": "string"
}, - "iscsi": {
- "chapAuthDiscovery": true,
- "chapAuthSession": true,
- "fsType": "string",
- "initiatorName": "string",
- "iqn": "string",
- "iscsiInterface": "string",
- "lun": 0,
- "portals": [
- "string"
], - "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "targetPortal": "string"
}, - "name": "string",
- "nfs": {
- "path": "string",
- "readOnly": true,
- "server": "string"
}, - "persistentVolumeClaim": {
- "claimName": "string",
- "readOnly": true
}, - "photonPersistentDisk": {
- "fsType": "string",
- "pdID": "string"
}, - "portworxVolume": {
- "fsType": "string",
- "readOnly": true,
- "volumeID": "string"
}, - "projected": {
- "defaultMode": 0,
- "sources": [
- {
- "configMap": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "downwardAPI": {
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "secret": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "serviceAccountToken": {
- "audience": "string",
- "expirationSeconds": 0,
- "path": "string"
}
}
]
}, - "quobyte": {
- "group": "string",
- "readOnly": true,
- "registry": "string",
- "tenant": "string",
- "user": "string",
- "volume": "string"
}, - "rbd": {
- "fsType": "string",
- "image": "string",
- "keyring": "string",
- "monitors": [
- "string"
], - "pool": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "scaleIO": {
- "fsType": "string",
- "gateway": "string",
- "protectionDomain": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "sslEnabled": true,
- "storageMode": "string",
- "storagePool": "string",
- "system": "string",
- "volumeName": "string"
}, - "secret": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "optional": true,
- "secretName": "string"
}, - "storageos": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeName": "string",
- "volumeNamespace": "string"
}, - "vsphereVolume": {
- "fsType": "string",
- "storagePolicyID": "string",
- "storagePolicyName": "string",
- "volumePath": "string"
}
}
], - "namespace": "string",
- "serviceAccountName": "string"
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "internalId": "fa61bb92-4bb7-49aa-87d3-7823bd263d1e",
- "id": "daily-reporting",
- "displayName": "Daily Reporting",
- "controllerClusterId": "my-ocean-cluster",
- "clusterId": "osc-20fac3f1",
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-10-10T10:50:29.000+0000",
- "config": {
- "arguments": [
- "string"
], - "deps": {
- "files": [
- "string"
], - "jars": [
- "string"
], - "pyFiles": [
- "string"
], - "packages": [
- "string"
], - "excludePackages": [
- "string"
], - "repositories": [
- "string"
]
}, - "driver": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "javaOptions": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podName": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "executor": {
- "affinity": {
- "nodeAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "preference": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": {
- "nodeSelectorTerms": [
- {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchFields": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
]
}
]
}
}, - "podAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}, - "podAntiAffinity": {
- "preferredDuringSchedulingIgnoredDuringExecution": [
- {
- "podAffinityTerm": {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}, - "weight": 0
}
], - "requiredDuringSchedulingIgnoredDuringExecution": [
- {
- "labelSelector": {
- "matchExpressions": [
- {
- "key": "string",
- "operator": "string",
- "values": [
- "string"
]
}
], - "matchLabels": {
- "property1": "string",
- "property2": "string"
}
}, - "namespaces": [
- "string"
], - "topologyKey": "string"
}
]
}
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "configMaps": [
- {
- "name": "string",
- "path": "string"
}
], - "coreLimit": "string",
- "coreRequest": "string",
- "cores": 1,
- "dnsConfig": {
- "nameservers": [
- "string"
], - "options": [
- {
- "name": "string",
- "value": "string"
}
], - "searches": [
- "string"
]
}, - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envSecretKeyRefs": {
- "property1": {
- "key": "string",
- "name": "string"
}, - "property2": {
- "key": "string",
- "name": "string"
}
}, - "envVars": {
- "property1": "string",
- "property2": "string"
}, - "hostAliases": [
- {
- "hostnames": [
- "string"
], - "ip": "string"
}
], - "image": "string",
- "instanceSelector": "string",
- "instanceAllowList": [
- "string"
], - "sidecars": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "initContainers": [
- {
- "args": [
- "string"
], - "command": [
- "string"
], - "env": [
- {
- "name": "string",
- "value": "string",
- "valueFrom": {
- "configMapKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}, - "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}, - "secretKeyRef": {
- "key": "string",
- "name": "string",
- "optional": true
}
}
}
], - "envFrom": [
- {
- "configMapRef": {
- "name": "string",
- "optional": true
}, - "prefix": "string",
- "secretRef": {
- "name": "string",
- "optional": true
}
}
], - "image": "string",
- "imagePullPolicy": "string",
- "lifecycle": {
- "postStart": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}, - "preStop": {
- "exec": {
- "command": [
- "string"
]
}, - "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "tcpSocket": {
- "host": "string",
- "port": "string"
}
}
}, - "livenessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "name": "string",
- "ports": [
- {
- "containerPort": 0,
- "hostIP": "string",
- "hostPort": 0,
- "name": "string",
- "protocol": "string"
}
], - "readinessProbe": {
- "exec": {
- "command": [
- "string"
]
}, - "failureThreshold": 0,
- "httpGet": {
- "host": "string",
- "httpHeaders": [
- {
- "name": "string",
- "value": "string"
}
], - "path": "string",
- "port": "string",
- "scheme": "string"
}, - "initialDelaySeconds": 0,
- "periodSeconds": 0,
- "successThreshold": 0,
- "tcpSocket": {
- "host": "string",
- "port": "string"
}, - "timeoutSeconds": 0
}, - "resources": {
- "limits": {
- "property1": "string",
- "property2": "string"
}, - "requests": {
- "property1": "string",
- "property2": "string"
}
}, - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "stdin": true,
- "stdinOnce": true,
- "terminationMessagePath": "string",
- "terminationMessagePolicy": "string",
- "tty": true,
- "volumeDevices": [
- {
- "devicePath": "string",
- "name": "string"
}
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
], - "workingDir": "string"
}
], - "instances": 0,
- "javaOptions": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "memory": "string",
- "memoryOverhead": "string",
- "podSecurityContext": {
- "fsGroup": 0,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "supplementalGroups": [
- 0
], - "sysctls": [
- {
- "name": "string",
- "value": "string"
}
], - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "secrets": [
- {
- "name": "string",
- "path": "string",
- "secretType": "GCPServiceAccount"
}
], - "securityContext": {
- "allowPrivilegeEscalation": true,
- "capabilities": {
- "add": [
- "string"
], - "drop": [
- "string"
]
}, - "privileged": true,
- "procMount": "string",
- "readOnlyRootFilesystem": true,
- "runAsGroup": 0,
- "runAsNonRoot": true,
- "runAsUser": 0,
- "seLinuxOptions": {
- "level": "string",
- "role": "string",
- "type": "string",
- "user": "string"
}, - "windowsOptions": {
- "gmsaCredentialSpec": "string",
- "gmsaCredentialSpecName": "string"
}
}, - "spot": true,
- "tolerations": [
- {
- "effect": "string",
- "key": "string",
- "operator": "string",
- "tolerationSeconds": 0,
- "value": "string"
}
], - "vngIds": [
- "string"
], - "volumeMounts": [
- {
- "mountPath": "string",
- "mountPropagation": "string",
- "name": "string",
- "readOnly": true,
- "subPath": "string",
- "subPathExpr": "string"
}
]
}, - "hadoopConf": {
- "property1": "string",
- "property2": "string"
}, - "hadoopConfigMap": "string",
- "image": "string",
- "imagePullPolicy": "string",
- "imagePullSecrets": [
- "string"
], - "interactive": true,
- "initContainerImage": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "logCollection": {
- "collectAppLogs": true
}, - "mainApplicationFile": "string",
- "mainClass": "string",
- "memoryOverheadFactor": 0,
- "availabilityZone": "string",
- "priority": "low",
- "pythonVersion": "3",
- "shuffle": {
- "enabled": true,
- "rootDir": "string",
- "dependencyInitUserId": 0,
- "dependencyFsGroup": 0
}, - "sparkConf": {
- "property1": "string",
- "property2": "string"
}, - "sparkConfigMap": "string",
- "sparkVersion": "string",
- "timeout": "DISABLED",
- "timeToLiveSeconds": 0,
- "type": "Java",
- "volumes": [
- {
- "awsElasticBlockStore": {
- "fsType": "string",
- "partition": 0,
- "readOnly": true,
- "volumeID": "string"
}, - "azureDisk": {
- "cachingMode": "string",
- "diskName": "string",
- "diskURI": "string",
- "fsType": "string",
- "kind": "string",
- "readOnly": true
}, - "azureFile": {
- "readOnly": true,
- "secretName": "string",
- "shareName": "string"
}, - "cephfs": {
- "monitors": [
- "string"
], - "path": "string",
- "readOnly": true,
- "secretFile": "string",
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "cinder": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeID": "string"
}, - "configMap": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "csi": {
- "driver": "string",
- "fsType": "string",
- "nodePublishSecretRef": {
- "name": "string"
}, - "readOnly": true,
- "volumeAttributes": {
- "property1": "string",
- "property2": "string"
}
}, - "downwardAPI": {
- "defaultMode": 0,
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "emptyDir": {
- "medium": "string",
- "sizeLimit": "string"
}, - "fc": {
- "fsType": "string",
- "lun": 0,
- "readOnly": true,
- "targetWWNs": [
- "string"
], - "wwids": [
- "string"
]
}, - "flexVolume": {
- "driver": "string",
- "fsType": "string",
- "options": {
- "property1": "string",
- "property2": "string"
}, - "readOnly": true,
- "secretRef": {
- "name": "string"
}
}, - "flocker": {
- "datasetName": "string",
- "datasetUUID": "string"
}, - "gcePersistentDisk": {
- "fsType": "string",
- "partition": 0,
- "pdName": "string",
- "readOnly": true
}, - "gitRepo": {
- "directory": "string",
- "repository": "string",
- "revision": "string"
}, - "glusterfs": {
- "endpoints": "string",
- "path": "string",
- "readOnly": true
}, - "hostPath": {
- "path": "string",
- "type": "string"
}, - "iscsi": {
- "chapAuthDiscovery": true,
- "chapAuthSession": true,
- "fsType": "string",
- "initiatorName": "string",
- "iqn": "string",
- "iscsiInterface": "string",
- "lun": 0,
- "portals": [
- "string"
], - "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "targetPortal": "string"
}, - "name": "string",
- "nfs": {
- "path": "string",
- "readOnly": true,
- "server": "string"
}, - "persistentVolumeClaim": {
- "claimName": "string",
- "readOnly": true
}, - "photonPersistentDisk": {
- "fsType": "string",
- "pdID": "string"
}, - "portworxVolume": {
- "fsType": "string",
- "readOnly": true,
- "volumeID": "string"
}, - "projected": {
- "defaultMode": 0,
- "sources": [
- {
- "configMap": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "downwardAPI": {
- "items": [
- {
- "fieldRef": {
- "apiVersion": "string",
- "fieldPath": "string"
}, - "mode": 0,
- "path": "string",
- "resourceFieldRef": {
- "containerName": "string",
- "divisor": "string",
- "resource": "string"
}
}
]
}, - "secret": {
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "name": "string",
- "optional": true
}, - "serviceAccountToken": {
- "audience": "string",
- "expirationSeconds": 0,
- "path": "string"
}
}
]
}, - "quobyte": {
- "group": "string",
- "readOnly": true,
- "registry": "string",
- "tenant": "string",
- "user": "string",
- "volume": "string"
}, - "rbd": {
- "fsType": "string",
- "image": "string",
- "keyring": "string",
- "monitors": [
- "string"
], - "pool": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "user": "string"
}, - "scaleIO": {
- "fsType": "string",
- "gateway": "string",
- "protectionDomain": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "sslEnabled": true,
- "storageMode": "string",
- "storagePool": "string",
- "system": "string",
- "volumeName": "string"
}, - "secret": {
- "defaultMode": 0,
- "items": [
- {
- "key": "string",
- "mode": 0,
- "path": "string"
}
], - "optional": true,
- "secretName": "string"
}, - "storageos": {
- "fsType": "string",
- "readOnly": true,
- "secretRef": {
- "name": "string"
}, - "volumeName": "string",
- "volumeNamespace": "string"
}, - "vsphereVolume": {
- "fsType": "string",
- "storagePolicyID": "string",
- "storagePolicyName": "string",
- "volumePath": "string"
}
}
], - "namespace": "string",
- "serviceAccountName": "string"
}
}
], - "count": 1,
- "kind": "string"
}
}
Attach an Ocean Virtual Group to the Ocean Spark cluster.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (Ocean Spark VNG) The object specifying the Ocean Spark Dedicated Virtual Node Group. | ||
|
{- "virtualNodeGroup": {
- "id": "ols-e3ea5883"
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/spark/osc-20fac3f1/virtualNodeGroup",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanClusterId": "o-d3a2908e",
- "oceanSparkClusterId": "osc-20fac3f1",
- "vngId": "ols-e3ea5883"
}
], - "count": 1,
- "kind": "spotinst:ocean:spark:vng"
}
}
Detach an Ocean Virtual Group to the Ocean Spark cluster.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId | string Example: accountId=act-123456789 The ID of the account associated with your token. If omitted the oldest account in the organization will be used. |
Create Ocean Spark Workspace
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
name | string The name of the workspace. |
{- "name": "cosmos"
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "wksp-170654-1bc9c7a0",
- "name": "cosmos",
- "ownerUserId": "163018",
- "state": "WORKSPACE_STATE_RUNNING",
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "url": "/api/ocean/spark/cluster/osc-93f1ae79/workspace/wksp-163018-b1ff5921/proxy",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "string"
}
}
List the Ocean Spark workspaces in the specified cluster.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "wksp-170654-1bc9c7a0",
- "name": "cosmos",
- "ownerUserId": "163018",
- "state": "WORKSPACE_STATE_RUNNING",
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "url": "/api/ocean/spark/cluster/osc-93f1ae79/workspace/wksp-163018-b1ff5921/proxy",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "string"
}
}
Describe an Ocean Spark workspace.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
workspaceId required | string (oceanSparkWorkspaceId) Example: wksp-170654-1bc9c7a0 A unique identifier for the Ocean Spark workspace |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "wksp-170654-1bc9c7a0",
- "name": "cosmos",
- "ownerUserId": "163018",
- "state": "WORKSPACE_STATE_RUNNING",
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "url": "/api/ocean/spark/cluster/osc-93f1ae79/workspace/wksp-163018-b1ff5921/proxy",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "string"
}
}
Delete an Ocean Spark workspace.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
workspaceId required | string (oceanSparkWorkspaceId) Example: wksp-170654-1bc9c7a0 A unique identifier for the Ocean Spark workspace |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
Start an Ocean Spark workspace.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
workspaceId required | string (oceanSparkWorkspaceId) Example: wksp-170654-1bc9c7a0 A unique identifier for the Ocean Spark workspace |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "wksp-170654-1bc9c7a0",
- "name": "cosmos",
- "ownerUserId": "163018",
- "state": "WORKSPACE_STATE_RUNNING",
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "url": "/api/ocean/spark/cluster/osc-93f1ae79/workspace/wksp-163018-b1ff5921/proxy",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "string"
}
}
Stop an Ocean Spark workspace.
clusterId required | string (oceanSparkClusterId) Example: osc-20fac3f1 A unique identifier for the Ocean Spark cluster |
workspaceId required | string (oceanSparkWorkspaceId) Example: wksp-170654-1bc9c7a0 A unique identifier for the Ocean Spark workspace |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "wksp-170654-1bc9c7a0",
- "name": "cosmos",
- "ownerUserId": "163018",
- "state": "WORKSPACE_STATE_RUNNING",
- "createdAt": "2018-10-10T10:50:29.000+0000",
- "url": "/api/ocean/spark/cluster/osc-93f1ae79/workspace/wksp-163018-b1ff5921/proxy",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "string"
}
}
New Automatic Rightsizing version available for EKS and AKS only.
If you wish to learn more about it reach out to our support team.
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object (Ocean Rightsizing Rule Auto Apply Definition) Ocean Rightsizing Rule Auto Apply Configuration | |
excludePreliminaryRecommendations | boolean Exclude preliminary recommendations (recommendations based on less than 4 full days of data). |
object (Ocean Rightsizing Rule Recommendation Application Boundaries) Determines the Ocean Rightsizing rule recommendation application boundaries. | |
object (Ocean Rightsizing Rule Recommendation Application For HPA) HPA Rightsizing Rule Recommendation Configuration | |
required | Array of objects (Ocean Rightsizing Rule Recommendation Application Interval) Determines the Ocean Rightsizing rule recommendation application intervals |
object (Ocean Rightsizing Rule Recommendation Application Min Threshold) Determines the extent of difference between current request and recommendation to trigger a change in percentage | |
object (Ocean Rightsizing Rule Recommendation Application Overhead Values) Determines the Ocean Rightsizing rule recommendation application overhead values | |
restartReplicas | string Enum: "MORE_THAN_ONE_REPLICA" "ALL_MANIFEST" "NO_RESTART" Enable to sequentially restart pod batches according to recommendations, for all pods, only more than 1 replica, or not any pod. |
ruleName | string The unique name of the rule |
{- "ruleName": "dev-rule",
- "restartReplicas": "ALL_MANIFEST",
- "excludePreliminaryRecommendations": false,
- "recommendationApplicationIntervals": [
- {
- "repetitionBasis": "WEEKLY",
- "weeklyRepetitionBasis": {
- "intervalDays": [
- "MONDAY",
- "WEDNESDAY"
], - "intervalHours": {
- "startTime": "12:00",
- "endTime": "14:00"
}
}
}, - {
- "repetitionBasis": "MONTHLY",
- "monthlyRepetitionBasis": {
- "intervalMonths": [
- 2,
- 4,
- 6
], - "weekOfTheMonth": [
- "FIRST",
- "LAST"
], - "weeklyRepetitionBasis": {
- "intervalDays": [
- "MONDAY"
], - "intervalHours": {
- "startTime": "03:00",
- "endTime": "04:00"
}
}
}
}
], - "recommendationApplicationMinThreshold": {
- "cpuPercentage": 0.412,
- "memoryPercentage": 0.36
}, - "recommendationApplicationBoundaries": {
- "cpu": {
- "min": 0,
- "max": 100
}, - "memory": {
- "min": 1,
- "max": 80
}
}, - "recommendationApplicationOverheadValues": {
- "cpuPercentage": 0.8,
- "memoryPercentage": 0.5
}, - "recommendationApplicationHPA": {
- "allowHPARecommendations": true
}, - "autoApplyDefinition": {
- "enabled": true,
- "labelValuesByLabelKeyByNamespace": {
- "namespaceName1": {
- "key1": [
- "value1",
- "value2"
], - "key2": [
- "value3"
]
}, - "namespaceName2": {
- "key1": [
- "value1",
- "value2"
]
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/{oceanId}/rightSizing/rule",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanId": "o-482d9d26",
- "clusterIdentifier": "dev-cluster",
- "ruleName": "dev-rule",
- "restartReplicas": "ALL_MANIFEST",
- "excludePreliminaryRecommendations": false,
- "recommendationApplicationIntervals": [
- {
- "repetitionBasis": "WEEKLY",
- "weeklyRepetitionBasis": {
- "intervalDays": [
- "MONDAY",
- "WEDNESDAY"
], - "intervalHours": {
- "startTime": "12:00",
- "endTime": "14:00"
}
}
}, - {
- "repetitionBasis": "MONTHLY",
- "monthlyRepetitionBasis": {
- "intervalMonths": [
- 2,
- 4,
- 6
], - "weekOfTheMonth": [
- "FIRST",
- "LAST"
], - "weeklyRepetitionBasis": {
- "intervalDays": [
- "MONDAY"
], - "intervalHours": {
- "startTime": "03:00",
- "endTime": "04:00"
}
}
}
}
], - "recommendationApplicationMinThreshold": {
- "cpuPercentage": 0.412,
- "memoryPercentage": 0.36
}, - "recommendationApplicationBoundaries": {
- "cpu": {
- "min": 0,
- "max": 100
}, - "memory": {
- "min": 1,
- "max": 80
}
}, - "recommendationApplicationOverheadValues": {
- "cpuPercentage": 0.8,
- "memoryPercentage": 0.5
}, - "recommendationApplicationHPA": {
- "allowHPARecommendations": true
}, - "autoApplyDefinition": {
- "enabled": true,
- "labelValuesByLabelKeyByNamespace": {
- "namespaceName1": {
- "key1": [
- "value1",
- "value2"
], - "key2": [
- "value3"
]
}, - "namespaceName2": {
- "key1": [
- "value1",
- "value2"
]
}
}
}
}
], - "count": 1,
- "kind": "mcs:ocean:rightsizing:rule"
}
}
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/{oceanId}/rightSizing/rule",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanId": "o-482d9d26",
- "clusterIdentifier": "dev-cluster",
- "ruleName": "dev-rule",
- "restartReplicas": "ALL_MANIFEST",
- "excludePreliminaryRecommendations": false,
- "recommendationApplicationIntervals": [
- {
- "repetitionBasis": "WEEKLY",
- "weeklyRepetitionBasis": {
- "intervalDays": [
- "MONDAY",
- "WEDNESDAY"
], - "intervalHours": {
- "startTime": "12:00",
- "endTime": "14:00"
}
}
}, - {
- "repetitionBasis": "MONTHLY",
- "monthlyRepetitionBasis": {
- "intervalMonths": [
- 2,
- 4,
- 6
], - "weekOfTheMonth": [
- "FIRST",
- "LAST"
], - "weeklyRepetitionBasis": {
- "intervalDays": [
- "MONDAY"
], - "intervalHours": {
- "startTime": "03:00",
- "endTime": "04:00"
}
}
}
}
], - "recommendationApplicationMinThreshold": {
- "cpuPercentage": 0.412,
- "memoryPercentage": 0.36
}, - "recommendationApplicationBoundaries": {
- "cpu": {
- "min": 0,
- "max": 100
}, - "memory": {
- "min": 1,
- "max": 80
}
}, - "recommendationApplicationOverheadValues": {
- "cpuPercentage": 0.8,
- "memoryPercentage": 0.5
}, - "recommendationApplicationHPA": {
- "allowHPARecommendations": true
}, - "autoApplyDefinition": {
- "enabled": true,
- "labelValuesByLabelKeyByNamespace": {
- "namespaceName1": {
- "key1": [
- "value1",
- "value2"
], - "key2": [
- "value3"
]
}, - "namespaceName2": {
- "key1": [
- "value1",
- "value2"
]
}
}
}
}
], - "count": 1,
- "kind": "mcs:ocean:rightsizing:rule"
}
}
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
ruleNames | Array of strings |
{- "ruleNames": [
- "dev-rule",
- "test-rule"
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/{oceanId}/rightSizing/rule",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "ruleNames": [
- "dev-rule",
- "test-rule"
]
}
], - "count": 1,
- "kind": "mcs:ocean:rightsizing:rule"
}
}
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
ruleName required | string Example: dev-rule Identifier of rightsizing rule. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/{oceanId}/rightSizing/rule",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanId": "o-482d9d26",
- "clusterIdentifier": "dev-cluster",
- "ruleName": "dev-rule",
- "restartReplicas": "ALL_MANIFEST",
- "excludePreliminaryRecommendations": false,
- "recommendationApplicationIntervals": [
- {
- "repetitionBasis": "WEEKLY",
- "weeklyRepetitionBasis": {
- "intervalDays": [
- "MONDAY",
- "WEDNESDAY"
], - "intervalHours": {
- "startTime": "12:00",
- "endTime": "14:00"
}
}
}, - {
- "repetitionBasis": "MONTHLY",
- "monthlyRepetitionBasis": {
- "intervalMonths": [
- 2,
- 4,
- 6
], - "weekOfTheMonth": [
- "FIRST",
- "LAST"
], - "weeklyRepetitionBasis": {
- "intervalDays": [
- "MONDAY"
], - "intervalHours": {
- "startTime": "03:00",
- "endTime": "04:00"
}
}
}
}
], - "recommendationApplicationMinThreshold": {
- "cpuPercentage": 0.412,
- "memoryPercentage": 0.36
}, - "recommendationApplicationBoundaries": {
- "cpu": {
- "min": 0,
- "max": 100
}, - "memory": {
- "min": 1,
- "max": 80
}
}, - "recommendationApplicationOverheadValues": {
- "cpuPercentage": 0.8,
- "memoryPercentage": 0.5
}, - "recommendationApplicationHPA": {
- "allowHPARecommendations": true
}, - "autoApplyDefinition": {
- "enabled": true,
- "labelValuesByLabelKeyByNamespace": {
- "namespaceName1": {
- "key1": [
- "value1",
- "value2"
], - "key2": [
- "value3"
]
}, - "namespaceName2": {
- "key1": [
- "value1",
- "value2"
]
}
}
}
}
], - "count": 1,
- "kind": "mcs:ocean:rightsizing:rule"
}
}
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
ruleName required | string Example: dev-rule Identifier of rightsizing rule. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object (Ocean Rightsizing Rule Auto Apply Definition) Ocean Rightsizing Rule Auto Apply Configuration | |
excludePreliminaryRecommendations | boolean Exclude preliminary recommendations (recommendations based on less than 4 full days of data). |
object (Ocean Rightsizing Rule Recommendation Application Boundaries) Determines the Ocean Rightsizing rule recommendation application boundaries. | |
object (Ocean Rightsizing Rule Recommendation Application For HPA) HPA Rightsizing Rule Recommendation Configuration | |
required | Array of objects (Ocean Rightsizing Rule Recommendation Application Interval) Determines the Ocean Rightsizing rule recommendation application intervals |
object (Ocean Rightsizing Rule Recommendation Application Min Threshold) Determines the extent of difference between current request and recommendation to trigger a change in percentage | |
object (Ocean Rightsizing Rule Recommendation Application Overhead Values) Determines the Ocean Rightsizing rule recommendation application overhead values | |
restartReplicas | string Enum: "MORE_THAN_ONE_REPLICA" "ALL_MANIFEST" "NO_RESTART" Enable to sequentially restart pod batches according to recommendations, for all pods, only more than 1 replica, or not any pod. |
{- "restartReplicas": "ALL_MANIFEST",
- "excludePreliminaryRecommendations": false,
- "recommendationApplicationIntervals": [
- {
- "repetitionBasis": "WEEKLY",
- "weeklyRepetitionBasis": {
- "intervalDays": [
- "MONDAY",
- "WEDNESDAY"
], - "intervalHours": {
- "startTime": "12:00",
- "endTime": "14:00"
}
}
}, - {
- "repetitionBasis": "MONTHLY",
- "monthlyRepetitionBasis": {
- "intervalMonths": [
- 2,
- 4,
- 6
], - "weekOfTheMonth": [
- "FIRST",
- "LAST"
], - "weeklyRepetitionBasis": {
- "intervalDays": [
- "MONDAY"
], - "intervalHours": {
- "startTime": "03:00",
- "endTime": "04:00"
}
}
}
}
], - "recommendationApplicationMinThreshold": {
- "cpuPercentage": 0.412,
- "memoryPercentage": 0.36
}, - "recommendationApplicationBoundaries": {
- "cpu": {
- "min": 0,
- "max": 100
}, - "memory": {
- "min": 1,
- "max": 80
}
}, - "recommendationApplicationOverheadValues": {
- "cpuPercentage": 0.8,
- "memoryPercentage": 0.5
}, - "recommendationApplicationHPA": {
- "allowHPARecommendations": true
}, - "autoApplyDefinition": {
- "enabled": true,
- "labelValuesByLabelKeyByNamespace": {
- "namespaceName1": {
- "key1": [
- "value1",
- "value2"
], - "key2": [
- "value3"
]
}, - "namespaceName2": {
- "key1": [
- "value1",
- "value2"
]
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/{oceanId}/rightSizing/rule/{ruleName]",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanId": "o-482d9d26",
- "clusterIdentifier": "dev-cluster",
- "ruleName": "dev-rule",
- "restartReplicas": "ALL_MANIFEST",
- "excludePreliminaryRecommendations": false,
- "recommendationApplicationIntervals": [
- {
- "repetitionBasis": "WEEKLY",
- "weeklyRepetitionBasis": {
- "intervalDays": [
- "MONDAY",
- "WEDNESDAY"
], - "intervalHours": {
- "startTime": "12:00",
- "endTime": "14:00"
}
}
}, - {
- "repetitionBasis": "MONTHLY",
- "monthlyRepetitionBasis": {
- "intervalMonths": [
- 2,
- 4,
- 6
], - "weekOfTheMonth": [
- "FIRST",
- "LAST"
], - "weeklyRepetitionBasis": {
- "intervalDays": [
- "MONDAY"
], - "intervalHours": {
- "startTime": "03:00",
- "endTime": "04:00"
}
}
}
}
], - "recommendationApplicationMinThreshold": {
- "cpuPercentage": 0.412,
- "memoryPercentage": 0.36
}, - "recommendationApplicationBoundaries": {
- "cpu": {
- "min": 0,
- "max": 100
}, - "memory": {
- "min": 1,
- "max": 80
}
}, - "recommendationApplicationOverheadValues": {
- "cpuPercentage": 0.8,
- "memoryPercentage": 0.5
}, - "recommendationApplicationHPA": {
- "allowHPARecommendations": true
}, - "autoApplyDefinition": {
- "enabled": true,
- "labelValuesByLabelKeyByNamespace": {
- "namespaceName1": {
- "key1": [
- "value1",
- "value2"
], - "key2": [
- "value3"
]
}, - "namespaceName2": {
- "key1": [
- "value1",
- "value2"
]
}
}
}
}
], - "count": 1,
- "kind": "mcs:ocean:rightsizing:rule"
}
}
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
ruleName required | string Example: dev-rule Identifier of rightsizing rule. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
Array of objects | |||||
Array
|
{- "namespaces": [
- {
- "namespaceName": "kube-system",
- "workloads": [
- {
- "name": "kube-proxy",
- "workloadType": "DaemonSet"
}, - {
- "regexName": "spotinst*",
- "workloadType": "Deployment"
}
]
}
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/{oceanId}/rightSizing/rule/{ruleName}/attachment",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "rulesMatchings": [
- {
- "oceanId": "o-6ea3032a",
- "clusterIdentifier": "dev-cluster",
- "namespace": "kube-system",
- "resourceType": "Deployment",
- "name": "kube-proxy",
- "ruleName": "dev-rule",
- "ruleMatching": "workloadName:kube-proxy"
}, - {
- "oceanId": "o-6ea3032a",
- "clusterIdentifier": "dev-cluster",
- "namespace": "kube-system",
- "resourceType": "Deployment",
- "name": "spotinst-controller",
- "ruleName": "dev-rule",
- "ruleMatching": "regexName:spotinst*"
}
]
}
], - "count": 1,
- "kind": "mcs:ocean:rightsizing:ruleMatching"
}
}
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
ruleName required | string Example: dev-rule Identifier of rightsizing rule. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
Array of objects | |||||
Array
|
{- "namespaces": [
- {
- "namespaceName": "kube-system",
- "workloads": [
- {
- "name": "kube-proxy",
- "workloadType": "DaemonSet"
}, - {
- "regexName": "spotinst*",
- "workloadType": "Deployment"
}
]
}
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/{oceanId}/rightSizing/rule/{ruleName}/detachment",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "workloadNames": [
- "kube-proxy",
- "spotinst-controller"
]
}
], - "count": 1,
- "kind": "mcs:ocean:rightsizing:rule"
}
}
Get right-sizing recommendations for an Ocean cluster.
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object (Ocean Rightsizing Recommendation Cluster Labels) Determines the Ocean Recommendation filtering by the combinations of namespace::workloadsLabels | |
object (Ocean Rightsizing Recommendation Cluster Resources) Determines the Ocean Recommendation filtering by the combinations of namespace::workload::containers |
{- "clusterResources": {
- "namespaceName1": {
- "workloadName1": [
- "workloadContainer1",
- "workloadContainer2"
], - "workloadName2": [
- "workloadContainer2",
- "workloadContainer3"
]
}, - "namespaceName2": {
- "workloadName1": [
- "workloadContainer1",
- "workloadContainer2"
]
}
}, - "clusterLabels": {
- "namespaceName1": [
- "workloadLabel1",
- "workloadLabel2",
- "workloadLabel3"
], - "namespaceName2": [
- "workloadLabel1",
- "workloadLabel2"
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/o-abcd1234/rightSizing/recommendations",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "namespace": "kube-system",
- "workloadName": "redis-controller",
- "workloadType": "deployment",
- "requestedCPU": 50,
- "suggestedCPU": 4,
- "requestedMemory": 50,
- "suggestedMemory": 19,
- "monthlyMaxSavings"": 17.312044994154263,
- "ruleName": "attachedRule",
- "optimizationStatus": "PARTLY_OPTIMIZED",
- "reasonsForPartialOptimized": [
- "Threshold did not allow us to apply the recommendation",
- "The ranges of the rule prevent the apply of the recommendations",
- "Recommendation did not perform due to preliminary exclusion"
], - "containers": [
- {
- "name": "dnsmasq",
- "requestedCPU": 10,
- "suggestedCPU": 2,
- "requestedMemory": 40,
- "suggestedMemory": 15,
- "preliminary": false
}, - {
- "name": "sidecar",
- "requestedCPU": 40,
- "suggestedCPU": 2,
- "requestedMemory": 10,
- "suggestedMemory": 4,
- "preliminary": true
}
]
}, - {
- "namespace": "sparkSpace",
- "workloadName": "test-redis",
- "workloadType": "deployment",
- "requestedCPU": 50,
- "suggestedCPU": 2,
- "requestedMemory": 30,
- "suggestedMemory": 20,
- "monthlyMaxSavings": 28.258386736965104,
- "ruleName": null,
- "optimizationStatus": "NOT_OPTIMIZED",
- "containers": [
- {
- "name": "dns-controller",
- "requestedCPU": 20,
- "suggestedCPU": 1,
- "requestedMemory": 20,
- "suggestedMemory": 15,
- "preliminary": false
}, - {
- "name": "kubedns",
- "requestedCPU": 30,
- "suggestedCPU": 1,
- "requestedMemory": 10,
- "suggestedMemory": 5,
- "preliminary": true
}
]
}
], - "count": 2,
- "kind": "mcs:ocean:rightSizing:recommendations"
}
}
List the rightsizing rollback for ocean cluster.
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/{oceanId}/rightSizing/rollbacks",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "clusterIdentifier": "test-k8s",
- "namespace": "kube-system",
- "resourceType": "deployment",
- "resourceName": "resource-name",
- "rollbackType": "OUT_OF_MEMORY",
- "rollbackTime": "2024-11-01T10:50:29.000+0000",
- "cpuAtRollback": 0.23,
- "cpuAfterRollback": 0.33,
- "memoryAtRollback": 128,
- "memoryAfterRollback": 185
}
], - "count": 1,
- "kind": "mcs:ocean:rightsizing:rollback"
}
}
Acknowledge rightsizing rollbacks For ocean cluster.
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
clusterIdentifier required | string Example: clusterIdentifier=dev-cluster Identifier of cluster. |
Array of objects | |||||||
Array
|
{- "acknowledgeRollbacks": [
- {
- "namespace": "kube-system",
- "resourceType": "deployment",
- "resourceName": "resource-name"
}
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Set Recommendations Percentile for the Ocean Cluster.
This action can take a few minutes to complete.
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
clusterIdentifier required | string Example: clusterIdentifier=dev-cluster Identifier of cluster. |
required | object non-empty | ||||
|
{- "config": {
- "recommendationsCpuPercentile": 85,
- "recommendationsMemoryPercentile": 85
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/{oceanId}/rightSizing/cluster/configuration",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "oceanId": "o-abcd1234",
- "clusterIdentifier": "dev-cluster",
- "config": {
- "recommendationsCpuPercentile": 85,
- "recommendationsMemoryPercentile": 85
}
}
], - "count": 1,
- "kind": "mcs:ocean:rightSizing:clusterConfiguration"
}
}
Get right-sizing savings from downsizing operations for an Ocean cluster.
oceanId required | string Example: o-abcd1234 Identifier of the Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
endTime required | string End date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
startTime required | string Start date value using either the date format "yyyy-MM-dd'T'HH:mm:ss'Z'" or ms "1494751821472". |
required | object (Ocean Right-Sizing Savings Workloads) Determines the Ocean Savings filtering by the combinations of namespace::workload |
{- "startTime": "2025-01-20T11:35:02.745Z",
- "endTime": "2025-01-30T11:30:01.745Z",
- "workloads": {
- "namespaceName1": [
- {
- "workloadName": "workloadName1",
- "workloadType": "Deployment"
}, - {
- "workloadName": "workloadName2",
- "workloadType": "DaemonSet"
}
], - "namespaceName2": [
- {
- "workloadName": "workloadName3",
- "workloadType": "StatefulSet"
}, - {
- "workloadName": "workloadName4",
- "workloadType": "Deployment"
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/o-abcd1234/rightSizing/savings",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "totalSavingsSummary": {
- "cpuWithOcean": "100,",
- "memoryWithOcean": "128,",
- "savings": "1000,",
- "percentage": 0.75
}, - "namespacesSavingsSummary": [
- {
- "namespace": "kube-system",
- "savings": 500
}, - {
- "namespace": "default",
- "savings": 500
}
], - "workloadSavings": [
- {
- "workloadName": "coredns",
- "workloadType": "Deployment",
- "namespace": "kube-system",
- "cpuWithOcean": 25,
- "cpuWithoutOcean": 50,
- "memoryWithOcean": 32,
- "memoryWithoutOcean": 64,
- "savings": 250,
- "isDeleted": true
}, - {
- "workloadName": "aws-node",
- "workloadType": "DaemonSet",
- "namespace": "kube-system",
- "cpuWithOcean": 25,
- "cpuWithoutOcean": 50,
- "memoryWithOcean": 32,
- "memoryWithoutOcean": 64,
- "savings": 250,
- "isDeleted"": false
}
]
}
], - "count": 1,
- "kind": "mcs:ocean:rightSizing:savings"
}
}
Create a new AWS Elastigroup.
There are several third Party Integrations available, which can be activated based on your configuration, such as:
You can create a beanstalk elastigroup with the following steps:
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object Elastigroup Configuration | ||||||||||||||||||||
|
{- "group": {
- "name": "my-Elastigroup",
- "description": "This Elastigroup is used for Development",
- "region": "use-east-1",
- "capacity": {
- "target": 1,
- "minimum": 0,
- "maximum": 10,
- "unit": "instance"
}, - "strategy": {
- "risk": 100,
- "onDemandCount": 0,
- "availabilityVsCost": "costOriented",
- "fallbackToOd": true,
- "considerODPricing": false,
- "utilizeReservedInstances": false,
- "utilizeCommitments": false,
- "restrictSingleAz": false,
- "drainingTimeout": 120,
- "maxReplacementsPercentage": 15,
- "signals": [
- {
- "name": "INSTANCE_READY",
- "timeout": 120
}
], - "persistence": [
- {
- "shouldPersistPrivateIp": true,
- "shouldPersistRootDevice": true,
- "shouldPersistBlockDevices": true,
- "blockDevicesMode": "reattach"
}
], - "revertToSpot": {
- "performAt": "timeWindow",
- "timeWindows": [
- "Mon:03:00-Wed:02:30"
]
}, - "scalingStrategy": {
- "terminationPolicy": "default"
}
}, - "compute": {
- "product": "Linux/UNIX",
- "elasticIps": [
- "eipalloc-9d4e16f8"
], - "privateIps": [
- "172.1.1.0"
], - "instanceTypes": {
- "ondemand": "m3.medium",
- "onDemandTypes": [
- [
- "c3.large",
- "c4.large",
- "m3.large",
- "r3.large"
]
], - "spot": [
- [
- "c3.large",
- "c4.large",
- "m3.large",
- "r3.large"
]
], - "resourceRequirements": {
- "requiredGpu": {
- "minimum": 1,
- "maximum": 16
}, - "requiredVCpu": {
- "minimum": 1,
- "maximum": 64
}, - "requiredMemory": {
- "minimum": 1,
- "maximum": 512
}, - "excludedInstanceTypes": [
- [
- "c4.large"
]
], - "excludedInstanceFamilies": [
- [
- "A",
- "C",
- "D"
]
], - "excludedInstanceGenerations": [
- [
- "1",
- "2",
- "3"
]
]
}, - "preferredSpot": [
- [
- "c4.large"
]
], - "weights": [
- {
- "instanceType": "c4.large",
- "weightedCapacity": 8
}
]
}, - "subnetIds": [
- [
- "subnet-4c1d1538",
- "subnet-2791bb61",
- "subnet-703a6f58",
- "subnet-c62846fc"
]
], - "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetIds": [
- [
- "subnet-4333093a"
]
], - "placementGroupName": "string"
}
], - "preferredAvailabilityZones": [
- [
- "us-east-1a",
- "us-east-1b"
]
], - "launchSpecification": {
- "creditSpecification": {
- "cpuCredits": "unlimited"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "MyTargetGroup",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:922761411234:targetgroup/MyTargetGroup/1fe63217f8ff1234",
- "type": "TARGET_GROUP"
}
]
}, - "itf": {
- "fixedTargetGroups": false,
- "weightStrategy": "custom",
- "migrationHealthinessThreshold": 80,
- "loadBalancers": [
- {
- "loadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188",
- "listenerRules": [
- {
- "ruleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/0123456789012345/1234567890123456/234567890123456",
- "staticTargetGroups": [
- {
- "arn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/blue-targets/73e2d6bc24d8a068",
- "percentage": 0.5
}
]
}
], - "defaultStaticTargetGroups": [
- {
- "arn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/blue-targets/73e2d6bc24d8a067",
- "percentage": 0.4
}
]
}
], - "targetGroupConfig": {
- "vpcId": "vpc-0410a20ec1702a537",
- "healthCheckPath": "/index.html",
- "healthCheckProtocol": "HTTP",
- "healthCheckPort": "traffic-port",
- "healthCheckIntervalSeconds": 40,
- "healthCheckTimeoutSeconds": 20,
- "healthyThresholdCount": 3,
- "unhealthyThresholdCount": 4,
- "port": 80,
- "protocol": "HTTP",
- "protocolVersion": "HTTP1",
- "tags": [
- {
- "creator": "John Doe"
}
], - "matcher": {
- "httpCode": "200"
}
}
}, - "healthCheckType": "EC2",
- "healthCheckGracePeriod": 600,
- "healthCheckUnhealthyDurationBeforeReplacement": 60,
- "securityGroupIds": [
- [
- "sg-0dfc2c8760df6fec7"
]
], - "monitoring": false,
- "ebsOptimized": false,
- "imageId": "ami-01e24be29428c15b2",
- "images": [
- {
- "id": "ami-123456789"
}
], - "keyPair": "labs-oregon",
- "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "encrypted": true,
- "iops": 0,
- "dynamicIops": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "throughput": 125,
- "volumeType": "gp2",
- "deleteOnTermination": true,
- "volumeSize": 12,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "networkInterfaces": [
- {
- "description": "string",
- "deviceIndex": 0,
- "secondaryPrivateIpAddressCount": 0,
- "associatePublicIpAddress": true,
- "deleteOnTermination": true,
- "networkInterfaceId": "string",
- "privateIpAddresses": [
- {
- "privateIpAddress": "string",
- "primary": true
}
], - "subnetId": "string",
- "associateIpv6Address": true
}
], - "iamRole": {
- "name": "my-iamRole"
}, - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "shutdownScript": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}, - "snapshots": {
- "shouldTag": true
}, - "enis": {
- "shouldTag": false
}, - "amis": {
- "shouldTag": true
}
}, - "metadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": "33",
- "instanceMetadataTags": "Enabled"
}, - "cpuOptions": {
- "threadsPerCore": "1"
}, - "autoHealing": true
}, - "volumeAttachments": {
- "volumes": [
- {
- "volumeId": "vol-1234567",
- "deviceName": "/dev/sdb"
}
]
}
}, - "scaling": {
- "up": [
- {
- "policyName": "my-up-policy",
- "namespace": "AWS/EC2",
- "source": "cloudWatch",
- "metricName": "CPUUtilization",
- "statistic": "average",
- "extendedStatistic": "p1.5",
- "unit": "percent",
- "threshold": 90,
- "adjustment": 0,
- "stepAdjustments": [
- {
- "action": {
- "type": "setMinTarget",
- "adjustment": 2,
- "minTargetCapacity": 3,
- "target": 3,
- "minimum": 4,
- "maximum": 10
}, - "threshold": 50
}
], - "action": {
- "type": "updateCapacity",
- "adjustment": 1,
- "minTargetCapacity": 1,
- "target": 1,
- "minimum": 0,
- "maximum": 5
}, - "minTargetCapacity": 0,
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
], - "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "isEnabled": true
}
], - "down": [
- {
- "policyName": "my-down-policy",
- "namespace": "AWS/EC2",
- "source": "cloudWatch",
- "metricName": "CPUUtilization",
- "statistic": "average",
- "extendedStatistic": "p1.5",
- "unit": "percent",
- "threshold": 90,
- "adjustment": 0,
- "stepAdjustments": [
- {
- "action": {
- "type": "percentageAdjustment",
- "adjustment": 40,
- "maxTargetCapacity": 1,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "threshold": 10
}
], - "action": {
- "type": "updateCapacity",
- "adjustment": 1,
- "maxTargetCapacity": 1,
- "target": 1,
- "minimum": 0,
- "maximum": 5
}, - "maxTargetCapacity": 0,
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
], - "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "isEnabled": true
}
], - "multipleMetrics": {
- "metrics": [
- {
- "name": "metric1",
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "statistic": "average",
- "extendedStatistic": "p1.5",
- "unit": "percent",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
]
}
], - "expressions": [
- {
- "name": "e1",
- "expression": "metric1+10"
}
]
}, - "target": [
- {
- "source": "cloudWatch",
- "policyName": "my-target-scaling-policy",
- "metricName": "CPUUtilization",
- "statistic": "average",
- "unit": "percent",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
], - "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "target": 1,
- "predictive": {
- "mode": "FORECAST_AND_SCALE"
}
}
]
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "startTime": "2018-05-23T10:55:09Z",
- "frequency": "hourly",
- "cronExpression": "0 1 * * *",
- "taskType": "scale",
- "scaleTargetCapacity": 0,
- "scaleMinCapacity": 0,
- "scaleMaxCapacity": 0,
- "targetCapacity": 0,
- "MinCapacity": 0,
- "MaxCapacity": 0,
- "batchSizePercentage": 0
}
]
}, - "thirdPartiesIntegration": {
- "rancher": {
- "accessKey": "1",
- "secretKey": "SECRET",
- "version": 1
}, - "kubernetes": {
- "integrationMode": "pod",
- "clusterIdentifier": "test-k8s",
- "autoScale": {
- "isEnabled": true,
- "cooldown": 300,
- "down": {
- "evaluationPeriods": 5,
- "maxScaleDownPercentage": 70,
- "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2,
- "gpuPerUnit": 2
}
}, - "labels": [
- {
- "key": "group, kops.k8s.io/instancegroup",
- "value": "microservices"
}
], - "isAutoConfig": false
}
}, - "nomad": {
- "masterPort": 443,
- "autoScale": {
- "isEnabled": true,
- "cooldown": 180,
- "down": {
- "evaluationPeriods": 3
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "constraints": [
- {
- "key": "${node.class}",
- "value": "value"
}
]
}, - "aclToken": 123,
- "tlsConfig": {
- "tlsEnabled": true,
- "privateKey": "PRIVATE KEY CERTIFICATE STR",
- "certificate": "PUBLIC KEY CERTIFICATE STR"
}
}, - "opsWorks": {
- "layerId": "00d9m815-8aac-62b7-cc01-123456, xxxxxx-xxxxxxxx, xxxxxxx-xxxxxxxxxx",
- "stackType": "CLASSIC"
}, - "codeDeploy": {
- "cleanUpOnFailure": false,
- "terminateInstanceOnFailure": false,
- "deploymentGroups": [
- {
- "applicationName": "test-app",
- "deploymentGroupName": "test-grp"
}
]
}, - "route53": {
- "domains": [
- {
- "hostedZoneId": "Z3UFMBCGJMYLUT",
- "spotinstAccountId": "act-1234abcd",
- "recordSetType": "a",
- "recordSets": [
- {
- "name": "testcname.spot.io.",
- "usePublicIp": true,
- "usePublicDns": true
}
]
}
]
}, - "elasticBeanstalk": {
- "environmentId": "e-12345",
- "deploymentPreferences": {
- "automaticRoll": true,
- "batchSizePercentage": 50,
- "gracePeriod": 600,
- "strategy": {
- "action": "REPLACE_SERVER",
- "shouldDrainInstances": true
}
}, - "managedActions": {
- "platformUpdate": {
- "performAt": "timeWindow",
- "timeWindow": "Mon:23:50-Tue:00:20",
- "updateLevel": "patch",
- "instanceRefreshEnabled": true
}
}
}, - "ecs": {
- "clusterName": "test-ecs",
- "autoScale": {
- "isEnabled": true,
- "cooldown": 300,
- "attributes": {
- "key": "the_key",
- "value": "the_value"
}, - "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVcpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "shouldScaleDownNonServiceTasks": true,
- "enableAutomaticAndManualHeadroom": false
}, - "batch": {
- "jobQueueNames": [
- [
- "dumpy-big-processing"
]
]
}, - "optimizeImages": {
- "shouldOptimizeEcsAmi": true,
- "performAt": "timeWindow",
- "timeWindows": [
- "Mon:03:00-Wed:02:30"
]
}
}, - "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234,
- "autoScale": {
- "isEnabled": "true",
- "cooldown": 300,
- "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "numOfUnits": 3
}, - "tlsConfig": {
- "tlsEnabled": true,
- "privateKey": "PRIVATE KEY CERTIFICATE STR",
- "certificate": "PUBLIC KEY CERTIFICATE STR"
}
}
}, - "jenkins": {
- "connectionMethod": {
- "jnlp": {
- "masterIP": "210.4.5.1",
- "masterPort": "8080",
- "password": "foo",
- "userName": "foo",
- "token": "1234"
}, - "ssh": {
- "sshPublicKey": "ssh-rsa AAAAB3NzaC1y..."
}, - "manuallyConnection": "true"
}
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "name": "my-Elastigroup",
- "description": "This Elastigroup is used for Development",
- "region": "us-east-1",
- "capacity": {
- "target": 1,
- "minimum": 0,
- "maximum": 10,
- "unit": "instance"
}, - "strategy": {
- "risk": 100,
- "onDemandCount": 0,
- "availabilityVsCost": "costOriented",
- "fallbackToOd": true,
- "considerODPricing": false,
- "utilizeReservedInstances": false,
- "utilizeCommitments": false,
- "restrictSingleAz": true,
- "drainingTimeout": 120,
- "maxReplacementsPercentage": 15,
- "signals": [
- {
- "name": "INSTANCE_READY",
- "timeout": 120
}
], - "persistence": [
- {
- "shouldPersistPrivateIp": true,
- "shouldPersistRootDevice": true,
- "shouldPersistBlockDevices": true,
- "blockDevicesMode": "reattach"
}
], - "revertToSpot": {
- "performAt": "timeWindow",
- "timeWindows": [
- "Mon:03:00-Wed:02:30"
]
}, - "scalingStrategy": {
- "terminationPolicy": "default"
}
}, - "compute": {
- "product": "Linux/UNIX",
- "elasticIps": [
- "eipalloc-9d4e16f8"
], - "privateIps": [
- "172.1.1.1"
], - "instanceTypes": {
- "ondemand": "m3.medium",
- "onDemandTypes": [
- [
- "c3.large",
- "c4.large",
- "m3.large",
- "r3.large"
]
], - "spot": [
- [
- "c3.large",
- "c4.large",
- "m3.large",
- "r3.large"
]
], - "resourceRequirements": {
- "requiredGpu": {
- "minimum": 1,
- "maximum": 16
}, - "requiredVCpu": {
- "minimum": 1,
- "maximum": 64
}, - "requiredMemory": {
- "minimum": 1,
- "maximum": 512
}, - "excludedInstanceTypes": [
- [
- "c4.large"
]
], - "excludedInstanceFamilies": [
- [
- "A",
- "C",
- "D"
]
], - "excludedInstanceGenerations": [
- [
- "1",
- "2",
- "3"
]
]
}, - "preferredSpot": [
- [
- "c4.large"
]
], - "weights": [
- {
- "instanceType": "c4.large",
- "weightedCapacity": 8
}
]
}, - "subnetIds": [
- [
- "subnet-4c1d1538",
- "subnet-2791bb61",
- "subnet-703a6f58",
- "subnet-c62846fc"
]
], - "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetIds": [
- [
- "subnet-4333093a"
]
], - "placementGroupName": "string"
}
], - "preferredAvailabilityZones": [
- [
- "us-east-1a",
- "us-east-1b"
]
], - "volumeAttachments": {
- "volumes": [
- {
- "volumeId": "vol-1234567",
- "deviceName": "/dev/sdb"
}
]
}, - "launchSpecification": {
- "creditSpecification": {
- "cpuCredits": "unlimited"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "MyTargetGroup",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:922761411234:targetgroup/MyTargetGroup/1fe63217f8ff1234",
- "type": "TARGET_GROUP"
}
]
}, - "itf": {
- "fixedTargetGroups": false,
- "weightStrategy": "custom",
- "migrationHealthinessThreshold": 80,
- "loadBalancers": [
- {
- "loadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188",
- "listenerRules": [
- {
- "ruleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/0123456789012345/1234567890123456/234567890123456",
- "staticTargetGroups": [
- {
- "arn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/blue-targets/73e2d6bc24d8a068",
- "percentage": 0.5
}
]
}
], - "defaultStaticTargetGroups": [
- {
- "arn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/blue-targets/73e2d6bc24d8a067",
- "percentage": 0.4
}
]
}
], - "targetGroupConfig": {
- "vpcId": "vpc-0410a20ec1702a537",
- "healthCheckPath": "/index.html",
- "healthCheckProtocol": "HTTP",
- "healthCheckPort": "traffic-port",
- "healthCheckIntervalSeconds": 40,
- "healthCheckTimeoutSeconds": 20,
- "healthyThresholdCount": 3,
- "unhealthyThresholdCount": 4,
- "port": 80,
- "protocol": "HTTP",
- "protocolVersion": "HTTP1",
- "tags": [
- {
- "creator": "John Doe"
}
], - "matcher": {
- "httpCode": "200"
}
}
}, - "healthCheckType": "EC2",
- "healthCheckGracePeriod": 600,
- "healthCheckUnhealthyDurationBeforeReplacement": 60,
- "securityGroupIds": [
- [
- "sg-0dfc2c8760df6fec7"
]
], - "monitoring": false,
- "ebsOptimized": false,
- "imageId": "ami-01e24be29428c15b2",
- "images": [
- {
- "id": "ami-123456789"
}
], - "keyPair": "labs-oregon",
- "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "encrypted": true,
- "iops": 0,
- "dynamicIops": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "throughput": 125,
- "volumeType": "gp2",
- "deleteOnTermination": true,
- "volumeSize": 12,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "networkInterfaces": [
- {
- "description": "string",
- "deviceIndex": 0,
- "secondaryPrivateIpAddressCount": 0,
- "associatePublicIpAddress": true,
- "deleteOnTermination": true,
- "networkInterfaceId": "string",
- "privateIpAddresses": [
- {
- "privateIpAddress": "string",
- "primary": true
}
], - "subnetId": "string",
- "associateIpv6Address": true
}
], - "iamRole": {
- "name": "my-iamRole"
}, - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "shutdownScript": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "metadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": "33",
- "instanceMetadataTags": "Enabled"
}, - "cpuOptions": {
- "threadsPerCore": "1"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}, - "snapshots": {
- "shouldTag": true
}, - "enis": {
- "shouldTag": false
}, - "amis": {
- "shouldTag": true
}
}, - "autoHealing": true
}
}, - "scaling": {
- "up": [
- {
- "policyName": "my-up-policy",
- "namespace": "AWS/EC2",
- "source": "cloudWatch",
- "metricName": "CPUUtilization",
- "statistic": "average",
- "extendedStatistic": "p1.5",
- "unit": "percent",
- "threshold": 90,
- "adjustment": 0,
- "stepAdjustments": [
- {
- "action": {
- "type": "setMinTarget",
- "adjustment": 2,
- "minTargetCapacity": 3,
- "target": 3,
- "minimum": 4,
- "maximum": 10
}, - "threshold": 50
}
], - "action": {
- "type": "updateCapacity",
- "adjustment": 1,
- "minTargetCapacity": 1,
- "target": 1,
- "minimum": 0,
- "maximum": 5
}, - "minTargetCapacity": 0,
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
], - "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "isEnabled": true
}
], - "down": [
- {
- "policyName": "my-down-policy",
- "namespace": "AWS/EC2",
- "source": "cloudWatch",
- "metricName": "CPUUtilization",
- "statistic": "average",
- "extendedStatistic": "p1.5",
- "unit": "percent",
- "threshold": 90,
- "adjustment": 0,
- "stepAdjustments": [
- {
- "action": {
- "type": "percentageAdjustment",
- "adjustment": 40,
- "maxTargetCapacity": 1,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "threshold": 10
}
], - "action": {
- "type": "updateCapacity",
- "adjustment": 1,
- "maxTargetCapacity": 1,
- "target": 1,
- "minimum": 0,
- "maximum": 5
}, - "maxTargetCapacity": 0,
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
], - "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "isEnabled": true
}
], - "multipleMetrics": {
- "metrics": [
- {
- "name": "metric1",
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "statistic": "average",
- "extendedStatistic": "p1.5",
- "unit": "percent",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
]
}
], - "expressions": [
- {
- "name": "e1",
- "expression": "metric1+10"
}
]
}, - "target": [
- {
- "source": "cloudWatch",
- "policyName": "my-target-scaling-policy",
- "metricName": "CPUUtilization",
- "statistic": "average",
- "unit": "percent",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
], - "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "target": 1,
- "predictive": {
- "mode": "FORECAST_AND_SCALE"
}
}
]
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "startTime": "2018-05-23T10:55:09Z",
- "frequency": "hourly",
- "cronExpression": "0 1 * * *",
- "taskType": "scale",
- "scaleTargetCapacity": 0,
- "scaleMinCapacity": 0,
- "scaleMaxCapacity": 0,
- "targetCapacity": 0,
- "MinCapacity": 0,
- "MaxCapacity": 0,
- "batchSizePercentage": 0
}
]
}, - "thirdPartiesIntegration": {
- "ecs": {
- "clusterName": "test-ecs",
- "autoScale": {
- "isEnabled": true,
- "cooldown": 300,
- "attributes": {
- "key": "the_key",
- "value": "the_value"
}, - "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVcpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "shouldScaleDownNonServiceTasks": true,
- "enableAutomaticAndManualHeadroom": false
}, - "batch": {
- "jobQueueNames": [
- [
- "dumpy-big-processing"
]
]
}, - "optimizeImages": {
- "shouldOptimizeEcsAmi": true,
- "performAt": "timeWindow",
- "timeWindows": [
- "Mon:03:00-Wed:02:30"
]
}
}, - "rancher": {
- "accessKey": "1",
- "secretKey": "SECRET",
- "version": 1
}, - "kubernetes": {
- "integrationMode": "pod",
- "clusterIdentifier": "test-k8s",
- "autoScale": {
- "isEnabled": true,
- "cooldown": 300,
- "down": {
- "evaluationPeriods": 5,
- "maxScaleDownPercentage": 70,
- "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2,
- "gpuPerUnit": 2
}
}, - "labels": [
- {
- "key": "group, kops.k8s.io/instancegroup",
- "value": "microservices"
}
], - "isAutoConfig": false
}
}, - "nomad": {
- "masterPort": 443,
- "autoScale": {
- "isEnabled": true,
- "cooldown": 180,
- "down": {
- "evaluationPeriods": 3
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "constraints": [
- {
- "key": "${node.class}",
- "value": "value"
}
]
}, - "aclToken": 123,
- "tlsConfig": {
- "tlsEnabled": true,
- "privateKey": "PRIVATE KEY CERTIFICATE STR",
- "certificate": "PUBLIC KEY CERTIFICATE STR"
}
}, - "route53": {
- "domains": [
- {
- "hostedZoneId": "Z3UFMBCGJMYLUT",
- "spotinstAccountId": "act-1234abcd",
- "recordSetType": "a",
- "recordSets": [
- {
- "name": "testcname.spot.io.",
- "usePublicIp": true,
- "usePublicDns": true
}
]
}
]
}, - "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234,
- "autoScale": {
- "isEnabled": "true",
- "cooldown": 300,
- "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "numOfUnits": 3
}, - "tlsConfig": {
- "tlsEnabled": true,
- "privateKey": "PRIVATE KEY CERTIFICATE STR",
- "certificate": "PUBLIC KEY CERTIFICATE STR"
}
}
}, - "jenkins": {
- "connectionMethod": {
- "jnlp": {
- "masterIP": "210.4.5.1",
- "masterPort": "8080",
- "password": "foo",
- "userName": "foo",
- "token": "1234"
}, - "ssh": {
- "sshPublicKey": "ssh-rsa AAAAB3NzaC1y..."
}, - "manuallyConnection": "true"
}
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}, - "createdAt": "2020-10-01T05:23:59.302Z",
- "updatedAt": "2020-10-01T05:23:59.302Z"
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:group"
}
}
List all AWS Elastigroups for a Spot Account
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "67582d0c-108b-4ef7-9fdc-d39678a30844",
- "url": "/aws/ec2/group",
- "method": "GET",
- "timestamp": "2018-01-07T07:30:58.622Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group",
- "items": [
- {
- "id": "sig-1234567",
- "name": "EG name",
- "description": "validation",
- "capacity": {
- "minimum": 1,
- "maximum": 1,
- "target": 1,
- "unit": "instance"
}, - "strategy": {
- "risk": 0,
- "onDemandCount": null,
- "availabilityVsCost": "balanced"
}, - "compute": {
- "instanceTypes": {
- "ondemand": "m3.large",
- "spot": [
- "c3.large m3.large"
]
}, - "availabilityZones": {
- "name": "us-west-2a",
- "subnetIds": [
- "subnet-1234567"
]
}, - "product": "Linux/UNIX",
- "launchSpecification": {
- "securityGroupIds": [
- "sg-1234567"
], - "monitoring": true,
- "imageId": "ami-987654",
- "keyPair": "keyp",
- "userData": null
}
}, - "scaling": {
- "up": {
- "policyName": "up Scaling Policy 1",
- "metricName": "CPUUtilization",
- "statistic": "maximum",
- "unit": "percent",
- "threshold": 90,
- "adjustment": 2,
- "namespace": "AWS/EC2",
- "period": 300,
- "evaluationPeriods": 3,
- "cooldown": 60
}, - "down": {
- "policyName": "down Scaling Policy 1",
- "metricName": "CPUUtilization",
- "statistic": "maximum",
- "unit": "percent",
- "threshold": 50,
- "adjustment": 2,
- "namespace": "AWS/EC2",
- "period": 300,
- "evaluationPeriods": 3,
- "cooldown": 60,
- "dimensions": [
- {
- "name": "InstanceId"
}
]
}
}, - "scheduling": {
- "tasks": [
- {
- "frequency": "weekly",
- "taskType": "backup_ami"
}
]
}, - "thirdPartiesIntegration": { },
- "createdAt": "2016-02-16T09:03:23.000Z",
- "updatedAt": "2018-01-07T00:10:30.000Z"
}
], - "count": 1
}
}
Describe a specific Elastigroup JSON
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
autoApplyTags | boolean Default: false Example: autoApplyTags=true Optionally update resource tags on the fly without performing a roll. |
required | object Group | ||||||||||||||||||||
|
{- "group": {
- "name": "my-Elastigroup",
- "description": "This Elastigroup is used for Development",
- "region": "us-east-1",
- "capacity": {
- "target": 1,
- "minimum": 0,
- "maximum": 10
}, - "strategy": {
- "risk": 100,
- "onDemandCount": 0,
- "availabilityVsCost": "costOriented",
- "fallbackToOd": true,
- "considerODPricing": false,
- "utilizeReservedInstances": false,
- "utilizeCommitments": false,
- "restrictSingleAz": true,
- "drainingTimeout": 120,
- "maxReplacementsPercentage": 15,
- "signals": [
- {
- "name": "INSTANCE_READY",
- "timeout": 120
}
], - "persistence": [
- {
- "shouldPersistPrivateIp": true,
- "shouldPersistRootDevice": true,
- "shouldPersistBlockDevices": true,
- "blockDevicesMode": "reattach"
}
], - "revertToSpot": {
- "performAt": "timeWindow",
- "timeWindows": [
- "Mon:03:00-Wed:02:30"
]
}, - "scalingStrategy": {
- "terminationPolicy": "default"
}
}, - "compute": {
- "elasticIps": [
- "eipalloc-9d4e16f8"
], - "privateIps": [
- "172.1.1.1"
], - "instanceTypes": {
- "ondemand": "m3.medium",
- "onDemandTypes": [
- [
- "c3.large",
- "c4.large",
- "m3.large",
- "r3.large"
]
], - "spot": [
- [
- "c3.large",
- "c4.large",
- "m3.large",
- "r3.large"
]
], - "resourceRequirements": {
- "requiredGpu": {
- "minimum": 1,
- "maximum": 16
}, - "requiredVCpu": {
- "minimum": 1,
- "maximum": 64
}, - "requiredMemory": {
- "minimum": 1,
- "maximum": 512
}, - "excludedInstanceTypes": [
- [
- "c4.large"
]
], - "excludedInstanceFamilies": [
- [
- "A",
- "C",
- "D"
]
], - "excludedInstanceGenerations": [
- [
- "1",
- "2",
- "3"
]
]
}, - "preferredSpot": [
- [
- "c4.large"
]
], - "weights": [
- {
- "instanceType": "c4.large",
- "weightedCapacity": 8
}
]
}, - "subnetIds": [
- [
- "subnet-4c1d1538",
- "subnet-2791bb61",
- "subnet-703a6f58",
- "subnet-c62846fc"
]
], - "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetIds": [
- [
- "subnet-4333093a"
]
], - "placementGroupName": "string"
}
], - "preferredAvailabilityZones": [
- [
- "us-east-1a",
- "us-east-1b"
]
], - "volumeAttachments": {
- "volumes": [
- {
- "volumeId": "vol-1234567",
- "deviceName": "/dev/sdb"
}
]
}, - "launchSpecification": {
- "creditSpecification": {
- "cpuCredits": "unlimited"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "MyTargetGroup",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:922761411234:targetgroup/MyTargetGroup/1fe63217f8ff1234",
- "type": "TARGET_GROUP"
}
]
}, - "itf": {
- "fixedTargetGroups": false,
- "weightStrategy": "custom",
- "migrationHealthinessThreshold": 80,
- "loadBalancers": [
- {
- "loadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188",
- "listenerRules": [
- {
- "ruleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/0123456789012345/1234567890123456/234567890123456",
- "staticTargetGroups": [
- {
- "arn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/blue-targets/73e2d6bc24d8a068",
- "percentage": 0.5
}
]
}
], - "defaultStaticTargetGroups": [
- {
- "arn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/blue-targets/73e2d6bc24d8a067",
- "percentage": 0.4
}
]
}
], - "targetGroupConfig": {
- "vpcId": "vpc-0410a20ec1702a537",
- "healthCheckPath": "/index.html",
- "healthCheckProtocol": "HTTP",
- "healthCheckPort": "traffic-port",
- "healthCheckIntervalSeconds": 40,
- "healthCheckTimeoutSeconds": 20,
- "healthyThresholdCount": 3,
- "unhealthyThresholdCount": 4,
- "port": 80,
- "protocol": "HTTP",
- "protocolVersion": "HTTP1",
- "tags": [
- {
- "creator": "John Doe"
}
], - "matcher": {
- "httpCode": "200"
}
}
}, - "healthCheckType": "EC2",
- "healthCheckGracePeriod": 600,
- "healthCheckUnhealthyDurationBeforeReplacement": 60,
- "securityGroupIds": [
- [
- "sg-0dfc2c8760df6fec7"
]
], - "monitoring": false,
- "ebsOptimized": false,
- "imageId": "ami-01e24be29428c15b2",
- "images": [
- {
- "id": "ami-123456789"
}
], - "keyPair": "labs-oregon",
- "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "encrypted": true,
- "iops": 0,
- "dynamicIops": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "throughput": 125,
- "volumeType": "gp2",
- "deleteOnTermination": true,
- "volumeSize": 12,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "networkInterfaces": [
- {
- "description": "string",
- "deviceIndex": 0,
- "secondaryPrivateIpAddressCount": 0,
- "associatePublicIpAddress": true,
- "deleteOnTermination": true,
- "networkInterfaceId": "string",
- "privateIpAddresses": [
- {
- "privateIpAddress": "string",
- "primary": true
}
], - "subnetId": "string",
- "associateIpv6Address": true
}
], - "iamRole": {
- "name": "my-iamRole"
}, - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "shutdownScript": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "metadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": "33",
- "instanceMetadataTags": "Enabled"
}, - "cpuOptions": {
- "threadsPerCore": "1"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}, - "snapshots": {
- "shouldTag": true
}, - "enis": {
- "shouldTag": false
}, - "amis": {
- "shouldTag": true
}
}, - "autoHealing": true
}
}, - "scaling": {
- "up": [
- {
- "policyName": "my-up-policy",
- "namespace": "AWS/EC2",
- "source": "cloudWatch",
- "metricName": "CPUUtilization",
- "statistic": "average",
- "extendedStatistic": "p1.5",
- "unit": "percent",
- "threshold": 90,
- "adjustment": 0,
- "stepAdjustments": [
- {
- "action": {
- "type": "setMinTarget",
- "adjustment": 2,
- "minTargetCapacity": 3,
- "target": 3,
- "minimum": 4,
- "maximum": 10
}, - "threshold": 50
}
], - "action": {
- "type": "updateCapacity",
- "adjustment": 1,
- "minTargetCapacity": 1,
- "target": 1,
- "minimum": 0,
- "maximum": 5
}, - "minTargetCapacity": 0,
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
], - "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "isEnabled": true
}
], - "down": [
- {
- "policyName": "my-down-policy",
- "namespace": "AWS/EC2",
- "source": "cloudWatch",
- "metricName": "CPUUtilization",
- "statistic": "average",
- "extendedStatistic": "p1.5",
- "unit": "percent",
- "threshold": 90,
- "adjustment": 0,
- "stepAdjustments": [
- {
- "action": {
- "type": "percentageAdjustment",
- "adjustment": 40,
- "maxTargetCapacity": 1,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "threshold": 10
}
], - "action": {
- "type": "updateCapacity",
- "adjustment": 1,
- "maxTargetCapacity": 1,
- "target": 1,
- "minimum": 0,
- "maximum": 5
}, - "maxTargetCapacity": 0,
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
], - "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "isEnabled": true
}
], - "multipleMetrics": {
- "metrics": [
- {
- "name": "metric1",
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "statistic": "average",
- "extendedStatistic": "p1.5",
- "unit": "percent",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
]
}
], - "expressions": [
- {
- "name": "e1",
- "expression": "metric1+10"
}
]
}, - "target": [
- {
- "source": "cloudWatch",
- "policyName": "my-target-scaling-policy",
- "metricName": "CPUUtilization",
- "statistic": "average",
- "unit": "percent",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
], - "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "target": 1,
- "predictive": {
- "mode": "FORECAST_AND_SCALE"
}
}
]
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "startTime": "2018-05-23T10:55:09Z",
- "frequency": "hourly",
- "cronExpression": "0 1 * * *",
- "taskType": "scale",
- "scaleTargetCapacity": 0,
- "scaleMinCapacity": 0,
- "scaleMaxCapacity": 0,
- "targetCapacity": 0,
- "MinCapacity": 0,
- "MaxCapacity": 0,
- "batchSizePercentage": 0
}
]
}, - "thirdPartiesIntegration": {
- "ecs": {
- "clusterName": "test-ecs",
- "autoScale": {
- "isEnabled": true,
- "cooldown": 300,
- "attributes": {
- "key": "the_key",
- "value": "the_value"
}, - "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVcpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "shouldScaleDownNonServiceTasks": true,
- "enableAutomaticAndManualHeadroom": false
}, - "batch": {
- "jobQueueNames": [
- [
- "dumpy-big-processing"
]
]
}, - "optimizeImages": {
- "shouldOptimizeEcsAmi": true,
- "performAt": "timeWindow",
- "timeWindows": [
- "Mon:03:00-Wed:02:30"
]
}
}, - "rancher": {
- "accessKey": "1",
- "secretKey": "SECRET",
- "version": 1
}, - "kubernetes": {
- "integrationMode": "pod",
- "clusterIdentifier": "test-k8s",
- "autoScale": {
- "isEnabled": true,
- "cooldown": 300,
- "down": {
- "evaluationPeriods": 5,
- "maxScaleDownPercentage": 70,
- "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2,
- "gpuPerUnit": 2
}
}, - "labels": [
- {
- "key": "group, kops.k8s.io/instancegroup",
- "value": "microservices"
}
], - "isAutoConfig": false
}
}, - "nomad": {
- "masterPort": 443,
- "autoScale": {
- "isEnabled": true,
- "cooldown": 180,
- "down": {
- "evaluationPeriods": 3
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "constraints": [
- {
- "key": "${node.class}",
- "value": "value"
}
]
}, - "aclToken": 123,
- "tlsConfig": {
- "tlsEnabled": true,
- "privateKey": "PRIVATE KEY CERTIFICATE STR",
- "certificate": "PUBLIC KEY CERTIFICATE STR"
}
}, - "route53": {
- "domains": [
- {
- "hostedZoneId": "Z3UFMBCGJMYLUT",
- "spotinstAccountId": "act-1234abcd",
- "recordSetType": "a",
- "recordSets": [
- {
- "name": "testcname.spot.io.",
- "usePublicIp": true,
- "usePublicDns": true
}
]
}
]
}, - "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234,
- "autoScale": {
- "isEnabled": "true",
- "cooldown": 300,
- "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "numOfUnits": 3
}, - "tlsConfig": {
- "tlsEnabled": true,
- "privateKey": "PRIVATE KEY CERTIFICATE STR",
- "certificate": "PUBLIC KEY CERTIFICATE STR"
}
}
}, - "jenkins": {
- "connectionMethod": {
- "jnlp": {
- "masterIP": "210.4.5.1",
- "masterPort": "8080",
- "password": "foo",
- "userName": "foo",
- "token": "1234"
}, - "ssh": {
- "sshPublicKey": "ssh-rsa AAAAB3NzaC1y..."
}, - "manuallyConnection": "true"
}
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "name": "my-Elastigroup",
- "description": "This Elastigroup is used for Development",
- "region": "us-east-1",
- "capacity": {
- "target": 1,
- "minimum": 0,
- "maximum": 10,
- "unit": "instance"
}, - "strategy": {
- "risk": 100,
- "onDemandCount": 0,
- "availabilityVsCost": "costOriented",
- "fallbackToOd": true,
- "considerODPricing": false,
- "utilizeReservedInstances": false,
- "utilizeCommitments": false,
- "restrictSingleAz": true,
- "drainingTimeout": 120,
- "maxReplacementsPercentage": 15,
- "signals": [
- {
- "name": "INSTANCE_READY",
- "timeout": 120
}
], - "persistence": [
- {
- "shouldPersistPrivateIp": true,
- "shouldPersistRootDevice": true,
- "shouldPersistBlockDevices": true,
- "blockDevicesMode": "reattach"
}
], - "revertToSpot": {
- "performAt": "timeWindow",
- "timeWindows": [
- "Mon:03:00-Wed:02:30"
]
}, - "scalingStrategy": {
- "terminationPolicy": "default"
}
}, - "compute": {
- "product": "Linux/UNIX",
- "elasticIps": [
- "eipalloc-9d4e16f8"
], - "privateIps": [
- "172.1.1.1"
], - "instanceTypes": {
- "ondemand": "m3.medium",
- "onDemandTypes": [
- [
- "c3.large",
- "c4.large",
- "m3.large",
- "r3.large"
]
], - "spot": [
- [
- "c3.large",
- "c4.large",
- "m3.large",
- "r3.large"
]
], - "resourceRequirements": {
- "requiredGpu": {
- "minimum": 1,
- "maximum": 16
}, - "requiredVCpu": {
- "minimum": 1,
- "maximum": 64
}, - "requiredMemory": {
- "minimum": 1,
- "maximum": 512
}, - "excludedInstanceTypes": [
- [
- "c4.large"
]
], - "excludedInstanceFamilies": [
- [
- "A",
- "C",
- "D"
]
], - "excludedInstanceGenerations": [
- [
- "1",
- "2",
- "3"
]
]
}, - "preferredSpot": [
- [
- "c4.large"
]
], - "weights": [
- {
- "instanceType": "c4.large",
- "weightedCapacity": 8
}
]
}, - "subnetIds": [
- [
- "subnet-4c1d1538",
- "subnet-2791bb61",
- "subnet-703a6f58",
- "subnet-c62846fc"
]
], - "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetIds": [
- [
- "subnet-4333093a"
]
], - "placementGroupName": "string"
}
], - "preferredAvailabilityZones": [
- [
- "us-east-1a",
- "us-east-1b"
]
], - "volumeAttachments": {
- "volumes": [
- {
- "volumeId": "vol-1234567",
- "deviceName": "/dev/sdb"
}
]
}, - "launchSpecification": {
- "creditSpecification": {
- "cpuCredits": "unlimited"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "MyTargetGroup",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:922761411234:targetgroup/MyTargetGroup/1fe63217f8ff1234",
- "type": "TARGET_GROUP"
}
]
}, - "itf": {
- "fixedTargetGroups": false,
- "weightStrategy": "custom",
- "migrationHealthinessThreshold": 80,
- "loadBalancers": [
- {
- "loadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188",
- "listenerRules": [
- {
- "ruleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/0123456789012345/1234567890123456/234567890123456",
- "staticTargetGroups": [
- {
- "arn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/blue-targets/73e2d6bc24d8a068",
- "percentage": 0.5
}
]
}
], - "defaultStaticTargetGroups": [
- {
- "arn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/blue-targets/73e2d6bc24d8a067",
- "percentage": 0.4
}
]
}
], - "targetGroupConfig": {
- "vpcId": "vpc-0410a20ec1702a537",
- "healthCheckPath": "/index.html",
- "healthCheckProtocol": "HTTP",
- "healthCheckPort": "traffic-port",
- "healthCheckIntervalSeconds": 40,
- "healthCheckTimeoutSeconds": 20,
- "healthyThresholdCount": 3,
- "unhealthyThresholdCount": 4,
- "port": 80,
- "protocol": "HTTP",
- "protocolVersion": "HTTP1",
- "tags": [
- {
- "creator": "John Doe"
}
], - "matcher": {
- "httpCode": "200"
}
}
}, - "healthCheckType": "EC2",
- "healthCheckGracePeriod": 600,
- "healthCheckUnhealthyDurationBeforeReplacement": 60,
- "securityGroupIds": [
- [
- "sg-0dfc2c8760df6fec7"
]
], - "monitoring": false,
- "ebsOptimized": false,
- "imageId": "ami-01e24be29428c15b2",
- "images": [
- {
- "id": "ami-123456789"
}
], - "keyPair": "labs-oregon",
- "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "encrypted": true,
- "iops": 0,
- "dynamicIops": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "throughput": 125,
- "volumeType": "gp2",
- "deleteOnTermination": true,
- "volumeSize": 12,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
], - "networkInterfaces": [
- {
- "description": "string",
- "deviceIndex": 0,
- "secondaryPrivateIpAddressCount": 0,
- "associatePublicIpAddress": true,
- "deleteOnTermination": true,
- "networkInterfaceId": "string",
- "privateIpAddresses": [
- {
- "privateIpAddress": "string",
- "primary": true
}
], - "subnetId": "string",
- "associateIpv6Address": true
}
], - "iamRole": {
- "name": "my-iamRole"
}, - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "shutdownScript": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "metadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": "33",
- "instanceMetadataTags": "Enabled"
}, - "cpuOptions": {
- "threadsPerCore": "1"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}, - "snapshots": {
- "shouldTag": true
}, - "enis": {
- "shouldTag": false
}, - "amis": {
- "shouldTag": true
}
}, - "autoHealing": true
}
}, - "scaling": {
- "up": [
- {
- "policyName": "my-up-policy",
- "namespace": "AWS/EC2",
- "source": "cloudWatch",
- "metricName": "CPUUtilization",
- "statistic": "average",
- "extendedStatistic": "p1.5",
- "unit": "percent",
- "threshold": 90,
- "adjustment": 0,
- "stepAdjustments": [
- {
- "action": {
- "type": "setMinTarget",
- "adjustment": 2,
- "minTargetCapacity": 3,
- "target": 3,
- "minimum": 4,
- "maximum": 10
}, - "threshold": 50
}
], - "action": {
- "type": "updateCapacity",
- "adjustment": 1,
- "minTargetCapacity": 1,
- "target": 1,
- "minimum": 0,
- "maximum": 5
}, - "minTargetCapacity": 0,
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
], - "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "isEnabled": true
}
], - "down": [
- {
- "policyName": "my-down-policy",
- "namespace": "AWS/EC2",
- "source": "cloudWatch",
- "metricName": "CPUUtilization",
- "statistic": "average",
- "extendedStatistic": "p1.5",
- "unit": "percent",
- "threshold": 90,
- "adjustment": 0,
- "stepAdjustments": [
- {
- "action": {
- "type": "percentageAdjustment",
- "adjustment": 40,
- "maxTargetCapacity": 1,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "threshold": 10
}
], - "action": {
- "type": "updateCapacity",
- "adjustment": 1,
- "maxTargetCapacity": 1,
- "target": 1,
- "minimum": 0,
- "maximum": 5
}, - "maxTargetCapacity": 0,
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
], - "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "isEnabled": true
}
], - "multipleMetrics": {
- "metrics": [
- {
- "name": "metric1",
- "metricName": "CPUUtilization",
- "namespace": "AWS/EC2",
- "statistic": "average",
- "extendedStatistic": "p1.5",
- "unit": "percent",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
]
}
], - "expressions": [
- {
- "name": "e1",
- "expression": "metric1+10"
}
]
}, - "target": [
- {
- "source": "cloudWatch",
- "policyName": "my-target-scaling-policy",
- "metricName": "CPUUtilization",
- "statistic": "average",
- "unit": "percent",
- "namespace": "AWS/EC2",
- "dimensions": [
- {
- "name": "InstanceId",
- "value": "string"
}
], - "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "target": 1,
- "predictive": {
- "mode": "FORECAST_AND_SCALE"
}
}
]
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "startTime": "2018-05-23T10:55:09Z",
- "frequency": "hourly",
- "cronExpression": "0 1 * * *",
- "taskType": "scale",
- "scaleTargetCapacity": 0,
- "scaleMinCapacity": 0,
- "scaleMaxCapacity": 0,
- "targetCapacity": 0,
- "MinCapacity": 0,
- "MaxCapacity": 0,
- "batchSizePercentage": 0
}
]
}, - "thirdPartiesIntegration": {
- "ecs": {
- "clusterName": "test-ecs",
- "autoScale": {
- "isEnabled": true,
- "cooldown": 300,
- "attributes": {
- "key": "the_key",
- "value": "the_value"
}, - "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVcpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "shouldScaleDownNonServiceTasks": true,
- "enableAutomaticAndManualHeadroom": false
}, - "batch": {
- "jobQueueNames": [
- [
- "dumpy-big-processing"
]
]
}, - "optimizeImages": {
- "shouldOptimizeEcsAmi": true,
- "performAt": "timeWindow",
- "timeWindows": [
- "Mon:03:00-Wed:02:30"
]
}
}, - "rancher": {
- "accessKey": "1",
- "secretKey": "SECRET",
- "version": 1
}, - "kubernetes": {
- "integrationMode": "pod",
- "clusterIdentifier": "test-k8s",
- "autoScale": {
- "isEnabled": true,
- "cooldown": 300,
- "down": {
- "evaluationPeriods": 5,
- "maxScaleDownPercentage": 70,
- "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2,
- "gpuPerUnit": 2
}
}, - "labels": [
- {
- "key": "group, kops.k8s.io/instancegroup",
- "value": "microservices"
}
], - "isAutoConfig": false
}
}, - "nomad": {
- "masterPort": 443,
- "autoScale": {
- "isEnabled": true,
- "cooldown": 180,
- "down": {
- "evaluationPeriods": 3
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "constraints": [
- {
- "key": "${node.class}",
- "value": "value"
}
]
}, - "aclToken": 123,
- "tlsConfig": {
- "tlsEnabled": true,
- "privateKey": "PRIVATE KEY CERTIFICATE STR",
- "certificate": "PUBLIC KEY CERTIFICATE STR"
}
}, - "route53": {
- "domains": [
- {
- "hostedZoneId": "Z3UFMBCGJMYLUT",
- "spotinstAccountId": "act-1234abcd",
- "recordSetType": "a",
- "recordSets": [
- {
- "name": "testcname.spot.io.",
- "usePublicIp": true,
- "usePublicDns": true
}
]
}
]
}, - "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234,
- "autoScale": {
- "isEnabled": "true",
- "cooldown": 300,
- "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "numOfUnits": 3
}, - "tlsConfig": {
- "tlsEnabled": true,
- "privateKey": "PRIVATE KEY CERTIFICATE STR",
- "certificate": "PUBLIC KEY CERTIFICATE STR"
}
}
}, - "jenkins": {
- "connectionMethod": {
- "jnlp": {
- "masterIP": "210.4.5.1",
- "masterPort": "8080",
- "password": "foo",
- "userName": "foo",
- "token": "1234"
}, - "ssh": {
- "sshPublicKey": "ssh-rsa AAAAB3NzaC1y..."
}, - "manuallyConnection": "true"
}
}
}, - "logging": {
- "export": {
- "s3": {
- "id": "di-123"
}
}
}, - "createdAt": "2020-10-01T05:23:59.302Z",
- "updatedAt": "2020-10-01T05:23:59.302Z"
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:group"
}
}
Delete an Elastigroup AWS
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
object (AMI Dellocation Options) | |
object (Beanstalk Dellocation Options) | |
object (Stateful deallocation options) |
{- "statefulDeallocation": {
- "shouldDeleteImages": false,
- "shouldDeleteNetworkInterfaces": true,
- "shouldDeleteVolumes": false,
- "shouldDeleteSnapshots": false
}, - "beanstalk": {
- "rollbackToAsg": true
}, - "amiBackup": {
- "shouldDeleteImages": false
}
}
{- "request": {
- "id": "3b750eff-3940-46b3-a309-aa2b415272fd",
- "url": "/aws/ec2/group/sig-98765",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Describe a specific Elastigroup JSON
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId | string Example: accountId=act-123456789 ID of the account associated with your token |
{- "request": {
- "id": "67582d0c-108b-4ef7-9fdc-d39678a30844",
- "url": "/aws/ec2/group/sig-1234567",
- "method": "GET",
- "timestamp": "2018-01-07T07:30:58.622Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group",
- "items": [
- {
- "id": "sig-1234567",
- "name": "EG",
- "description": "validation",
- "capacity": {
- "minimum": 1,
- "maximum": 1,
- "target": 1,
- "unit": "instance"
}, - "strategy": {
- "risk": 100,
- "onDemandCount": null,
- "availabilityVsCost": "balanced",
- "lifetimePeriod": "days",
- "fallbackToOd": true,
- "persistence": { },
- "revertToSpot": {
- "performAt": "always"
}
}, - "compute": {
- "instanceTypes": {
- "ondemand": "c3.4xlarge",
- "spot": [
- "c3.2xlarge",
- "c4.2xlarge"
]
}, - "availabilityZones": {
- "name": "eu-west-1b",
- "subnetIds": [
- "eu-west-1b"
]
}, - "product": "Linux/UNIX (Amazon VPC)",
- "launchSpecification": {
- "loadBalancerNames": null,
- "loadBalancersConfig": {
- "loadBalancers": null
}, - "healthCheckGracePeriod": 300,
- "securityGroupIds": [
- "sg-1234567"
], - "monitoring": false,
- "ebsOptimized": false,
- "imageId": "ami-1234567",
- "iamRole": {
- "name": null,
- "arn": "arn:aws:iam::1234356789:instance-profile/Loader"
}, - "keyPair": "PA",
- "userData": "sldkfoisnfgodng",
- "shutdownScript": null,
- "tags": {
- "tagKey": "Env",
- "tagValue": "TEST"
}, - "tenancy": "default"
}
}, - "scaling": { },
- "scheduling": {
- "tasks": [
- {
- "frequency": "hourly",
- "taskType": "backup_ami"
}
]
}, - "thirdPartiesIntegration": { },
- "createdAt": "2015-10-23T09:00:00.000Z",
- "updatedAt": "2018-08-01T14:11:39.000Z"
}
], - "count": 1
}
}
List all stateful instances associated with the Elastigroup
groupId required | string AWS Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ssi-046b119c",
- "instanceId": "i-08878aad7f35d20f5",
- "privateIp": "172.31.30.122",
- "imageId": "ami-082b5a644766e0e6f",
- "state": "ACTIVE",
- "devices": [
- {
- "deviceName": "/dev/xvda",
- "volumeId": "vol-0bb1c83fb203ad686",
- "snapshotId": "snap-0a2803e5e45d63c3a"
}
], - "launchedAt": "2019-12-10T08:01:43.000Z",
- "createdAt": "2019-12-10T08:02:16.000Z"
}
], - "count": 1,
- "kind": "string"
}
}
Pause a stateful instance
groupId required | string AWS Elastigroup ID |
statefulInstanceId required | string Example: ssi-227a0005 Stateful instance ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Resume a stateful instance
groupId required | string AWS Elastigroup ID |
statefulInstanceId required | string Example: ssi-227a0005 Stateful instance ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Recycle a stateful instance AWS
groupId required | string AWS Elastigroup ID |
statefulInstanceId required | string Example: ssi-227a0005 Stateful instance ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
De-allocate a stateful instance – delete all the resources associated with the instance (network interface, snapshots, volumes)
groupId required | string AWS Elastigroup ID |
statefulInstanceId required | string Example: ssi-227a0005 Stateful instance ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Delete a Volume that is part of a paused stateful instance
groupId required | string AWS Elastigroup ID |
statefulInstanceId required | string Example: ssi-227a0005 Stateful instance ID |
volumeId required | string Example: vol-0faa4b2957a3d59c8 Volume ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "3b750eff-3940-46b3-a309-aa2b415272fd",
- "url": "/aws/ec2/group/sig-98765/statefulInstance/ssi-0d29fe12/volume/vol-0faa4b2957a3d59c8",
- "method": "DELETE",
- "timestamp": "2021-11-03T11:02:55.608Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Create a new Stateful Elastigroup – this Elastigroup will have the same configuration and state of the imported instance.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object | ||||||||||||||||
|
{- "statefulMigrationGroup": {
- "originalInstanceId": "i-123c53d9f152a1234",
- "shouldKeepPrivateIp": "false",
- "shouldTerminateInstance": true,
- "name": "MyNewElastigroup",
- "product": "Linux/UNIX (Amazon VPC)",
- "spotInstanceTypes": [
- "m3.large"
], - "region": "us-west-2",
- "availabilityZones": [
- {
- "name": "us-west-2b",
- "subnetIds": [
- "subnet-12345678"
]
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "smg-7f041234",
- "groupId": "sig-1ed12345",
- "state": "MIGRATE_START",
- "data": {
- "originalInstanceId": "i-0a9c53d9f15212345",
- "shouldKeepPrivateIp": false,
- "shouldTerminateInstance": true
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:statefulMigrationGroup"
}
}
Get the current status of the import process. Possible values are:
statefulMigrationGroupId required | string Example: smg-7f041234 The Process ID you want to query |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "statefulMigrationId": "string",
- "groupId": "string",
- "instanceId": "string",
- "state": "string",
- "stateDescription": "string"
}
], - "count": 1,
- "kind": "string"
}
}
Cancel the ongoing stateful import
statefulMigrationGroupId required | string Example: smg-7f041234 The Process ID you want to delete |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "string",
- "groupId": "string",
- "state": "string"
}
], - "count": 1,
- "kind": "string"
}
}
Manually terminate the source stateful instance during an stateful instance import.
statefulMigrationGroupId required | string The Process ID you want to terminate |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object | |||
|
{- "userAction": {
- "type": "terminate"
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "smg-63d3c336",
- "groupId": "sig-de019081",
- "state": "MIGRATE_TERMINATE_INSTANCE"
}
], - "count": 1,
- "kind": "string"
}
}
Set termination protection for specific instance
instanceId required | string Example: i-123456 AWS Instance ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
ttlInMinutes | integer Example: ttlInMinutes=23 Specify a TTL (in minutes) for this lock, meaning, for how long the protection will be valid for. |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/instance/i-123456/lock",
- "method": "POST",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Remove the termination protection from specific instance
instanceId required | string Example: i-123456 AWS Instance ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/instance/i-123456/unlock",
- "method": "POST",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Describes the current status of a specific Elastigroup – entailing information regarding running instance and their status
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId | string Example: accountId=act-123456789 ID of the account associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/aws/ec2/group/sig-12345678/status",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group",
- "items": [
- {
- "spotInstanceRequestId": "sir-3thgagpn",
- "instanceId": "i-0cc289f12538e4758",
- "instanceType": "t2.micro",
- "product": "Linux/UNIX",
- "groupId": "sig-12345678",
- "availabilityZone": "us-west-2a",
- "privateIp": "172.31.28.210",
- "createdAt": "2018-06-25T11:49:00.000Z",
- "publicIp": "10.10.10.10",
- "status": "fulfilled",
- "lockStatus": "locked",
- "protectedUntil": "2021-12-29T11:23:02.714Z"
}
], - "count": 2
}
}
Get historical data on events that happened in a specific Elastigroup like update, scaling activities, creation of new instances, etc.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId | string Example: accountId=act-123456789 ID of the account associated with your token |
fromDate required | string Example: fromDate=2016-10-01 Starting date to fetch the events from |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-12345/events?fromDate=2016-10-01",
- "method": "GET",
- "timestamp": "2016-01-21T17:12:51.451Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group",
- "items": [
- {
- "groupId": "sig-12345",
- "eventType": "Update",
- "createdAt": "2016-01-21T17:10:04.000+0000",
- "subEvents": {
- "type": "scaleUp",
- "newSpots": [
- {
- "spotInstanceRequestId": "sir-0294dbzt"
}, - {
- "spotInstanceRequestId": "sir-02940b7h"
}, - {
- "spotInstanceRequestId": "sir-028z1age"
}, - {
- "spotInstanceRequestId": "sir-028z456e"
}, - {
- "spotInstanceRequestId": "sir-028wg6gr"
}, - {
- "spotInstanceRequestId": "sir-0294a9v5"
}
]
}, - "newInstances": [
- "string"
]
}, - {
- "groupId": "sig-12345",
- "eventType": "Update",
- "createdAt": "2016-01-21T17:10:04.000+0000",
- "subEvents": {
- "type": "scaleUp",
- "newSpots": [
- {
- "spotInstanceRequestId": "sir-0294dbzt"
}, - {
- "spotInstanceRequestId": "sir-02940b7h"
}, - {
- "spotInstanceRequestId": "sir-028z1age"
}, - {
- "spotInstanceRequestId": "sir-028z456e"
}, - {
- "spotInstanceRequestId": "sir-028wg6gr"
}, - {
- "spotInstanceRequestId": "sir-0294a9v5"
}
]
}, - "newInstances": [
- "string"
]
}, - {
- "groupId": "sig-12345",
- "eventType": "Update",
- "createdAt": "2016-01-21T17:10:04.000+0000",
- "subEvents": {
- "type": "scaleUp",
- "newSpots": [
- {
- "spotInstanceRequestId": "sir-0294dbzt"
}, - {
- "spotInstanceRequestId": "sir-02940b7h"
}, - {
- "spotInstanceRequestId": "sir-028z1age"
}, - {
- "spotInstanceRequestId": "sir-028z456e"
}, - {
- "spotInstanceRequestId": "sir-028wg6gr"
}, - {
- "spotInstanceRequestId": "sir-0294a9v5"
}
]
}, - "newInstances": [
- "string"
]
}, - {
- "groupId": "sig-12345",
- "eventType": "Update",
- "createdAt": "2016-01-21T17:10:04.000+0000",
- "subEvents": {
- "type": "scaleUp",
- "newSpots": [
- {
- "spotInstanceRequestId": "sir-0294dbzt"
}, - {
- "spotInstanceRequestId": "sir-02940b7h"
}, - {
- "spotInstanceRequestId": "sir-028z1age"
}, - {
- "spotInstanceRequestId": "sir-028z456e"
}, - {
- "spotInstanceRequestId": "sir-028wg6gr"
}, - {
- "spotInstanceRequestId": "sir-0294a9v5"
}
]
}, - "newInstances": [
- "string"
]
}
], - "count": 1
}
}
You can fetch a group's (Elastigroup/Ocean/Stateful Node) elastilog via the Spot API, in order to be able to consume elastilog from various tools used for log storing and analyzing. Logs have retention of 3 months back, so minimal fromDate should be up to 3 months back at runtime.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
fromDate required | string Example: fromDate=1540036800000 Epoch number that represents the date from which to collect the log (millisecond format) |
limit | string Example: limit=i-12345678 Maximum number of lines to extract in a response. Max value allowed - 1000. Default: 500 |
resourceId | string Example: resourceId=i-12345678 Filter extracted log entries for a specific resource id. Default: Null |
severity | string Example: severity=ALL Severity of log entries to extract. Valid Values: ALL, INFO,DEBUG,WARN. Default: ALL |
toDate required | string Example: toDate=1542715200000 Epoch number that represents the date until which log is collected (millisecond format) |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-123456/logs",
- "method": "GET",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:log",
- "items": [
- [
- {
- "message": "ECS Max Capacity. ECS Autoscaler - Cannot scale up since group has reached maximum capacity",
- "severity": "WARN",
- "createdAt": "2018-11-19T14:38:34.000Z"
}, - {
- "message": "Group sig-e0a2bd7c successfully created.",
- "severity": "INFO",
- "createdAt": "2018-11-19T14:34:15.000Z"
}
]
], - "count": 2
}
}
Update the capacity of an Elastigroup
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object (Capacity) | |||||||
|
{- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 2
}
}
{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/aws/ec2/group/sig-b255ac/capacity?accountId=act-567c21",
- "method": "PUT",
- "timestamp": "2018-08-20T15:31:12.730Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:capacity",
- "items": [
- {
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 2
}
}
], - "count": 1
}
}
Add instances to your Elastigroup
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
adjustment | integer Example: adjustment=1 The number of instances to add to the Elastigroup |
{- "request": {
- "id": "b57207d0-3ab1-4170-8122-a3db9ac92093",
- "url": "/aws/ec2/group/sig-abcd1234/scale/up?adjustment=2",
- "method": "PUT",
- "timestamp": "2017-10-04T08:56:38.071Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:scale",
- "items": [
- {
- "newSpotRequests": [
- {
- "spotInstanceRequestId": "sir-45sr8c7n",
- "instanceId": "i-12345abcde12345",
- "availabilityZone": "us-west-2a",
- "instanceType": "m3.medium"
}, - {
- "spotInstanceRequestId": "sir-pzb8a2an",
- "instanceId": "i-abcde12345abcde",
- "availabilityZone": "us-west-2a",
- "instanceType": "m3.medium"
}
], - "newInstances": null
}
], - "count": 1
}
}
Remove instances from your Elastigroup. Note - Scale Advanced expression Remove instances from your Elastigroup
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
adjustment | integer Example: adjustment=1 The number of instances to add to the Elastigroup |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/group/sig-12345/scale/down?adjustment=1",
- "method": "PUT",
- "time": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:scale",
- "items": [
- {
- "victimSpotRequests": [
- {
- "spotInstanceRequestId": "sir-02447qg2",
- "instanceId": "i-933esr1"
}
], - "victimInstances": [
- {
- "instanceId": "i-02447t22"
}
]
}
], - "count": 1
}
}
Suspend processes inside your Elastigroup
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
policyName required | string Example: policyName=Example Policy Name Policy Name of scaling policy to suspend |
object (Suspension) | |||
|
{- "suspension": {
- "ttlInMinutes": 10
}
}
{- "request": {
- "id": "0bb5db74-2457-4a34-b8f3-174e6bf5578e",
- "url": "/aws/ec2/group/sig-12345/scale/suspendPolicy?accountId=act-1234567&policyName=myscalingpolicyname",
- "method": "POST",
- "timestamp": "2016-06-19T08:41:57.516Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:suspension",
- "items": [
- {
- "groupId": "sig-12345",
- "policyName": "myscalingpolicyname",
- "state": "suspended",
- "expiresAt": "2016-06-19T08:51:00:00Z"
}
], - "count": 1
}
}
Suspend processes inside your Elastigroup
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
processes | Array of strings The names of the processes that will be suspended. Valid values are: AUTO_SCALE, AUTO_HEALING, OUT_OF_STRATEGY, PREVENTIVE_REPLACEMENT, REVERT_PREFERRED, SCHEDULING |
{- "processes": [
- [
- "AUTO_SCALE",
- "OUT_OF_STRATEGY",
- "PREVENTIVE_REPLACEMENT"
]
]
}
{- "request": {
- "id": "0bb5db74-2457-4a34-b8f3-174e6bf5578e",
- "url": "/aws/ec2/group/sig-12345/suspension",
- "method": "POST",
- "timestamp": "2016-06-19T08:41:57.516Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:suspension",
- "items": [
- {
- "groupId": "sig-12345",
- "processes": [
- [
- "AUTO_SCALE"
]
], - "suspensions": [
- [
- {
- "name": "AUTO_SCALE",
- "expiresAt": null
}, - {
- "name": "OUT_OF_STRATEGY",
- "expiresAt": "2018-10-03T07:23:24.000+0000"
}, - {
- "name": "PREVENTIVE_REPLACEMENT",
- "expiresAt": "2018-10-03T09:03:24.000+0000"
}, - {
- "name": "REVERT_PREFERRED",
- "expiresAt": null
}, - {
- "name": "SCHEDULING",
- "expiresAt": null
}
]
]
}
], - "count": 4
}
}
List all active Suspended processes for specific Elastigroup
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId | string Example: accountId=act-123456789 ID of the account associated with your token |
{- "request": {
- "id": "67582d0c-108b-4ef7-9fdc-d39678a30844",
- "url": "/aws/ec2/group/sig-12345/suspension",
- "method": "GET",
- "timestamp": "2018-01-07T07:30:58.622Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:suspension",
- "items": [
- {
- "groupId": "sig-12345",
- "processes": [
- "AUTO_SCALE"
]
}
], - "count": 1
}
}
Remove active suspension from Elastigroup
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId | string Example: accountId=act-123456789 ID of the account associated with your token |
processes | Array of strings (Processes) The list of processes to remove from suspension. Valid values are: AUTO_SCALE, AUTO_HEALING, OUT_OF_STRATEGY, PREVENTIVE_REPLACEMENT, REVERT_PREFERRED, SCHEDULING |
{- "processes": [
- [
- "AUTO_SCALE"
]
]
}
{- "request": {
- "id": "848f3db7-b731-4b1b-9227-253a545e90eb",
- "url": "/aws/ec2/group/sig-12345/suspension",
- "method": "DELETE",
- "timestamp": "2018-06-21T11:54:12.513Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:suspension",
- "items": [
- {
- "group": {
- "compute": {
- "launchSpecification": {
- "metadataOptions": {
- "httpTokens": "optional"
}
}
}
}
}
], - "count": 0
}
}
Suspended scaling policies inside your Elastigroup
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId | string Example: accountId=act-123456789 ID of the account associated with your token |
{- "request": {
- "id": "0bb5db74-2457-4a34-b8f3-174e6bf5578e",
- "url": "/aws/ec2/group/sig-12345/scale/suspensions?accountId=act-1234567",
- "method": "GET",
- "timestamp": "2016-06-19T08:41:57.516Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:suspension",
- "items": [
- {
- "scalePolicySuspensions": [
- {
- "groupId": "sig-12345",
- "policyName": "test",
- "state": "suspended"
}, - {
- "groupId": "sig-12345",
- "policyName": "down Scaling Policy 1",
- "state": "suspended"
}
]
}
], - "count": 2
}
}
Resume suspended scaling policies inside your Elastigroup
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId | string Example: accountId=act-123456789 ID of the account associated with your token |
policyName | string Example: policyName=policy_1 Name of the suspended scaling policy to remove from suspension |
{- "request": {
- "id": "848f3db7-b731-4b1b-9227-253a545e90eb",
- "url": "/aws/ec2/group/sig-12345/scale/resumePolicy?policyName=myscalingpolicyname",
- "method": "POST",
- "timestamp": "2018-06-21T11:54:12.513Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:suspension",
- "items": [
- { }
], - "count": 0
}
}
Get financial information on a specific Elastigroup, return only Spot costs.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
aggregationPeriod | string Example: aggregationPeriod=daily Optional. The time period over which data is aggregated. Can only be "daily". For example, the figures in each data set are per day |
fromDate required | string Example: fromDate=2018-06-20 Data values following either a date format (YYYY-MM-DDTHH:mm:ss.SSSZ ; 2016-01-10T00:00:00.000Z) or Unix seconds Timestamp (1494751821) |
toDate required | string Example: toDate=2018-11-20 Data values following either a date format (YYYY-MM-DDTHH:mm:ss.SSSZ ; 2016-01-10T00:00:00.000Z) or Unix seconds Timestamp (1494751821) |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-48d79900/costs?fromDate=2018-03-06&toDate=2019-02-27",
- "method": "GET",
- "timestamp": "2016-01-21T17:12:51.451Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:stats",
- "items": [
- [
- {
- "running": {
- "value": 0,
- "unit": "hours"
}, - "savings": {
- "value": 0,
- "unit": "percentage"
}, - "costs": {
- "actual": 0,
- "potential": 0
}
}
]
], - "count": 1
}
}
Get detailed financial information on a specific Elastigroup, for all lifecycles.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
aggregationPeriod | string Example: aggregationPeriod=daily Optional. The time period over which data is aggregated. Can only be "daily". For example, the figures in each data set are per day |
fromDate required | string Example: fromDate=2018-06-20 Data values following either a date format (YYYY-MM-DDTHH:mm:ss.SSSZ ; 2016-01-10T00:00:00.000Z) or Unix seconds Timestamp (1494751821) |
toDate required | string Example: toDate=2018-11-20 Data values following either a date format (YYYY-MM-DDTHH:mm:ss.SSSZ ; 2016-01-10T00:00:00.000Z) or Unix seconds Timestamp (1494751821) |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-12345/costs/detailed",
- "method": "GET",
- "timestamp": "2016-01-21T17:12:51.451Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group",
- "items": [
- {
- "groupId": "sig-12345",
- "instanceId": "i-326129e1",
- "spotInstanceRequestId": null,
- "instanceType": "m3.medium",
- "availabilityZone": "us-east-1a",
- "running": {
- "value": 4,
- "unit": "hours"
}, - "savings": {
- "value": 4,
- "unit": "percentage"
}, - "costs": {
- "actual": 0.268,
- "potential": 0.268
}
}
], - "count": 1
}
}
Get the current instance status Possible status values - Active and Terminating
instanceId required | string Example: i-123456 The instance ID you want to query |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/instance/i-123456",
- "method": "GET",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:instance",
- "items": [
- {
- "instanceId": "i-326129e1",
- "lifeCycleState": "ACTIVE"
}
], - "count": 1
}
}
Import an EC2 instance into a new Elastigroup
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
instanceId required | string Example: instanceId=i-008a13360040aa88e Enter the AWS instance Id of the instance to import |
region required | string Example: region=us-east-2 The AWS region to create the new Elastigroup in |
object (Group) | |||||
|
{- "group": {
- "name": "EG_Name",
- "spotInstanceTypes": [
- "m3.large",
- "c3.large"
]
}
}
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "string",
- "method": "GET",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "string",
- "items": [
- { }
], - "count": 1
}
}
Get status of a specific deployment
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-61236h9d/amiBackup",
- "method": "POST",
- "timestamp": "2016-01-21T17:12:51.451Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:amiBackup",
- "items": true
}
}
Get a list of instances with health status. In case a shutdown script is configured for the group, it will also retrieve the Spot Agent health status.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/group/sig-1b656b92/instanceHealthiness",
- "method": "GET",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:instanceHealthiness",
- "items": [
- {
- "instanceId": "i-07593cd9173cd9667",
- "spotRequestId": "sir-xjag9yqp",
- "groupId": "sig-1b656b92",
- "availabilityZone": "us-west-2b",
- "lifeCycle": "SPOT",
- "healthStatus": "HEALTHY",
- "agentHealth": {
- "status": "HEALTHY",
- "lastChecked": "2021-12-15T14:43:46.000Z"
}
}
], - "count": 1
}
}
Detach instances from your Elastigroup
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
drainingTimeout | integer (Time) Draining Timeout |
instancesToDetach | object (Instances to be detached) Instances to be detached |
shouldDecrementTargetCapacity | boolean (Decrement target capacity criteria) Should Decrement Target Capacity Criteria |
shouldTerminateInstances | boolean (Termination criteria) Should Terminate Instances Criteria |
{- "instancesToDetach": [
- "i-123456",
- "i-456798"
], - "shouldTerminateInstances": true,
- "shouldDecrementTargetCapacity": false,
- "drainingTimeout": 300
}
{- "request": {
- "id": "0bb5db74-2457-4a34-b8f3-174e6bf5578e",
- "url": "/aws/ec2/group/sig-12345/detachInstances",
- "method": "PUT",
- "timestamp": "2016-06-19T08:41:57.516Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:detachInstances"
}
}
Create a new Elastigroup – this Elastigroup will have the same configuration of the imported Autoscaling group
accountId | string Example: accountId=act-12345 Your account ID in Spot |
autoScalingGroupName required | string Example: autoScalingGroupName=MyASG The ASG name |
dryRun | boolean Example: dryRun=true When |
region required | string Example: region=us-east-1 The AWS region for the ASG |
object (Group) | |||||||||
|
{- "group": {
- "product": "Linux/UNIX",
- "spotInstanceTypes": [
- "c3.large",
- "m4.large"
], - "name": "My Group",
- "availabilityVsCost": "costOriented"
}
}
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/group/autoScalingGroup/import?region=us-west-2&TESTING_ASG",
- "method": "POST",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group",
- "items": [
- {
- "id": "sig-e2927aac",
- "name": "TESTING_ASG",
- "description": "Imported from auto scaling group TESTING_ASG",
- "capacity": {
- "target": 1,
- "minimum": 0,
- "maximum": 5,
- "unit": "instance"
}, - "strategy": {
- "risk": 100,
- "drainingTimeout": 0
}, - "compute": {
- "instanceTypes": {
- "ondemand": "m3.medium",
- "spot": [
- "c3.large"
]
}, - "availabilityZones": [
- {
- "name": "us-west-2b",
- "subnetIds": "subnet-2e967065"
}
], - "product": "Linux/UNIX",
- "launchSpecification": {
- "loadBalancersConfig": {
- "loadBalancers": {
- "name": "TESTING_ASG",
- "type": "CLASSIC"
}
}, - "healthCheckType": "EC2",
- "healthCheckGracePeriod": 600,
- "securityGroupIds": [
- "sg-451f8b3a"
], - "monitoring": false,
- "imageId": "ami-485eef30",
- "ebsOptimized": true,
- "blockDeviceMappings": [
- {
- "deviceName": "/dev/sda1",
- "ebs": {
- "deleteOnTermination": true,
- "volumeSize": 30,
- "volumeType": "gp2"
}
}
]
}
}, - "scaling": { },
- "createdAt": "2020-10-01T05:23:59.302Z",
- "updatedAt": "2020-10-01T05:23:59.302Z"
}
], - "count": 1
}
}
Get the available spot instances types available in a specific region
region required | string Example: region=us-east-2 The AWS region |
{- "request": {
- "id": "67582d0c-108b-4ef7-9fdc-d39678a30844",
- "url": "/aws/ec2/spotType?region=us-west-2",
- "method": "GET",
- "timestamp": "2018-01-07T07:30:58.622Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:spot:type",
- "items": [
- [
- {
- "instanceType": "hi1.4xlarge"
}, - {
- "instanceType": "r5d.4xlarge"
}, - {
- "instanceType": "r5ad.12xlarge"
}, - {
- "instanceType": "r4.4xlarge"
}, - {
- "instanceType": "m1.xlarge"
}, - {
- "instanceType": "a1.4xlarge"
}, - {
- "instanceType": "m5a.4xlarge"
}, - {
- "instanceType": "m3.large"
}, - {
- "instanceType": "x1e.4xlarge"
}, - {
- "instanceType": "m5d.4xlarge"
}, - {
- "instanceType": "m5a.24xlarge"
}, - {
- "instanceType": "m5a.large"
}, - {
- "instanceType": "r5d.8xlarge"
}, - {
- "instanceType": "m3.medium"
}, - {
- "instanceType": "p2.xlarge"
}, - {
- "instanceType": "m4.large"
}, - {
- "instanceType": "m5.24xlarge"
}, - {
- "instanceType": "r5a.4xlarge"
}, - {
- "instanceType": "c5.large"
}, - {
- "instanceType": "m5ad.xlarge"
}, - {
- "instanceType": "m5d.large"
}, - {
- "instanceType": "r5d.12xlarge"
}, - {
- "instanceType": "r5a.2xlarge"
}, - {
- "instanceType": "m3.2xlarge"
}, - {
- "instanceType": "t3a.large"
}, - {
- "instanceType": "t2.medium"
}, - {
- "instanceType": "i3.2xlarge"
}, - {
- "instanceType": "p3.2xlarge"
}, - {
- "instanceType": "cc2.8xlarge"
}, - {
- "instanceType": "i3.xlarge"
}, - {
- "instanceType": "r3.2xlarge"
}, - {
- "instanceType": "i3.8xlarge"
}, - {
- "instanceType": "c4.8xlarge"
}, - {
- "instanceType": "r5.metal"
}, - {
- "instanceType": "m4.10xlarge"
}, - {
- "instanceType": "m1.large"
}, - {
- "instanceType": "r5d.2xlarge"
}, - {
- "instanceType": "t1.micro"
}, - {
- "instanceType": "i2.4xlarge"
}, - {
- "instanceType": "r5a.24xlarge"
}, - {
- "instanceType": "z1d.2xlarge"
}, - {
- "instanceType": "r5.xlarge"
}, - {
- "instanceType": "m5ad.large"
}, - {
- "instanceType": "h1.4xlarge"
}, - {
- "instanceType": "m5d.12xlarge"
}, - {
- "instanceType": "c5.2xlarge"
}, - {
- "instanceType": "x1e.8xlarge"
}, - {
- "instanceType": "d2.8xlarge"
}, - {
- "instanceType": "r5.8xlarge"
}, - {
- "instanceType": "c3.large"
}, - {
- "instanceType": "r4.xlarge"
}, - {
- "instanceType": "m5ad.24xlarge"
}, - {
- "instanceType": "t3a.xlarge"
}, - {
- "instanceType": "d2.4xlarge"
}, - {
- "instanceType": "c5.24xlarge"
}, - {
- "instanceType": "c5.metal"
}, - {
- "instanceType": "c1.medium"
}, - {
- "instanceType": "m1.medium"
}, - {
- "instanceType": "g3.8xlarge"
}, - {
- "instanceType": "r4.2xlarge"
}, - {
- "instanceType": "i3en.6xlarge"
}, - {
- "instanceType": "t3.small"
}, - {
- "instanceType": "i3en.large"
}, - {
- "instanceType": "i3en.24xlarge"
}, - {
- "instanceType": "t2.xlarge"
}, - {
- "instanceType": "t3a.medium"
}, - {
- "instanceType": "m4.16xlarge"
}, - {
- "instanceType": "x1.32xlarge"
}, - {
- "instanceType": "r5a.12xlarge"
}, - {
- "instanceType": "c5d.4xlarge"
}, - {
- "instanceType": "i3en.12xlarge"
}, - {
- "instanceType": "c5d.large"
}, - {
- "instanceType": "g3.16xlarge"
}, - {
- "instanceType": "c3.2xlarge"
}, - {
- "instanceType": "x1e.2xlarge"
}, - {
- "instanceType": "a1.2xlarge"
}, - {
- "instanceType": "r5ad.xlarge"
}, - {
- "instanceType": "m5a.xlarge"
}, - {
- "instanceType": "t2.large"
}, - {
- "instanceType": "r5ad.large"
}, - {
- "instanceType": "i3.metal"
}, - {
- "instanceType": "t3.nano"
}, - {
- "instanceType": "r5ad.2xlarge"
}, - {
- "instanceType": "f1.16xlarge"
}, - {
- "instanceType": "h1.8xlarge"
}, - {
- "instanceType": "m5.12xlarge"
}, - {
- "instanceType": "a1.medium"
}, - {
- "instanceType": "i3en.3xlarge"
}, - {
- "instanceType": "m5d.8xlarge"
}
]
], - "count": 322
}
}
The simulate instance interruption API is used for simulating a spot interruption in AWS, so that customers can verify specific applicative behaviors in case an interruption takes place. Once the interruption api is called, instances posted in the API body will be terminated in AWS, thus mocking a spot interruption.
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
instancesToInterrupt | Array of strings A list of group's instance ids to interrupt |
{- "instancesToInterrupt": [
- "i-123456",
- "i-9876543"
]
}
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/instance/interruption?accountId=act-4fb595c6",
- "method": "POST",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
The instance signal API is used for notifying Spot about the instance state, so Spot can act accordingly. Supported signals are - INSTANCE_READY – Whenever this signal is sent, Spot will register the instance to the ELB INSTANCE_READY_TO_SHUTDOWN – Whenever this signal is sent, Spot will terminate the instance after it was marked for termination. Important - You need to define the expected signals for your Elastigroup in the group configuration.
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
instanceId | string The instance ID the signal refers to. |
signal | string The specific signal you want to trigger. Valid Values - INSTANCE_READY, INSTANCE_READY_TO_SHUTDOWN |
{- "instanceId": "i-123456",
- "signal": "INSTANCE_READY"
}
{- "request": {
- "id": "67582d0c-108b-4ef7-9fdc-d39678a30844",
- "url": "/aws/ec2/instance/signal",
- "method": "POST",
- "timestamp": "2018-01-07T07:30:58.622Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK",
- "kind": "spotinst:aws:ec2:instance:signal",
- "items": {
- "instanceId": "i-0c8bc7fd0e8cd6c8d",
- "instanceLaunchedAt": "2023-04-30T12:20:14.000Z",
- "instanceDetachedAt": "2023-04-30T12:20:14.000Z",
- "type": "INSTANCE_READY",
- "signalExpiresAt": "2023-04-30T12:21:14.000Z",
- "message": "This instance crossed the signal timeout limit at Sun Apr 30 12:21:14 UTC 2023"
}, - "count": 1
}
}
}
Instance Standby enables you to put an instance in Standby state , update or troubleshoot the instance, and then return the instance to service. Instances that are on standby are still part of the Elastigroup, but they don't get application traffic. Whenever instance is standby state - It will be de-registered from all the ELBs / ALBs in the Elastigroup It won't be affected from Scale down activities in the Elastigroup The instance health won't be checked, and it won't be replaced When the instance exits the Standby state - The instance will be register back to all the ELBs / ALBs that are defined in the Elastigroup It will be considered and affected from all the Elastigroup activities (helth checks, scaling, etc.)
instanceId required | string Example: i-123456 The instance ID you want to put in standby state |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/instance/i-123456/standby/enter",
- "method": "POST",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Exit standby by mode
instanceId required | string Example: i-123456 The instance ID you want to put in standby state |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/instance/i-123456/standby/exit",
- "method": "POST",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Get list of all the deployments of a specific Elastigroup and their status
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
limit | integer Example: limit=5 Limits results |
sort | string Example: sort=createdAt:ASC Field to sort by the results Default: createdAt:DESC |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-12345/roll?limit=5&sort=createdAt%3ADESC",
- "method": "GET",
- "timestamp": "2016-01-21T17:12:51.451Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:roll",
- "items": [
- {
- "id": "sbgd-781c6212",
- "status": "starting",
- "progress": {
- "unit": "percent",
- "value": 0
}, - "currentBatch": "1,",
- "numOfBatches": 4,
- "gracePeriod": 900,
- "blueInstances": 4,
- "greenInstances": 1,
- "createdAt": "2018-03-27T19:50:12.000+0000",
- "updatedAt": "2018-03-27T19:50:16.000+0000"
}, - {
- "id": "sbgd-3ee19606",
- "status": "stopped",
- "progress": {
- "unit": "percent",
- "value": 0
}, - "currentBatch": "1,",
- "numOfBatches": 4,
- "gracePeriod": 900,
- "blueInstances": 4,
- "greenInstances": 1,
- "createdAt": "2018-03-27T19:35:41.000+0000",
- "updatedAt": "2018-03-27T19:39:18.000+0000"
}, - {
- "id": "sbgd-cc4c44e2",
- "status": "finished",
- "progress": {
- "unit": "percent",
- "value": 100
}, - "currentBatch": "1,",
- "numOfBatches": 4,
- "gracePeriod": 900,
- "blueInstances": 4,
- "greenInstances": 1,
- "createdAt": "2018-03-26T19:22:45.000+0000",
- "updatedAt": "2018-03-26T19:26:17.000+0000"
}, - {
- "id": "sbgd-3f127ed0",
- "status": "starting",
- "progress": {
- "unit": "percent",
- "value": 0
}, - "currentBatch": "1,",
- "numOfBatches": 4,
- "gracePeriod": 900,
- "blueInstances": 4,
- "greenInstances": 1,
- "createdAt": "2018-03-27T19:46:22.000+0000",
- "updatedAt": "2018-03-27T19:46:35.000+0000"
}
], - "count": 1
}
}
Deploy your Elastigroup (triggers Blue/Green Deployment that replaces the existing instances in the Elastigroup)
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
batchSizePercentage required | integer Indicates (in percentage) the batch size of the deployment (meaning, how many instances to replace in each batch) |
drainingTimeout | integer >= 0 Default: 120 Indicates (in seconds) the timeout to drain the instances. Override the group value. |
gracePeriod required | integer Indicates (in seconds) the timeout to wait until instance become healthy based on the healthCheckType |
healthCheckType | string Enum: "ELB" "ECS_CLUSTER_INSTANCE" "TARGET_GROUP" "OPSWORKS" "NOMAD_NODE" "HCS" "EC2" "NONE" Define a health check type. |
object The roll strategy |
{- "batchSizePercentage": 20,
- "gracePeriod": 300,
- "healthCheckType": "EC2",
- "drainingTimeout": 60,
- "strategy": {
- "action": "REPLACE_SERVER",
- "batchMinHealthyPercentage": 25,
- "onFailure": {
- "actionType": "DETACH_NEW",
- "shouldHandleAllBatches": true,
- "drainingTimeout": 120,
- "shouldDecrementTargetCapacity": true
}
}
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-12345/roll?accountId=act-123456",
- "method": "PUT",
- "timestamp": "2016-01-21T17:12:51.451Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:roll",
- "items": [
- {
- "id": "sbgd-3ee19606",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 1,
- "progress": {
- "unit": "percent",
- "value": 0
}
}
], - "count": 1
}
}
Stop an existing deployment
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
rollId required | string Example: sbgd-9876 The deployment ID you want to stop |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
object (Role) | |||
|
{- "roll": {
- "status": "STOPPED"
}
}
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/group/sig-12345/roll/sbgd-dfb956b4",
- "method": "PUT",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:roll"
}
}
Get status of a specific deployment
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
rollId required | string Example: sbgd-9876 The deployment ID you want to query |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-d8489594/deployment/sbgd-3e158755/status?spotinstAccountId=act-d48178ad",
- "method": "GET",
- "timestamp": "2016-01-21T17:12:51.451Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:roll:status",
- "items": [
- {
- "progress": {
- "unit": "percent",
- "value": 50
}, - "numberOfBatches": 2,
- "currentBatch": 1,
- "gracePeriod": 600,
- "strategyAction": "REPLACE_SERVER",
- "healthCheck": "NONE",
- "instances": [
- {
- "blue": [
- {
- "instanceId": "i-0b3f1234567890ae5",
- "lifeCycle": "spot",
- "batchNum": 1,
- "status": "RUNNING"
}
], - "green": [
- {
- "instanceId": "i-0b3f1234567890dd5",
- "lifeCycle": "spot",
- "batchNum": 1,
- "status": "RUNNING"
}
]
}
]
}
], - "count": 1
}
}
Apply a Detach action to a deployment
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
rollId required | string Example: sbgd-9876 The deployment ID to call the action on |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
actionType | string (Type of action) Sets the action that will take place, Accepted values are: DETACH_OLD, DETACH_NEW |
drainingTimeout | integer (Draining timeout criteria) Indicates (in seconds) the timeout to wait until instance are detached |
shouldDecrementTargetCapacity | boolean (Should Decrement Target Capacity criteria) Default: true |
shouldHandleAllBatches | boolean (Should Hnadle All Batches Criteria) Default: false Indicator if the action should apply to all batches of the deployment or only the latest batch |
{- "actionType": "DETACH_NEW",
- "shouldHandleAllBatches": true,
- "drainingTimeout": 200,
- "shouldDecrementTargetCapacity": true
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-1b656b92/roll/sbgd-aafb7671/action",
- "method": "POST",
- "timestamp": "2016-01-21T17:12:51.451Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:roll:action",
- "items": [
- {
- "groupId": "sig-1b656b92",
- "rollId": "sbgd-aafb7671",
- "actionType": "DETACH_NEW",
- "detachedInstances": [
- "i-0b6974ad592f8d9ba"
]
}
], - "count": 1
}
}
Initiate a cluster roll for an Elastigroup with ECS cluster
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object | ||||||
|
{- "roll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-5aaf854e",
- "scope": "Cluster",
- "status": "IN_PROGRESS",
- "currentBatch": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "progress": {
- "unit": "percentage",
- "value": 0,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceId": "i-003a0281a24c01a20",
- "status": "REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a21",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a22",
- "status": "COULD_NOT_BE_REPLACED"
}
]
}
}, - "groupId": "sig-43a8a5ee",
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "string"
}
}
Update a running ECS cluster roll status
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object | ||
|
{- "roll": {
- "status": "STOPPED"
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-5aaf854e",
- "scope": "Cluster",
- "status": "IN_PROGRESS",
- "currentBatch": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "progress": {
- "unit": "percentage",
- "value": 0,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceId": "i-003a0281a24c01a20",
- "status": "REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a21",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a22",
- "status": "COULD_NOT_BE_REPLACED"
}
]
}
}, - "groupId": "sig-43a8a5ee",
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "string"
}
}
Get status for every ECS cluster rolls in given Elastigroup
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-5aaf854e",
- "scope": "Cluster",
- "status": "IN_PROGRESS",
- "currentBatch": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "progress": {
- "unit": "percentage",
- "value": 0,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceId": "i-003a0281a24c01a20",
- "status": "REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a21",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a22",
- "status": "COULD_NOT_BE_REPLACED"
}
]
}
}, - "groupId": "sig-43a8a5ee",
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "string"
}
}
Get status for specific ECS cluster rolls in given Elastigroup
groupId required | string Example: sig-12345 Elastigroup ID |
rollId required | string The cluster roll ID you want to query |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-5aaf854e",
- "scope": "Cluster",
- "status": "IN_PROGRESS",
- "currentBatch": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "batchMinHealthyPercentage": 100,
- "progress": {
- "unit": "percentage",
- "value": 0,
- "detailedStatus": {
- "oldInstances": [
- {
- "instanceId": "i-003a0281a24c01a20",
- "status": "REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a21",
- "status": "TO_BE_REPLACED"
}, - {
- "instanceId": "i-003a0281a24c01a22",
- "status": "COULD_NOT_BE_REPLACED"
}
]
}
}, - "groupId": "sig-43a8a5ee",
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "string"
}
}
Put your Beanstslk Elastigroup into maintenance mode, before you start updating the beanstalk configuration.
groupId required | string Example: sig-12345 The Spot Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Finish maintenance mode, and trigger a blue-green deployment.
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Get the group maintenance status.
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "status": "AWAIT_USER_UPDATE"
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:beanstalk:status"
}
}
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
environmentId required | string Example: environmentId=e-12345 The Beanstalk name |
region required | string Example: region=us-east-1 The AWS region for the Beanstalk |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "name": "First Elastigroup",
- "description": "This is the first Spot Elastigroup of many",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5
}, - "strategy": {
- "risk": 100
}, - "compute": {
- "instanceTypes": {
- "ondemand": "t2.micro",
- "spot": [
- "string"
]
}, - "availabilityZones": [
- {
- "name": "us-west-2a"
}
], - "launchSpecification": {
- "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "awseb-AWSEB-12345",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:842422002533:targetgroup/awseb-AWSEB-12345/245f20215d9ba7fc",
- "type": "TARGET_GROUP"
}
]
}, - "healthCheckType": "EC2",
- "securityGroupIds": [
- "sg-12345"
], - "monitoring": true,
- "imageId": "ami-12345",
- "iamRole": {
- "name": "aws-elasticbeanstalk-ec2-role"
}, - "userData": "Q29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT01MTg5MDY1Mzc3MjIyODk4NDA3PT0iCk1JTUUtVmVyc2lvbjogMS4wCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQpDb250ZW50LVR5cGU6IHRleHQvY2xvdWQtY29uZmlnOyBjaGFyc2V0PSJ1cy1hc2NpaSIKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdApDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iY2xvdWQtY29uZmlnLnR4dCIKCiNjbG91ZC1jb25maWcKcmVwb191cGdyYWRlOiBub25lCnJlcG9fcmVsZWFzZXZlcjogMjAxNy4wOQpjbG91ZF9maW5hbF9tb2R1bGVzOgogLSBbc2NyaXB0cy11c2VyLCBhbHdheXNdCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQpDb250ZW50LVR5cGU6IHRleHQveC1zaGVsbHNjcmlwdDsgY2hhcnNldD0idXMtYXNjaWkiCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9InVzZXItZGF0YS50eHQiCgojIS9iaW4vYmFzaApleGVjID4gPih0ZWUgLWEgL3Zhci9sb2cvZWItY2ZuLWluaXQubG9nfGxvZ2dlciAtdCBbZWItY2ZuLWluaXRdIC1zIDI",
- "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
]
}
}, - "scaling": {
- "up": [
- {
- "policyName": "awseb-e-12345-stack-AWSEBCloudwatchAlarmHigh-56QPITB3WUFM",
- "metricName": "NetworkOut",
- "statistic": "average",
- "unit": "bytes",
- "threshold": 6000000,
- "namespace": "AWS/EC2",
- "source": "cloudWatch",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 360,
- "dimenstions": [
- {
- "name": "resourceName"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}, - "operator": "gte"
}
], - "down": [
- {
- "policyName": "awseb-e-12345-stack-AWSEBCloudwatchAlarmLow-UNGVBRKT0EHP",
- "metricName": "NetworkOut",
- "statistic": "average",
- "unit": "bytes",
- "threshold": 2000000,
- "namespace": "AWS/EC2",
- "source": "cloudWatch",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 360,
- "dimenstions": [
- {
- "name": "resourceName"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}, - "operator": "lte"
}
]
}, - "thirdPartiesIntegration": {
- "elasticBeanstalk": {
- "environmentId": "e-12345"
}
}
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:group"
}
}
Re-import the beanstalk configuration
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-123456",
- "compute": {
- "launchSpecification": {
- "securityGroupIds": [
- "sg-b75343cf"
], - "monitoring": false,
- "imageId": "ami-3c873e5c",
- "iamRole": {
- "name": "aws-elasticbeanstalk-ec2-role"
}, - "userData": "Q29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT01MTg5MDY1Mzc3MjIyODk4NDA3PT0iCk1JTUUtVmVyc2lvbjogMS4wCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQpDb250ZW50LVR5cGU6IHRleHQvY2xvdWQtY29uZmlnOyBjaGFyc2V0PSJ1cy1hc2NpaSIKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdApDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iY2xvdWQtY29uZmlnLnR4dCIKCiNjbG91ZC1jb25maWcKcmVwb191cGdyYWRlOiBub25lCnJlcG9fcmVsZWFzZXZlcjogMjAxNy4wOQpjbG91ZF9maW5hbF9tb2R1bGVzOgogLSBbc2NyaXB0cy11c2VyLCBhbHdheXNdCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQpDb250ZW50LVR5cGU6IHRleHQveC1zaGVsbHNjcmlwdDsgY2hhcnNldD0idXMtYXNjaWkiCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9InVzZXItZGF0YS50eHQiCgojIS9iaW4vYmFzaApleGVjID4gPih0ZWUgLWEgL3Zhci9sb2cvZWItY2ZuLWluaXQubG9nfGxvZ2dlciAtdCBbZWItY2ZuLWluaXRdIC1zIDI",
- "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "deleteOnTermination": true,
- "volumeSize": 12,
- "volumeType": "gp2"
}
}
]
}
}
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:group"
}
}
Trigger a Blue-Green deployment to your Elastigroup, this will initiate a deployment that will replace the existing instances(blue) with new ones(green).
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object | |||||||
|
{- "deployment": {
- "timeout": 20,
- "tags": [
- {
- "tagKey": "ver",
- "tagValue": "pink"
}
], - "deploymentGroups": [
- {
- "applicationName": "appTest",
- "deploymentGroupName": "deploymentGroupName"
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "cdbg-3ccf1234",
- "groupId": "sig-87231234",
- "state": "STARTING",
- "config": {
- "timeout": 20,
- "tags": [
- {
- "tagKey": "ver",
- "tagValue": "pink"
}
], - "deploymentGroups": [
- {
- "applicationName": "appTest",
- "deploymentGroupName": "deploymentGroupName"
}
]
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:group:codeDeploy:blueGreenDeployment"
}
}
Get CodeDeploy Elastigroup deployment status for more information see: CodeDeploy B/G Deployment
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object | |||||||
|
{- "deployment": {
- "timeout": 20,
- "tags": [
- {
- "tagKey": "ver",
- "tagValue": "pink"
}
], - "deploymentGroups": [
- {
- "applicationName": "appTest",
- "deploymentGroupName": "deploymentGroupName"
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "cdbg-3ccf1234",
- "groupId": "sig-87231234",
- "state": "STARTING",
- "config": {
- "timeout": 20,
- "tags": [
- {
- "tagKey": "ver",
- "tagValue": "pink"
}
], - "deploymentGroups": [
- {
- "applicationName": "appTest",
- "deploymentGroupName": "deploymentGroupName"
}
]
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:group:codeDeploy:blueGreenDeployment"
}
}
Get all ITF listener rule migrations of a specific Elastigroup.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/aws/ec2/group/sig-12345/itf/migration?spotinstAccountId=act-123456",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "createdAt": "2020-04-10T21:41:31.000Z",
- "updatedAt": "2020-05-12T22:37:18.000Z",
- "id": "ilrm-12345678",
- "groupId": "sig-12345",
- "ruleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/0123456789012345/1234567890123456/234567890123456",
- "status": "Starting"
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:group:itf:migration"
}
}
Update an ITF listener rule migration object of a specific Elastigroup.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
migrationId required | string Example: ilrm-12345678 The ID of the ITF listener rule migration to be updated. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
status | string Value: "USER_RETRY" The status to be updated. Valid value is "USER_RETRY". |
{- "status": "USER_RETRY"
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/aws/ec2/group/sig-12345/itf/migration/ilrm-12345678?spotinstAccountId=act-123456",
- "method": "UPDATE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "createdAt": "2020-04-10T21:41:31.000Z",
- "updatedAt": "2020-05-12T22:37:18.000Z",
- "id": "ilrm-12345678",
- "groupId": "sig-12345",
- "ruleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/0123456789012345/1234567890123456/234567890123456",
- "status": "Starting"
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:group:itf:migration"
}
}
List all MR Scalers and their configuration.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "mrScaler": {
- "name": "my MRScaler",
- "description": "this is an MRScaler created with Spot",
- "region": "us-west-2",
- "strategy": {
- "wrapping": {
- "sourceClusterId": "c-1234"
}, - "new": {
- "releaseLabel": "emr-5.17.0",
- "numberOfRetries": 5
}, - "cloning": {
- "originClusterId": "j-38EE27G2QY02I",
- "includeSteps": false,
- "numberOfRetries": 5
}, - "provisioningTimeout": {
- "timeout": 15,
- "timeoutAction": "terminate"
}
}, - "compute": {
- "ebsRootVolumeSize": 4,
- "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetId": "subnet-3b5b3601"
}
], - "bootstrapActions": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "steps": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "instanceGroups": [
- {
- "masterGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "target": 1,
- "lifeCycle": "SPOT",
- "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "coreGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10,
- "unit": "instance"
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "taskGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10,
- "unit": "instance"
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}
}
], - "instanceWeights": [
- {
- "instanceType": "m4.large",
- "weightedCapacity": 3
}
], - "emrManagedMasterSecurityGroup": "sg-123456789",
- "emrManagedSlaveSecurityGroup": "sg-123456789",
- "additionalMasterSecurityGroups": [
- "sg-123456789"
], - "additionalSlaveSecurityGroups": [
- "sg-123456789"
], - "serviceAccessSecurityGroup": "EMR_DefaultRole",
- "customAmiId": "ami-123456789",
- "repoUpgradeOnBoot": "SECURITY",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "someUser"
}
], - "ec2KeyName": "myEC2KeyName",
- "applications": [
- {
- "name": "Hue",
- "args": [
- "string"
], - "version": "1.0"
}
], - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "cluster": {
- "terminationProtected": false,
- "keepJobFlowAliveWhenNoSteps": true,
- "logUri": "s3://job-status",
- "additionalInfo": "{'test':'more information'}",
- "jobFlowRole": "EMR_EC2_DefaultRole",
- "serviceRole": "someIAMRole",
- "securityConfiguration": "testConfig"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "instanceGroupType": "task",
- "taskType": "setCapacity",
- "cronExpression": "* 8 * 10 *",
- "targetCapacity": 2,
- "minCapacity": 2,
- "maxCapacity": 2
}
]
}, - "scaling": {
- "up": [
- {
- "policyName": "myScaleUpPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "minTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "gte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
], - "down": [
- {
- "policyName": "myScaleDownPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "maxTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "lte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
]
}, - "terminationPolicies": [
- {
- "statements": [
- {
- "namespace": "AWS/ElasticMapReduce",
- "metricName": "AppsRunning",
- "statistic": "average",
- "unit": "count",
- "threshold": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "operator": "gte"
}
]
}
]
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler"
}
}
Create a new EMR cluster.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object | ||||||||||||||||||
|
{- "mrScaler": {
- "name": "my MRScaler",
- "description": "this is an MRScaler created with Spot",
- "region": "us-west-2",
- "strategy": {
- "wrapping": {
- "sourceClusterId": "c-1234"
}, - "new": {
- "releaseLabel": "emr-5.17.0",
- "numberOfRetries": 5
}, - "cloning": {
- "originClusterId": "j-38EE27G2QY02I",
- "includeSteps": false,
- "numberOfRetries": 5
}, - "provisioningTimeout": {
- "timeout": 15,
- "timeoutAction": "terminate"
}
}, - "compute": {
- "ebsRootVolumeSize": 4,
- "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetId": "subnet-3b5b3601"
}
], - "bootstrapActions": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "steps": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "instanceGroups": [
- {
- "masterGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "target": 1,
- "lifeCycle": "SPOT",
- "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "coreGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10,
- "unit": "instance"
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "taskGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10,
- "unit": "instance"
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}
}
], - "instanceWeights": [
- {
- "instanceType": "m4.large",
- "weightedCapacity": 3
}
], - "emrManagedMasterSecurityGroup": "sg-123456789",
- "emrManagedSlaveSecurityGroup": "sg-123456789",
- "additionalMasterSecurityGroups": [
- "sg-123456789"
], - "additionalSlaveSecurityGroups": [
- "sg-123456789"
], - "serviceAccessSecurityGroup": "EMR_DefaultRole",
- "customAmiId": "ami-123456789",
- "repoUpgradeOnBoot": "SECURITY",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "someUser"
}
], - "ec2KeyName": "myEC2KeyName",
- "applications": [
- {
- "name": "Hue",
- "args": [
- "string"
], - "version": "1.0"
}
], - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "cluster": {
- "terminationProtected": false,
- "keepJobFlowAliveWhenNoSteps": true,
- "logUri": "s3://job-status",
- "additionalInfo": "{'test':'more information'}",
- "jobFlowRole": "EMR_EC2_DefaultRole",
- "serviceRole": "someIAMRole",
- "securityConfiguration": "testConfig"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "instanceGroupType": "task",
- "taskType": "setCapacity",
- "cronExpression": "* 8 * 10 *",
- "targetCapacity": 2,
- "minCapacity": 2,
- "maxCapacity": 2
}
]
}, - "scaling": {
- "up": [
- {
- "policyName": "myScaleUpPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "minTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "gte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
], - "down": [
- {
- "policyName": "myScaleDownPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "maxTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "lte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
]
}, - "terminationPolicies": [
- {
- "statements": [
- {
- "namespace": "AWS/ElasticMapReduce",
- "metricName": "AppsRunning",
- "statistic": "average",
- "unit": "count",
- "threshold": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "operator": "gte"
}
]
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "mrScaler": {
- "name": "my MRScaler",
- "description": "this is an MRScaler created with Spot",
- "region": "us-west-2",
- "strategy": {
- "wrapping": {
- "sourceClusterId": "c-1234"
}, - "new": {
- "releaseLabel": "emr-5.17.0",
- "numberOfRetries": 5
}, - "cloning": {
- "originClusterId": "j-38EE27G2QY02I",
- "includeSteps": false,
- "numberOfRetries": 5
}, - "provisioningTimeout": {
- "timeout": 15,
- "timeoutAction": "terminate"
}
}, - "compute": {
- "ebsRootVolumeSize": 4,
- "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetId": "subnet-3b5b3601"
}
], - "bootstrapActions": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "steps": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "instanceGroups": [
- {
- "masterGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "target": 1,
- "lifeCycle": "SPOT",
- "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "coreGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10,
- "unit": "instance"
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "taskGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10,
- "unit": "instance"
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}
}
], - "instanceWeights": [
- {
- "instanceType": "m4.large",
- "weightedCapacity": 3
}
], - "emrManagedMasterSecurityGroup": "sg-123456789",
- "emrManagedSlaveSecurityGroup": "sg-123456789",
- "additionalMasterSecurityGroups": [
- "sg-123456789"
], - "additionalSlaveSecurityGroups": [
- "sg-123456789"
], - "serviceAccessSecurityGroup": "EMR_DefaultRole",
- "customAmiId": "ami-123456789",
- "repoUpgradeOnBoot": "SECURITY",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "someUser"
}
], - "ec2KeyName": "myEC2KeyName",
- "applications": [
- {
- "name": "Hue",
- "args": [
- "string"
], - "version": "1.0"
}
], - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "cluster": {
- "terminationProtected": false,
- "keepJobFlowAliveWhenNoSteps": true,
- "logUri": "s3://job-status",
- "additionalInfo": "{'test':'more information'}",
- "jobFlowRole": "EMR_EC2_DefaultRole",
- "serviceRole": "someIAMRole",
- "securityConfiguration": "testConfig"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "instanceGroupType": "task",
- "taskType": "setCapacity",
- "cronExpression": "* 8 * 10 *",
- "targetCapacity": 2,
- "minCapacity": 2,
- "maxCapacity": 2
}
]
}, - "scaling": {
- "up": [
- {
- "policyName": "myScaleUpPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "minTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "gte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
], - "down": [
- {
- "policyName": "myScaleDownPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "maxTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "lte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
]
}, - "terminationPolicies": [
- {
- "statements": [
- {
- "namespace": "AWS/ElasticMapReduce",
- "metricName": "AppsRunning",
- "statistic": "average",
- "unit": "count",
- "threshold": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "operator": "gte"
}
]
}
]
}
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler"
}
}
mrScaler – required will have the same configuration as in createMrScaler with one exception: we will only work with strategy of “new”, no “clone”/”warp” will be allowed.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object |
name | string |
{- "name": "GuyEmrOperatorTest",
- "mrScaler": {
- "name": "my MRScaler",
- "description": "this is an MRScaler created with Spot",
- "region": "us-west-2",
- "strategy": {
- "wrapping": {
- "sourceClusterId": "c-1234"
}, - "new": {
- "releaseLabel": "emr-5.17.0",
- "numberOfRetries": 5
}, - "cloning": {
- "originClusterId": "j-38EE27G2QY02I",
- "includeSteps": false,
- "numberOfRetries": 5
}, - "provisioningTimeout": {
- "timeout": 15,
- "timeoutAction": "terminate"
}
}, - "compute": {
- "ebsRootVolumeSize": 4,
- "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetId": "subnet-3b5b3601"
}
], - "bootstrapActions": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "steps": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "instanceGroups": [
- {
- "masterGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "target": 1,
- "lifeCycle": "SPOT",
- "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "coreGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10,
- "unit": "instance"
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "taskGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10,
- "unit": "instance"
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}
}
], - "instanceWeights": [
- {
- "instanceType": "m4.large",
- "weightedCapacity": 3
}
], - "emrManagedMasterSecurityGroup": "sg-123456789",
- "emrManagedSlaveSecurityGroup": "sg-123456789",
- "additionalMasterSecurityGroups": [
- "sg-123456789"
], - "additionalSlaveSecurityGroups": [
- "sg-123456789"
], - "serviceAccessSecurityGroup": "EMR_DefaultRole",
- "customAmiId": "ami-123456789",
- "repoUpgradeOnBoot": "SECURITY",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "someUser"
}
], - "ec2KeyName": "myEC2KeyName",
- "applications": [
- {
- "name": "Hue",
- "args": [
- "string"
], - "version": "1.0"
}
], - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "cluster": {
- "terminationProtected": false,
- "keepJobFlowAliveWhenNoSteps": true,
- "logUri": "s3://job-status",
- "additionalInfo": "{'test':'more information'}",
- "jobFlowRole": "EMR_EC2_DefaultRole",
- "serviceRole": "someIAMRole",
- "securityConfiguration": "testConfig"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "instanceGroupType": "task",
- "taskType": "setCapacity",
- "cronExpression": "* 8 * 10 *",
- "targetCapacity": 2,
- "minCapacity": 2,
- "maxCapacity": 2
}
]
}, - "scaling": {
- "up": [
- {
- "policyName": "myScaleUpPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "minTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "gte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
], - "down": [
- {
- "policyName": "myScaleDownPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "maxTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "lte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
]
}, - "terminationPolicies": [
- {
- "statements": [
- {
- "namespace": "AWS/ElasticMapReduce",
- "metricName": "AppsRunning",
- "statistic": "average",
- "unit": "count",
- "threshold": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "operator": "gte"
}
]
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "mrScaler": {
- "name": "my MRScaler",
- "description": "this is an MRScaler created with Spot",
- "region": "us-west-2",
- "strategy": {
- "wrapping": {
- "sourceClusterId": "c-1234"
}, - "new": {
- "releaseLabel": "emr-5.17.0",
- "numberOfRetries": 5
}, - "cloning": {
- "originClusterId": "j-38EE27G2QY02I",
- "includeSteps": false,
- "numberOfRetries": 5
}, - "provisioningTimeout": {
- "timeout": 15,
- "timeoutAction": "terminate"
}
}, - "compute": {
- "ebsRootVolumeSize": 4,
- "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetId": "subnet-3b5b3601"
}
], - "bootstrapActions": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "steps": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "instanceGroups": [
- {
- "masterGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "target": 1,
- "lifeCycle": "SPOT",
- "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "coreGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10,
- "unit": "instance"
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "taskGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10,
- "unit": "instance"
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}
}
], - "instanceWeights": [
- {
- "instanceType": "m4.large",
- "weightedCapacity": 3
}
], - "emrManagedMasterSecurityGroup": "sg-123456789",
- "emrManagedSlaveSecurityGroup": "sg-123456789",
- "additionalMasterSecurityGroups": [
- "sg-123456789"
], - "additionalSlaveSecurityGroups": [
- "sg-123456789"
], - "serviceAccessSecurityGroup": "EMR_DefaultRole",
- "customAmiId": "ami-123456789",
- "repoUpgradeOnBoot": "SECURITY",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "someUser"
}
], - "ec2KeyName": "myEC2KeyName",
- "applications": [
- {
- "name": "Hue",
- "args": [
- "string"
], - "version": "1.0"
}
], - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "cluster": {
- "terminationProtected": false,
- "keepJobFlowAliveWhenNoSteps": true,
- "logUri": "s3://job-status",
- "additionalInfo": "{'test':'more information'}",
- "jobFlowRole": "EMR_EC2_DefaultRole",
- "serviceRole": "someIAMRole",
- "securityConfiguration": "testConfig"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "instanceGroupType": "task",
- "taskType": "setCapacity",
- "cronExpression": "* 8 * 10 *",
- "targetCapacity": 2,
- "minCapacity": 2,
- "maxCapacity": 2
}
]
}, - "scaling": {
- "up": [
- {
- "policyName": "myScaleUpPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "minTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "gte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
], - "down": [
- {
- "policyName": "myScaleDownPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "maxTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "lte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
]
}, - "terminationPolicies": [
- {
- "statements": [
- {
- "namespace": "AWS/ElasticMapReduce",
- "metricName": "AppsRunning",
- "statistic": "average",
- "unit": "count",
- "threshold": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "operator": "gte"
}
]
}
]
}
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler"
}
}
Get a description of a specific MR Scaler and its configuration.
mrScalerId required | string Example: simrs-12223 The MRScaler ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "mrScaler": {
- "name": "my MRScaler",
- "description": "this is an MRScaler created with Spot",
- "region": "us-west-2",
- "strategy": {
- "wrapping": {
- "sourceClusterId": "c-1234"
}, - "new": {
- "releaseLabel": "emr-5.17.0",
- "numberOfRetries": 5
}, - "cloning": {
- "originClusterId": "j-38EE27G2QY02I",
- "includeSteps": false,
- "numberOfRetries": 5
}, - "provisioningTimeout": {
- "timeout": 15,
- "timeoutAction": "terminate"
}
}, - "compute": {
- "ebsRootVolumeSize": 4,
- "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetId": "subnet-3b5b3601"
}
], - "bootstrapActions": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "steps": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "instanceGroups": [
- {
- "masterGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "target": 1,
- "lifeCycle": "SPOT",
- "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "coreGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10,
- "unit": "instance"
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "taskGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10,
- "unit": "instance"
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}
}
], - "instanceWeights": [
- {
- "instanceType": "m4.large",
- "weightedCapacity": 3
}
], - "emrManagedMasterSecurityGroup": "sg-123456789",
- "emrManagedSlaveSecurityGroup": "sg-123456789",
- "additionalMasterSecurityGroups": [
- "sg-123456789"
], - "additionalSlaveSecurityGroups": [
- "sg-123456789"
], - "serviceAccessSecurityGroup": "EMR_DefaultRole",
- "customAmiId": "ami-123456789",
- "repoUpgradeOnBoot": "SECURITY",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "someUser"
}
], - "ec2KeyName": "myEC2KeyName",
- "applications": [
- {
- "name": "Hue",
- "args": [
- "string"
], - "version": "1.0"
}
], - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "cluster": {
- "terminationProtected": false,
- "keepJobFlowAliveWhenNoSteps": true,
- "logUri": "s3://job-status",
- "additionalInfo": "{'test':'more information'}",
- "jobFlowRole": "EMR_EC2_DefaultRole",
- "serviceRole": "someIAMRole",
- "securityConfiguration": "testConfig"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "instanceGroupType": "task",
- "taskType": "setCapacity",
- "cronExpression": "* 8 * 10 *",
- "targetCapacity": 2,
- "minCapacity": 2,
- "maxCapacity": 2
}
]
}, - "scaling": {
- "up": [
- {
- "policyName": "myScaleUpPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "minTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "gte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
], - "down": [
- {
- "policyName": "myScaleDownPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "maxTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "lte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
]
}, - "terminationPolicies": [
- {
- "statements": [
- {
- "namespace": "AWS/ElasticMapReduce",
- "metricName": "AppsRunning",
- "statistic": "average",
- "unit": "count",
- "threshold": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "operator": "gte"
}
]
}
]
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler"
}
}
Update an MR Scaler. Partial updating is supported.
mrScalerId required | string Example: simrs-12223 The MRScaler ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object MR Scaler Object - Update Task Capacity | |||||||||||||||||||||||
|
{- "mrScaler": {
- "compute": {
- "instanceGroups": {
- "taskGroup": {
- "capacity": {
- "maximum": 0,
- "target": 0,
- "minimum": 0
}
}
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "mrScaler": {
- "name": "my MRScaler",
- "description": "this is an MRScaler created with Spot",
- "region": "us-west-2",
- "strategy": {
- "wrapping": {
- "sourceClusterId": "c-1234"
}, - "new": {
- "releaseLabel": "emr-5.17.0",
- "numberOfRetries": 5
}, - "cloning": {
- "originClusterId": "j-38EE27G2QY02I",
- "includeSteps": false,
- "numberOfRetries": 5
}, - "provisioningTimeout": {
- "timeout": 15,
- "timeoutAction": "terminate"
}
}, - "compute": {
- "ebsRootVolumeSize": 4,
- "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetId": "subnet-3b5b3601"
}
], - "bootstrapActions": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "steps": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "instanceGroups": [
- {
- "masterGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "target": 1,
- "lifeCycle": "SPOT",
- "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "coreGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10,
- "unit": "instance"
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "taskGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10,
- "unit": "instance"
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}
}
], - "instanceWeights": [
- {
- "instanceType": "m4.large",
- "weightedCapacity": 3
}
], - "emrManagedMasterSecurityGroup": "sg-123456789",
- "emrManagedSlaveSecurityGroup": "sg-123456789",
- "additionalMasterSecurityGroups": [
- "sg-123456789"
], - "additionalSlaveSecurityGroups": [
- "sg-123456789"
], - "serviceAccessSecurityGroup": "EMR_DefaultRole",
- "customAmiId": "ami-123456789",
- "repoUpgradeOnBoot": "SECURITY",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "someUser"
}
], - "ec2KeyName": "myEC2KeyName",
- "applications": [
- {
- "name": "Hue",
- "args": [
- "string"
], - "version": "1.0"
}
], - "configurations": [
- {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configurations": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
]
}, - "cluster": {
- "terminationProtected": false,
- "keepJobFlowAliveWhenNoSteps": true,
- "logUri": "s3://job-status",
- "additionalInfo": "{'test':'more information'}",
- "jobFlowRole": "EMR_EC2_DefaultRole",
- "serviceRole": "someIAMRole",
- "securityConfiguration": "testConfig"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "instanceGroupType": "task",
- "taskType": "setCapacity",
- "cronExpression": "* 8 * 10 *",
- "targetCapacity": 2,
- "minCapacity": 2,
- "maxCapacity": 2
}
]
}, - "scaling": {
- "up": [
- {
- "policyName": "myScaleUpPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "minTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "gte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
], - "down": [
- {
- "policyName": "myScaleDownPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "maxTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "lte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
]
}, - "terminationPolicies": [
- {
- "statements": [
- {
- "namespace": "AWS/ElasticMapReduce",
- "metricName": "AppsRunning",
- "statistic": "average",
- "unit": "count",
- "threshold": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "operator": "gte"
}
]
}
]
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler"
}
}
Delete an MR Scaler
mrScalerId required | string Example: simrs-12223 The MRScaler ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Get a list of all instances and instances groups in the cluster
mrScalerId required | string Example: simrs-12223 The MRScaler ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "instanceId": "i-asdfjk3989",
- "instanceGroupId": "ig-asdfjl2",
- "instanceGroupRole": "MASTER",
- "instanceType": "m1.medium",
- "availabilityZone": "us-east-1a",
- "status": "Running",
- "updatedAt": "2015-08-02T09:11:16.356Z"
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler:instance"
}
}
Scale up MR Scaler instances
mrScalerId required | string Example: simrs-12223 The MRScaler ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
adjustment required | integer Example: adjustment=3 Number of instances to add to the MR Scaler |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "modifiedInstanceGroups": [
- "ig-2470IUVXLJ652S",
- "ig-9870IUVXMYYW9"
], - "newInstanceGroups": [
- "ig-0570LPWAZXBSR3"
]
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler:scale"
}
}
Scale down MR Scaler instances
mrScalerId required | string Example: simrs-12223 The MRScaler ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
adjustment required | integer Example: adjustment=3 Number of instances to remove from the MR Scaler |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "modifiedInstanceGroups": [
- "ig-2470IUVXLJ652S",
- "ig-9870IUVXMYYW9"
], - "victimInstances": [
- "ig-0570LPWAZXBSR3"
]
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler:scale"
}
}
Get MR Scaler cluster
mrScalerId required | string Example: simrs-12223 The MRScaler ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "j-3N7WPI3R0D1R7",
- "availabilityZone": "us-east-1a",
- "state": "terminated",
- "createdAt": "2015-08-02T09:11:16.356Z",
- "updatedAt": "2015-08-02T10:11:16.356Z"
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler:cluster"
}
}
Get financial information on the MR Scaler, including running time, costs, and savings
mrScalerId required | string Example: simrs-12223 The MRScaler ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
fromDate required | string Example: fromDate=2020-09-01 or fromDate=1598918400000 Get items on or after this date (ISO 8601 or Unix timestamp) |
toDate required | string Example: toDate=2020-09-01 or fromDate=1598918400000 Get items on or before this date (ISO 8601 or Unix timestamp) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "running": {
- "value": 294.3,
- "unit": "hours"
}, - "savings": {
- "value": 60.5263,
- "unit": "percentage"
}, - "costs": {
- "actual": 8.829,
- "potential": 22.3668
}
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler:costs"
}
}
List all GCP Elastigroups for a Spot Account
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-1234567",
- "name": "spotinst-group",
- "description": "Some GCP Elastigroup description",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 20,
- "unit": "instance"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "taskType": "setCapacity",
- "cronExpression": "1 10 * * *",
- "targetCapacity": 2,
- "minCapacity": 1,
- "maxCapacity": 3
}
]
}, - "strategy": {
- "fallbackToOd": true,
- "optimizationWindows": [
- [
- "Mon:01:00-Mon:02:00"
]
], - "provisioningModel": "SPOT",
- "revertToPreemptible": {
- "performAt": "timeWindow"
}, - "preemptiblePercentage": 90,
- "onDemandCount": 2,
- "drainingTimeout": 30,
- "shouldUtilizeCommitments": true
}, - "compute": {
- "launchSpecification": {
- "metadata": [
- {
- "key": "environment",
- "value": "production"
}
], - "tags": [
- [
- "prod1",
- "testingfeature"
]
], - "backendServiceConfig": {
- "backendServices": [
- {
- "backendServiceName": "bserv-2",
- "locationType": "global",
- "scheme": null,
- "namedPorts": {
- "name": "https",
- "ports": [
- [
- 443,
- 8443
]
]
}
}
]
}, - "disks": [
- {
- "deviceName": null,
- "initializeParams": {
- "diskSizeGb": 10,
- "diskType": "pd-standard",
}, - "mode": "READ_WRITE",
- "source": null,
- "type": "PERSISTENT",
- "autoDelete": true,
- "boot": true,
- "interface": "SCSI"
}
], - "networkInterfaces": [
- {
- "network": "spot-network",
- "projectId": "test-project"
}
], - "shieldedInstanceConfig": {
- "enableSecureBoot": false,
- "enableIntegrityMonitoring": false
}, - "startupScript": "IyEvYmluL2Jhc2gNCnRvdWNoIHRlc3Qiquwhq38",
- "shutdownScript": null,
- "ipForwarding": false,
- "minCpuPlatform": "Intel Sandy Bridge",
- "instanceNamePrefix": "name-prefix"
}, - "instanceTypes": {
- "ondemand": "n1-standard-1",
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
], - "custom": {
- "vCPU": "4",
- "memoryGiB": "3.75"
}, - "preferred": {
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
], - "custom": {
- "vCPU": "4",
- "memoryGiB": "3.75"
}
}
}, - "availabilityZones": [
- "asia-east1-a",
- "asia-east1-b",
- "asia-east1-c"
], - "health": {
- "healthCheckType": "K8S_NODE",
- "autoHealing": true,
- "gracePeriod": 300,
- "unhealthyDuration": 250
}, - "preferredAvailabilityZones": [
- "asia-east1-a",
- "asia-east1-c"
], - "gpu": {
- "type": "nvidia-tesla-v100",
- "count": 1
}, - "subnets": [
- {
- "region": "us-west1",
- "subnetNames": [
- "private"
]
}
]
}, - "scaling": {
- "up": [
- {
- "policyName": "scale_up_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
], - "down": [
- {
- "policyName": "scale_down_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
]
}, - "thirdPartiesIntegration": {
- "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234
}, - "gke": {
- "autoUpdate": true,
- "autoScale": {
- "isEnabled": true,
- "isAutoConfig": false,
- "cooldown": 300,
- "headroom": {
- "cpuPerUnit": 1,
- "memoryPerUnit": 0,
- "numOfUnits": 1
}, - "down": {
- "evaluationPeriods": 5
}
}, - "clusterIdentifier": "gke-clust-1",
- "location": "us-west1"
}
}, - "createdAt": "2020-10-16T09:03:23.000Z",
- "updatedAt": "2020-10-16T09:03:23.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group"
}
}
Create a new GCP Elastigroup
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (GCP Elastigroup) | ||||||||||||||||||||
|
{- "group": {
- "name": "spotinst-group",
- "description": "Some GCP Elastigroup description",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 20,
- "unit": "instance"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "taskType": "setCapacity",
- "cronExpression": "1 10 * * *",
- "targetCapacity": 2,
- "minCapacity": 1,
- "maxCapacity": 3
}
]
}, - "strategy": {
- "fallbackToOd": true,
- "optimizationWindows": [
- [
- "Mon:01:00-Mon:02:00"
]
], - "provisioningModel": "SPOT",
- "revertToPreemptible": {
- "performAt": "timeWindow"
}, - "preemptiblePercentage": 90,
- "onDemandCount": 2,
- "drainingTimeout": 30,
- "shouldUtilizeCommitments": true
}, - "compute": {
- "launchSpecification": {
- "metadata": [
- {
- "key": "environment",
- "value": "production"
}
], - "tags": [
- [
- "prod1",
- "testingfeature"
]
], - "backendServiceConfig": {
- "backendServices": [
- {
- "backendServiceName": "bserv-2",
- "locationType": "global",
- "scheme": null,
- "namedPorts": {
- "name": "https",
- "ports": [
- [
- 443,
- 8443
]
]
}
}
]
}, - "disks": [
- {
- "deviceName": null,
- "initializeParams": {
- "diskSizeGb": 10,
- "diskType": "pd-standard",
}, - "mode": "READ_WRITE",
- "source": null,
- "type": "PERSISTENT",
- "autoDelete": true,
- "boot": true,
- "interface": "SCSI"
}
], - "networkInterfaces": [
- {
- "network": "spot-network",
- "projectId": "test-project"
}
], - "shieldedInstanceConfig": {
- "enableSecureBoot": false,
- "enableIntegrityMonitoring": false
}, - "startupScript": "IyEvYmluL2Jhc2gNCnRvdWNoIHRlc3Qiquwhq38",
- "shutdownScript": null,
- "ipForwarding": false,
- "minCpuPlatform": "Intel Sandy Bridge",
- "instanceNamePrefix": "name-prefix"
}, - "instanceTypes": {
- "ondemand": "n1-standard-1",
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
], - "custom": {
- "vCPU": "4",
- "memoryGiB": "3.75"
}, - "preferred": {
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
], - "custom": {
- "vCPU": "4",
- "memoryGiB": "3.75"
}
}
}, - "availabilityZones": [
- "asia-east1-a",
- "asia-east1-b",
- "asia-east1-c"
], - "health": {
- "healthCheckType": "K8S_NODE",
- "autoHealing": true,
- "gracePeriod": 300,
- "unhealthyDuration": 250
}, - "preferredAvailabilityZones": [
- "asia-east1-a",
- "asia-east1-c"
], - "gpu": {
- "type": "nvidia-tesla-v100",
- "count": 1
}, - "subnets": [
- {
- "region": "us-west1",
- "subnetNames": [
- "private"
]
}
]
}, - "scaling": {
- "up": [
- {
- "policyName": "scale_up_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
], - "down": [
- {
- "policyName": "scale_down_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
]
}, - "thirdPartiesIntegration": {
- "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234
}, - "gke": {
- "autoUpdate": true,
- "autoScale": {
- "isEnabled": true,
- "isAutoConfig": false,
- "cooldown": 300,
- "headroom": {
- "cpuPerUnit": 1,
- "memoryPerUnit": 0,
- "numOfUnits": 1
}, - "down": {
- "evaluationPeriods": 5
}
}, - "clusterIdentifier": "gke-clust-1",
- "location": "us-west1"
}
}, - "createdAt": "2020-10-16T09:03:23.000Z",
- "updatedAt": "2020-10-16T09:03:23.000Z"
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-1234567",
- "name": "spotinst-group",
- "description": "Some GCP Elastigroup description",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 20,
- "unit": "instance"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "taskType": "setCapacity",
- "cronExpression": "1 10 * * *",
- "targetCapacity": 2,
- "minCapacity": 1,
- "maxCapacity": 3
}
]
}, - "strategy": {
- "fallbackToOd": true,
- "optimizationWindows": [
- [
- "Mon:01:00-Mon:02:00"
]
], - "provisioningModel": "SPOT",
- "revertToPreemptible": {
- "performAt": "timeWindow"
}, - "preemptiblePercentage": 90,
- "onDemandCount": 2,
- "drainingTimeout": 30,
- "shouldUtilizeCommitments": true
}, - "compute": {
- "launchSpecification": {
- "metadata": [
- {
- "key": "environment",
- "value": "production"
}
], - "tags": [
- [
- "prod1",
- "testingfeature"
]
], - "backendServiceConfig": {
- "backendServices": [
- {
- "backendServiceName": "bserv-2",
- "locationType": "global",
- "scheme": null,
- "namedPorts": {
- "name": "https",
- "ports": [
- [
- 443,
- 8443
]
]
}
}
]
}, - "disks": [
- {
- "deviceName": null,
- "initializeParams": {
- "diskSizeGb": 10,
- "diskType": "pd-standard",
}, - "mode": "READ_WRITE",
- "source": null,
- "type": "PERSISTENT",
- "autoDelete": true,
- "boot": true,
- "interface": "SCSI"
}
], - "networkInterfaces": [
- {
- "network": "spot-network",
- "projectId": "test-project"
}
], - "shieldedInstanceConfig": {
- "enableSecureBoot": false,
- "enableIntegrityMonitoring": false
}, - "startupScript": "IyEvYmluL2Jhc2gNCnRvdWNoIHRlc3Qiquwhq38",
- "shutdownScript": null,
- "ipForwarding": false,
- "minCpuPlatform": "Intel Sandy Bridge",
- "instanceNamePrefix": "name-prefix"
}, - "instanceTypes": {
- "ondemand": "n1-standard-1",
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
], - "custom": {
- "vCPU": "4",
- "memoryGiB": "3.75"
}, - "preferred": {
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
], - "custom": {
- "vCPU": "4",
- "memoryGiB": "3.75"
}
}
}, - "availabilityZones": [
- "asia-east1-a",
- "asia-east1-b",
- "asia-east1-c"
], - "health": {
- "healthCheckType": "K8S_NODE",
- "autoHealing": true,
- "gracePeriod": 300,
- "unhealthyDuration": 250
}, - "preferredAvailabilityZones": [
- "asia-east1-a",
- "asia-east1-c"
], - "gpu": {
- "type": "nvidia-tesla-v100",
- "count": 1
}, - "subnets": [
- {
- "region": "us-west1",
- "subnetNames": [
- "private"
]
}
]
}, - "scaling": {
- "up": [
- {
- "policyName": "scale_up_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
], - "down": [
- {
- "policyName": "scale_down_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
]
}, - "thirdPartiesIntegration": {
- "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234
}, - "gke": {
- "autoUpdate": true,
- "autoScale": {
- "isEnabled": true,
- "isAutoConfig": false,
- "cooldown": 300,
- "headroom": {
- "cpuPerUnit": 1,
- "memoryPerUnit": 0,
- "numOfUnits": 1
}, - "down": {
- "evaluationPeriods": 5
}
}, - "clusterIdentifier": "gke-clust-1",
- "location": "us-west1"
}
}, - "createdAt": "2020-10-16T09:03:23.000Z",
- "updatedAt": "2020-10-16T09:03:23.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group"
}
}
List all properties for single GCP Elastigroup
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-1234567",
- "name": "spotinst-group",
- "description": "Some GCP Elastigroup description",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 20,
- "unit": "instance"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "taskType": "setCapacity",
- "cronExpression": "1 10 * * *",
- "targetCapacity": 2,
- "minCapacity": 1,
- "maxCapacity": 3
}
]
}, - "strategy": {
- "fallbackToOd": true,
- "optimizationWindows": [
- [
- "Mon:01:00-Mon:02:00"
]
], - "provisioningModel": "SPOT",
- "revertToPreemptible": {
- "performAt": "timeWindow"
}, - "preemptiblePercentage": 90,
- "onDemandCount": 2,
- "drainingTimeout": 30,
- "shouldUtilizeCommitments": true
}, - "compute": {
- "launchSpecification": {
- "metadata": [
- {
- "key": "environment",
- "value": "production"
}
], - "tags": [
- [
- "prod1",
- "testingfeature"
]
], - "backendServiceConfig": {
- "backendServices": [
- {
- "backendServiceName": "bserv-2",
- "locationType": "global",
- "scheme": null,
- "namedPorts": {
- "name": "https",
- "ports": [
- [
- 443,
- 8443
]
]
}
}
]
}, - "disks": [
- {
- "deviceName": null,
- "initializeParams": {
- "diskSizeGb": 10,
- "diskType": "pd-standard",
}, - "mode": "READ_WRITE",
- "source": null,
- "type": "PERSISTENT",
- "autoDelete": true,
- "boot": true,
- "interface": "SCSI"
}
], - "networkInterfaces": [
- {
- "network": "spot-network",
- "projectId": "test-project"
}
], - "shieldedInstanceConfig": {
- "enableSecureBoot": false,
- "enableIntegrityMonitoring": false
}, - "startupScript": "IyEvYmluL2Jhc2gNCnRvdWNoIHRlc3Qiquwhq38",
- "shutdownScript": null,
- "ipForwarding": false,
- "minCpuPlatform": "Intel Sandy Bridge",
- "instanceNamePrefix": "name-prefix"
}, - "instanceTypes": {
- "ondemand": "n1-standard-1",
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
], - "custom": {
- "vCPU": "4",
- "memoryGiB": "3.75"
}, - "preferred": {
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
], - "custom": {
- "vCPU": "4",
- "memoryGiB": "3.75"
}
}
}, - "availabilityZones": [
- "asia-east1-a",
- "asia-east1-b",
- "asia-east1-c"
], - "health": {
- "healthCheckType": "K8S_NODE",
- "autoHealing": true,
- "gracePeriod": 300,
- "unhealthyDuration": 250
}, - "preferredAvailabilityZones": [
- "asia-east1-a",
- "asia-east1-c"
], - "gpu": {
- "type": "nvidia-tesla-v100",
- "count": 1
}, - "subnets": [
- {
- "region": "us-west1",
- "subnetNames": [
- "private"
]
}
]
}, - "scaling": {
- "up": [
- {
- "policyName": "scale_up_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
], - "down": [
- {
- "policyName": "scale_down_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
]
}, - "thirdPartiesIntegration": {
- "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234
}, - "gke": {
- "autoUpdate": true,
- "autoScale": {
- "isEnabled": true,
- "isAutoConfig": false,
- "cooldown": 300,
- "headroom": {
- "cpuPerUnit": 1,
- "memoryPerUnit": 0,
- "numOfUnits": 1
}, - "down": {
- "evaluationPeriods": 5
}
}, - "clusterIdentifier": "gke-clust-1",
- "location": "us-west1"
}
}, - "createdAt": "2020-10-16T09:03:23.000Z",
- "updatedAt": "2020-10-16T09:03:23.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group"
}
}
Delete an Elastigroup GCP
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Update an GCP Elastigroup
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (GCP Elastigroup) Elastigroup Configuration | ||||||||||||||||
|
{- "group": {
- "name": "spotinst-group",
- "description": "Some GCP Elastigroup description",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 20
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "taskType": "setCapacity",
- "cronExpression": "1 10 * * *",
- "targetCapacity": 2,
- "minCapacity": 1,
- "maxCapacity": 3
}
]
}, - "strategy": {
- "fallbackToOd": true,
- "optimizationWindows": [
- [
- "Mon:01:00-Mon:02:00"
]
], - "provisioningModel": "SPOT",
- "revertToPreemptible": {
- "performAt": "timeWindow"
}, - "preemptiblePercentage": 90,
- "onDemandCount": 2,
- "drainingTimeout": 30,
- "shouldUtilizeCommitments": true
}, - "compute": {
- "health": {
- "healthCheckType": "K8S_NODE",
- "autoHealing": true,
- "gracePeriod": 300,
- "unhealthyDuration": 250
}, - "launchSpecification": {
- "metadata": [
- {
- "key": "environment",
- "value": "production"
}
], - "tags": [
- [
- "prod1",
- "testingfeature"
]
], - "backendServiceConfig": {
- "backendServices": [
- {
- "backendServiceName": "bserv-2",
- "locationType": "global",
- "scheme": null,
- "namedPorts": {
- "name": "https",
- "ports": [
- [
- 443,
- 8443
]
]
}
}
]
}, - "disks": [
- {
- "deviceName": null,
- "initializeParams": {
- "diskSizeGb": 10,
- "diskType": "pd-standard",
}, - "mode": "READ_WRITE",
- "source": null,
- "type": "PERSISTENT",
- "autoDelete": true,
- "boot": true,
- "interface": "SCSI"
}
], - "networkInterfaces": [
- {
- "network": "spot-network",
- "projectId": "test-project"
}
], - "shieldedInstanceConfig": {
- "enableSecureBoot": false,
- "enableIntegrityMonitoring": false
}, - "startupScript": "IyEvYmluL2Jhc2gNCnRvdWNoIHRlc3Qiquwhq38",
- "shutdownScript": null,
- "ipForwarding": false,
- "minCpuPlatform": "Intel Sandy Bridge"
}, - "instanceTypes": {
- "ondemand": "n1-standard-1",
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
], - "custom": {
- "vCPU": "4",
- "memoryGiB": "3.75"
}, - "preferred": {
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
], - "custom": {
- "vCPU": "4",
- "memoryGiB": "3.75"
}
}
}, - "availabilityZones": [
- "asia-east1-a",
- "asia-east1-b",
- "asia-east1-c"
], - "preferredAvailabilityZones": [
- "asia-east1-a",
- "asia-east1-c"
], - "gpu": {
- "type": "nvidia-tesla-v100",
- "count": 1
}, - "subnets": [
- {
- "region": "us-west1",
- "subnetNames": [
- "private"
]
}
]
}, - "scaling": {
- "up": [
- {
- "policyName": "scale_up_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
], - "down": [
- {
- "policyName": "scale_down_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
]
}, - "thirdPartiesIntegration": {
- "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234
}, - "gke": {
- "autoUpdate": true,
- "autoScale": {
- "isEnabled": true,
- "isAutoConfig": false,
- "cooldown": 300,
- "headroom": {
- "cpuPerUnit": 1,
- "memoryPerUnit": 0,
- "numOfUnits": 1
}, - "down": {
- "evaluationPeriods": 5
}
}, - "clusterIdentifier": "gke-clust-1",
- "location": "us-west1"
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-1234567",
- "name": "spotinst-group",
- "description": "Some GCP Elastigroup description",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 20,
- "unit": "instance"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "taskType": "setCapacity",
- "cronExpression": "1 10 * * *",
- "targetCapacity": 2,
- "minCapacity": 1,
- "maxCapacity": 3
}
]
}, - "strategy": {
- "fallbackToOd": true,
- "optimizationWindows": [
- [
- "Mon:01:00-Mon:02:00"
]
], - "provisioningModel": "SPOT",
- "revertToPreemptible": {
- "performAt": "timeWindow"
}, - "preemptiblePercentage": 90,
- "onDemandCount": 2,
- "drainingTimeout": 30,
- "shouldUtilizeCommitments": true
}, - "compute": {
- "launchSpecification": {
- "metadata": [
- {
- "key": "environment",
- "value": "production"
}
], - "tags": [
- [
- "prod1",
- "testingfeature"
]
], - "backendServiceConfig": {
- "backendServices": [
- {
- "backendServiceName": "bserv-2",
- "locationType": "global",
- "scheme": null,
- "namedPorts": {
- "name": "https",
- "ports": [
- [
- 443,
- 8443
]
]
}
}
]
}, - "disks": [
- {
- "deviceName": null,
- "initializeParams": {
- "diskSizeGb": 10,
- "diskType": "pd-standard",
}, - "mode": "READ_WRITE",
- "source": null,
- "type": "PERSISTENT",
- "autoDelete": true,
- "boot": true,
- "interface": "SCSI"
}
], - "networkInterfaces": [
- {
- "network": "spot-network",
- "projectId": "test-project"
}
], - "shieldedInstanceConfig": {
- "enableSecureBoot": false,
- "enableIntegrityMonitoring": false
}, - "startupScript": "IyEvYmluL2Jhc2gNCnRvdWNoIHRlc3Qiquwhq38",
- "shutdownScript": null,
- "ipForwarding": false,
- "minCpuPlatform": "Intel Sandy Bridge",
- "instanceNamePrefix": "name-prefix"
}, - "instanceTypes": {
- "ondemand": "n1-standard-1",
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
], - "custom": {
- "vCPU": "4",
- "memoryGiB": "3.75"
}, - "preferred": {
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
], - "custom": {
- "vCPU": "4",
- "memoryGiB": "3.75"
}
}
}, - "availabilityZones": [
- "asia-east1-a",
- "asia-east1-b",
- "asia-east1-c"
], - "health": {
- "healthCheckType": "K8S_NODE",
- "autoHealing": true,
- "gracePeriod": 300,
- "unhealthyDuration": 250
}, - "preferredAvailabilityZones": [
- "asia-east1-a",
- "asia-east1-c"
], - "gpu": {
- "type": "nvidia-tesla-v100",
- "count": 1
}, - "subnets": [
- {
- "region": "us-west1",
- "subnetNames": [
- "private"
]
}
]
}, - "scaling": {
- "up": [
- {
- "policyName": "scale_up_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
], - "down": [
- {
- "policyName": "scale_down_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
]
}, - "thirdPartiesIntegration": {
- "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234
}, - "gke": {
- "autoUpdate": true,
- "autoScale": {
- "isEnabled": true,
- "isAutoConfig": false,
- "cooldown": 300,
- "headroom": {
- "cpuPerUnit": 1,
- "memoryPerUnit": 0,
- "numOfUnits": 1
}, - "down": {
- "evaluationPeriods": 5
}
}, - "clusterIdentifier": "gke-clust-1",
- "location": "us-west1"
}
}, - "createdAt": "2020-10-16T09:03:23.000Z",
- "updatedAt": "2020-10-16T09:03:23.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group"
}
}
Get the status for all instances that are memebers of the Elastigroup
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "privateIpAddress": "string",
- "machineType": "string",
- "zone": "string",
- "instanceName": "string",
- "lifeCycle": "string",
- "provisioningModel": "string",
- "statusName": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:status"
}
}
Get all activity events for the Elastigroup
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
fromDate required | string <date-time> Example: fromDate=2019-05-17 Get items on or after this date (ISO 8601) |
toDate required | string <date-time> Example: toDate=2019-05-25 Get items on or before this date (ISO 8601) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "groudId": "sig-576g654",
- "eventType": "RollFinished",
- "createdAt": "2018-03-01T09:58:16.000+0000",
- "subEvents": [
- {
- "id": "sbgd-1234567",
- "groupId": "sig-576g654",
- "currentBatch": 1,
- "numOfBatches": 1,
- "gracePeriod": 300,
- "type": "rollInfo",
- "status": null,
- "createdAt": "2018-03-01T09:58:16.000+0000"
}
]
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:event"
}
}
Fetch a group's Elastilog
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
fromDate required | string Example: fromDate=2020-09-01 or fromDate=1598918400000 Get items on or after this date (ISO 8601 or Unix timestamp) |
limit | integer <= 1000 Default: 500 Example: limit=200 Maximum number of items to return. |
toDate required | string Example: toDate=2020-09-01 or fromDate=1598918400000 Get items on or before this date (ISO 8601 or Unix timestamp) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "message": "Group sig-e0a2bd7c successfully created.",
- "severity": "INFO",
- "createdAt": "2019-05-19T14:34:15.000Z"
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:log"
}
}
Add instances to the Elastigroup
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
adjustment required | integer Example: adjustment=1 The number of instances to add to the group |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "newPreemptibles": [
- {
- "instanceName": "sin-9da52709"
}
], - "newInstances": [
- {
- "instanceName": "sin-1591c0b6"
}
]
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:preemptible"
}
}
Remove instances from the Elastigroup
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
adjustment required | integer Example: adjustment=1 The number of instances to remove from the group |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "victimPreemptibles": [
- {
- "instanceName": "sin-4ecd5037",
- "zone": "asia-east1-b",
- "machineType": "N1_STANDARD_2"
}
], - "victimInstances": [
- {
- "instanceName": "sin-31e0596a",
- "zone": "europe-west1-c",
- "machineType": "N1_STANDARD_1"
}
]
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:scale"
}
}
Retrieve costs up to one year back per specified account over a specified time period.
accountId | string Example: accountId=act-12345678 The Spot account ID for which the cost information should be returned. |
fromDate | string Example: fromDate=2016-01-10T00:00:00.000Z
|
toDate | string Example: toDate=2016-01-10T01:00:00.000Z
|
{- "request": {
- "id": "67582d0c-108b-4ef7-9fdc-d39678a30844",
- "url": "/gcp/gce/costs",
- "method": "GET",
- "timestamp": "2016-01-10T01:00:00.000Z"
}, - "response": {
- "kind": "spotinst:gcp:costs",
- "items": [
- {
- "preemptible": {
- "runningHours": 1470.8,
- "actualCosts": 107.3,
- "potentialCosts": 378.41,
- "savingsPercentage": 71.64
}
}
], - "count": 1
}
}
Get financial information on a specific Elastigroup
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
fromDate required | string Example: fromDate=2020-09-01 or fromDate=1598918400000 Get items on or after this date (ISO 8601 or Unix timestamp) |
toDate required | string Example: toDate=2020-09-01 or fromDate=1598918400000 Get items on or before this date (ISO 8601 or Unix timestamp) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "running": {
- "value": 294.3,
- "unit": "hours"
}, - "savings": {
- "value": 60.5263,
- "unit": "percentage"
}, - "costs": {
- "actual": 8.829,
- "potential": 22.3668
}
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:costs"
}
}
Get all of the deployments for a specific Elastigroup, and their status
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-01f01234",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 0
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:roll"
}
}
Deploy the Elastigroup: Triggers a Blue/Green deployment that replaces the existing instances in the Elastigroup
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
batchSizePercentage required | integer (in percentage) the batch size of the deployment, i.e.: how many instances to replace in each batch |
gracePeriod required | integer (in seconds) the time until an instance becomes healthy in the load balancer |
{- "batchSizePercentage": 20,
- "gracePeriod": 300
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-01f01234",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 0
}
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:roll"
}
}
Get a specific deployment's status
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
rollId required | string The deployment ID to query |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-01f01234",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 0
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:roll"
}
}
Stop an existing deployment
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
rollId required | string The deployment ID to query |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object | |||
|
{- "roll": {
- "status": "STOPPED"
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-01f01234",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 0
}
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:roll"
}
}
Detach instances from an Elastigroup
groupId required | string Example: sig-12345 Elastigroup ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
drainingTimeout | integer (Applies only if shouldTerminateInstances is on) The draining timeout (in seconds) before terminating the instance. If no draining timeout is defined, the group's draining timeout applies. |
instancesToDetach | Array of strings The names of the instances to detach from the group. |
shouldDecrementTargetCapacity | boolean Indicates whether to decrement the capacity of the group, so no new instance will be launched instead of the detached one. |
shouldTerminateInstances | boolean Indicates whether to terminate the instances or not. |
{- "instancesToDetach": [
- "sin-44c02836",
- "sin-ddf71dfa"
], - "shouldTerminateInstances": true,
- "shouldDecrementTargetCapacity": true,
- "drainingTimeout": 0
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:gcp:gce:detachInstances"
}
}
Get the current instance status. Possible status values: ACTIVE
, TERMINATING
instanceId required | string GCP Instance ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "instanceName": "sin-123",
- "lifeCycleState": "ACTIVE",
- "privateIp": "10.0.0.1",
- "groupId": "sig-123"
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:instance"
}
}
Set termination protection for a specific instance.
instanceId required | string GCP Instance ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
ttlInMinutes required | string Specify a TTL (in minutes) for this lock, i.e.: for how long the protection will be valid for. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Remove termination protection for a specific instance.
instanceId required | string GCP Instance ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Update an Azure Elastigroup cluster.
groupId required | string Example: sig-123123 Elastigroup's ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (Azure Elastigroup) | ||||||||||||||||||
|
{- "group": {
- "name": "spotinst-group",
- "description": "This is my example elastigroup",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "strategy": {
- "spotPercentage": 50,
- "onDemandCount": 0,
- "drainingTimeout": 30,
- "fallbackToOd": true,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "availabilityVsCost": 100,
- "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}
}, - "scaling": {
- "up": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
], - "down": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 8,
- "minStorage": 5,
- "maxStorage": 50,
- "minMemory": 2,
- "maxMemory": 2,
- "cpuArchitecture": "X64"
}, - "excludedVmSizes": [
- "standard_a2_v2",
- "standard_d2s_v3"
]
}, - "launchSpecification": {
- "vmNamePrefix": "prefix",
- "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "version": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "STANDARD",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa",
- "password": "string"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "sku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "managedServiceIdentities": [
- {
- "name": "mySI2",
- "resourceGroupName": "myResourceGroup"
}
], - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
], - "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "confidentialOsDiskEncryption": false,
- "encryptionAtHost": true
}, - "proximityPlacementGroups": [
- {
- "name": "testPPG",
- "resourceGroupName": "testResourceGroup"
}
]
}, - "zones": [
- "1"
], - "preferredZones": [
- "1"
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": "string",
- "cronExpression": "0 1 * * *",
- "type": "scale",
- "scaleTargetCapacity": 0,
- "scaleMaxCapacity": 0,
- "scaleMinCapacity": 0
}
]
}, - "integrations": {
- "azureDns": {
- "dnsZones": [
- {
- "type": "public",
- "resourceGroup": "myResourceGroup",
- "name": "myDnsName",
- "recordSets": [
- {
- "name": "myRecordSet"
}
], - "spotAccountId": "string"
}
]
}, - "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/group/sig-12345",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "description": "This is my example elastigroup",
- "region": "westus2",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "strategy": {
- "spotPercentage": 50,
- "drainingTimeout": 30,
- "fallbackToOd": true,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "availabilityVsCost": 100,
- "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}
}, - "scaling": {
- "up": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
], - "down": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 8,
- "minStorage": 5,
- "maxStorage": 50,
- "minMemory": 2,
- "maxMemory": 2,
- "cpuArchitecture": "X64"
}, - "excludedVmSizes": [
- "standard_a2_v2",
- "standard_d2s_v3"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "confidentialOsDiskEncryption": false,
- "encryptionAtHost": true
}, - "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "version": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "STANDARD",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "sku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
]
}, - "zones": [
- "1"
], - "preferredZones": [
- "1"
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": "string",
- "cronExpression": "0 1 * * *",
- "type": "scale",
- "scaleTargetCapacity": 0,
- "scaleMaxCapacity": 0,
- "scaleMinCapacity": 0
}
]
}, - "integrations": {
- "azureDns": {
- "dnsZones": [
- {
- "type": "public",
- "resourceGroup": "myResourceGroup",
- "name": "myDnsName",
- "recordSets": [
- {
- "name": "myRecordSet"
}
], - "spotAccountId": "string"
}
]
}, - "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group"
}
}
List an Elastigroup cluster.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/group/sig-12345",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "description": "This is my example elastigroup",
- "region": "westus2",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "strategy": {
- "spotPercentage": 50,
- "drainingTimeout": 30,
- "fallbackToOd": true,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "availabilityVsCost": 100,
- "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}
}, - "scaling": {
- "up": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
], - "down": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 8,
- "minStorage": 5,
- "maxStorage": 50,
- "minMemory": 2,
- "maxMemory": 2,
- "cpuArchitecture": "X64"
}, - "excludedVmSizes": [
- "standard_a2_v2",
- "standard_d2s_v3"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "confidentialOsDiskEncryption": false,
- "encryptionAtHost": true
}, - "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "version": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "STANDARD",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "sku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
]
}, - "zones": [
- "1"
], - "preferredZones": [
- "1"
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": "string",
- "cronExpression": "0 1 * * *",
- "type": "scale",
- "scaleTargetCapacity": 0,
- "scaleMaxCapacity": 0,
- "scaleMinCapacity": 0
}
]
}, - "integrations": {
- "azureDns": {
- "dnsZones": [
- {
- "type": "public",
- "resourceGroup": "myResourceGroup",
- "name": "myDnsName",
- "recordSets": [
- {
- "name": "myRecordSet"
}
], - "spotAccountId": "string"
}
]
}, - "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group"
}
}
Delete an Elastigroup cluster.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/group/sig-12345",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Update the capacity of an Elastigroup
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object (Capacity) Capacity of Elastigroup. | |||||||
|
{- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group:capacity"
}
}
Create a new Elastigroup cluster.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (Azure Elastigroup) Azure Elastigroup Configuration | ||||||||||||||||||||||
|
{- "group": {
- "name": "spotinst-group",
- "description": "This is my example elastigroup",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": {
- "isEnabled": "true",
- "source": "azureMonitor",
- "policyName": "cpuScale",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "Count",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}, - "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
]
}, - "down": {
- "isEnabled": "true",
- "source": "azureMonitor",
- "policyName": "cpuScale",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "Count",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}, - "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
]
}
}, - "strategy": {
- "spotPercentage": 100,
- "onDemandCount": 3,
- "drainingTimeout": 120,
- "revertToSpot": {
- "performAt": "always"
}, - "optimizationWindows": [
- "string"
], - "signals": [
- {
- "timeout": 50,
- "type": "vmReady"
}
], - "availabilityVsCost": 100,
- "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}, - "fallbackToOd": true
}, - "health": {
- "autoHealing": false,
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 300,
- "unhealthyDuration": 360
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_b1s"
], - "spotSizes": [
- "standard_a1_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 8,
- "minStorage": 5,
- "maxStorage": 50,
- "minMemory": 2,
- "maxMemory": 2,
- "cpuArchitecture": "X64"
}, - "excludedVmSizes": [
- "standard_a2_v2",
- "standard_d2s_v3"
]
}, - "os": "Linux",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "version": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "sku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "managedServiceIdentities": [
- {
- "resourceGroupName": "Resourse Group 1",
- "name": "Test"
}
], - "shutdownScript": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=",
- "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "STANDARD",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "privateIpAddresses": [
- [
- "172.232.5.3",
- "172.23.5.4",
- "172.23.5.7",
- "172.23.5.8",
- "172.23.5.9",
- "172.23.5.10"
]
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "extensions": [
- {
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}, - "publicSettings": { },
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "apiVersion": 1,
- "minorVersionAutoUpgrade": true
}
], - "dataDisks": [
- {
- "type": "Standard_LRS",
- "lun": 6,
- "sizeGB": 10
}
], - "osDisk": {
- "type": "Standard_LRS",
- "size": 6
}, - "vmNamePrefix": "prefix",
- "customData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}, - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
], - "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "confidentialOsDiskEncryption": false,
- "encryptionAtHost": true
}, - "proximityPlacementGroups": [
- {
- "name": "testPPG",
- "resourceGroupName": "testResourceGroup"
}
]
}, - "zones": [
- "1"
], - "preferredZones": [
- "1"
]
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": "string",
- "cronExpression": "0 1 * * *",
- "type": "scale",
- "scaleTargetCapacity": 0,
- "scaleMaxCapacity": 0,
- "scaleMinCapacity": 0
}
]
}, - "integrations": {
- "azureDns": {
- "dnsZones": [
- {
- "type": "public",
- "resourceGroup": "myResourceGroup",
- "name": "myDnsName",
- "recordSets": [
- {
- "name": "myRecordSet"
}
], - "spotAccountId": "string"
}
]
}, - "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/group",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "description": "This is my example elastigroup",
- "region": "westus2",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "strategy": {
- "spotPercentage": 50,
- "drainingTimeout": 30,
- "fallbackToOd": true,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "availabilityVsCost": 100,
- "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}
}, - "scaling": {
- "up": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
], - "down": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 8,
- "minStorage": 5,
- "maxStorage": 50,
- "minMemory": 2,
- "maxMemory": 2,
- "cpuArchitecture": "X64"
}, - "excludedVmSizes": [
- "standard_a2_v2",
- "standard_d2s_v3"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "confidentialOsDiskEncryption": false,
- "encryptionAtHost": true
}, - "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "version": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "STANDARD",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "sku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
]
}, - "zones": [
- "1"
], - "preferredZones": [
- "1"
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": "string",
- "cronExpression": "0 1 * * *",
- "type": "scale",
- "scaleTargetCapacity": 0,
- "scaleMaxCapacity": 0,
- "scaleMinCapacity": 0
}
]
}, - "integrations": {
- "azureDns": {
- "dnsZones": [
- {
- "type": "public",
- "resourceGroup": "myResourceGroup",
- "name": "myDnsName",
- "recordSets": [
- {
- "name": "myRecordSet"
}
], - "spotAccountId": "string"
}
]
}, - "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group"
}
}
List Elastigroup clusters.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
name | string Example: name=TestGroup Filters to find the Elastigroup via a specific name. |
region | string Example: region=eastus Filters to find all the groups in a specific region. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/group",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "description": "This is my example elastigroup",
- "region": "westus2",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "strategy": {
- "spotPercentage": 50,
- "drainingTimeout": 30,
- "fallbackToOd": true,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "availabilityVsCost": 100,
- "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}
}, - "scaling": {
- "up": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
], - "down": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 8,
- "minStorage": 5,
- "maxStorage": 50,
- "minMemory": 2,
- "maxMemory": 2,
- "cpuArchitecture": "X64"
}, - "excludedVmSizes": [
- "standard_a2_v2",
- "standard_d2s_v3"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "confidentialOsDiskEncryption": false,
- "encryptionAtHost": true
}, - "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "version": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "STANDARD",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "sku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
]
}, - "zones": [
- "1"
], - "preferredZones": [
- "1"
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": "string",
- "cronExpression": "0 1 * * *",
- "type": "scale",
- "scaleTargetCapacity": 0,
- "scaleMaxCapacity": 0,
- "scaleMinCapacity": 0
}
]
}, - "integrations": {
- "azureDns": {
- "dnsZones": [
- {
- "type": "public",
- "resourceGroup": "myResourceGroup",
- "name": "myDnsName",
- "recordSets": [
- {
- "name": "myRecordSet"
}
], - "spotAccountId": "string"
}
]
}, - "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group"
}
}
Get status of Elastigroup cluster.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "status": "ready",
- "vms": [
- {
- "vmName": "vm-12345",
- "region": "eastus",
- "vmSize": "standard_a1_v2",
- "lifeCycle": "spot",
- "os": "Linux",
- "privateIp": "192.0.0.1",
- "publicIp": "183.123.67.79",
- "provisioningState": "succeeded",
- "powerState": "running",
- "createdAt": "2020-06-18T12:02:49.000Z"
}
], - "suspendedProcesses": [
- {
- "name": "autoHealing",
- "expiresAt": "2020-11-10T18:43:52.000Z"
}, - {
- "name": "signalTimeout"
}, - {
- "name": "autoScale"
}, - {
- "name": "scaleDown"
}, - {
- "name": "syncStrategy",
- "expiresAt": "2020-11-10T17:43:52.000Z"
}
]
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group:status"
}
}
Get a list of vms with health status.
groupId required | string Example: sig-123123 Elastigroup's ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/group/sig-123123/vmHealthiness",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "vmName": "vm-123456789",
- "lifeCycle": "SPOT",
- "healthStatus": "HEALTHY"
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group:vmHealthiness"
}
}
Suspends the Group.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | Array of objects List of processes to create or update their suspensions | ||||
Array
|
{- "processes": [
- {
- "name": "autoHealing",
- "ttlInMinute": 120
}, - {
- "name": "signalTimeout"
}
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/group/sig-12345/suspend?accountId=act-123456789",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Resumes the Group.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | Array of objects List of processes to cancel their suspensions | ||
Array
|
{- "processes": [
- {
- "name": "syncStrategy"
}, - {
- "name": "signalTimeout"
}
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/group/sig-12345/resume?accountId=act-123456789",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Scale down specific virtual machines in Elastigroup cluster.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
drainingTimeout | string Default: 120 The time in seconds to allow the virtual machine be be drained from incoming TCP connections and detached from MLB before terminating it. |
shouldDecrementTargetCapacity required | boolean Prevent Elastigroup from scaling back to target capacity when virtual machines are detached. |
shouldDeregisterVmFromLb | boolean Default: true Indicates whether to deregister the stateful node's VM from any type of load balancer. Will only be applied if the shouldTerminateVms is 'false' |
shouldTerminateVms required | boolean Whether to terminate the VMs or not. |
vmsToDetach required | Array of strings Array of virtual machine names to detach. |
{- "vmsToDetach": [
- "vm-0fbd69f960db"
], - "shouldTerminateVms": true,
- "shouldDecrementTargetCapacity": true,
- "shouldDeregisterVmFromLb": true,
- "drainingTimeout": 300
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "detachedVms": [
- {
- "vmName": "vm-12345",
- "region": "eastus",
- "vmSize": "standard_a1_v2",
- "lifeCycle": "spot",
- "os": "Linux",
- "privateIp": "192.0.0.1",
- "publicIp": "183.123.67.79",
- "provisioningState": "succeeded",
- "powerState": "detached",
- "createdAt": "2020-06-18T12:02:49.000Z"
}
], - "newVms": [
- {
- "vmName": "vm-56789",
- "region": "eastus",
- "vmSize": "standard_a1_v2",
- "lifeCycle": "spot",
- "os": "Linux",
- "privateIp": "192.0.0.1",
- "publicIp": "183.123.67.79",
- "provisioningState": "succeeded",
- "powerState": "running",
- "createdAt": "2020-06-18T12:02:49.000Z"
}
]
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group:detachVms"
}
}
Scale down virtual machines in Elastigroup cluster.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
adjustment required | integer >= 1 Example: adjustment=5 Number of VMs to scale down |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "status": "ready",
- "vms": [
- {
- "vmName": "vm-12345",
- "region": "eastus",
- "vmSize": "standard_a1_v2",
- "lifeCycle": "spot",
- "os": "Linux",
- "privateIp": "192.0.0.1",
- "publicIp": "183.123.67.79",
- "provisioningState": "succeeded",
- "powerState": "running",
- "createdAt": "2020-06-18T12:02:49.000Z"
}
], - "suspendedProcesses": [
- {
- "name": "autoHealing",
- "expiresAt": "2020-11-10T18:43:52.000Z"
}, - {
- "name": "signalTimeout"
}, - {
- "name": "autoScale"
}, - {
- "name": "scaleDown"
}, - {
- "name": "syncStrategy",
- "expiresAt": "2020-11-10T17:43:52.000Z"
}
]
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group:status"
}
}
Scale up virtual machines in Elastigroup cluster.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
adjustment required | integer >= 1 Example: adjustment=5 Number of VMs to scale up |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "status": "ready",
- "vms": [
- {
- "vmName": "vm-12345",
- "region": "eastus",
- "vmSize": "standard_a1_v2",
- "lifeCycle": "spot",
- "os": "Linux",
- "privateIp": "192.0.0.1",
- "publicIp": "183.123.67.79",
- "provisioningState": "succeeded",
- "powerState": "running",
- "createdAt": "2020-06-18T12:02:49.000Z"
}
], - "suspendedProcesses": [
- {
- "name": "autoHealing",
- "expiresAt": "2020-11-10T18:43:52.000Z"
}, - {
- "name": "signalTimeout"
}, - {
- "name": "autoScale"
}, - {
- "name": "scaleDown"
}, - {
- "name": "syncStrategy",
- "expiresAt": "2020-11-10T17:43:52.000Z"
}
]
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group:status"
}
}
Deploy the Elastigroup. This triggers a Blue/Green deployment that replaces the existing VMs in the Elastigroup.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object (groupVmDeployment) | |||||||||||
|
{- "deployment": {
- "batchSizePercentage": 50,
- "gracePeriod": 300,
- "batchMinHealthyPercentage": 100,
- "drainingTimeout": 120,
- "healthCheckTypes": [
- "vmState"
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-f331fb8e",
- "groupId": "sig-a7aa60cd",
- "status": "deploymentStart",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 10
}, - "updatedAt": "2020-06-22T11:15:06.614Z",
- "createdAt": "2020-06-22T11:15:06.614Z"
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group:deployment"
}
}
Get a list of all the deployments of a specific Elastigroup and the status of each one.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
LIMIT | integer Example: LIMIT=14 Limits the number of deployments returned. Default: 5 |
SORT | string Example: SORT=createdAt:DESC Field by which to sort the results. Default: createdAt:DESC |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-f331fb8e",
- "groupId": "sig-a7aa60cd",
- "status": "deploymentStart",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 10
}, - "updatedAt": "2020-06-22T11:15:06.614Z",
- "createdAt": "2020-06-22T11:15:06.614Z"
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group:deployment"
}
}
Get the status of a specific deployment.
deploymentId required | string Example: sbgd-9876 The deployment ID you want to query. |
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-f331fb8e",
- "groupId": "sig-a7aa60cd",
- "status": "deploymentStart",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 10
}, - "updatedAt": "2020-06-22T11:15:06.614Z",
- "createdAt": "2020-06-22T11:15:06.614Z"
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group:deployment"
}
}
Get the detailed status of a specific deployment. This includes status details per batch and other information.
deploymentId required | string Example: sbgd-9876 The deployment ID you want to query. |
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "detailsOverview": {
- "deploymentId": "sbgd-04c4658b",
- "numberOfBatches": 2,
- "currentBatch": 2,
- "gracePeriod": 2,
- "blueVms": 2,
- "greenVms": 1,
- "description": null,
- "errorMessage": null,
- "createdAt": "2020-06-18T05:33:18.000Z",
- "healthCheck": [
- "instanceState"
]
}, - "batches": [
- {
- "batch": 1,
- "blue": {
- "vmName": "i-57ef3cf7a694",
- "batchNum": 1,
- "status": "detached",
- "type": "old",
- "updatedAt": "2020-06-18T11:16:58.000Z"
}, - "green": {
- "vmName": "i-f2a44ba41875",
- "batchNum": 1,
- "status": "detached",
- "type": "old",
- "updatedAt": "2020-06-18T11:16:58.000Z"
}
}
], - "events": [
- {
- "status": "deploymentStart",
- "eventType": "Batch 1 - Launching New instances",
- "timestamp": "2020-06-18T05:33:18.000Z"
}
]
}
], - "count": 1,
- "kind": "spotinst:azure:compute:deployment:details"
}
}
Given a scale set, constructs a valid group configuration based on the scale set and returns it.
resourceGroupName required | string Example: ExampleResourceGroup Resource Group Name - Must be valid. |
scaleSetName required | string Example: MyExampleScaleSetImport Scale Set Name - Must be valid |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/group/import/resourceGroup/myResourceGroup/scaleSet/myScaleSet",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "description": "This is my example elastigroup",
- "region": "westus2",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "strategy": {
- "spotPercentage": 50,
- "drainingTimeout": 30,
- "fallbackToOd": true,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "availabilityVsCost": 100,
- "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}
}, - "scaling": {
- "up": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
], - "down": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 8,
- "minStorage": 5,
- "maxStorage": 50,
- "minMemory": 2,
- "maxMemory": 2,
- "cpuArchitecture": "X64"
}, - "excludedVmSizes": [
- "standard_a2_v2",
- "standard_d2s_v3"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "confidentialOsDiskEncryption": false,
- "encryptionAtHost": true
}, - "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "version": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "STANDARD",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "sku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
]
}, - "zones": [
- "1"
], - "preferredZones": [
- "1"
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": "string",
- "cronExpression": "0 1 * * *",
- "type": "scale",
- "scaleTargetCapacity": 0,
- "scaleMaxCapacity": 0,
- "scaleMinCapacity": 0
}
]
}, - "integrations": {
- "azureDns": {
- "dnsZones": [
- {
- "type": "public",
- "resourceGroup": "myResourceGroup",
- "name": "myDnsName",
- "recordSets": [
- {
- "name": "myRecordSet"
}
], - "spotAccountId": "string"
}
]
}, - "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "azure:compute:elastigroup:importScaleSet"
}
}
Given a virtual machine, constructs a valid group configuration based on the virtual machine and returns it.
resourceGroupName required | string Example: ExampleResourceGroup |
virtualMachineName required | string Example: MyExampleVirtualMachineImport |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/group/import/resourceGroup/myResourceGroup/scaleSet/myScaleSet",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "description": "This is my example elastigroup",
- "region": "westus2",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "strategy": {
- "spotPercentage": 50,
- "drainingTimeout": 30,
- "fallbackToOd": true,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "availabilityVsCost": 100,
- "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}
}, - "scaling": {
- "up": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
], - "down": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 8,
- "minStorage": 5,
- "maxStorage": 50,
- "minMemory": 2,
- "maxMemory": 2,
- "cpuArchitecture": "X64"
}, - "excludedVmSizes": [
- "standard_a2_v2",
- "standard_d2s_v3"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "confidentialOsDiskEncryption": false,
- "encryptionAtHost": true
}, - "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "version": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "STANDARD",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "sku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
]
}, - "zones": [
- "1"
], - "preferredZones": [
- "1"
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": "string",
- "cronExpression": "0 1 * * *",
- "type": "scale",
- "scaleTargetCapacity": 0,
- "scaleMaxCapacity": 0,
- "scaleMinCapacity": 0
}
]
}, - "integrations": {
- "azureDns": {
- "dnsZones": [
- {
- "type": "public",
- "resourceGroup": "myResourceGroup",
- "name": "myDnsName",
- "recordSets": [
- {
- "name": "myRecordSet"
}
], - "spotAccountId": "string"
}
]
}, - "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "azure:compute:elastigroup:importVirtualMachine"
}
}
Given a load balancer, constructs a valid group configuration and returns it.
backendPoolName required | string Example: MyExampleBackendPoolName |
loadBalancerName required | string Example: MyExampleLoadBalancerImport |
resourceGroupName required | string Example: ExampleResourceGroup |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/group/import/resourceGroup/myResourceGroup/loadBalancer/myLoadBalancer/backendPool/myBackendPool",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "description": "This is my example elastigroup",
- "region": "westus2",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "strategy": {
- "spotPercentage": 50,
- "drainingTimeout": 30,
- "fallbackToOd": true,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "availabilityVsCost": 100,
- "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}
}, - "scaling": {
- "up": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
], - "down": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 8,
- "minStorage": 5,
- "maxStorage": 50,
- "minMemory": 2,
- "maxMemory": 2,
- "cpuArchitecture": "X64"
}, - "excludedVmSizes": [
- "standard_a2_v2",
- "standard_d2s_v3"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "confidentialOsDiskEncryption": false,
- "encryptionAtHost": true
}, - "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "version": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "STANDARD",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "sku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
]
}, - "zones": [
- "1"
], - "preferredZones": [
- "1"
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": "string",
- "cronExpression": "0 1 * * *",
- "type": "scale",
- "scaleTargetCapacity": 0,
- "scaleMaxCapacity": 0,
- "scaleMinCapacity": 0
}
]
}, - "integrations": {
- "azureDns": {
- "dnsZones": [
- {
- "type": "public",
- "resourceGroup": "myResourceGroup",
- "name": "myDnsName",
- "recordSets": [
- {
- "name": "myRecordSet"
}
], - "spotAccountId": "string"
}
]
}, - "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "azure:compute:group:importLoadBalancer"
}
}
Given an application gateway, constructs a valid group configuration and returns it.
applicationGatewayName required | string Example: MyExampleApplicationGatewayImport |
backendPoolName required | string Example: MyExampleBackendPoolName |
resourceGroupName required | string Example: ExampleResourceGroup |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/group/import/resourceGroup/myResourceGroup/applicationGateway/myApplicationGateway/backendPool/myBackendPool",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "description": "This is my example elastigroup",
- "region": "westus2",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "strategy": {
- "spotPercentage": 50,
- "drainingTimeout": 30,
- "fallbackToOd": true,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "availabilityVsCost": 100,
- "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}
}, - "scaling": {
- "up": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
], - "down": [
- {
- "isEnabled": "true",
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "action": {
- "type": "updateCapacity",
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 8,
- "minStorage": 5,
- "maxStorage": 50,
- "minMemory": 2,
- "maxMemory": 2,
- "cpuArchitecture": "X64"
}, - "excludedVmSizes": [
- "standard_a2_v2",
- "standard_d2s_v3"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "confidentialOsDiskEncryption": false,
- "encryptionAtHost": true
}, - "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "version": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "STANDARD",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "sku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
]
}, - "zones": [
- "1"
], - "preferredZones": [
- "1"
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": "string",
- "cronExpression": "0 1 * * *",
- "type": "scale",
- "scaleTargetCapacity": 0,
- "scaleMaxCapacity": 0,
- "scaleMinCapacity": 0
}
]
}, - "integrations": {
- "azureDns": {
- "dnsZones": [
- {
- "type": "public",
- "resourceGroup": "myResourceGroup",
- "name": "myDnsName",
- "recordSets": [
- {
- "name": "myRecordSet"
}
], - "spotAccountId": "string"
}
]
}, - "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "azure:compute:group:importApplicationGateway"
}
}
The VM signal API is used for notifying Spot about the VM state so that Spot can act accordingly. Supported signals are vmReady – Whenever this signal is sent, Spot will register the instance to the relevant Load Balancer and Application Gateway. vmReadyToShutdown – When this signal is received after a vm is detached; we will immediately terminate the vm. You must define the expected signals for your Elastigroup in the group configuration.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
resourceGroupName required | string This is the resource group of the Elastigroup or Stateful Node. |
signalType required | string Enum: "vmReady" "vmReadyToShutdown" The specific signal you want to trigger. |
vmName required | string The virtual machine ID the signal refers to. |
{- "vmName": "vm-123456",
- "signalType": "vmReady",
- "resourceGroupName": "TestResourceGroup"
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Protect virtual machines in Elastigroup cluster.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
vmName required | string Example: i-f2a44ba41875 The virtual machine name to protect. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
ttlInMinutes | integer Example: ttlInMinutes=180 Specify a TTL (in minutes) for this protection, meaning, for how long the protection will be valid for. (If null, infinite protection) |
{- "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Un-Protect virtual machines in Elastigroup cluster.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
vmName required | string Example: i-f2a44ba41875 The virtual machine name to remove protection. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
You can fetch a Elastigroup's Elastilog via the Spot API, in order to be able to consume elastilog from various tools used for log storing and analyzing. Logs have retention of 3 months back from today, so minimal fromDate should be up to 3 months back at runtime.
groupId required | string Example: sig-12345 The Spot Elastigroup ID you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
fromDate required | string Example: fromDate=2020-09-01 or fromDate=1598918400000 Get items on or after this date (ISO 8601 or Unix timestamp) |
limit | integer [ 0 .. 1000 ] Example: limit=500 Maximum number of lines to extract in a response. Max value allowed - 1000. Default is 500, if got null. |
RESOURCE_ID | string Example: RESOURCE_ID=vm-12345678 Filter log extracted entries related to a specific resource id Default: Null |
SEVERITY | string Enum: "DEBUG" "WARN" "INFO" "ALL" "ERROR" Example: SEVERITY=WARN Severity of log entries to extract. |
toDate required | string Example: toDate=2020-09-01 or fromDate=1598918400000 Get items on or before this date (ISO 8601 or Unix timestamp) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "message": "Successfully detached [vm-b4ab9da435aa]",
- "severity": "INFO",
- "createdAt": "2020-07-16T16:46:49.000Z"
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:group:log"
}
}
Elastigroup for Microsoft Azure Stateful Node
Create a new stateful node.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object (Azure Stateful Node) | |||||||||||||||||||||
|
{- "statefulNode": {
- "name": "Spot Stateful Node",
- "region": "westus2",
- "resourceGroupName": "spotResourceGroup",
- "description": "This is my example stateful node",
- "strategy": {
- "preferredLifecycle": "od",
- "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "fallbackToOd": true,
- "drainingTimeout": 30,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "odWindows": [
- "Sun:23:00-Mon:02:30"
], - "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}, - "availabilityVsCost": 100
}, - "compute": {
- "os": "Linux",
- "vmSizes": {
- "odSizes": [
- "standard_a1_v2"
], - "spotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 16,
- "minStorage": 50,
- "MaxStorage": 1000,
- "minMemory": 2,
- "maxMemory": 48
}, - "excludedVmSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "zones": [
- "1"
], - "preferredZone": "1",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "versionName": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "vmName": "devVm1",
- "vmNamePrefix": "prefix",
- "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "networkSecurityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIpForwarding": true,
- "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa",
- "password": "string"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "loadBalancerSku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "managedServiceIdentities": [
- {
- "name": "mySI2",
- "resourceGroupName": "myResourceGroup"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS",
- "caching": "ReadOnly"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30,
- "caching": "ReadOnly"
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
], - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "encryptionAtHost": true,
- "confidentialOsDiskEncryption": false
}, - "proximityPlacementGroups": [
- {
- "name": "testPPG",
- "resourceGroupName": "testResourceGroup"
}
]
}
}, - "persistence": {
- "shouldPersistOsDisk": true,
- "osDiskPersistenceMode": "onLaunch",
- "shouldPersistDataDisks": true,
- "dataDisksPersistenceMode": "reattach",
- "shouldPersistNetwork": true
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "type": "recycle",
- "cronExpression": "35 12 * * *"
}
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "integrations": {
- "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/ssn-12345678",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ssn-12345678",
- "name": "Spot Stateful Node",
- "region": "westus2",
- "resourceGroupName": "spotResourceGroup",
- "description": "This is my example stateful node",
- "strategy": {
- "preferredLifecycle": "od",
- "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "fallbackToOd": true,
- "drainingTimeout": 30,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "odWindows": [
- "Sun:23:00-Mon:02:30"
], - "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}, - "availabilityVsCost": 100
}, - "compute": {
- "os": "Linux",
- "vmSizes": {
- "odSizes": [
- "standard_a1_v2"
], - "spotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 16,
- "minStorage": 50,
- "MaxStorage": 1000,
- "minMemory": 2,
- "maxMemory": 48
}, - "excludedVmSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "zones": [
- "1"
], - "preferredZone": "1",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "versionName": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "vmName": "devVm1",
- "vmNamePrefix": "prefix",
- "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "networkSecurityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIpForwarding": true,
- "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "loadBalancerSku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS",
- "caching": "ReadOnly"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30,
- "caching": "ReadOnly"
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
], - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "encryptionAtHost": true,
- "confidentialOsDiskEncryption": false
}, - "proximityPlacementGroups": [
- {
- "name": "testPPG",
- "resourceGroupName": "testResourceGroup"
}
]
}
}, - "persistence": {
- "shouldPersistOsDisk": true,
- "osDiskPersistenceMode": "onLaunch",
- "shouldPersistDataDisks": true,
- "dataDisksPersistenceMode": "reattach",
- "shouldPersistNetwork": true
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "type": "recycle",
- "cronExpression": "35 12 * * *"
}
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "integrations": {
- "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}, - "createdAt": "2022-01-01T00:00:00.000+0000",
- "updatedAt": "2022-01-01T00:00:00.000+0000"
}
], - "count": 1,
- "kind": "spotinst:azure:statefulNode"
}
}
Get the configurations of all stateful nodes in a specific account.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
name | string Example: name=MyStatefulGroup Filters to find the stateful node via a specific name. |
region | string Example: region=eastus Filters to find all the stateful nodes in a specific region. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ssn-12345678",
- "name": "Spot Stateful Node",
- "region": "westus2",
- "resourceGroupName": "spotResourceGroup",
- "description": "This is my example stateful node",
- "strategy": {
- "preferredLifecycle": "od",
- "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "fallbackToOd": true,
- "drainingTimeout": 30,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "odWindows": [
- "Sun:23:00-Mon:02:30"
], - "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}, - "availabilityVsCost": 100
}, - "compute": {
- "os": "Linux",
- "vmSizes": {
- "odSizes": [
- "standard_a1_v2"
], - "spotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 16,
- "minStorage": 50,
- "MaxStorage": 1000,
- "minMemory": 2,
- "maxMemory": 48
}, - "excludedVmSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "zones": [
- "1"
], - "preferredZone": "1",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "versionName": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "vmName": "devVm1",
- "vmNamePrefix": "prefix",
- "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "networkSecurityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIpForwarding": true,
- "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "loadBalancerSku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS",
- "caching": "ReadOnly"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30,
- "caching": "ReadOnly"
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
], - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "encryptionAtHost": true,
- "confidentialOsDiskEncryption": false
}, - "proximityPlacementGroups": [
- {
- "name": "testPPG",
- "resourceGroupName": "testResourceGroup"
}
]
}
}, - "persistence": {
- "shouldPersistOsDisk": true,
- "osDiskPersistenceMode": "onLaunch",
- "shouldPersistDataDisks": true,
- "dataDisksPersistenceMode": "reattach",
- "shouldPersistNetwork": true
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "type": "recycle",
- "cronExpression": "35 12 * * *"
}
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "integrations": {
- "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}, - "createdAt": "2022-01-01T00:00:00.000+0000",
- "updatedAt": "2022-01-01T00:00:00.000+0000"
}
], - "count": 1,
- "kind": "spotinst:azure:statefulNode"
}
}
Get the configuration of an existing stateful node.
nodeId required | string Example: ssn-12345678 The ID of the stateful node. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/ssn-12345678",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ssn-12345678",
- "name": "Spot Stateful Node",
- "region": "westus2",
- "resourceGroupName": "spotResourceGroup",
- "description": "This is my example stateful node",
- "strategy": {
- "preferredLifecycle": "od",
- "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "fallbackToOd": true,
- "drainingTimeout": 30,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "odWindows": [
- "Sun:23:00-Mon:02:30"
], - "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}, - "availabilityVsCost": 100
}, - "compute": {
- "os": "Linux",
- "vmSizes": {
- "odSizes": [
- "standard_a1_v2"
], - "spotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 16,
- "minStorage": 50,
- "MaxStorage": 1000,
- "minMemory": 2,
- "maxMemory": 48
}, - "excludedVmSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "zones": [
- "1"
], - "preferredZone": "1",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "versionName": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "vmName": "devVm1",
- "vmNamePrefix": "prefix",
- "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "networkSecurityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIpForwarding": true,
- "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "loadBalancerSku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS",
- "caching": "ReadOnly"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30,
- "caching": "ReadOnly"
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
], - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "encryptionAtHost": true,
- "confidentialOsDiskEncryption": false
}, - "proximityPlacementGroups": [
- {
- "name": "testPPG",
- "resourceGroupName": "testResourceGroup"
}
]
}
}, - "persistence": {
- "shouldPersistOsDisk": true,
- "osDiskPersistenceMode": "onLaunch",
- "shouldPersistDataDisks": true,
- "dataDisksPersistenceMode": "reattach",
- "shouldPersistNetwork": true
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "type": "recycle",
- "cronExpression": "35 12 * * *"
}
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "integrations": {
- "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}, - "createdAt": "2022-01-01T00:00:00.000+0000",
- "updatedAt": "2022-01-01T00:00:00.000+0000"
}
], - "count": 1,
- "kind": "spotinst:azure:statefulNode"
}
}
Update an existing stateful node.
nodeId required | string Example: ssn-12345678 The ID of the stateful node. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object (Azure Stateful Node) | |||||||||||||||||
|
{- "statefulNode": {
- "name": "Spot Stateful Node",
- "description": "This is my example stateful node",
- "strategy": {
- "preferredLifecycle": "od",
- "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "fallbackToOd": true,
- "drainingTimeout": 30,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "odWindows": [
- "Sun:23:00-Mon:02:30"
], - "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}, - "availabilityVsCost": 100
}, - "compute": {
- "os": "Linux",
- "vmSizes": {
- "odSizes": [
- "standard_a1_v2"
], - "spotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 16,
- "minStorage": 50,
- "MaxStorage": 1000,
- "minMemory": 2,
- "maxMemory": 48
}, - "excludedVmSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "zones": [
- "1"
], - "preferredZone": "1",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "versionName": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "vmName": "devVm1",
- "vmNamePrefix": "prefix",
- "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "STANDARD",
- "networkSecurityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIpForwarding": true,
- "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa",
- "password": "string"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "loadBalancerSku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "managedServiceIdentities": [
- {
- "name": "mySI2",
- "resourceGroupName": "myResourceGroup"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS",
- "caching": "ReadOnly"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30,
- "caching": "ReadOnly"
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
], - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "encryptionAtHost": true,
- "confidentialOsDiskEncryption": false
}, - "proximityPlacementGroups": [
- {
- "name": "testPPG",
- "resourceGroupName": "testResourceGroup"
}
]
}
}, - "persistence": {
- "shouldPersistOsDisk": true,
- "osDiskPersistenceMode": "onLaunch",
- "shouldPersistDataDisks": true,
- "dataDisksPersistenceMode": "reattach",
- "shouldPersistNetwork": true
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "type": "recycle",
- "cronExpression": "35 12 * * *"
}
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "integrations": {
- "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/ssn-12345678",
- "method": "UPDATE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ssn-12345678",
- "name": "Spot Stateful Node",
- "region": "westus2",
- "resourceGroupName": "spotResourceGroup",
- "description": "This is my example stateful node",
- "strategy": {
- "preferredLifecycle": "od",
- "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "fallbackToOd": true,
- "drainingTimeout": 30,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "odWindows": [
- "Sun:23:00-Mon:02:30"
], - "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}, - "availabilityVsCost": 100
}, - "compute": {
- "os": "Linux",
- "vmSizes": {
- "odSizes": [
- "standard_a1_v2"
], - "spotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 16,
- "minStorage": 50,
- "MaxStorage": 1000,
- "minMemory": 2,
- "maxMemory": 48
}, - "excludedVmSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "zones": [
- "1"
], - "preferredZone": "1",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "versionName": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "vmName": "devVm1",
- "vmNamePrefix": "prefix",
- "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "networkSecurityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIpForwarding": true,
- "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "loadBalancerSku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS",
- "caching": "ReadOnly"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30,
- "caching": "ReadOnly"
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
], - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "encryptionAtHost": true,
- "confidentialOsDiskEncryption": false
}, - "proximityPlacementGroups": [
- {
- "name": "testPPG",
- "resourceGroupName": "testResourceGroup"
}
]
}
}, - "persistence": {
- "shouldPersistOsDisk": true,
- "osDiskPersistenceMode": "onLaunch",
- "shouldPersistDataDisks": true,
- "dataDisksPersistenceMode": "reattach",
- "shouldPersistNetwork": true
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "type": "recycle",
- "cronExpression": "35 12 * * *"
}
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "integrations": {
- "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}, - "createdAt": "2022-01-01T00:00:00.000+0000",
- "updatedAt": "2022-01-01T00:00:00.000+0000"
}
], - "count": 1,
- "kind": "spotinst:azure:statefulNode"
}
}
Delete an existing stateful node from the account.
nodeId required | string Example: ssn-12345678 The ID of the stateful node. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object (Delete Azure Stateful Node Configuration) | |||||||||||||||
|
{- "deallocationConfig": {
- "shouldTerminateVm": true,
- "shouldDeregisterFromLb": true,
- "networkDeallocationConfig": {
- "shouldDeallocate": true,
- "ttlInHours": 1
}, - "diskDeallocationConfig": {
- "shouldDeallocate": true,
- "ttlInHours": 1
}, - "snapshotDeallocationConfig": {
- "shouldDeallocate": true,
- "ttlInHours": 1
}, - "publicIpDeallocationConfig": {
- "shouldDeallocate": true,
- "ttlInHours": 1
}, - "shouldRevertToOd": false
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/ssn-12345678",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- { }
], - "count": 1,
- "kind": "string"
}
}
Get the node's attached resources (storage and network interfaces).
nodeId required | string Example: ssn-12345678 The ID of the stateful node. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/ssn-12345678/resources",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ssn-12345678",
- "name": "MyStatefulNode",
- "resourceGroupName": "dataDiskResourceGroup",
- "network": {
- "virtualNetwork": {
- "name": "MyVirtualNetwork",
- "resourceGroupName": "virtualNetworkResourceGroup"
}, - "networkInterfaces": [
- {
- "name": "MyNetworkInterface",
- "resourceGroupName": "networkInterfaceResourceGroup",
- "isPrimary": true,
- "networkSecurityGroup": {
- "name": "MyNetworkSecurityGroup",
- "resourceGroupName": "networkSecurityGroupResourceGroup"
}, - "ipConfigurations": [
- {
- "name": "MyIPConfiguration",
- "isPrimary": true,
- "subnet": {
- "name": "MyNetworkInterface",
- "resourceGroupName": "networkInterfaceResourceGroup",
- "addressPrefix": "addressPrefix"
}, - "publicIp": {
- "name": "MyNetworkInterface",
- "resourceGroupName": "networkInterfaceResourceGroup",
- "ipAddress": "ipAddress",
- "skuName": "skuName"
}, - "privateIpAddress": "privateIpAddress",
- "privateIPAddressVersion": "privateIPAddressVersion",
- "privateIpAllocationMethod": "privateIpAllocationMethod",
- "applicationSecurityGroups": [
- {
- "name": "MyIPConfiguration",
- "resourceGroupName": "networkSecurityGroupResourceGroup"
}
]
}
], - "enableAcceleratedNetworking": true,
- "enableIpForwarding": true,
- "macAddress": "string"
}
]
}, - "storage": {
- "osDisk": {
- "name": "myOsDisk",
- "resourceGroupName": "myResourceGroup",
- "osType": "Windows",
- "storageAccountType": "virtualNetworkResourceGroup",
- "sizeGB": 1,
- "snapshot": "myOsSnapshot",
- "lastCompletedSnapshot": "2022-01-01T00:00:00.000+0000"
}, - "dataDisks": [
- {
- "name": "MyDataDisk",
- "resourceGroupName": "myDataDiskResourceGroup",
- "storageAccountType": "virtualNetworkResourceGroup",
- "sizeGB": 1,
- "lun": 1,
- "snapshot": "mySnapshot",
- "lastCompletedSnapshot": "2022-01-01T00:00:00.000+0000"
}
]
}
}
], - "count": 1,
- "kind": "spotinst:azure:statefulNode:resources"
}
}
Get the status of a specific stateful node.
nodeId required | string Example: ssn-12345678 The ID of the stateful node. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/ssn-12345678/status",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ssn-12345678",
- "name": "Spot Stateful Node",
- "region": "westus2",
- "resourceGroupName": "spotResourceGroup",
- "status": "active",
- "vmName": "spot-12345678-vm",
- "vmSize": "spot-12345678-vm",
- "lifecycle": "od",
- "rollbackReason": "Failed to launch virtual machine in Azure.",
- "errorReason": "Deallocate action failed. Please contact our support team.",
- "privateIp": "172.23.4.20",
- "publicIp": "172.23.4.20",
- "vmHealthStatus": "HEALTHY",
- "createdAt": "2022-01-01T00:00:00.000+0000",
- "updatedAt": "2022-01-01T00:00:00.000+0000"
}
], - "count": 1,
- "kind": "spotinst:azure:statefulNode:status"
}
}
Get the statuses of all stateful nodes in a specific account.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/status",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ssn-12345678",
- "name": "Spot Stateful Node",
- "region": "westus2",
- "resourceGroupName": "spotResourceGroup",
- "status": "active",
- "vmName": "spot-12345678-vm",
- "vmSize": "spot-12345678-vm",
- "lifecycle": "od",
- "rollbackReason": "Failed to launch virtual machine in Azure.",
- "errorReason": "Deallocate action failed. Please contact our support team.",
- "privateIp": "172.23.4.20",
- "publicIp": "172.23.4.20",
- "vmHealthStatus": "HEALTHY",
- "createdAt": "2022-01-01T00:00:00.000+0000",
- "updatedAt": "2022-01-01T00:00:00.000+0000"
}
], - "count": 1,
- "kind": "spotinst:azure:statefulNode:status"
}
}
Update the stateful node state.
nodeId required | string Example: ssn-12345678 The ID of the stateful node. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
state | string (Stateful Node State Change) Enum: "pause" "resume" "recycle" |
{- "state": "pause"
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/ssn-12345678/state",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- { }
], - "count": 1,
- "kind": "string"
}
}
Get the configuration of a stateful node that was built from an Azure VM. This configuration is used for the Import VM to a Stateful Node API.
resourceGroupName required | string Example: importResourceGroup Name of the Resource Group of the imported VM. |
virtualMachineName required | string Example: spot-12345678-vm Name of the imported VM. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/ssn-12345678",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ssn-12345678",
- "name": "Spot Stateful Node",
- "region": "westus2",
- "resourceGroupName": "spotResourceGroup",
- "description": "This is my example stateful node",
- "strategy": {
- "preferredLifecycle": "od",
- "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "fallbackToOd": true,
- "drainingTimeout": 30,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "odWindows": [
- "Sun:23:00-Mon:02:30"
], - "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}, - "availabilityVsCost": 100
}, - "compute": {
- "os": "Linux",
- "vmSizes": {
- "odSizes": [
- "standard_a1_v2"
], - "spotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 16,
- "minStorage": 50,
- "MaxStorage": 1000,
- "minMemory": 2,
- "maxMemory": 48
}, - "excludedVmSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "zones": [
- "1"
], - "preferredZone": "1",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "versionName": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "vmName": "devVm1",
- "vmNamePrefix": "prefix",
- "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "networkSecurityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIpForwarding": true,
- "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "loadBalancerSku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS",
- "caching": "ReadOnly"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30,
- "caching": "ReadOnly"
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
], - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "encryptionAtHost": true,
- "confidentialOsDiskEncryption": false
}, - "proximityPlacementGroups": [
- {
- "name": "testPPG",
- "resourceGroupName": "testResourceGroup"
}
]
}
}, - "persistence": {
- "shouldPersistOsDisk": true,
- "osDiskPersistenceMode": "onLaunch",
- "shouldPersistDataDisks": true,
- "dataDisksPersistenceMode": "reattach",
- "shouldPersistNetwork": true
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "type": "recycle",
- "cronExpression": "35 12 * * *"
}
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "integrations": {
- "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}, - "createdAt": "2022-01-01T00:00:00.000+0000",
- "updatedAt": "2022-01-01T00:00:00.000+0000"
}
], - "count": 1,
- "kind": "spotinst:azure:statefulNode"
}
}
Import an Azure VM and create a stateful node by providing a node configuration.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object (Azure Import Stateful Node) | |||||||||||||
|
{- "statefulNodeImport": {
- "originalVmName": "Spot Import Stateful Node",
- "resourceGroupName": "spotResourceGroup",
- "drainingTimeout": 1,
- "resourcesRetentionTime": 1,
- "convertUnmanagedDisks": true,
- "node": {
- "name": "Spot Stateful Node",
- "region": "westus2",
- "resourceGroupName": "spotResourceGroup",
- "description": "This is my example stateful node",
- "strategy": {
- "preferredLifecycle": "od",
- "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "fallbackToOd": true,
- "drainingTimeout": 30,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "odWindows": [
- "Sun:23:00-Mon:02:30"
], - "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}, - "availabilityVsCost": 100
}, - "compute": {
- "os": "Linux",
- "vmSizes": {
- "odSizes": [
- "standard_a1_v2"
], - "spotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 16,
- "minStorage": 50,
- "MaxStorage": 1000,
- "minMemory": 2,
- "maxMemory": 48
}, - "excludedVmSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "zones": [
- "1"
], - "preferredZone": "1",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "versionName": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "vmName": "devVm1",
- "vmNamePrefix": "prefix",
- "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "networkSecurityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIpForwarding": true,
- "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa",
- "password": "string"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "loadBalancerSku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "managedServiceIdentities": [
- {
- "name": "mySI2",
- "resourceGroupName": "myResourceGroup"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS",
- "caching": "ReadOnly"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30,
- "caching": "ReadOnly"
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
], - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "encryptionAtHost": true,
- "confidentialOsDiskEncryption": false
}, - "proximityPlacementGroups": [
- {
- "name": "testPPG",
- "resourceGroupName": "testResourceGroup"
}
]
}
}, - "persistence": {
- "shouldPersistOsDisk": true,
- "osDiskPersistenceMode": "onLaunch",
- "shouldPersistDataDisks": true,
- "dataDisksPersistenceMode": "reattach",
- "shouldPersistNetwork": true
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "type": "recycle",
- "cronExpression": "35 12 * * *"
}
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "integrations": {
- "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/import",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "statefulImportId": "sin-12345678",
- "originalVmName": "Spot Import Stateful Node",
- "resourceGroupName": "spotResourceGroup",
- "drainingTimeout": 1,
- "resourcesRetentionTime": 1,
- "convertUnmanagedDisks": true,
- "node": {
- "id": "ssn-12345678",
- "name": "Spot Stateful Node",
- "region": "westus2",
- "resourceGroupName": "spotResourceGroup",
- "description": "This is my example stateful node",
- "strategy": {
- "preferredLifecycle": "od",
- "signals": [
- {
- "type": "vmReady",
- "timeout": 180
}
], - "fallbackToOd": true,
- "drainingTimeout": 30,
- "revertToSpot": {
- "performAt": "timeWindow"
}, - "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "odWindows": [
- "Sun:23:00-Mon:02:30"
], - "capacityReservation": {
- "shouldUtilize": true,
- "utilizationStrategy": "utilizeOverSpot",
- "capacityReservationGroups": [
- {
- "name": "capacityReservationGroupName",
- "resourceGroupName": "resourceGroupName",
- "shouldPrioritize": true
}
]
}, - "availabilityVsCost": 100
}, - "compute": {
- "os": "Linux",
- "vmSizes": {
- "odSizes": [
- "standard_a1_v2"
], - "spotSizes": [
- "standard_a2_v2"
], - "spotSizeAttributes": {
- "minCpu": 2,
- "maxCpu": 16,
- "minStorage": 50,
- "MaxStorage": 1000,
- "minMemory": 2,
- "maxMemory": 48
}, - "excludedVmSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "zones": [
- "1"
], - "preferredZone": "1",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "custom": {
- "resourceGroupName": "spotinst-azure",
- "name": "custom-image-name"
}, - "gallery": {
- "resourceGroupName": "spotinst-azure",
- "galleryName": "gallery-name",
- "imageName": "gallery-image-name",
- "versionName": "0.0.1",
- "spotAccountId": "act-123456789"
}
}, - "vmName": "devVm1",
- "vmNamePrefix": "prefix",
- "customData": "",
- "userData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI",
- "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "networkSecurityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIpForwarding": true,
- "privateIpAddresses": [
- [
- "172.23.4.20"
]
], - "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
], - "publicIps": [
- {
- "resourceGroupName": "resourceGroup",
- "name": "name"
}
], - "applicationSecurityGroups": [
- {
- "resourceGroupName": "AsgResourceGroup",
- "name": "AsgName"
}
]
}
]
}, - "login": {
- "userName": "spotinst",
- "sshPublicKey": "ssh-rsa"
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "loadBalancer",
- "resourceGroupName": "testResourceGroup",
- "name": "testLoadBalancer",
- "loadBalancerSku": "Standard",
- "backendPoolNames": [
- "testBackendPool1",
- "testBackendPool2"
]
}
]
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "extensions": [
- {
- "name": "extensionName",
- "type": "customScript",
- "publisher": "Microsoft.Azure.Extensions",
- "apiVersion": "2.0",
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { },
- "enableAutomaticUpgrade": false,
- "protectedSettingsFromKeyVault": {
- "sourceVault": "/subscriptions/1234-1234-1234/resourceGroups/rg_test/providers/Microsoft.KeyVault/vaults/testKeyVault",
}
}
], - "dataDisks": [
- {
- "sizeGB": 1,
- "lun": 1,
- "type": "Standard_LRS",
- "caching": "ReadOnly"
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30,
- "caching": "ReadOnly"
}, - "secrets": [
- {
- "sourceVault": {
- "resourceGroupName": "string",
- "name": "string"
}, - "vaultCertificates": [
- {
- "certificateUrl": "string",
- "certificateStore": "string"
}
]
}
], - "bootDiagnostics": {
- "isEnabled": true,
- "type": "unmanaged",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true,
- "encryptionAtHost": true,
- "confidentialOsDiskEncryption": false
}, - "proximityPlacementGroups": [
- {
- "name": "testPPG",
- "resourceGroupName": "testResourceGroup"
}
]
}
}, - "persistence": {
- "shouldPersistOsDisk": true,
- "osDiskPersistenceMode": "onLaunch",
- "shouldPersistDataDisks": true,
- "dataDisksPersistenceMode": "reattach",
- "shouldPersistNetwork": true
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "type": "recycle",
- "cronExpression": "35 12 * * *"
}
]
}, - "health": {
- "healthCheckTypes": [
- "vmState"
], - "gracePeriod": 120,
- "autoHealing": true,
- "unhealthyDuration": 360
}, - "integrations": {
- "insights": {
- "isEnabled": true,
- "dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myDataCollectionRule"
}
}, - "createdAt": "2022-01-01T00:00:00.000+0000",
- "updatedAt": "2022-01-01T00:00:00.000+0000"
}
}
], - "count": 1,
- "kind": "spotinst:azure:stateful:import:node"
}
}
Get the import process status of a stateful node.
importId required | string Example: sin-12345678 Import Id. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/import/ssn-12345678/status",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "statefulImportId": "sin-12345678",
- "statefulNodeId": "ssn-12345678",
- "vmName": "spot-12345678-spot",
- "state": "ImportStart"
}
], - "count": 1,
- "kind": "spotinst:stateful:import:node"
}
}
Configure a new managed OS disk for an OS persisted paused/stopped Stateful Node.
nodeId required | string Example: ssn-12345678 The ID of the stateful node. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
osDiskName required | string Specify the name of the new OS disk. |
osDiskResourceGroupName required | string The resource group name in which the new OS disk exists. |
retentionTime | integer >= 0 Time to keep the original OS disk before deletion (hours). |
shouldTerminate | boolean Default: true Indicates whether to delete the original OS disk. |
{- "osDiskName": "OsDisk",
- "osDiskResourceGroupName": "MyResourceGroup",
- "shouldTerminate": false,
- "retentionTime": 1
}
Create a new data disk and attaches it to the stateful node.
nodeId required | string Example: ssn-12345678 The ID of the stateful node. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
caching | string Enum: "None" "ReadOnly" "ReadWrite" Specifies the host caching requirements. With disk caching enabled, VMs can achieve higher levels of performance.
|
dataDiskName required | string The name of the created data disk. |
dataDiskResourceGroupName required | string The resource group name in which the data disk will be created. |
lun | integer Default: "ordinal" The LUN of the data disk. If not defined, the LUN will be set in order. |
sizeGB required | integer [ 1 .. 1023 ] The size of the data disk in GB, Required if dataDisks is specified. |
storageAccountType required | string Enum: "Standard_LRS" "Premium_LRS" "StandardSSD_LRS" "UltraSSD_LRS" "StandardSSD_ZRS" "Premium_ZRS" "PremiumV2_LRS" The type of the data disk. |
zone | string Enum: "1" "2" "3" The Availability Zone in which the data disk will be created. If not defined, the data disk will be created regionally. |
{- "dataDiskName": "MyDisk",
- "dataDiskResourceGroupName": "dataDiskResourceGroup",
- "sizeGB": 1,
- "lun": 1,
- "storageAccountType": "Standard_LRS",
- "zone": "1",
- "caching": "ReadOnly"
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/ssn-12345678/dataDisk/attach",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "name": "MyDisk",
- "resourceGroupName": "dataDiskResourceGroup",
- "region": "westus2",
- "zone": "1",
- "size": 1,
- "lun": 1,
- "accountType": "Standard_LRS",
- "managedBy": "spot-12345678-vm",
- "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
]
}
], - "count": 1,
- "kind": "spotinst:azure:disk"
}
}
Detach a data disk from a stateful node.
nodeId required | string Example: ssn-12345678 The ID of the stateful node. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
dataDiskName required | string The name of the created data disk. |
dataDiskResourceGroupName required | string The resource group name in which the data disk exists. |
shouldDeallocate required | boolean Indicates whether to delete the data disk in addition to detach. |
ttlInHours | integer Default: 0 Hours to keep the disk alive before deletion. |
{- "dataDiskName": "MyDisk",
- "dataDiskResourceGroupName": "dataDiskResourceGroup",
- "shouldDeallocate": true,
- "ttlInHours": 1
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/ssn-12345678/dataDisk/detach",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- { }
], - "count": 1,
- "kind": "string"
}
}
Get the logs of a stateful node according to severity and time period filter parameters.
nodeId required | string Example: ssn-12345678 The ID of the stateful node. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
fromDate required | string Example: fromDate=2020-09-01 or fromDate=1598918400000 Get items on or after this date (ISO 8601 or Unix timestamp) |
limit | integer [ 0 .. 1000 ] Default: 500 Example: limit=100 Maximum number of lines to extract in a response. |
resourceId | string Default: null Example: resourceId=ssn-12345678 Filter log extracted entires related to a specific resource id |
severity | string Enum: "DEBUG" "WARN" "INFO" "ALL" "ERROR" Example: severity=WARN Severity of log entries to extract. |
toDate required | string Example: toDate=2020-09-01 or fromDate=1598918400000 Get items on or before this date (ISO 8601 or Unix timestamp) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/ssn-12345678/log",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "message": "Successfully created stateful node",
- "severity": "INFO",
- "createdAt": "2022-01-01T00:00:00.000Z"
}
], - "count": 1,
- "kind": "spotinst:azure:statefulNode:logs"
}
}
Get the total costs of a single stateful node/all stateful nodes and for a specific time period.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
fromDate required | string Example: fromDate=2020-09-01 or fromDate=1598918400000 Get items on or after this date (ISO 8601 or Unix timestamp) |
ownerId | string Example: ownerId=ssn-12345678 Aggregates costs and usage by stateful node. |
toDate required | string Example: toDate=2020-09-01 or fromDate=1598918400000 Get items on or before this date (ISO 8601 or Unix timestamp) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/cost",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "usage": {
- "spot": {
- "hours": 2781.758
}, - "od": {
- "hours": 0
}
}, - "cost": {
- "odCost": 0,
- "spotPotentialCost": 380.9154,
- "spotActualCost": 118.7367
}
}
], - "count": 1,
- "kind": "spotinst:azure:statefulNode:cost"
}
}
Get the total costs per day of a single stateful node/all stateful nodes and for a specific time period.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
fromDate required | string Example: fromDate=2020-09-01 or fromDate=1598918400000 Get items on or after this date (ISO 8601 or Unix timestamp) |
ownerId | string Example: ownerId=ssn-12345678 Aggregates costs and usage daily by stateful node. |
toDate required | string Example: toDate=2020-09-01 or fromDate=1598918400000 Get items on or before this date (ISO 8601 or Unix timestamp) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/cost/daily",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "usage": {
- "spot": {
- "hours": 2781.758
}, - "od": {
- "hours": 0
}
}, - "cost": {
- "odCost": 0,
- "spotPotentialCost": 380.9154,
- "spotActualCost": 118.7367,
- "day": "2022-01-01T00:00:00.000+0000"
}
}
], - "count": 1,
- "kind": "spotinst:azure:statefulNode:cost"
}
}
Get the daily costs per VM size of a single stateful node/all stateful nodes and for a specific time period.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
fromDate required | string Example: fromDate=2020-09-01 or fromDate=1598918400000 Get items on or after this date (ISO 8601 or Unix timestamp) |
ownerId | string Example: ownerId=ssn-12345678 Aggregates VM size usage daily by stateful node. |
toDate required | string Example: toDate=2020-09-01 or fromDate=1598918400000 Get items on or before this date (ISO 8601 or Unix timestamp) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/azure/compute/statefulNode/sizeUsage/daily",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "day": "2022-01-01T00:00:00.000+0000",
- "cpus": 60,
- "lifeCycle": "spot",
- "vmSize": "standard_a1_v2"
}
], - "count": 1,
- "kind": "spotinst:azure:stateful:dailySizeUsage"
}
}
Stateful Node is a Spot solution for launching and managing a single compute instance. On the AWS cloud, for a standard single instance workload, an On-Demand EC2 instance is launched. The instance is expected to be highly available, easily manageable, and integrate well with additional services and monitoring tools. For more information please review the concepts section.
Create a new Stateful Node resource.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object | |||||||||||||||||||
|
{- "managedInstance": {
- "name": "mi-test",
- "description": "This is my Stateful Node",
- "region": "us-east-1",
- "strategy": {
- "lifeCycle": "spot",
- "orientation": "availabilityOriented",
- "drainingTimeout": 0,
- "fallbackToOd": true,
- "utilizeReservedInstances": true,
- "utilizeCommitments": false,
- "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "revertToSpot": {
- "performAt": "timeWindow"
}
}, - "compute": {
- "subnetIds": [
- "subnet-79da021e"
], - "vpcId": "vpc-111",
- "elasticIp": "ip",
- "privateIp": "ip",
- "product": "Linux/UNIX",
- "volumeAttachments": {
- "volumes": [
- {
- "volumeId": "vol-1234567",
- "deviceName": "/dev/sdb"
}
]
}, - "launchSpecification": {
- "instanceTypes": {
- "preferredType": "t2.micro",
- "preferredTypes": [
- [
- "t2.micro",
- "t3.micro",
- "t2.medium",
- "t3.medium"
]
], - "types": [
- "t2.micro"
], - "resourceRequirements": {
- "requiredGpu": {
- "minimum": 1,
- "maximum": 16
}, - "requiredVCpu": {
- "minimum": 1,
- "maximum": 64
}, - "requiredMemory": {
- "minimum": 1,
- "maximum": 512
}, - "excludedInstanceTypes": [
- [
- "c4.large"
]
], - "excludedInstanceFamilies": [
- [
- "A",
- "C",
- "D"
]
], - "excludedInstanceGenerations": [
- [
- "1",
- "2",
- "3"
]
]
}
}, - "ebsOptimized": false,
- "monitoring": false,
- "tenancy": "default",
- "iamRole": {
- "name": "name",
- "arn": "arn"
}, - "securityGroupIds": [
- "sg-0dfc2c8760df6fec7"
], - "imageId": "ami-01e24be29428c15b2",
- "keyPair": "labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "test1@spot.io"
}
], - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}, - "snapshots": {
- "shouldTag": true
}, - "enis": {
- "shouldTag": false
}, - "amis": {
- "shouldTag": true
}
}, - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "shutdownScript": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "creditSpecification": {
- "cpuCredits": "unlimited"
}, - "networkInterfaces": [
- {
- "deviceIndex": 0,
- "associatePublicIpAddress": true,
- "associateIpv6Address": true
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "iops": 0,
- "throughput": 125,
- "deleteOnTermination": true,
- "encrypted": true,
- "volumeSize": 12,
- "volumeType": "gp2",
- "kmsKeyId": "string",
- "snapshotId": "string"
}
}
], - "metadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": "33",
- "instanceMetadataTags": "Enabled"
}
}
}, - "integrations": {
- "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "name",
- "arn": "arn",
- "type": "CLASSIC"
}
]
}, - "route53": {
- "domains": [
- {
- "hostedZoneId": "Z00275642KS5ZZJFIQBCA",
- "recordSetType": "a",
- "spotinstAccountId": "act-1234",
- "recordSets": [
- {
- "usePublicIp": true,
- "name": "testa.spot.io"
}
]
}
]
}
}, - "scheduling": {
- "tasks": [
- {
- "taskType": "recycle",
- "startTime": "2018-05-23T10:55:09Z",
- "cronExpression": "0 1 * * *",
- "isEnabled": true,
- "frequency": "hourly"
}
]
}, - "persistence": {
- "blockDevicesMode": "reattach",
- "persistRootDevice": true,
- "persistBlockDevices": true,
- "persistPrivateIp": true
}, - "healthCheck": {
- "type": "EC2",
- "autoHealing": true,
- "gracePeriod": 120,
- "unhealthyDuration": 120
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "managedInstance": {
- "name": "mi-test",
- "description": "This is my Stateful Node",
- "region": "us-east-1",
- "strategy": {
- "lifeCycle": "spot",
- "orientation": "availabilityOriented",
- "drainingTimeout": 0,
- "fallbackToOd": true,
- "utilizeReservedInstances": true,
- "utilizeCommitments": false,
- "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "revertToSpot": {
- "performAt": "timeWindow"
}
}, - "compute": {
- "subnetIds": [
- "subnet-79da021e"
], - "vpcId": "vpc-111",
- "elasticIp": "ip",
- "privateIp": "ip",
- "product": "Linux/UNIX",
- "volumeAttachments": {
- "volumes": [
- {
- "volumeId": "vol-1234567",
- "deviceName": "/dev/sdb"
}
]
}, - "launchSpecification": {
- "instanceTypes": {
- "preferredType": "t2.micro",
- "preferredTypes": [
- [
- "t2.micro",
- "t3.micro",
- "t2.medium",
- "t3.medium"
]
], - "types": [
- "t2.micro"
], - "resourceRequirements": {
- "requiredGpu": {
- "minimum": 1,
- "maximum": 16
}, - "requiredVCpu": {
- "minimum": 1,
- "maximum": 64
}, - "requiredMemory": {
- "minimum": 1,
- "maximum": 512
}, - "excludedInstanceTypes": [
- [
- "c4.large"
]
], - "excludedInstanceFamilies": [
- [
- "A",
- "C",
- "D"
]
], - "excludedInstanceGenerations": [
- [
- "1",
- "2",
- "3"
]
]
}
}, - "ebsOptimized": false,
- "monitoring": false,
- "tenancy": "default",
- "iamRole": {
- "name": "name",
- "arn": "arn"
}, - "securityGroupIds": [
- "sg-0dfc2c8760df6fec7"
], - "imageId": "ami-01e24be29428c15b2",
- "keyPair": "labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "test1@spot.io"
}
], - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}, - "snapshots": {
- "shouldTag": true
}, - "enis": {
- "shouldTag": false
}, - "amis": {
- "shouldTag": true
}
}, - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "shutdownScript": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "creditSpecification": {
- "cpuCredits": "unlimited"
}, - "networkInterfaces": [
- {
- "deviceIndex": 0,
- "associatePublicIpAddress": true,
- "associateIpv6Address": true
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "iops": 0,
- "throughput": 125,
- "deleteOnTermination": true,
- "encrypted": true,
- "volumeSize": 12,
- "volumeType": "gp2",
- "kmsKeyId": "string",
- "snapshotId": "string"
}
}
], - "metadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": "33",
- "instanceMetadataTags": "Enabled"
}
}
}, - "integrations": {
- "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "name",
- "arn": "arn",
- "type": "CLASSIC"
}
]
}, - "route53": {
- "domains": [
- {
- "hostedZoneId": "Z00275642KS5ZZJFIQBCA",
- "recordSetType": "a",
- "spotinstAccountId": "act-1234",
- "recordSets": [
- {
- "usePublicIp": true,
- "name": "testa.spot.io"
}
]
}
]
}
}, - "scheduling": {
- "tasks": [
- {
- "taskType": "recycle",
- "startTime": "2018-05-23T10:55:09Z",
- "cronExpression": "0 1 * * *",
- "isEnabled": true,
- "frequency": "hourly"
}
]
}, - "persistence": {
- "blockDevicesMode": "reattach",
- "persistRootDevice": true,
- "persistBlockDevices": true,
- "persistPrivateIp": true
}, - "healthCheck": {
- "type": "EC2",
- "autoHealing": true,
- "gracePeriod": 120,
- "unhealthyDuration": 120
}
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:managedInstance"
}
}
List all Stateful Node resources in the account.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "createdAt": "2020-04-10T21:41:31.000Z",
- "updatedAt": "2020-05-12T22:37:18.000Z",
- "id": "smi-34ae3a42",
- "config": {
- "name": "mi-test",
- "region": "us-east-1",
- "strategy": {
- "lifeCycle": "spot",
- "orientation": "availabilityOriented",
- "drainingTimeout": 0,
- "fallbackToOd": true,
- "utilizeReservedInstances": true,
- "utilizeCommitments": false,
- "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "revertToSpot": {
- "performAt": "timeWindow"
}
}, - "persistence": {
- "blockDevicesMode": "reattach",
- "persistRootDevice": true,
- "persistBlockDevices": true,
- "persistPrivateIp": true
}, - "healthCheck": {
- "type": "EC2",
- "autoHealing": true,
- "gracePeriod": 120,
- "unhealthyDuration": 120
}, - "compute": {
- "subnetIds": [
- "subnet-79da021e"
], - "vpcId": "vpc-111",
- "elasticIp": "ip",
- "privateIp": "ip",
- "product": "Linux/UNIX",
- "volumeAttachments": {
- "volumes": [
- {
- "volumeId": "vol-1234567",
- "deviceName": "/dev/sdb"
}
]
}, - "launchSpecification": {
- "instanceTypes": {
- "preferredType": "t2.micro",
- "preferredTypes": [
- [
- "t2.micro",
- "t3.micro",
- "t2.medium",
- "t3.medium"
]
], - "types": [
- "t2.micro"
], - "resourceRequirements": {
- "requiredGpu": {
- "minimum": 1,
- "maximum": 16
}, - "requiredVCpu": {
- "minimum": 1,
- "maximum": 64
}, - "requiredMemory": {
- "minimum": 1,
- "maximum": 512
}, - "excludedInstanceTypes": [
- [
- "c4.large"
]
], - "excludedInstanceFamilies": [
- [
- "A",
- "C",
- "D"
]
], - "excludedInstanceGenerations": [
- [
- "1",
- "2",
- "3"
]
]
}
}, - "ebsOptimized": false,
- "monitoring": false,
- "tenancy": "default",
- "iamRole": {
- "name": "name",
- "arn": "arn"
}, - "securityGroupIds": [
- "sg-0dfc2c8760df6fec7"
], - "imageId": "ami-01e24be29428c15b2",
- "keyPair": "labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "test1@spot.io"
}
], - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}, - "snapshots": {
- "shouldTag": true
}, - "enis": {
- "shouldTag": false
}, - "amis": {
- "shouldTag": true
}
}, - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "shutdownScript": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "creditSpecification": {
- "cpuCredits": "unlimited"
}, - "networkInterfaces": [
- {
- "deviceIndex": 0,
- "associatePublicIpAddress": true,
- "associateIpv6Address": true
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "iops": 0,
- "throughput": 125,
- "deleteOnTermination": true,
- "encrypted": true,
- "volumeSize": 12,
- "volumeType": "gp2",
- "kmsKeyId": "string",
- "snapshotId": "string"
}
}
], - "metadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": "33",
- "instanceMetadataTags": "Enabled"
}
}
}, - "integrations": {
- "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "name",
- "arn": "arn",
- "type": "CLASSIC"
}
]
}, - "route53": {
- "domains": [
- {
- "hostedZoneId": "Z00275642KS5ZZJFIQBCA",
- "recordSetType": "a",
- "spotinstAccountId": "act-1234",
- "recordSets": [
- {
- "usePublicIp": true,
- "name": "testa.spot.io"
}
]
}
]
}
}, - "scheduling": {
- "tasks": [
- {
- "taskType": "recycle",
- "startTime": "2018-05-23T10:55:09Z",
- "cronExpression": "0 1 * * *",
- "isEnabled": true,
- "frequency": "hourly"
}
]
}
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:managedInstance"
}
}
MI_ID required | string Example: smi-111 Stateful Node ID you want to get |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object | |||||||||||||||||||
|
{- "managedInstance": {
- "name": "mi-test",
- "description": "This is my Stateful Node",
- "region": "us-east-1",
- "strategy": {
- "lifeCycle": "spot",
- "orientation": "availabilityOriented",
- "drainingTimeout": 0,
- "fallbackToOd": true,
- "utilizeReservedInstances": true,
- "utilizeCommitments": false,
- "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "revertToSpot": {
- "performAt": "timeWindow"
}
}, - "compute": {
- "subnetIds": [
- "subnet-79da021e"
], - "vpcId": "vpc-111",
- "elasticIp": "ip",
- "privateIp": "ip",
- "product": "Linux/UNIX",
- "volumeAttachments": {
- "volumes": [
- {
- "volumeId": "vol-1234567",
- "deviceName": "/dev/sdb"
}
]
}, - "launchSpecification": {
- "instanceTypes": {
- "preferredType": "t2.micro",
- "preferredTypes": [
- [
- "t2.micro",
- "t3.micro",
- "t2.medium",
- "t3.medium"
]
], - "types": [
- "t2.micro"
], - "resourceRequirements": {
- "requiredGpu": {
- "minimum": 1,
- "maximum": 16
}, - "requiredVCpu": {
- "minimum": 1,
- "maximum": 64
}, - "requiredMemory": {
- "minimum": 1,
- "maximum": 512
}, - "excludedInstanceTypes": [
- [
- "c4.large"
]
], - "excludedInstanceFamilies": [
- [
- "A",
- "C",
- "D"
]
], - "excludedInstanceGenerations": [
- [
- "1",
- "2",
- "3"
]
]
}
}, - "ebsOptimized": false,
- "monitoring": false,
- "tenancy": "default",
- "iamRole": {
- "name": "name",
- "arn": "arn"
}, - "securityGroupIds": [
- "sg-0dfc2c8760df6fec7"
], - "imageId": "ami-01e24be29428c15b2",
- "keyPair": "labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "test1@spot.io"
}
], - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}, - "snapshots": {
- "shouldTag": true
}, - "enis": {
- "shouldTag": false
}, - "amis": {
- "shouldTag": true
}
}, - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "shutdownScript": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "creditSpecification": {
- "cpuCredits": "unlimited"
}, - "networkInterfaces": [
- {
- "deviceIndex": 0,
- "associatePublicIpAddress": true,
- "associateIpv6Address": true
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "iops": 0,
- "throughput": 125,
- "deleteOnTermination": true,
- "encrypted": true,
- "volumeSize": 12,
- "volumeType": "gp2",
- "kmsKeyId": "string",
- "snapshotId": "string"
}
}
], - "metadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": "33",
- "instanceMetadataTags": "Enabled"
}
}
}, - "integrations": {
- "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "name",
- "arn": "arn",
- "type": "CLASSIC"
}
]
}, - "route53": {
- "domains": [
- {
- "hostedZoneId": "Z00275642KS5ZZJFIQBCA",
- "recordSetType": "a",
- "spotinstAccountId": "act-1234",
- "recordSets": [
- {
- "usePublicIp": true,
- "name": "testa.spot.io"
}
]
}
]
}
}, - "scheduling": {
- "tasks": [
- {
- "taskType": "recycle",
- "startTime": "2018-05-23T10:55:09Z",
- "cronExpression": "0 1 * * *",
- "isEnabled": true,
- "frequency": "hourly"
}
]
}, - "persistence": {
- "blockDevicesMode": "reattach",
- "persistRootDevice": true,
- "persistBlockDevices": true,
- "persistPrivateIp": true
}, - "healthCheck": {
- "type": "EC2",
- "autoHealing": true,
- "gracePeriod": 120,
- "unhealthyDuration": 120
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "managedInstance": {
- "name": "mi-test",
- "description": "This is my Stateful Node",
- "region": "us-east-1",
- "strategy": {
- "lifeCycle": "spot",
- "orientation": "availabilityOriented",
- "drainingTimeout": 0,
- "fallbackToOd": true,
- "utilizeReservedInstances": true,
- "utilizeCommitments": false,
- "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "revertToSpot": {
- "performAt": "timeWindow"
}
}, - "compute": {
- "subnetIds": [
- "subnet-79da021e"
], - "vpcId": "vpc-111",
- "elasticIp": "ip",
- "privateIp": "ip",
- "product": "Linux/UNIX",
- "volumeAttachments": {
- "volumes": [
- {
- "volumeId": "vol-1234567",
- "deviceName": "/dev/sdb"
}
]
}, - "launchSpecification": {
- "instanceTypes": {
- "preferredType": "t2.micro",
- "preferredTypes": [
- [
- "t2.micro",
- "t3.micro",
- "t2.medium",
- "t3.medium"
]
], - "types": [
- "t2.micro"
], - "resourceRequirements": {
- "requiredGpu": {
- "minimum": 1,
- "maximum": 16
}, - "requiredVCpu": {
- "minimum": 1,
- "maximum": 64
}, - "requiredMemory": {
- "minimum": 1,
- "maximum": 512
}, - "excludedInstanceTypes": [
- [
- "c4.large"
]
], - "excludedInstanceFamilies": [
- [
- "A",
- "C",
- "D"
]
], - "excludedInstanceGenerations": [
- [
- "1",
- "2",
- "3"
]
]
}
}, - "ebsOptimized": false,
- "monitoring": false,
- "tenancy": "default",
- "iamRole": {
- "name": "name",
- "arn": "arn"
}, - "securityGroupIds": [
- "sg-0dfc2c8760df6fec7"
], - "imageId": "ami-01e24be29428c15b2",
- "keyPair": "labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "test1@spot.io"
}
], - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}, - "snapshots": {
- "shouldTag": true
}, - "enis": {
- "shouldTag": false
}, - "amis": {
- "shouldTag": true
}
}, - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "shutdownScript": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "creditSpecification": {
- "cpuCredits": "unlimited"
}, - "networkInterfaces": [
- {
- "deviceIndex": 0,
- "associatePublicIpAddress": true,
- "associateIpv6Address": true
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "iops": 0,
- "throughput": 125,
- "deleteOnTermination": true,
- "encrypted": true,
- "volumeSize": 12,
- "volumeType": "gp2",
- "kmsKeyId": "string",
- "snapshotId": "string"
}
}
], - "metadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": "33",
- "instanceMetadataTags": "Enabled"
}
}
}, - "integrations": {
- "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "name",
- "arn": "arn",
- "type": "CLASSIC"
}
]
}, - "route53": {
- "domains": [
- {
- "hostedZoneId": "Z00275642KS5ZZJFIQBCA",
- "recordSetType": "a",
- "spotinstAccountId": "act-1234",
- "recordSets": [
- {
- "usePublicIp": true,
- "name": "testa.spot.io"
}
]
}
]
}
}, - "scheduling": {
- "tasks": [
- {
- "taskType": "recycle",
- "startTime": "2018-05-23T10:55:09Z",
- "cronExpression": "0 1 * * *",
- "isEnabled": true,
- "frequency": "hourly"
}
]
}, - "persistence": {
- "blockDevicesMode": "reattach",
- "persistRootDevice": true,
- "persistBlockDevices": true,
- "persistPrivateIp": true
}, - "healthCheck": {
- "type": "EC2",
- "autoHealing": true,
- "gracePeriod": 120,
- "unhealthyDuration": 120
}
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:managedInstance"
}
}
Get specific Stateful Node config.
MI_ID required | string Example: smi-111 Stateful Node ID you want to get |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "managedInstance": {
- "name": "mi-test",
- "description": "This is my Stateful Node",
- "region": "us-east-1",
- "strategy": {
- "lifeCycle": "spot",
- "orientation": "availabilityOriented",
- "drainingTimeout": 0,
- "fallbackToOd": true,
- "utilizeReservedInstances": true,
- "utilizeCommitments": false,
- "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "revertToSpot": {
- "performAt": "timeWindow"
}
}, - "compute": {
- "subnetIds": [
- "subnet-79da021e"
], - "vpcId": "vpc-111",
- "elasticIp": "ip",
- "privateIp": "ip",
- "product": "Linux/UNIX",
- "volumeAttachments": {
- "volumes": [
- {
- "volumeId": "vol-1234567",
- "deviceName": "/dev/sdb"
}
]
}, - "launchSpecification": {
- "instanceTypes": {
- "preferredType": "t2.micro",
- "preferredTypes": [
- [
- "t2.micro",
- "t3.micro",
- "t2.medium",
- "t3.medium"
]
], - "types": [
- "t2.micro"
], - "resourceRequirements": {
- "requiredGpu": {
- "minimum": 1,
- "maximum": 16
}, - "requiredVCpu": {
- "minimum": 1,
- "maximum": 64
}, - "requiredMemory": {
- "minimum": 1,
- "maximum": 512
}, - "excludedInstanceTypes": [
- [
- "c4.large"
]
], - "excludedInstanceFamilies": [
- [
- "A",
- "C",
- "D"
]
], - "excludedInstanceGenerations": [
- [
- "1",
- "2",
- "3"
]
]
}
}, - "ebsOptimized": false,
- "monitoring": false,
- "tenancy": "default",
- "iamRole": {
- "name": "name",
- "arn": "arn"
}, - "securityGroupIds": [
- "sg-0dfc2c8760df6fec7"
], - "imageId": "ami-01e24be29428c15b2",
- "keyPair": "labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "test1@spot.io"
}
], - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}, - "snapshots": {
- "shouldTag": true
}, - "enis": {
- "shouldTag": false
}, - "amis": {
- "shouldTag": true
}
}, - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "shutdownScript": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "creditSpecification": {
- "cpuCredits": "unlimited"
}, - "networkInterfaces": [
- {
- "deviceIndex": 0,
- "associatePublicIpAddress": true,
- "associateIpv6Address": true
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "iops": 0,
- "throughput": 125,
- "deleteOnTermination": true,
- "encrypted": true,
- "volumeSize": 12,
- "volumeType": "gp2",
- "kmsKeyId": "string",
- "snapshotId": "string"
}
}
], - "metadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": "33",
- "instanceMetadataTags": "Enabled"
}
}
}, - "integrations": {
- "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "name",
- "arn": "arn",
- "type": "CLASSIC"
}
]
}, - "route53": {
- "domains": [
- {
- "hostedZoneId": "Z00275642KS5ZZJFIQBCA",
- "recordSetType": "a",
- "spotinstAccountId": "act-1234",
- "recordSets": [
- {
- "usePublicIp": true,
- "name": "testa.spot.io"
}
]
}
]
}
}, - "scheduling": {
- "tasks": [
- {
- "taskType": "recycle",
- "startTime": "2018-05-23T10:55:09Z",
- "cronExpression": "0 1 * * *",
- "isEnabled": true,
- "frequency": "hourly"
}
]
}, - "persistence": {
- "blockDevicesMode": "reattach",
- "persistRootDevice": true,
- "persistBlockDevices": true,
- "persistPrivateIp": true
}, - "healthCheck": {
- "type": "EC2",
- "autoHealing": true,
- "gracePeriod": 120,
- "unhealthyDuration": 120
}
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:managedInstance"
}
}
Get specific Stateful Node config.
MI_ID required | string Example: smi-111 Stateful Node ID you want to get |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object | |
object |
{- "deallocationConfig": {
- "shouldDeleteImages": true,
- "shouldDeleteNetworkInterfaces": true,
- "shouldDeleteVolumes": true,
- "shouldDeleteSnapshots": true,
- "shouldTerminateInstance": true
}, - "amiBackup": {
- "shouldDeleteImages": true
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Pause an existing Stateful Node.
MI_ID required | string Example: smi-111 Stateful Node ID you want to get |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Resume an existing Stateful Node.
MI_ID required | string Example: smi-111 Stateful Node ID you want to get |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Recycle an existing Stateful Node.
MI_ID required | string Example: smi-111 Stateful Node ID you want to get |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Get financial information on a specific Stateful Node. To use this API, managedInstanceId must be defined.
MI_ID required | string Example: smi-111 Stateful Node ID you want to get |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
aggregationPeriod | string Data values following either a date format (YYYY-MM-DDTHH:mm:ss.SSSZ ; 2016-01-10T00:00:00.000Z) or Unix seconds Timestamp (1494751821) |
fromDate required | string <date-time> Example: fromDate=2019-05-17 Get items on or after this date (ISO 8601) |
toDate required | string <date-time> Example: toDate=2019-05-25 Get items on or before this date (ISO 8601) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "running": {
- "value": 4,
- "unit": "hours"
}, - "savings": {
- "value": 0,
- "unit": "percentage"
}, - "costs": {
- "actual": 0.268,
- "potential": 0.268
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:managedInstance:costs"
}
}
Describes the current status of a specific Stateful Node – entailing information regarding running instance and its status.
MI_ID required | string Example: smi-111 Stateful Node ID you want to get |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "smi-50739ad2",
- "name": "i-0db00q51ec9069ebf",
- "status": "ACTIVE",
- "instanceId": "i-0vc9530daq19c4aad",
- "instanceType": "t2.micro",
- "imageId": "ami-03238ecdbdc7d6d6a",
- "privateIp": "172.31.10.21",
- "publicIp": "34.212.65.224",
- "createdAt": "2020-05-05T08:53:12.000Z",
- "launchedAt": "2020-05-05T08:53:12.000Z"
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:managedInstanceStatus"
}
}
Delete a Volume that is part of a Stateful Node
MI_ID required | string Example: smi-123456 Stateful Node ID |
volumeId required | string Example: vol-0faa4b2957a3d59c8 Volume ID |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "3b750eff-3940-46b3-a309-aa2b415272fd",
- "url": "/aws/ec2/managedInstance/smi-123456/volume/vol-0faa4b2957a3d59c8",
- "method": "DELETE",
- "timestamp": "2021-11-03T11:02:55.608Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (Migration) Migration Configuration | ||||||||||||||||||
|
{- "migration": {
- "shouldKeepPrivateIp": false,
- "shouldKeepMetadataOptions": false,
- "originalInstanceId": "i-123",
- "region": "us-east-1",
- "shouldTerminateInstance": false,
- "managedInstanceName": "us-east-1",
- "product": "Linux/UNIX",
- "spotInstanceTypes": [
- "m3.large"
], - "availabilityZones": [
- {
- "name": "us-west-2c",
- "subnetIds": [
- "subnet-fdfb00a0"
]
}
]
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "migrationId": "smg-123",
- "managedInstanceId": "smi-123",
- "data": {
- "originalInstanceId": "i-123",
- "shouldKeepPrivateIp": true,
- "shouldKeepMetadataOptions": true,
- "shouldTerminateInstance": true
}, - "state": "MIGRATE_START"
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:managedInstance:migration"
}
}
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | Array of objects (Migrations) List of Migration requests | ||||||||||||||||||
Array
|
{- "migrations": [
- {
- "shouldKeepPrivateIp": false,
- "shouldKeepMetadataOptions": false,
- "originalInstanceId": "i-123",
- "region": "us-east-1",
- "shouldTerminateInstance": false,
- "managedInstanceName": "us-east-1",
- "product": "Linux/UNIX",
- "spotInstanceTypes": [
- "m3.large"
], - "availabilityZones": [
- {
- "name": "us-west-2c",
- "subnetIds": [
- "subnet-fdfb00a0"
]
}
]
}
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "migrationId": "smg-123",
- "managedInstanceId": "smi-123",
- "data": {
- "originalInstanceId": "i-123",
- "managedInstanceName": "MI-PROD-123",
- "shouldKeepPrivateIp": true,
- "shouldKeepMetadataOptions": true,
- "shouldTerminateInstance": true
}, - "state": "MIGRATE_START"
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:managedInstance:migration",
- "failures": [
- {
- "resourceId": "i-456",
- "errorMessage": "Failed to create migration for Stateful Node"
}
]
}
}
MIGRATION_ID required | string Example: smg-123 Migration ID for which you want to get the status |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "migrationId": "smg-1234",
- "managedInstanceId": "smi-1234",
- "instanceId": "i-1234",
- "state": "MIGRATE_START",
- "stateDescription": "Creating an image from the instance"
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:managedInstance:migration"
}
}
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
migrationIds required | Array of strings (Migration Ids) List of Migration ids. Use the |
{- "migrationIds": [
- [
- "smg-1234",
- "smi-5678"
]
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "migrationId": "smg-1234",
- "managedInstanceId": "smi-1234",
- "instanceId": "i-1234",
- "state": "MIGRATE_START",
- "stateDescription": "Current state description"
}, - {
- "migrationId": "smg-5678",
- "managedInstanceId": "smi-5678",
- "instanceId": "i-5678",
- "state": "MIGRATE_START",
- "stateDescription": "Current state description"
}
], - "count": 2,
- "kind": "spotinst:aws:ec2:managedInstance:migration"
}
}
Update the state of multiple Stateful Nodes.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | Array of objects (Stateful Node State) An array of Stateful Node State objects (must contain at least 1 object). | ||||
Array
|
{- "managedInstanceStates": [
- {
- "id": "smi-12345678",
- "state": "PAUSE"
}, - {
- "id": "smi-12345679",
- "state": "RESUME"
}
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/aws/ec2/managedInstance/state?spotinstAccountId=act-123456",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Gets audit events that have response status of 200. This is the default when the responseStatus parameter is not included in the query. When you use responseStatus in the query, you can get all audit events without regard to status.
The API requires one of the following permissions to be defined in Spot:
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
fromDate required | string <string> Example: fromDate=1598918400000 Get items on or after this date (Unix timestamp) |
responseStatus | string Example: responseStatus=all Determines whether the audit events should be filtered by their response status code or not. Valid values: "success": Gets only events with status 200. "all": Audit events will not be filtered by response status codes, and all the events will be returned. Default: success |
toDate required | string <string> Example: toDate=1598918400000 Get items on or before this date (Unix timestamp) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "user": "test@spot.io",
- "namespace": "GENERAL",
- "actionType": "Sign in with SSO",
- "resourceType": "User",
- "resourceId": 21126,
- "createdAt": "2020-06-01T12:17:51.000Z",
- "context": "{\"body\":{\"email\":\"test@spot.io\",\"isMarketplaceCustomer\":false},\"url\":\"/signIn/sso\",\"query\":{}}",
- "source": "UI",
- "agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.9.1667.012 Safari/537.36",
- "responseStatus": 200
}
], - "count": 1,
- "kind": "spotinst:audit"
}
}
Create an HCS for Spot Elastigroup.
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
required | object Group | ||||||||||
|
{- "healthCheck": {
- "resourceId": "sig-12345",
- "name": "Service-1-healthCheck",
- "proxyAddress": "51.22.125.47",
- "proxyPort": 80,
- "check": {
- "protocol": "http",
- "port": 80,
- "endpoint": "index.html",
- "unhealthyThreshold": 2,
- "healthyThreshold": 2,
- "interval": 30,
- "timeout": 60
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": 1,
- "resourceId": "sig-12345",
- "name": "Service-1-healthCheck",
- "proxyAddress": "51.22.125.47",
- "proxyPort": 80,
- "check": {
- "protocol": "http",
- "port": 80,
- "endpoint": "index.html",
- "unhealthyThreshold": 2,
- "healthyThreshold": 2,
- "interval": 30,
- "timeout": 60
}
}
], - "count": 1,
- "kind": "spotinst:healthCheck"
}
}
Get a list of all HCS services.
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": 1,
- "resourceId": "sig-12345",
- "name": "Service-1-healthCheck",
- "proxyAddress": "51.22.125.47",
- "proxyPort": 80,
- "check": {
- "protocol": "http",
- "port": 80,
- "endpoint": "index.html",
- "unhealthyThreshold": 2,
- "healthyThreshold": 2,
- "interval": 30,
- "timeout": 60
}
}
], - "count": 1,
- "kind": "spotinst:healthCheck"
}
}
Update existing HCS.
HEALTHCHECK_ID required | string Example: hcs-123 The HCS you want to update |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
required | object Group | ||||||||
|
{- "healthCheck": {
- "name": "Service-1-healthCheck",
- "proxyAddress": "51.22.125.47",
- "proxyPort": 80,
- "check": {
- "protocol": "http",
- "port": 80,
- "endpoint": "index.html",
- "unhealthyThreshold": 2,
- "healthyThreshold": 2,
- "interval": 30,
- "timeout": 60
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
List the information of a particular HCS
HEALTHCHECK_ID required | string Example: hcs-123 The HCS you want to update |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": 1,
- "resourceId": "sig-12345",
- "name": "Service-1-healthCheck",
- "proxyAddress": "51.22.125.47",
- "proxyPort": 80,
- "check": {
- "protocol": "http",
- "port": 80,
- "endpoint": "index.html",
- "unhealthyThreshold": 2,
- "healthyThreshold": 2,
- "interval": 30,
- "timeout": 60
}
}
], - "count": 1,
- "kind": "spotinst:healthCheck"
}
}
Delete existing HCS
HEALTHCHECK_ID required | string Example: hcs-123 The HCS you want to update |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
A Spot Notifications service enables you a fast, flexible, fully managed push notification service that lets you know about major events that happened in your Spot account.ֿ Spot Notifications makes it simple and cost-effective to get push notifications to your email address, HTTP, HTTPS or AWS SNS (Simple Notifications Service).
Update the account notification policy
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object | |||||
|
{- "accountPolicy": {
- "emailPolicy": {
- "statements": [
- {
- "category": "Elastigroup Errors",
- "subCategory": "Launch instances failures",
- "isEnabled": true,
- "applyOnFutureResources": true,
- "allowedResources": [
- {
- "id": "sig-1234"
}
], - "deniedResources": [
- {
- "id": "sig-9999"
}
]
}
]
}, - "slackPolicy": {
- "statements": [
- {
- "category": "Elastigroup Errors",
- "subCategory": "Launch instances failures",
- "isEnabled": true,
- "applyOnFutureResources": true,
- "allowedResources": [
- {
- "id": "sig-1234"
}
], - "deniedResources": [
- {
- "id": "sig-9999"
}
]
}
]
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Get the account notification policy
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "accountPolicy": {
- "emailPolicy": {
- "statements": [
- {
- "category": "Elastigroup Errors",
- "subCategory": "Launch instances failures",
- "isEnabled": true,
- "applyOnFutureResources": true,
- "allowedResources": [
- {
- "id": "sig-1234"
}
], - "deniedResources": [
- {
- "id": "sig-9999"
}
]
}
]
}, - "slackPolicy": {
- "statements": [
- {
- "category": "Elastigroup Errors",
- "subCategory": "Launch instances failures",
- "isEnabled": true,
- "applyOnFutureResources": true,
- "allowedResources": [
- {
- "id": "sig-1234"
}
], - "deniedResources": [
- {
- "id": "sig-9999"
}
]
}
]
}
}
}
], - "count": 1,
- "kind": "string"
}
}
Create a notification for your resources
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
required | object Object defining the subscription parameters | ||||||||||
|
{- "subscription": {
- "resourceId": "sig-1234abcd",
- "protocol": "email",
- "endpoint": "YOUR@EMAIL.COM",
- "eventType": "AWS_EC2_INSTANCE_TERMINATE",
- "eventFormat": {
- "event": "%event%",
- "resourceId": "%resource-id%",
- "resourceName": "%resource-name%",
- "instanceId": "%instance-id%",
- "myCustomKey": "My content is set here"
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/events/subscription",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sis-1234abcd",
- "resourceId": "sig-1234abcd",
- "resourceName": "myGroup",
- "protocol": "email",
- "endpoint": "YOUR@EMAIL.COM",
- "eventType": "AWS_EC2_INSTANCE_TERMINATE",
- "eventFormat": {
- "event": "%event%",
- "resourceId": "%resource-id%",
- "resourceName": "%resource-name%",
- "instanceId": "%instance-id%",
- "myCustomKey": "My content is set here"
}, - "updatedAt": "2015-08-04T12:31:26.000Z",
- "createdAt": "2015-08-04T12:31:26.000Z"
}
], - "count": 1,
- "kind": "spotinst:subscription"
}
}
List all subscriptions and their information
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/events/subscription",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sis-1234abcd",
- "resourceId": "sig-1234abcd",
- "resourceName": "myGroup",
- "protocol": "email",
- "endpoint": "YOUR@EMAIL.COM",
- "eventType": "AWS_EC2_INSTANCE_TERMINATE",
- "eventFormat": {
- "event": "%event%",
- "resourceId": "%resource-id%",
- "resourceName": "%resource-name%",
- "instanceId": "%instance-id%",
- "myCustomKey": "My content is set here"
}, - "updatedAt": "2015-08-04T12:31:26.000Z",
- "createdAt": "2015-08-04T12:31:26.000Z"
}
], - "count": 1,
- "kind": "spotinst:subscription"
}
}
Delete an existing page
subscriptionId required | string Example: sis-1234abcd The subscription ID to operate on. |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Get a specific notification and its information
subscriptionId required | string Example: sis-1234abcd The subscription ID to operate on. |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/events/subscription",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sis-1234abcd",
- "resourceId": "sig-1234abcd",
- "resourceName": "myGroup",
- "protocol": "email",
- "endpoint": "YOUR@EMAIL.COM",
- "eventType": "AWS_EC2_INSTANCE_TERMINATE",
- "eventFormat": {
- "event": "%event%",
- "resourceId": "%resource-id%",
- "resourceName": "%resource-name%",
- "instanceId": "%instance-id%",
- "myCustomKey": "My content is set here"
}, - "updatedAt": "2015-08-04T12:31:26.000Z",
- "createdAt": "2015-08-04T12:31:26.000Z"
}
], - "count": 1,
- "kind": "spotinst:subscription"
}
}
Update existing notification
subscriptionId required | string Example: sis-1234abcd The subscription ID to operate on. |
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
required | object Element that store all the subscription config | ||
|
{- "subscription": {
- "endpoint": "SNS_TOPIC_ARN"
}
}
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/events/subscription/sis-56879d5c?accountId=act-123abc",
- "method": "PUT",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "affectedRows": 1
}
}
Describe Potential Savings for AWS resources like - ASG (Auto-scaling groups), Beanstalk, ELB, ECS, EMR and tagged instances. The response will provide Potential monthly savings in USD
accountId | string Example: accountId=act-123456789 ID of the account associated with your token |
{- "request": {
- "url": "/aws/ec2/group/sig-12345/suspension",
- "method": "GET"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:cs:aws:potentialSavings",
- "items": [
- [
- {
- "resourceType": "Auto Scaling Group",
- "name": "Prod_ASG",
- "region": "us-west-1",
- "instances": 5,
- "instanceTypes": [
- "c4.4xlarge"
], - "potentialSavings": 2700
}
]
], - "count": 1
}
}
Describe potential savings for the listed instances. You can provide multiple instance IDs separated by a comma. The response will provide potential monthly savings in USD.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
instanceIds required | string Example: instanceIds=i-1234567 The instance ID |
region required | string Example: region=us-east-1 The AWS Region |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/instancePotentialSavings?instanceIds=i-08674ba9a6ddb73f4%2Ci-0973dc7a755d34894®ion=us-west-2",
- "method": "GET",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:cs:aws:potentialSavings",
- "items": [
- {
- "newSpotRequests": [
- {
- "resourceType": "EC2Instance",
- "name": "i-12345abcde12345",
- "instances": 1,
- "instanceTypes": [
- "t2.medium"
], - "potentialSavings": 28
}, - {
- "resourceType": "EC2Instance",
- "name": "i-0973dc7a755d34894",
- "instances": 1,
- "instanceTypes": [
- "m4.large"
], - "potentialSavings": 60
}
]
}
], - "count": 2
}
}
Retrieve costs up to one year back per specified account over a specified time period.
accountId | string Example: accountId=act-123456789 ID of the account associated with your token |
aggregationPeriod | string Example: aggregationPeriod=daily Optional. The time period over which data is aggregated. Can only be "daily". For example, the figures in each data set are per day |
fromDate | string Example: fromDate=2018-06-20 Date can be either in ISO-8601 date format (yyyy-mm-dd) or in Unix Timestamp format (e.g. 1494751821472). *Minimum from date can be one year ago. |
toDate | string Example: toDate=2018-11-20 Date can be either in ISO-8601 date format (yyyy-mm-dd) or in Unix Timestamp format (e.g. 1494751821472). *Data is shown until the past day (Does not include today's costs) |
{- "request": {
- "id": "67582d0c-108b-4ef7-9fdc-d39678a30844",
- "url": "/aws/costs",
- "method": "GET",
- "timestamp": "2018-01-07T07:30:58.622Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:costs",
- "items": [
- [
- {
- "timestamp": "2020-03-06T00:00:00.000Z",
- "spot": {
- "runningHours": 1470.8,
- "actualCosts": 107.3,
- "potentialCosts": 378.41,
- "savingsPercentage": 71.64
}
}
]
], - "count": 1
}
}
Get suggested instance types by required resources. Note that request must include region, and at least one of the following values - baselineInstanceType, requiredVCpu, requiredMemoryGib
accountId | string Example: accountId=act-123abc ID of the account associated with your token |
object (AWS Elastigroup) | |||||||||
|
{- "requirements": {
- "region": "us-east-1",
- "baselineInstanceType": "m5.large",
- "requiredVCpu": {
- "minimum": 2,
- "maximum": 4
}, - "requiredMemoryGib": {
- "minimum": 16,
- "maximum": 64
}
}
}
{- "request": {
- "id": "0bb5db74-2457-4a34-b8f3-174e6bf5578e",
- "url": "/aws/ec2/instanceTypeRecommendation",
- "method": "POST",
- "timestamp": "2016-06-19T08:41:57.516Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:instanceTypeRecommendation",
- "items": [
- [
- {
- "instanceType": "m4.large"
}, - {
- "instanceType": "m5.large"
}
]
], - "count": 2
}
}
Create a new data integration, an object representing a connection to a third-party vendor to export to and import data from.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object | |||||||
|
{- "dataIntegration": {
- "vendor": "s3",
- "name": "my-s3-integration",
- "config": {
- "bucketName": "mybucket",
- "subdir": "dev"
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/insights/dataIntegration",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "di-123",
- "vendor": "s3",
- "name": "my-s3-integration",
- "status": "enabled",
- "health": "valid",
- "code": 200,
- "message": "ok",
- "lastHealthCheck": "2021-08-1T10:00:00.000Z",
- "config": {
- "bucketName": "mybucket",
- "subdir": "dev"
}
}
], - "count": 1,
- "kind": "spotinst:dataIntegration"
}
}
List data integrations.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
health | string Enum: "valid" "invalid" "forbidden" Example: health=valid The health status of the data integrations to list. |
name | string Example: name=my-data-integration The name of the data integrations to list. |
status | string Enum: "enabled" "disabled" Example: status=enabled The status of the data integrations to list. |
vendor | string Enum: "s3" "azureBlob" Example: vendor=s3 The vendor of the data integrations to list. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/insights/dataIntegration",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "di-123",
- "vendor": "s3",
- "name": "my-s3-integration",
- "status": "enabled",
- "health": "valid",
- "code": 200,
- "message": "ok",
- "lastHealthCheck": "2021-08-1T10:00:00.000Z",
- "config": {
- "bucketName": "mybucket",
- "subdir": "dev"
}
}
], - "count": 1,
- "kind": "spotinst:dataIntegration"
}
}
Update an existing data integration.
dataIntegrationId required | string Example: di-123abc Identifier of the data integration. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
object | |||||||||
|
{- "dataIntegration": {
- "vendor": "s3",
- "name": "my-s3-integration",
- "status": "enabled",
- "config": {
- "bucketName": "mybucket",
- "subdir": "dev"
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/insights/dataIntegration/di-123",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "di-123",
- "vendor": "s3",
- "name": "my-s3-integration",
- "status": "enabled",
- "health": "valid",
- "code": 200,
- "message": "ok",
- "lastHealthCheck": "2021-08-1T10:00:00.000Z",
- "config": {
- "bucketName": "mybucket",
- "subdir": "dev"
}
}
], - "count": 1,
- "kind": "spotinst:dataIntegration"
}
}
Get an existing data integration.
dataIntegrationId required | string Example: di-123abc Identifier of the data integration. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/insights/dataIntegration/di-123",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "di-123",
- "vendor": "s3",
- "name": "my-s3-integration",
- "status": "enabled",
- "health": "valid",
- "code": 200,
- "message": "ok",
- "lastHealthCheck": "2021-08-1T10:00:00.000Z",
- "config": {
- "bucketName": "mybucket",
- "subdir": "dev"
}
}
], - "count": 1,
- "kind": "spotinst:dataIntegration"
}
}
Delete an existing data integration.
dataIntegrationId required | string Example: di-123abc Identifier of the data integration. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/insights/dataIntegration/di-123",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Get the savings of the organization between the input time range.
fromDate | string Example: fromDate=2022-06-20 Date can be either in ISO-8601 date format (yyyy-mm-dd) or in Unix Timestamp format (e.g. 1494751821472). *Minimum from date can be one year ago. |
toDate | string Example: toDate=2022-11-20 Date can be either in ISO-8601 date format (yyyy-mm-dd) or in Unix Timestamp format (e.g. 1494751821472). *Data is shown until the past day (Does not include today's costs) |
{- "request": {
- "id": "67582d0c-108b-4ef7-9fdc-d39678a30844",
- "url": "/insights/savings",
- "method": "GET",
- "timestamp": "2022-01-10T00:00:00.000Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "savings:extended:resource",
- "items": [
- [
- {
- "resources": [
- {
- "accountId": "act-12345678",
- "accountName": "production account",
- "resourceId": "o-7dd944535",
- "resourceName": "Ocean Kubernetes cluster name",
- "productType": "AWS_KUBERNETES_OCEAN",
- "runningHours": 107.3,
- "actualCosts": 107.3,
- "potentialCosts": 378.41,
- "amountSaved": 306.77
}
], - "summary": {
- "runningHours": 117.3,
- "actualCosts": 207.3,
- "potentialCosts": 11378.41,
- "amountSaved": 1306.77
}
}
]
], - "count": 1
}
}
Get details for the selected workflow execution.
exe_id required | string unique execution id |
{- "AutomationExecutionId": "string",
- "AutomationExecutionStatus": "string",
- "DocumentName": "string",
- "DocumentVersion": 0,
- "ExecutedBy": "string",
- "ExecutionEndTime": "2019-08-24T14:15:22Z",
- "ExecutionStartTime": "2019-08-24T14:15:22Z",
- "Mode": "string",
- "Outputs": { },
- "Parameters": { },
- "PostProcessingCompletedAt": "2019-08-24T14:15:22Z",
- "ResolvedTargets": { },
- "StepExecutions": [
- {
- "Action": "string",
- "ExecutionEndTime": "2019-08-24T14:15:22Z",
- "ExecutionStartTime": "2019-08-24T14:15:22Z",
- "Inputs": { },
- "IsEnd": true,
- "NextStep": "string",
- "Outputs": { },
- "OverriddenParameters": { },
- "StepExecutionId": "string",
- "StepName": "string",
- "StepStatus": "string",
- "ValidNextSteps": [
- "string"
]
}
], - "Targets": [
- "string"
], - "TaskId": 0,
- "TenantId": "string",
- "Trigger": "string",
- "WorkflowDeleted": true,
- "WorkspaceId": "string"
}
Start the execution of the selected workflow.
name required | string DisplayName of a workflow |
version | string Selected workflow version |
workspace_id | string Currently selected Workspace ID |
{- "exe_id": "string"
}
List all scheduled workflows of the selected workspace.
task_id | string (optional) filter related schedules to a task |
workspace_id | string currently selected Workspace ID |
{- "items": [
- {
- "created_at": "string",
- "created_by": 0,
- "created_by_username": "string",
- "enabled": true,
- "rule": "string",
- "schedule_expression": "string",
- "task_id": 0,
- "workflow": "string"
}
]
}
List all execution schedules for the selected workflow.
workflow_name required | string unique workflow name only |
workspace_id | string currently selected Workspace ID |
{- "items": [
- {
- "created_at": "string",
- "created_by": 0,
- "created_by_username": "string",
- "enabled": true,
- "rule": "string",
- "schedule_expression": "string",
- "task_id": 0,
- "workflow": "string"
}
]
}
Create a new execution schedule for the selected workflow.
workflow_name required | string unique workflow name only |
workspace_id | string currently selected Workspace ID |
expression required | string CRON expression of the schedule. |
params | object Runtime parameters for the workflow. |
version required | integer Version of the workflow. |
{- "expression": "string",
- "params": { },
- "version": 0
}
{- "rule_name": "string"
}
Endpoint to fetch list of API Keys and its values.
disable_redact | string Disable redacting API keys |
workspace_id | string Currently selected Workspace ID |
{- "body": {
- "apikeys": [
- {
- "ApikeyName": "string",
- "CreatedDate": "2019-08-24T14:15:22Z",
- "Value": "string"
}
]
}, - "statusCode": 0
}
Endpoint to fetch the selected API key's information from the selected workspace.
apikey_name required | string API key name |
disable_redact | string Disable redacting API keys |
workspace_id | string Currently selected Workspace ID |
{- "body": {
- "ApikeyName": "string",
- "CreatedDate": "2019-08-24T14:15:22Z",
- "Value": "string"
}, - "statusCode": 0
}
Endpoint to create a new API Key.
apikey_name required | string API key name |
workspace_id | string Currently selected Workspace ID |
{- "body": {
- "message": "string",
- "value": "string"
}, - "statusCode": 0
}
Checks whether given Alias name is available for use for the selected service in the current organization.
service required | string Name of connector service (value=ansible|apikeys|bitbucket|datadog|git|humio|instana|jira|opsgenie|aws_health|pagerduty|prometheus|pulumi|slack|splunk|splunk_on_call|spot|squadcast|terraform|terraform_cli|twilio|zoom) |
alias required | string The alias to check availability for. |
{- "alias": "string"
}
{- "body": {
- "alias": "string",
- "available": true,
- "message": "string"
}, - "statusCode": 0
}
Retrieve a list of all enabled connectors (integration or resource), excluding those that are exclusively trigger-based. For each connector, extract essential settings from its schema and determine a boolean status indicating whether it's configured or not.
workspace_id | string Currently selected Workspace ID |
{- "body": {
- "ansible": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "apikeys": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "aws": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "aws_health": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "azure": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "azure_openai": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "bitbucket": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "cloudformation": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "datadog": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "eks": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "elasticsearch": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "gcp": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "git": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "gke": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "http": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "humio": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "instana": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "jenkins": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "jira": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "new_relic": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "opsgenie": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "pagerduty": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "prometheus": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "pulumi": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "s3": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "servicenow": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "slack": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "sns": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "splunk": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "splunk_on_call": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "spot": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "spot_security": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "ssh": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "sumologic": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "terraform": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "terraform_cli": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "twilio": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}, - "zendesk": {
- "coming_soon": true,
- "connector_type": "string",
- "connectors": [
- "string"
], - "display_name": "string",
- "is_configured": true,
- "is_trigger": true
}
}, - "statusCode": 0
}
API for status of Jira OAuth approval by Customer (Jira administrator).
alias | string Slack integration alias. |
jira_url | string URL of the Jira instance. |
req_token | string The request token provided by Jira for the integration. |
req_token_secret | string The request token secret provided by Jira for the integration. |
workspace_id | string Currently selected Workspace ID |
{- "body": {
- "message": "string",
- "status": "string"
}, - "statusCode": 0
}
This API is used to fetch Jira authorization URL.
alias | string Slack integration alias. |
jira_url | string URL of the Jira instance. |
{- "body": {
- "alias": "string",
- "jira_url": "string",
- "req_token": "string",
- "req_token_secret": "string"
}, - "statusCode": 0
}
Fetch various Spot Connect plan details with quotas and pricing.
{- "body": {
- "commercial": {
- "execution_limit": 0,
- "pricing": 0,
- "workflow_limit": 0
}, - "free": {
- "execution_limit": 0,
- "pricing": 0,
- "workflow_limit": 0
}, - "internal": {
- "execution_limit": 0,
- "pricing": 0,
- "workflow_limit": 0
}, - "team": {
- "execution_limit": 0,
- "pricing": 0,
- "workflow_limit": 0
}
}, - "statusCode": 0
}
Fetch quotas for organization and provide information on their limits and current status.
{- "body": {
- "current_tier": "string",
- "executions": {
- "available": 0,
- "current_usage": 0,
- "workflow_limit": 0
}, - "plan_renew": "2019-08-24T14:15:22Z",
- "workflows": {
- "available": 0,
- "current_usage": 0,
- "workflow_limit": 0
}
}, - "statusCode": 0
}
Get the JSON schema for the given integration or resource.
service required | string Name of connector service (value=ansible|apikeys|bitbucket|datadog|git|humio|instana|jira|opsgenie|aws_health|pagerduty|prometheus|pulumi|slack|splunk|splunk_on_call|spot|squadcast|terraform|terraform_cli|twilio|zoom) |
{- "body": {
- "schema": { }
}, - "statusCode": 0
}
After the user installs/authorizes the Spot Connect Slack app in their workspace, they will be redirected back to the Slack integration page in the Fylamynt web app with an authorization code. The web app will then call this API endpoint with that 'code' in the query parameter. Instead, if the user rejects to authorize the Fylamynt Slack app in their workspace, the API request from the web app will contain the 'error' code (e.g., error=access_denied) returned from Slack. The following code processes the request and returns success or failure response to the web app. Slack instance alias is part of 'state' query parameter, previously 'state' query parameter contained subdomain.
code | string Slack authorization code. Provide either code or an error message, but not both. |
error | string Error message. Provide either code or an error message, but not both. |
state required | string Alias of the Slack integration |
workspace_id | string Currently selected Workspace ID |
{- "body": {
- "message": "string"
}, - "statusCode": 0
}
This API is used to retrieve the Slack integration URL. The integration_id URI parameter is optional for this API.
alias | string Slack integration alias. |
{- "body": {
- "integration_url": "string"
}, - "statusCode": 0
}
Endpoint to fetch the list of trigger connectors each containing the name, display name, snippet name, and configuration status of the respective connector.
{- "body": {
- "triggers": [
- {
- "display_name": "string",
- "is_configured": true,
- "name": "string",
- "snippet_name": "string"
}
]
}, - "statusCode": 0
}
authorization code in the query parameter. Once we receive this request, we will use the auth code and exchange it for an OAuth token with a request type 'authorization_code' by calling back to Zoom. If we successfully exchange the auth code for a token, we will then save the returned 'refresh_token' to secrets manager.
Get the list of instances for a given service.
service required | string Name of connector service (value=ansible|apikeys|bitbucket|datadog|git|humio|instana|jira|opsgenie|aws_health|pagerduty|prometheus|pulumi|slack|splunk|splunk_on_call|spot|squadcast|terraform|terraform_cli|twilio|zoom) |
disable_redact | string Disable redacting API keys |
workspace_id | string Currently selected Workspace ID |
{- "body": [
- { }
], - "statusCode": 0
}
Create a new secret for a given service.
The Example model
contains models for all services that can be created.
When calling this endpoint for a specific service, only the credentials
for that service should be provided in the payload.
The payload should be structured with the credentials inside a 'credentials' key. For example, for an S3 integration:
{ "credentials": { "alias": "my-s3-integration", "target": "my-target", "name": "my-bucket-name" } }
Not all fields from all_input_models need to be sent in the payload, only those relevant to the specific service being created.
Response will be the instance credentials that was created.
service required | string Name of connector service (value=ansible|apikeys|bitbucket|datadog|git|humio|instana|jira|opsgenie|aws_health|pagerduty|prometheus|pulumi|slack|splunk|splunk_on_call|spot|squadcast|terraform|terraform_cli|twilio|zoom) |
workspace_id | string Currently selected Workspace ID |
object (AnsibleCredentials) | |
object (Azure_openaiCredentials) | |
object (BitbucketCredentials) | |
object (CloudformationCredentials) | |
object (DatadogCredentials) | |
object (EksCredentials) | |
object (ElasticsearchCredentials) | |
object (GitCredentials) | |
object (GkeCredentials) | |
object (HttpCredentials) | |
object (HumioCredentials) | |
object (JenkinsCredentials) | |
object (JiraCredentials) | |
object (New_relicCredentials) | |
object (PagerdutyCredentials) | |
object (PulumiCredentials) | |
object (S3Credentials) | |
object (ServicenowCredentials) | |
object (SlackCredentials) | |
object (SplunkCredentials) | |
object (Splunk_on_callCredentials) | |
object (SpotCredentials) | |
object (SshCredentials) | |
object (SumologicCredentials) | |
object (TerraformCredentials) | |
object (Terraform_cliCredentials) | |
object (TwilioCredentials) | |
object (ZendeskCredentials) |
{- "ansible": {
- "alias": "string",
- "logs": "string",
- "playbooks": "string",
- "s3_access_role": "string",
- "ssh_private_key": "string"
}, - "azure_openai": {
- "alias": "string",
- "api_key": "string",
- "azure_endpoint": "string",
- "model": "string"
}, - "bitbucket": {
- "access_token": "string",
- "alias": "string",
- "url": "string"
}, - "cloudformation": {
- "alias": "string",
- "filePath": "string",
- "ref": "string",
- "repoId": "string"
}, - "datadog": {
- "alias": "string",
- "api_key": "string",
- "app_key": "string"
}, - "eks": {
- "alias": "string",
- "role_arn": "string",
- "target": "string"
}, - "elasticsearch": {
- "alias": "string",
- "api_key_id": "string",
- "api_key_value": "string",
- "cloud_id": "string"
}, - "git": {
- "access_token": "string",
- "alias": "string",
- "url": "string"
}, - "gke": {
- "alias": "string",
- "service_account_key": "string"
}, - "http": {
- "alias": "string",
- "api_key": "string",
- "authorization_type": "string",
- "password": "string",
- "token": "string",
- "url": "string",
- "username": "string"
}, - "humio": {
- "alias": "string",
- "humio_api_token": "string",
- "humio_url": "string"
}, - "jenkins": {
- "alias": "string",
- "api_token": "string",
- "server_url": "string",
- "username": "string"
}, - "jira": {
- "JIRA_ACCESS_TOKEN": "string",
- "JIRA_CONSUMER_KEY": "string",
- "JIRA_CONSUMER_NAME": "string",
- "JIRA_KEY_CERT": "string",
- "JIRA_PUBLIC_KEY": "string",
- "JIRA_TOKEN_SECRET": "string",
- "JIRA_URL": "string",
- "alias": "string"
}, - "new_relic": {
- "account_id": 0,
- "alias": "string",
- "api_key": "string"
}, - "pagerduty": {
- "alias": "string",
- "pagerduty_api_token": "string"
}, - "pulumi": {
- "access_token": "string",
- "alias": "string",
- "backend": "string",
- "passphrase": "string",
- "team": "string"
}, - "s3": {
- "alias": "string",
- "name": "string",
- "target": "string"
}, - "servicenow": {
- "alias": "string",
- "instance_url": "string",
- "password": "string",
- "username": "string"
}, - "slack": {
- "access_token": "string",
- "alias": "string",
- "expire_time": "string",
- "refresh_token": "string",
- "scope": "string",
- "slack_client_id": "string",
- "slack_client_secret": "string",
- "slack_signing_secret": "string",
- "slack_team_id": "string",
- "slack_team_name": "string",
- "slack_user_id": "string",
- "slack_user_name": "string"
}, - "splunk": {
- "access_token": "string",
- "alias": "string",
- "splunk_url": "string"
}, - "splunk_on_call": {
- "alias": "string",
- "api_id": "string",
- "api_key": "string"
}, - "spot": {
- "alias": "string",
- "api_token": "string"
}, - "ssh": {
- "alias": "string",
- "hostIdentifier": "string",
- "privateKey": "string"
}, - "sumologic": {
- "access_id": "string",
- "access_key": "string",
- "alias": "string"
}, - "terraform": {
- "alias": "string",
- "organization": "string",
- "token": "string"
}, - "terraform_cli": {
- "alias": "string",
- "git_repo": "string",
- "root": "string",
- "s3_bucket": "string",
- "source_type": "string"
}, - "twilio": {
- "accountSid": "string",
- "alias": "string",
- "authToken": "string"
}, - "zendesk": {
- "alias": "string",
- "api_token": "string",
- "email": "string",
- "subdomain_name": "string"
}
}
{- "body": {
- "ansible": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "playbooks": "string",
- "s3_access_role": "string",
- "ssh_private_key": "string"
}, - "azure_openai": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_key": "string",
- "azure_endpoint": "string",
- "model": "string"
}, - "bitbucket": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "access_token": "string",
- "url": "string"
}, - "cloudformation": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "filePath": "string",
- "ref": "string",
- "repoId": "string"
}, - "datadog": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_key": "string",
- "app_key": "string"
}, - "eks": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "role_arn": "string",
- "target": "string"
}, - "elasticsearch": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_key_id": "string",
- "api_key_value": "string",
- "cloud_id": "string"
}, - "git": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "access_token": "string",
- "repo_name": "string",
- "url": "string",
- "user_name": "string"
}, - "gke": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "service_account_key": "string"
}, - "http": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "authorization_type": "string",
- "token": "string",
- "url": "string"
}, - "humio": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "humio_api_token": "string",
- "humio_url": "string"
}, - "jenkins": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_token": "string",
- "server_url": "string",
- "username": "string"
}, - "jira": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "JIRA_CONSUMER_KEY": "string",
- "JIRA_CONSUMER_NAME": "string",
- "JIRA_PUBLIC_KEY": [
- "string"
], - "JIRA_URL": "string"
}, - "new_relic": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "account_id": 0,
- "api_key": "string"
}, - "pagerduty": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "pagerduty_api_token": "string"
}, - "pulumi": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "access_token": "string"
}, - "s3": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "name": "string",
- "target": "string"
}, - "servicenow": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "instance_url": "string",
- "password": "string",
- "username": "string",
- "webhook_url": "string"
}, - "slack": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "scope": "string",
- "slack_team_id": "string",
- "slack_team_name": "string",
- "slack_user_id": "string",
- "slack_user_name": "string"
}, - "splunk": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "access_token": "string",
- "splunk_url": "string"
}, - "splunk_on_call": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_id": "string",
- "api_key": "string"
}, - "spot": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_token": "string"
}, - "ssh": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "hostIdentifier": "string",
- "privateKey": "string"
}, - "sumologic": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "access_id": "string",
- "access_key": "string"
}, - "terraform": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "organization": "string",
- "token": "string"
}, - "terraform_cli": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "s3_bucket": "string",
- "source_type": "string"
}, - "twilio": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "accountSid": "string",
- "authToken": "string"
}, - "zendesk": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_token": "string",
- "email": "string",
- "subdomain_name": "string"
}
}, - "statusCode": 0
}
Endpoint handling two use cases for removing connector integration or resource:
integration_id required | string |
service required | string Name of connector service (value=ansible|apikeys|bitbucket|datadog|git|humio|instana|jira|opsgenie|aws_health|pagerduty|prometheus|pulumi|slack|splunk|splunk_on_call|spot|squadcast|terraform|terraform_cli|twilio|zoom) |
workspace_id | string Currently selected Workspace ID |
{- "body": {
- "message": "string"
}, - "statusCode": 0
}
Get the details of the selected integration/resource instance.
Note: The JSON response will contain credentials specific to the selected service and integration, unlike the response model which shows all possible fields for all services. The model is provided to illustrate the complete set of fields that may be present in the response, depending on which service and integration is selected.
integration_id required | string |
service required | string Name of connector service (value=ansible|apikeys|bitbucket|datadog|git|humio|instana|jira|opsgenie|aws_health|pagerduty|prometheus|pulumi|slack|splunk|splunk_on_call|spot|squadcast|terraform|terraform_cli|twilio|zoom) |
disable_redact | string Disable redacting API keys |
workspace_id | string Currently selected Workspace ID |
{- "body": {
- "ansible": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "playbooks": "string",
- "s3_access_role": "string",
- "ssh_private_key": "string"
}, - "azure_openai": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_key": "string",
- "azure_endpoint": "string",
- "model": "string"
}, - "bitbucket": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "access_token": "string",
- "url": "string"
}, - "cloudformation": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "filePath": "string",
- "ref": "string",
- "repoId": "string"
}, - "datadog": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_key": "string",
- "app_key": "string"
}, - "eks": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "role_arn": "string",
- "target": "string"
}, - "elasticsearch": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_key_id": "string",
- "api_key_value": "string",
- "cloud_id": "string"
}, - "git": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "access_token": "string",
- "repo_name": "string",
- "url": "string",
- "user_name": "string"
}, - "gke": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "service_account_key": "string"
}, - "http": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "authorization_type": "string",
- "token": "string",
- "url": "string"
}, - "humio": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "humio_api_token": "string",
- "humio_url": "string"
}, - "jenkins": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_token": "string",
- "server_url": "string",
- "username": "string"
}, - "jira": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "JIRA_CONSUMER_KEY": "string",
- "JIRA_CONSUMER_NAME": "string",
- "JIRA_PUBLIC_KEY": [
- "string"
], - "JIRA_URL": "string"
}, - "new_relic": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "account_id": 0,
- "api_key": "string"
}, - "pagerduty": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "pagerduty_api_token": "string"
}, - "pulumi": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "access_token": "string"
}, - "s3": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "name": "string",
- "target": "string"
}, - "servicenow": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "instance_url": "string",
- "password": "string",
- "username": "string",
- "webhook_url": "string"
}, - "slack": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "scope": "string",
- "slack_team_id": "string",
- "slack_team_name": "string",
- "slack_user_id": "string",
- "slack_user_name": "string"
}, - "splunk": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "access_token": "string",
- "splunk_url": "string"
}, - "splunk_on_call": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_id": "string",
- "api_key": "string"
}, - "spot": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_token": "string"
}, - "ssh": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "hostIdentifier": "string",
- "privateKey": "string"
}, - "sumologic": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "access_id": "string",
- "access_key": "string"
}, - "terraform": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "organization": "string",
- "token": "string"
}, - "terraform_cli": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "s3_bucket": "string",
- "source_type": "string"
}, - "twilio": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "accountSid": "string",
- "authToken": "string"
}, - "zendesk": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_token": "string",
- "email": "string",
- "subdomain_name": "string"
}
}, - "statusCode": 0
}
An empty PATCH body "{}" will set the instance to default.
To move an individual instance: call this endpoint with the 'old' workspace_id as the query parameter and the 'new' workspace_id in the body.
E.X.:
PATCH
https://
integration_id required | string |
service required | string Name of connector service (value=ansible|apikeys|bitbucket|datadog|git|humio|instana|jira|opsgenie|aws_health|pagerduty|prometheus|pulumi|slack|splunk|splunk_on_call|spot|squadcast|terraform|terraform_cli|twilio|zoom) |
Workspace ID of the workspace to move integration/resource to.
{- "body": {
- "message": "string"
}, - "statusCode": 0
}
Update the Integration/Resource secrets for a given service and given integration instance.
Note: The displayed request and response models show the structure for each service. When calling this endpoint, only the credentials for the specific service being updated should be provided in the payload under the 'credentials' key. The response will contain the newly updated integration information for that service.
For example, to update a Slack integration:
Request: { "credentials": { "alias": "updated-slack-integration", "bot_token": "xoxb-updated-token", "signing_secret": "updated-secret" } }
Response will contain the updated Slack integration details.
integration_id required | string |
service required | string Name of connector service (value=ansible|apikeys|bitbucket|datadog|git|humio|instana|jira|opsgenie|aws_health|pagerduty|prometheus|pulumi|slack|splunk|splunk_on_call|spot|squadcast|terraform|terraform_cli|twilio|zoom) |
disable_redact | string Disable redacting API keys |
workspace_id | string Currently selected Workspace ID |
object (AnsibleCredentials) | |
object (Azure_openaiCredentials) | |
object (BitbucketCredentials) | |
object (CloudformationCredentials) | |
object (DatadogCredentials) | |
object (EksCredentials) | |
object (ElasticsearchCredentials) | |
object (GitCredentials) | |
object (GkeCredentials) | |
object (HttpCredentials) | |
object (HumioCredentials) | |
object (JenkinsCredentials) | |
object (JiraCredentials) | |
object (New_relicCredentials) | |
object (PagerdutyCredentials) | |
object (PulumiCredentials) | |
object (S3Credentials) | |
object (ServicenowCredentials) | |
object (SlackCredentials) | |
object (SplunkCredentials) | |
object (Splunk_on_callCredentials) | |
object (SpotCredentials) | |
object (SshCredentials) | |
object (SumologicCredentials) | |
object (TerraformCredentials) | |
object (Terraform_cliCredentials) | |
object (TwilioCredentials) | |
object (ZendeskCredentials) |
{- "ansible": {
- "alias": "string",
- "logs": "string",
- "playbooks": "string",
- "s3_access_role": "string",
- "ssh_private_key": "string"
}, - "azure_openai": {
- "alias": "string",
- "api_key": "string",
- "azure_endpoint": "string",
- "model": "string"
}, - "bitbucket": {
- "access_token": "string",
- "alias": "string",
- "url": "string"
}, - "cloudformation": {
- "alias": "string",
- "filePath": "string",
- "ref": "string",
- "repoId": "string"
}, - "datadog": {
- "alias": "string",
- "api_key": "string",
- "app_key": "string"
}, - "eks": {
- "alias": "string",
- "role_arn": "string",
- "target": "string"
}, - "elasticsearch": {
- "alias": "string",
- "api_key_id": "string",
- "api_key_value": "string",
- "cloud_id": "string"
}, - "git": {
- "access_token": "string",
- "alias": "string",
- "url": "string"
}, - "gke": {
- "alias": "string",
- "service_account_key": "string"
}, - "http": {
- "alias": "string",
- "api_key": "string",
- "authorization_type": "string",
- "password": "string",
- "token": "string",
- "url": "string",
- "username": "string"
}, - "humio": {
- "alias": "string",
- "humio_api_token": "string",
- "humio_url": "string"
}, - "jenkins": {
- "alias": "string",
- "api_token": "string",
- "server_url": "string",
- "username": "string"
}, - "jira": {
- "JIRA_ACCESS_TOKEN": "string",
- "JIRA_CONSUMER_KEY": "string",
- "JIRA_CONSUMER_NAME": "string",
- "JIRA_KEY_CERT": "string",
- "JIRA_PUBLIC_KEY": "string",
- "JIRA_TOKEN_SECRET": "string",
- "JIRA_URL": "string",
- "alias": "string"
}, - "new_relic": {
- "account_id": 0,
- "alias": "string",
- "api_key": "string"
}, - "pagerduty": {
- "alias": "string",
- "pagerduty_api_token": "string"
}, - "pulumi": {
- "access_token": "string",
- "alias": "string",
- "backend": "string",
- "passphrase": "string",
- "team": "string"
}, - "s3": {
- "alias": "string",
- "name": "string",
- "target": "string"
}, - "servicenow": {
- "alias": "string",
- "instance_url": "string",
- "password": "string",
- "username": "string"
}, - "slack": {
- "access_token": "string",
- "alias": "string",
- "expire_time": "string",
- "refresh_token": "string",
- "scope": "string",
- "slack_client_id": "string",
- "slack_client_secret": "string",
- "slack_signing_secret": "string",
- "slack_team_id": "string",
- "slack_team_name": "string",
- "slack_user_id": "string",
- "slack_user_name": "string"
}, - "splunk": {
- "access_token": "string",
- "alias": "string",
- "splunk_url": "string"
}, - "splunk_on_call": {
- "alias": "string",
- "api_id": "string",
- "api_key": "string"
}, - "spot": {
- "alias": "string",
- "api_token": "string"
}, - "ssh": {
- "alias": "string",
- "hostIdentifier": "string",
- "privateKey": "string"
}, - "sumologic": {
- "access_id": "string",
- "access_key": "string",
- "alias": "string"
}, - "terraform": {
- "alias": "string",
- "organization": "string",
- "token": "string"
}, - "terraform_cli": {
- "alias": "string",
- "git_repo": "string",
- "root": "string",
- "s3_bucket": "string",
- "source_type": "string"
}, - "twilio": {
- "accountSid": "string",
- "alias": "string",
- "authToken": "string"
}, - "zendesk": {
- "alias": "string",
- "api_token": "string",
- "email": "string",
- "subdomain_name": "string"
}
}
{- "body": {
- "ansible": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "playbooks": "string",
- "s3_access_role": "string",
- "ssh_private_key": "string"
}, - "azure_openai": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_key": "string",
- "azure_endpoint": "string",
- "model": "string"
}, - "bitbucket": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "access_token": "string",
- "url": "string"
}, - "cloudformation": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "filePath": "string",
- "ref": "string",
- "repoId": "string"
}, - "datadog": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_key": "string",
- "app_key": "string"
}, - "eks": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "role_arn": "string",
- "target": "string"
}, - "elasticsearch": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_key_id": "string",
- "api_key_value": "string",
- "cloud_id": "string"
}, - "git": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "access_token": "string",
- "repo_name": "string",
- "url": "string",
- "user_name": "string"
}, - "gke": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "service_account_key": "string"
}, - "http": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "authorization_type": "string",
- "token": "string",
- "url": "string"
}, - "humio": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "humio_api_token": "string",
- "humio_url": "string"
}, - "jenkins": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_token": "string",
- "server_url": "string",
- "username": "string"
}, - "jira": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "JIRA_CONSUMER_KEY": "string",
- "JIRA_CONSUMER_NAME": "string",
- "JIRA_PUBLIC_KEY": [
- "string"
], - "JIRA_URL": "string"
}, - "new_relic": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "account_id": 0,
- "api_key": "string"
}, - "pagerduty": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "pagerduty_api_token": "string"
}, - "pulumi": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "access_token": "string"
}, - "s3": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "name": "string",
- "target": "string"
}, - "servicenow": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "instance_url": "string",
- "password": "string",
- "username": "string",
- "webhook_url": "string"
}, - "slack": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "scope": "string",
- "slack_team_id": "string",
- "slack_team_name": "string",
- "slack_user_id": "string",
- "slack_user_name": "string"
}, - "splunk": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "access_token": "string",
- "splunk_url": "string"
}, - "splunk_on_call": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_id": "string",
- "api_key": "string"
}, - "spot": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_token": "string"
}, - "ssh": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "hostIdentifier": "string",
- "privateKey": "string"
}, - "sumologic": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "access_id": "string",
- "access_key": "string"
}, - "terraform": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "organization": "string",
- "token": "string"
}, - "terraform_cli": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "s3_bucket": "string",
- "source_type": "string"
}, - "twilio": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "accountSid": "string",
- "authToken": "string"
}, - "zendesk": {
- "alias": "string",
- "connection_status": true,
- "date_updated": 0,
- "date_verified": 0,
- "integration_id": "string",
- "is_default": "string",
- "workspace_id": "string",
- "api_token": "string",
- "email": "string",
- "subdomain_name": "string"
}
}, - "statusCode": 0
}
workspace_id | string Currently selected Workspace ID |
alias required | string |
external_id required | string |
is_default required | boolean |
preferred_region required | string |
role_arn required | string |
{- "alias": "string",
- "external_id": "string",
- "is_default": true,
- "preferred_region": "string",
- "role_arn": "string"
}
{- "alias": "string",
- "external_id": "string",
- "is_default": true,
- "preferred_region": "string",
- "role_arn": "string"
}
target_alias required | string Unique alias for the target account |
{- "alias": "string",
- "external_id": "string",
- "is_default": true,
- "preferred_region": "string",
- "role_arn": "string"
}
This will only change the updated fields and will leave all other fields in place.
target_alias required | string Unique alias for the target account |
workspace_id | string Currently selected Workspace ID |
alias required | string |
external_id required | string |
is_default required | boolean |
preferred_region required | string |
role_arn required | string |
{- "alias": "string",
- "external_id": "string",
- "is_default": true,
- "preferred_region": "string",
- "role_arn": "string"
}
{- "alias": "string",
- "external_id": "string",
- "is_default": true,
- "preferred_region": "string",
- "role_arn": "string"
}
workspace_id | string Currently selected Workspace ID |
required | object SSM document for the workflow. |
Name required | string A unique name for the workflow. |
Array of objects (StepDocument) List of step documents used in the SSM document. | |
Tags | Array of strings List of tags for the workflow. |
{- "Content": {
- "assumeRole": "string",
- "description": "string",
- "mainSteps": [
- {
- "action": "string",
- "inputs": {
- "Choices": [
- {
- "NextStep": "string",
- "Variable": "string"
}
], - "Default": "string",
- "Duration": "string",
- "FunctionName": "string",
- "Payload": "string"
}, - "isEnd": true,
- "maxAttempts": 0,
- "name": "string",
- "nextStep": "string",
- "onFailure": "string",
- "outputs": [
- {
- "Name": "string",
- "Selector": "string",
- "Type": "string"
}
], - "timeoutSeconds": 0
}
], - "parameters": {
- "AutomationAssumeRole": {
- "default": "string",
- "description": "string",
- "type": "string"
}, - "WorkflowSession": {
- "default": "string",
- "description": "string",
- "type": "string"
}
}, - "schemaVersion": "string"
}, - "Name": "string",
- "StepDocuments": [
- {
- "document_id": "string",
- "version": "string"
}
], - "Tags": [
- "string"
]
}
{- "Content": {
- "assumeRole": "string",
- "description": "string",
- "mainSteps": [
- {
- "action": "string",
- "inputs": {
- "Choices": [
- {
- "NextStep": "string",
- "Variable": "string"
}
], - "Default": "string",
- "Duration": "string",
- "FunctionName": "string",
- "Payload": "string"
}, - "isEnd": true,
- "maxAttempts": 0,
- "name": "string",
- "nextStep": "string",
- "onFailure": "string",
- "outputs": [
- {
- "Name": "string",
- "Selector": "string",
- "Type": "string"
}
], - "timeoutSeconds": 0
}
], - "parameters": {
- "AutomationAssumeRole": {
- "default": "string",
- "description": "string",
- "type": "string"
}, - "WorkflowSession": {
- "default": "string",
- "description": "string",
- "type": "string"
}
}, - "schemaVersion": "string"
}, - "Name": "string",
- "StepDocuments": [
- {
- "document_id": "string",
- "version": "string"
}
], - "Tags": [
- "string"
], - "DocumentFormat": "string",
- "DocumentType": "string",
- "DocumentVersion": "string",
- "Status": "string"
}
Delete a selected version of the selected workflow. If no version is specified, delete all versions of the workflow.
workflow_name required | string Unique workflow name |
version | string Selected workflow version |
workspace_id | string Currently selected Workspace ID |
{- "status": "string"
}
Update a selected workflow by creating a new version. New workflow is created off of the latest version in SSM.
workflow_name required | string Unique workflow name |
workspace_id | string Currently selected Workspace ID |
required | object SSM document for the workflow. |
Tags | Array of strings List of workflow tags. |
{- "Content": {
- "assumeRole": "string",
- "description": "string",
- "mainSteps": [
- {
- "action": "string",
- "inputs": {
- "Choices": [
- {
- "NextStep": "string",
- "Variable": "string"
}
], - "Default": "string",
- "Duration": "string",
- "FunctionName": "string",
- "Payload": "string"
}, - "isEnd": true,
- "maxAttempts": 0,
- "name": "string",
- "nextStep": "string",
- "onFailure": "string",
- "outputs": [
- {
- "Name": "string",
- "Selector": "string",
- "Type": "string"
}
], - "timeoutSeconds": 0
}
], - "parameters": {
- "AutomationAssumeRole": {
- "default": "string",
- "description": "string",
- "type": "string"
}, - "WorkflowSession": {
- "default": "string",
- "description": "string",
- "type": "string"
}
}, - "schemaVersion": "string"
}, - "Tags": [
- "string"
]
}
{- "Description": "string",
- "DocumentVersion": "string",
- "Editor": "string",
- "EditorId": "string",
- "Name": "string",
- "ReadOnly": true,
- "Tags": [
- "string"
], - "UpdatedDate": "string",
- "WorkflowId": "string",
- "WorkflowOwner": "string",
- "WorkflowOwnerId": "string",
- "WorkspaceId": "string",
- "CreatedDate": "string",
- "DefaultVersion": "string",
- "DisplayName": "string",
- "DocumentFormat": "string",
- "DocumentType": "string",
- "HashType": "string",
- "IsDefault": true,
- "LatestVersion": "string",
- "Parameters": [
- { }
], - "PlatformTypes": "string",
- "SSMDocument": "string",
- "SchemaVersion": "string",
- "SsmHash": "string",
- "SsmName": "string",
- "Status": "string",
- "StepDocuments": [
- {
- "document_id": "string",
- "version": "string"
}
], - "TenantId": "string",
- "Versions": [
- { }
]
}
Return the content of the default/selected version of the selected workflow.
workflow_name required | string Unique workflow name |
version | string Selected workflow version |
workspace_id | string Currently selected Workspace ID |
{- "Content": {
- "assumeRole": "string",
- "description": "string",
- "mainSteps": [
- {
- "action": "string",
- "inputs": {
- "Choices": [
- {
- "NextStep": "string",
- "Variable": "string"
}
], - "Default": "string",
- "Duration": "string",
- "FunctionName": "string",
- "Payload": "string"
}, - "isEnd": true,
- "maxAttempts": 0,
- "name": "string",
- "nextStep": "string",
- "onFailure": "string",
- "outputs": [
- {
- "Name": "string",
- "Selector": "string",
- "Type": "string"
}
], - "timeoutSeconds": 0
}
], - "parameters": {
- "AutomationAssumeRole": {
- "default": "string",
- "description": "string",
- "type": "string"
}, - "WorkflowSession": {
- "default": "string",
- "description": "string",
- "type": "string"
}
}, - "schemaVersion": "string"
}, - "Description": "string",
- "Name": "string",
- "Parameters": [
- { }
], - "StepDocuments": [
- {
- "document_id": "string",
- "version": "string"
}
], - "UpdatedDate": "string",
- "WorkflowId": "string",
- "showModal": true
}
Duplicate a specific version of the selected workflow.
workflow_name required | string Unique workflow name |
name | string Name of workflow to be duplicated |
workspace_id | string Currently selected Workspace ID |
NewName required | string Name of new workflow. |
Version | string Version of the workflow to be duplicated. |
{- "NewName": "string",
- "Version": "string"
}
{- "Description": "string",
- "DocumentVersion": "string",
- "Editor": "string",
- "EditorId": "string",
- "Name": "string",
- "ReadOnly": true,
- "Tags": [
- "string"
], - "UpdatedDate": "string",
- "WorkflowId": "string",
- "WorkflowOwner": "string",
- "WorkflowOwnerId": "string",
- "WorkspaceId": "string",
- "CreatedDate": "string",
- "DefaultVersion": "string",
- "DisplayName": "string",
- "DocumentFormat": "string",
- "DocumentType": "string",
- "HashType": "string",
- "IsDefault": true,
- "LatestVersion": "string",
- "Parameters": [
- { }
], - "PlatformTypes": "string",
- "SSMDocument": "string",
- "SchemaVersion": "string",
- "SsmHash": "string",
- "SsmName": "string",
- "Status": "string",
- "StepDocuments": [
- {
- "document_id": "string",
- "version": "string"
}
], - "TenantId": "string",
- "Versions": [
- { }
]
}
Return the information for the default/selected version of the selected workflow, including workflow description and tags.
workflow_name required | string Unique workflow name |
version | string Selected workflow version |
workspace_id | string Currently selected Workspace ID |
{- "Description": "string",
- "DocumentVersion": "string",
- "Editor": "string",
- "EditorId": "string",
- "Name": "string",
- "ReadOnly": true,
- "Tags": [
- "string"
], - "UpdatedDate": "string",
- "WorkflowId": "string",
- "WorkflowOwner": "string",
- "WorkflowOwnerId": "string",
- "WorkspaceId": "string",
- "CreatedDate": "string",
- "DefaultVersion": "string",
- "DisplayName": "string",
- "DocumentFormat": "string",
- "DocumentType": "string",
- "HashType": "string",
- "IsDefault": true,
- "LatestVersion": "string",
- "Parameters": [
- { }
], - "PlatformTypes": "string",
- "SSMDocument": "string",
- "SchemaVersion": "string",
- "SsmHash": "string",
- "SsmName": "string",
- "Status": "string",
- "StepDocuments": [
- {
- "document_id": "string",
- "version": "string"
}
], - "TenantId": "string",
- "Versions": [
- { }
], - "Schedules": { }
}
Update the default version of the workflow to a specific version.
workflow_name required | string Unique workflow name |
version | string Selected workflow version |
workspace_id | string Currently selected Workspace ID |
{- "Description": "string",
- "DocumentVersion": "string",
- "Editor": "string",
- "EditorId": "string",
- "Name": "string",
- "ReadOnly": true,
- "Tags": [
- "string"
], - "UpdatedDate": "string",
- "WorkflowId": "string",
- "WorkflowOwner": "string",
- "WorkflowOwnerId": "string",
- "WorkspaceId": "string",
- "CreatedDate": "string",
- "DefaultVersion": "string",
- "DisplayName": "string",
- "DocumentFormat": "string",
- "DocumentType": "string",
- "HashType": "string",
- "IsDefault": true,
- "LatestVersion": "string",
- "Parameters": [
- { }
], - "PlatformTypes": "string",
- "SSMDocument": "string",
- "SchemaVersion": "string",
- "SsmHash": "string",
- "SsmName": "string",
- "Status": "string",
- "StepDocuments": [
- {
- "document_id": "string",
- "version": "string"
}
], - "TenantId": "string",
- "Versions": [
- { }
], - "Schedules": { }
}
Return a list of integration instances for the default/selected version of a selected workflow.
workflow_name required | string Unique workflow name |
movable_only | string Only include integrations that can be moved to new workspace |
version | string Selected workflow version |
workspace_id | string Currently selected Workspace ID |
{- "integration_type": [
- "string"
]
}
List all workspaces the user is authorized to view.
X-Fields | string <mask> An optional fields mask |
{- "description": "string",
- "name": "string",
- "owner": "string",
- "type": "string",
- "workspace_id": "string",
- "permissions": [
- "string"
]
}
Create a new workspace.
X-Fields | string <mask> An optional fields mask |
description | string Description of workspace |
Array of objects (EntityBlock) List of entities | |
name | string Name of workspace |
owner | string Owner of workspace |
type | string Type of workspace |
{- "description": "string",
- "name": "string",
- "owner": "string",
- "type": "string",
- "entities": [
- {
- "id": "string",
- "isGroup": true,
- "isOwner": true,
- "name": "string",
- "permissions": [
- "string"
]
}
]
}
{- "description": "string",
- "name": "string",
- "owner": "string",
- "type": "string",
- "workspace_id": "string",
- "permissions": [
- "string"
]
}
Check if Workspace name is available for use.
X-Fields | string <mask> An optional fields mask |
name required | string Workspace name to check |
{- "name": "string"
}
{- "name": "string",
- "available": true,
- "message": "string"
}
Get details of a specific workspace using workspace name.
workspace_name required | string Workspace name |
X-Fields | string <mask> An optional fields mask |
{- "description": "string",
- "name": "string",
- "owner": "string",
- "type": "string",
- "workspace_id": "string"
}
Get details of a workspace specified by workspace_id.
workspace_id required | string Unique workspace ID |
X-Fields | string <mask> An optional fields mask |
{- "description": "string",
- "name": "string",
- "owner": "string",
- "type": "string",
- "workspace_id": "string",
- "permissions": [
- "string"
]
}
Update a workspace specified by workspace_id.
workspace_id required | string Unique workspace ID |
X-Fields | string <mask> An optional fields mask |
description | string Description of workspace |
Array of objects (EntityBlock) List of entities | |
name | string Name of workspace |
owner | string Owner of workspace |
type | string Type of workspace |
{- "description": "string",
- "name": "string",
- "owner": "string",
- "type": "string",
- "entities": [
- {
- "id": "string",
- "isGroup": true,
- "isOwner": true,
- "name": "string",
- "permissions": [
- "string"
]
}
]
}
{- "description": "string",
- "name": "string",
- "owner": "string",
- "type": "string",
- "workspace_id": "string",
- "permissions": [
- "string"
]
}
It moves a workflow and all integrations it uses in new workspace. Following things are needed - Permissions the user needs in both workspaces: updateWorkflow updateIntegration updateSchedule updateExecution
workspace_id required | string Unique workspace ID |
move_all_integrations | boolean If we need to move all integrations used in that workflow |
workflow_name | string Name of the workflow to move to the new workspace |
workspace_id | string Workspace ID to move the workflow into |
{- "move_all_integrations": true,
- "workflow_name": "string",
- "workspace_id": "string"
}
A cyber security compliance determines how compliant an asset is. It checks against specific security standards. This API returns list of all compliances supported in Spot. A compliance consists of one or more controls.
paginationKey | string (Paginationkey) Token of the page to return. |
paginationSize | integer (Paginationsize) [ 1 .. 100 ] Default: 100 Number of items to return per page. |
{- "error": {
- "code": "string",
- "message": "string"
}, - "request": {
- "body": { },
- "id": "string",
- "method": "string",
- "queryParameters": { },
- "timestamp": "string",
- "url": "string"
}, - "response": {
- "count": 0,
- "items": [
- {
- "complianceName": "string"
}
], - "paginationInfo": {
- "nextKey": "string",
- "paginationSize": 0,
- "previousKey": "string"
}, - "status": {
- "code": 0,
- "message": "string"
}
}, - "responseTime": 0
}
{- "error": {
- "code": "string",
- "message": "string"
}, - "request": {
- "body": { },
- "id": "string",
- "method": "string",
- "queryParameters": { },
- "timestamp": "string",
- "url": "string"
}, - "response": {
- "count": 0,
- "items": [
- {
- "value": 0
}
], - "status": {
- "code": 0,
- "message": "string"
}
}, - "responseTime": 0
}
A control is countermeasures to avoid, detect, counteract, or minimize security risks of cloud assets. A control may be part of one or more compliances. A control is verified in one or more rules. This API returns the list of controls mapped to a specific compliance.
complianceName required | string (Compliancename) Example: SOC_2 The name of the cyber security compliance. |
isAutomated | boolean (Isautomated) If this is not a manual control, the value is True. |
paginationKey | string (Paginationkey) Token of the page to return. |
paginationSize | integer (Paginationsize) [ 1 .. 100 ] Default: 100 Number of items to return per page. |
{- "error": {
- "code": "string",
- "message": "string"
}, - "request": {
- "body": { },
- "id": "string",
- "method": "string",
- "queryParameters": { },
- "timestamp": "string",
- "url": "string"
}, - "response": {
- "count": 0,
- "items": [
- {
- "controlId": "string",
- "description": "string",
- "isAutomated": true
}
], - "paginationInfo": {
- "nextKey": "string",
- "paginationSize": 0,
- "previousKey": "string"
}, - "status": {
- "code": 0,
- "message": "string"
}
}, - "responseTime": 0
}
Get the total number of controls for the selected compliance.
complianceName required | string (Compliancename) Example: SOC_2 The name of the cyber security compliance. |
isAutomated | boolean (Isautomated) If this is not a manual control, the value is True. |
{- "error": {
- "code": "string",
- "message": "string"
}, - "request": {
- "body": { },
- "id": "string",
- "method": "string",
- "queryParameters": { },
- "timestamp": "string",
- "url": "string"
}, - "response": {
- "count": 0,
- "items": [
- {
- "value": 0
}
], - "status": {
- "code": 0,
- "message": "string"
}
}, - "responseTime": 0
}
This API returns the list of assets that have misconfigurations.
accountId | string (Accountid) A comma-separated list of cloud account IDs. For AWS this is the account ID. For Azure, this is the subscription ID. |
accountName | string (Accountname) A comma-separated list of cloud account names. |
assetId | string (Assetid) The asset's ID (a cloud resource). |
assetType | string (Assettype) A comma-separated list of cloud resources for the service. |
cloud required | string (CloudProvider) Enum: "aws" "azure" Enumeration of supported cloud providers. |
date | string <date> (Date) Example: date=1997-11-11 The date the finding was most recently found (YYYY-MM-DD). |
notAccountId | string (Notaccountid) A comma-separated list of cloud account IDs to exclude. For AWS this is the account ID. For Azure, this is the subscription ID. |
notAccountName | string (Notaccountname) A comma-separated list of cloud account names to exclude |
notAssetType | string (Notassettype) A comma-separated list of cloud resources for the service to exclude. |
notRegion | string (Notregion) Example: notRegion=us-east-1 A comma-separated list of cloud regions to exclude. |
notService | string (Notservice) A comma-separated list of cloud services to exclude. |
paginationKey | string (Paginationkey) Token of the page to return. |
paginationSize | integer (Paginationsize) [ 1 .. 100 ] Default: 100 Number of items to return per page. |
region | string (Region) Example: region=us-east-1 A comma-separated list of cloud regions. |
ruleName | string (Rulename) The unique name of the rule. |
service | string (Service) A comma-separated list of cloud services. |
{- "error": {
- "code": "string",
- "message": "string"
}, - "request": {
- "body": { },
- "id": "string",
- "method": "string",
- "queryParameters": { },
- "timestamp": "string",
- "url": "string"
}, - "response": {
- "count": 0,
- "items": [
- {
- "organizationId": "string",
- "what": {
- "args": [
- "string"
], - "isSuppressed": true,
- "ruleDescription": "string",
- "ruleName": "string",
- "ruleTitle": "string",
- "severity": "string",
- "state": "string"
}, - "when": {
- "lastSeen": "string",
- "suppressedAt": "2019-08-24T14:15:22Z"
}, - "where": {
- "accountId": "string",
- "assetId": "string",
- "assetName": "string",
- "assetType": "string",
- "findingLocation": "string",
- "region": "string",
- "service": "string"
}, - "who": {
- "suppressedBy": "string"
}
}
], - "paginationInfo": {
- "nextKey": "string",
- "paginationSize": 0,
- "previousKey": "string"
}, - "status": {
- "code": 0,
- "message": "string"
}
}, - "responseTime": 0
}
This API returns a count of assets that have misconfigurations.
accountId | string (Accountid) A comma-separated list of cloud account IDs. For AWS this is the account ID. For Azure, this is the subscription ID. |
accountName | string (Accountname) A comma-separated list of cloud account names. |
assetId | string (Assetid) The asset's ID (a cloud resource). |
assetType | string (Assettype) A comma-separated list of cloud resources for the service. |
cloud required | string (CloudProvider) Enum: "aws" "azure" Enumeration of supported cloud providers. |
date | string <date> (Date) Example: date=1997-11-11 The date the finding was most recently found (YYYY-MM-DD). |
notAccountId | string (Notaccountid) A comma-separated list of cloud account IDs to exclude. For AWS this is the account ID. For Azure, this is the subscription ID. |
notAccountName | string (Notaccountname) A comma-separated list of cloud account names to exclude |
notAssetType | string (Notassettype) A comma-separated list of cloud resources for the service to exclude. |
notRegion | string (Notregion) Example: notRegion=us-east-1 A comma-separated list of cloud regions to exclude. |
notService | string (Notservice) A comma-separated list of cloud services to exclude. |
region | string (Region) Example: region=us-east-1 A comma-separated list of cloud regions. |
ruleName | string (Rulename) The unique name of the rule. |
service | string (Service) A comma-separated list of cloud services. |
{- "error": {
- "code": "string",
- "message": "string"
}, - "request": {
- "body": { },
- "id": "string",
- "method": "string",
- "queryParameters": { },
- "timestamp": "string",
- "url": "string"
}, - "response": {
- "count": 0,
- "items": [
- {
- "value": 0
}
], - "status": {
- "code": 0,
- "message": "string"
}
}, - "responseTime": 0
}
Rules are configuration checks that detect misconfigurations in your cloud environment. Rules are cloud service provider specific. A rule is mapped to one or more controls. This API returns the list of rules that can determine the state of a specific control.
cloud required | string (CloudProvider) Enum: "aws" "azure" Enumeration of supported cloud providers. |
complianceName | string (Compliancename) Example: complianceName=SOC_2 The name of the cyber security compliance. |
controlId | string (Controlid) Example: controlId=A1.2 The ID of the control defined in the compliance. |
paginationKey | string (Paginationkey) Token of the page to return. |
paginationSize | integer (Paginationsize) [ 1 .. 100 ] Default: 100 Number of items to return per page. |
service | string (Service) A comma-separated list of cloud services. |
{- "error": {
- "code": "string",
- "message": "string"
}, - "request": {
- "body": { },
- "id": "string",
- "method": "string",
- "queryParameters": { },
- "timestamp": "string",
- "url": "string"
}, - "response": {
- "count": 0,
- "items": [
- {
- "args": [
- "string"
], - "cloud": "string",
- "complianceName": [
- "string"
], - "controls": [
- {
- "property1": "string",
- "property2": "string"
}
], - "description": "string",
- "effort": "High",
- "ruleName": "string",
- "ruleTitle": "string",
- "service": "string",
- "severity": "Critical"
}
], - "paginationInfo": {
- "nextKey": "string",
- "paginationSize": 0,
- "previousKey": "string"
}, - "status": {
- "code": 0,
- "message": "string"
}
}, - "responseTime": 0
}
Rules are configuration checks that detect misconfigurations in your cloud environment. Rules are cloud service provider specific. A rule is mapped to one or more controls. This API returns the list of rules that can determine the state of a specific control.
cloud required | string (CloudProvider) Enum: "aws" "azure" Enumeration of supported cloud providers. |
complianceName | string (Compliancename) Example: complianceName=SOC_2 The name of the cyber security compliance. |
controlId | string (Controlid) Example: controlId=A1.2 The ID of the control defined in the compliance. |
service | string (Service) A comma-separated list of cloud services. |
{- "error": {
- "code": "string",
- "message": "string"
}, - "request": {
- "body": { },
- "id": "string",
- "method": "string",
- "queryParameters": { },
- "timestamp": "string",
- "url": "string"
}, - "response": {
- "count": 0,
- "items": [
- {
- "value": 0
}
], - "status": {
- "code": 0,
- "message": "string"
}
}, - "responseTime": 0
}
Get a list of values in your organization for a specific filter type. For example, if you select accountId, you'll get a list of all the account IDs in your organization.
filterKey required | string (Filterkey) Enum: "accountId" "accountName" "region" "assetId" "assetName" "service" "assetType" The name of the filter. |
accountId | string (Accountid) A comma-separated list of cloud account IDs. For AWS this is the account ID. For Azure, this is the subscription ID. | ||||||||||||||||||||||||
accountName | string (Accountname) A comma-separated list of cloud account names. | ||||||||||||||||||||||||
affectedAssetsCount | string (Affectedassetscount) The number of related assets affected by the finding.
| ||||||||||||||||||||||||
allAnomaliesCount | string (Allanomaliescount) The total number of anomalies found for the asset identified that are still applicable today.
| ||||||||||||||||||||||||
allEventsCount | string (Alleventscount) The total number of events found for the asset.
| ||||||||||||||||||||||||
allFindingsCount | string (Allfindingscount) The sum of misconfigurations and vulnerabilities for today's date, and threats and anomalies identified that are still applicable today.
| ||||||||||||||||||||||||
allMisconfigCount | string (Allmisconfigcount) The total number of misconfigurations found for the asset.
| ||||||||||||||||||||||||
allThreatsCount | string (Allthreatscount) The total number of threats found for the asset identified that are still applicable today.
| ||||||||||||||||||||||||
allVulnCount | string (Allvulncount) The total number of vulnerabilities found for the asset.
| ||||||||||||||||||||||||
assetId | string (Assetid) The asset's ID (a cloud resource). | ||||||||||||||||||||||||
assetName | string (Assetname) The name of the asset ID. | ||||||||||||||||||||||||
assetType | string (Assettype) A comma-separated list of cloud resources for the service. | ||||||||||||||||||||||||
cloud required | string (CloudProvider) Enum: "aws" "azure" Enumeration of supported cloud providers. | ||||||||||||||||||||||||
configEventsCount | string (Configeventscount) The number of configuration events found for the asset.
| ||||||||||||||||||||||||
criticalEventsCount | string (Criticaleventscount) The number of critical events found for the asset.
| ||||||||||||||||||||||||
criticalVulnCount | string (Criticalvulncount) The number of critical vulnerabilities found for the asset.
| ||||||||||||||||||||||||
dataChangeEventsCount | string (Datachangeeventscount) The number of data change events found for the asset.
| ||||||||||||||||||||||||
date | string <date> (Date) Example: date=1997-11-11 The date the finding was most recently found (YYYY-MM-DD). | ||||||||||||||||||||||||
highMisconfigCount | string (Highmisconfigcount) The number of high misconfigurations found for the asset.
| ||||||||||||||||||||||||
highVulnCount | string (Highvulncount) The number of high vulnerabilities found for the asset.
| ||||||||||||||||||||||||
iamChangeEventsCount | string (Iamchangeeventscount) The number of IAM change events found for the asset.
| ||||||||||||||||||||||||
infoVulnCount | string (Infovulncount) The number of informational vulnerabilities found for the asset.
| ||||||||||||||||||||||||
isRisky | boolean (Isrisky) Example: isRisky=true If there are findings for the assets, the value is True. | ||||||||||||||||||||||||
lowMisconfigCount | string (Lowmisconfigcount) The number of low misconfigurations found for the asset.
| ||||||||||||||||||||||||
lowVulnCount | string (Lowvulncount) The number of low vulnerabilities found for the asset.
| ||||||||||||||||||||||||
mediumMisconfigCount | string (Mediummisconfigcount) The number of medium misconfigurations found for the asset.
| ||||||||||||||||||||||||
mediumVulnCount | string (Mediumvulncount) The number of medium vulnerabilities found for the asset.
| ||||||||||||||||||||||||
notAccountId | string (Notaccountid) A comma-separated list of cloud account IDs to exclude. For AWS this is the account ID. For Azure, this is the subscription ID. | ||||||||||||||||||||||||
notAccountName | string (Notaccountname) A comma-separated list of cloud account names to exclude | ||||||||||||||||||||||||
notAssetType | string (Notassettype) A comma-separated list of cloud resources for the service to exclude. | ||||||||||||||||||||||||
notRegion | string (Notregion) Example: notRegion=us-east-1 A comma-separated list of cloud regions to exclude. | ||||||||||||||||||||||||
notService | string (Notservice) A comma-separated list of cloud services to exclude. | ||||||||||||||||||||||||
ordering | string (Ordering) Default: "-allMisconfigCount" Enum: "item" "-item" "accId" "-accId" "service" "-service" "assetType" "-assetType" "isRisky" "-isRisky" "colDate" "-colDate" "region" "-region" "allFindingsCount" "-allFindingsCount" "allVulnCount" "-allVulnCount" "criticalVulnCount" "-criticalVulnCount" "highVulnCount" "-highVulnCount" "mediumVulnCount" "-mediumVulnCount" "lowVulnCount" "-lowVulnCount" "infoVulnCount" "-infoVulnCount" "allMisconfigCount" "-allMisconfigCount" "highMisconfigCount" "-highMisconfigCount" "mediumMisconfigCount" "-mediumMisconfigCount" "lowMisconfigCount" "-lowMisconfigCount" "allEventsCount" "-allEventsCount" "configEventsCount" "-configEventsCount" "criticalEventsCount" "-criticalEventsCount" "dataChangeEventsCount" "-dataChangeEventsCount" "iamChangeEventsCount" "-iamChangeEventsCount" "affectedAssetsCount" "-affectedAssetsCount" "allAnomaliesCount" "-allAnomaliesCount" "allThreatsCount" The field to sort the results by. | ||||||||||||||||||||||||
paginationKey | string (Paginationkey) Token of the page to return. | ||||||||||||||||||||||||
paginationSize | integer (Paginationsize) [ 1 .. 100 ] Default: 100 Number of items to return per page. | ||||||||||||||||||||||||
region | string (Region) Example: region=us-east-1 A comma-separated list of cloud regions. | ||||||||||||||||||||||||
service | string (Service) A comma-separated list of cloud services. |
{- "error": {
- "code": "string",
- "message": "string"
}, - "request": {
- "body": { },
- "id": "string",
- "method": "string",
- "queryParameters": { },
- "timestamp": "string",
- "url": "string"
}, - "response": {
- "count": 0,
- "items": [
- {
- "value": "string"
}
], - "paginationInfo": {
- "nextKey": "string",
- "paginationSize": 0,
- "previousKey": "string"
}, - "status": {
- "code": 0,
- "message": "string"
}
}, - "responseTime": 0
}