Download OpenAPI specification:Download
Welcome to the Spot by NetApp 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 |
lastName | string The last name of the user |
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. |
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. access policy enables you to define the user's permissions on a granular level 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 user group name |
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"
}
}
}
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.
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?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 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"
}
}
}
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,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60
}
}, - "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,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60
}
}, - "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,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60
}
}, - "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,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60
}
}, - "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,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60
}
}, - "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,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60
}
}, - "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,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60
}
}, - "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,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60
}
}, - "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,
- "instanceMetadataOptions": {
- "httpTokens": "optional",
- "httpPutResponseHopLimit": 12,
- "httpEndpoint": "disabled"
}, - "resourceTagSpecification": {
- "volumes": {
- "shouldTag": false
}
}, - "healthCheckUnhealthyDurationBeforeReplacement": 60
}
}, - "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
}, - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "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
}, - "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
}
}
}
{- "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
}, - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "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
}, - "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
}
}
], - "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
}, - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "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
}, - "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
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:launchSpec"
}
}
Delete a specified Virtual Node Group in an Ocean cluster.
oceanLaunchSpecId 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.
oceanLaunchSpecId 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-2) 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
}, - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "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
}, - "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
}
}
}
{- "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
}, - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "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
}, - "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
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:k8s:launchSpec"
}
}
oceanLaunchSpecId 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
}, - "preferredSpotTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "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
}, - "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
}
}
], - "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.
oceanLaunchSpecId 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.
oceanLaunchSpecId 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.
oceanLaunchSpecId 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
}, - "region": "us-east-1",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5,
- "unit": "instance"
}, - "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"
}, - "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,
- "unit": "instance"
}, - "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"
}, - "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
}, - "region": "us-east-1",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5,
- "unit": "instance"
}, - "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"
}, - "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
}, - "region": "us-east-1",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5,
- "unit": "instance"
}, - "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"
}, - "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
}, - "region": "us-east-1",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5,
- "unit": "instance"
}, - "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"
}, - "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
}, - "region": "us-east-1",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5,
- "unit": "instance"
}, - "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"
}, - "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"
}
}
}
}
}
], - "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
}, - "region": "us-east-1",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5,
- "unit": "instance"
}, - "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"
}, - "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) 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.
oceanLaunchSpecId 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.
oceanLaunchSpecId 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"
}
}
}
Get a specific custom launch configuration for an Ocean cluster in the specified account.
oceanLaunchSpecId 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": {
- "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/ols-12345abc",
- "method": "PUT",
- "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"
}
}
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,
- "unit": "instance"
}, - "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"
}, - "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.
oceanLaunchSpecId 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
}, - "headRoom": {
- "cpuPerUnit": 0,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 0
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true
}, - "capacity": {
- "minimum": 0,
- "maximum": 3,
- "target": 3
}, - "strategy": {
- "drainingTimeout": 60,
- "provisioningModel": "SPOT",
- "preemptiblePercentage": 100
}, - "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"
]
}, - "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
}, - "headRoom": {
- "cpuPerUnit": 0,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 0
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true
}, - "capacity": {
- "minimum": 0,
- "maximum": 3,
- "target": 3
}, - "strategy": {
- "drainingTimeout": 60,
- "provisioningModel": "SPOT",
- "preemptiblePercentage": 100
}, - "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"
]
}, - "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": [
- {
- "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
}, - "headRoom": {
- "cpuPerUnit": 0,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 0
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true
}, - "capacity": {
- "minimum": 0,
- "maximum": 3,
- "target": 3
}, - "strategy": {
- "drainingTimeout": 60,
- "provisioningModel": "SPOT",
- "preemptiblePercentage": 100
}, - "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"
]
}, - "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": [
- {
- "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
}, - "headRoom": {
- "cpuPerUnit": 0,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 0
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true
}, - "capacity": {
- "minimum": 0,
- "maximum": 3,
- "target": 3
}, - "strategy": {
- "drainingTimeout": 60,
- "provisioningModel": "SPOT",
- "preemptiblePercentage": 100
}, - "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"
]
}, - "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 (oceanCluster-2) 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
}, - "headRoom": {
- "cpuPerUnit": 0,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 0
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true
}, - "capacity": {
- "minimum": 0,
- "maximum": 3,
- "target": 3
}, - "strategy": {
- "drainingTimeout": 60,
- "provisioningModel": "SPOT",
- "preemptiblePercentage": 100
}, - "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"
]
}, - "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": [
- {
- "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
}, - "headRoom": {
- "cpuPerUnit": 0,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 0
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": true
}, - "capacity": {
- "minimum": 0,
- "maximum": 3,
- "target": 3
}, - "strategy": {
- "drainingTimeout": 60,
- "provisioningModel": "SPOT",
- "preemptiblePercentage": 100
}, - "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"
]
}, - "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"
}
}
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.
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 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"
}
}
Create a virtual node group.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (oceanClusterLaunchSpec-3) Ocean Cluster Virtual Node Group (VNG). | ||||||||||||||||||||||||||||||||||||||||
|
{- "launchSpec": {
- "oceanId": "o-1fff54ed",
- "name": "lp_name",
- "serviceAccount": "265168459660-compute@developer.gserviceaccount.com",
- "rootVolumeSize": 8,
- "rootVolumeType": "pd-standard",
- "metadata": [
- {
- "key": "key1",
- "value": "value1"
}, - {
- "key": "key2",
- "value": "value2"
}
], - "instanceTypes": [
- "n1-standard-1",
- "n1-standard-2"
], - "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
}, - "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",
- "rootVolumeSize": 8,
- "rootVolumeType": "pd-standard",
- "metadata": [
- {
- "key": "key1",
- "value": "value1"
}, - {
- "key": "key2",
- "value": "value2"
}
], - "instanceTypes": [
- "n1-standard-1",
- "n1-standard-2"
], - "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
}, - "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",
- "rootVolumeSize": 8,
- "rootVolumeType": "pd-standard",
- "metadata": [
- {
- "key": "key1",
- "value": "value1"
}, - {
- "key": "key2",
- "value": "value2"
}
], - "instanceTypes": [
- "n1-standard-1",
- "n1-standard-2"
], - "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
}, - "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.
oceanLaunchSpecId 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.
oceanLaunchSpecId 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 (GKE Cluster) | ||||||||||||||||||||||||||||||||||
|
{- "launchSpec": {
- "oceanId": "o-1fff54ed",
- "name": "lp_name",
- "rootVolumeSize": 8,
- "metadata": [
- {
- "key": "key1",
- "value": "value1"
}, - {
- "key": "key2",
- "value": "value2"
}
], - "instanceTypes": [
- "n1-standard-1",
- "n1-standard-2"
], - "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": {
- "headroom": {
- "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
}, - "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",
- "rootVolumeSize": 8,
- "rootVolumeType": "pd-standard",
- "metadata": [
- {
- "key": "key1",
- "value": "value1"
}, - {
- "key": "key2",
- "value": "value2"
}
], - "instanceTypes": [
- "n1-standard-1",
- "n1-standard-2"
], - "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
}, - "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"
}
}
oceanLaunchSpecId 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",
- "rootVolumeSize": 8,
- "rootVolumeType": "pd-standard",
- "metadata": [
- {
- "key": "key1",
- "value": "value1"
}, - {
- "key": "key2",
- "value": "value2"
}
], - "instanceTypes": [
- "n1-standard-1",
- "n1-standard-2"
], - "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
}, - "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.
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 Settings for roll operation | |||||||||||||
|
{- "roll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "respectPdb": true,
- "batchMinHealthyPercentage": 100,
- "launchSpecIds": [
- [
- "ols-76694a7d",
- "ols-56694a76"
]
], - "instanceNames": [
- [
- "i-0003a99ffb566f039",
- "i-0567a99ffb566f765"
]
]
}
}
{- "rollId": "roll-1234",
- "oceanId": "o-12e31234",
- "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.
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. |
{- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:ocean:aws:k8s:cluster:roll",
- "items": [
- {
- "id": "scr-5aaf854e",
- "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.
oceanClusterId required | string Example: o-abcd1234 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 Object that specifies the parameters of a roll (also called a deployment). | |||
|
{- "roll": {
- "status": "STOPPED"
}
}
{- "rollId": "roll-1234",
- "status": "STOPPED",
- "batchNumber": 1,
- "numOfBatches": 5,
- "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.
oceanClusterId required | string Example: o-abcd1234 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. |
{- "rollId": "roll-1234",
- "oceanId": "o-12e31234",
- "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
}, - "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
}, - "headRoom": {
- "cpuPerUnit": 0,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 0
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null,
- "enableAutomaticAndManualHeadroom": 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"
]
}, - "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.
oceanLaunchSpecId 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.
The controller can be installed on the cluster using Kubectl or Helm.
To install the Controller using Kubectl, run the following script on a machine with 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> \
ENABLE_OCEAN_METRIC_EXPORTER=false \
bash
To install the Controller using Helm 3.x:
helm repo add spotinst https://spotinst.github.io/spotinst-kubernetes-helm-charts \
&& helm repo update
helm install ocean-controller spotinst/spotinst-kubernetes-cluster-controller \
--set spotinst.token=<ENTER YOUR TOKEN HERE> \
--set spotinst.account=<ENTER YOUR SPOTINST ACCOUNT ID HERE> \
--set spotinst.clusterIdentifier=<ENTER YOUR CLUSTER IDENTIFIER HERE> \
--set metrics-server.deployChart=false \
--create-namespace \
--namespace="spot-ocean" \
--set namespace="spot-ocean"
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",
- "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": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "Scheduled cluster roll",
- "respectPdb": true,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 80,
- "vngIds": [
- "vng-123456"
]
}
}
}
]
}, - "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"
]
]
}
}
}
}
}
{- "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": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "Scheduled cluster roll",
- "respectPdb": true,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 80,
- "vngIds": [
- "vng-123456"
]
}
}
}
]
}, - "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": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "Scheduled cluster roll",
- "respectPdb": true,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 80,
- "vngIds": [
- "vng-123456"
]
}
}
}
]
}, - "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": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "Scheduled cluster roll",
- "respectPdb": true,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 80,
- "vngIds": [
- "vng-123456"
]
}
}
}
]
}, - "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-4) 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": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "Scheduled cluster roll",
- "respectPdb": true,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 80,
- "vngIds": [
- "vng-123456"
]
}
}
}
]
}, - "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"
]
]
}
}
}
}
}
{- "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": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "Scheduled cluster roll",
- "respectPdb": true,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 80,
- "vngIds": [
- "vng-123456"
]
}
}
}
]
}, - "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": {
- "clusterRoll": {
- "batchSizePercentage": 20,
- "comment": "Scheduled cluster roll",
- "respectPdb": true,
- "respectRestrictScaleDown": true,
- "batchMinHealthyPercentage": 80,
- "vngIds": [
- "vng-123456"
]
}
}
}
]
}, - "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"
}
}
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": [
- "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"
]
]
}
}
}
}
{- "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"
]
]
}
}, - "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"
]
]
}
}, - "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"
]
]
}
}, - "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"
]
]
}
}
}
}
{- "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"
]
]
}
}, - "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"
}
}
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"
]
}
}
}
}
{- "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"
]
}
}, - "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"
]
}
}, - "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"
]
}
}, - "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"
]
}
}
}
}
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",
- "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",
- "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",
- "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",
- "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",
- "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",
- "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",
- "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",
- "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",
- "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",
- "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",
- "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",
- "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. |
{- "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",
- "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",
- "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",
- "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"
}
}
Ocean - Serverless containers for Azure Kubernetes Service
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"
}
}
Creates an Ocean entity according to a given specification.
Prerequisite:
Kubenet-based AKS clusters only: The permissions needed in the Azure managed service identity (MSI) for Ocean to use when provisioning new nodes should be adjusted. Run the displayed script on a workstation with an Owner permissions token for the Azure environment. Learn more.
Notes:
#!/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-cluster) The Ocean cluster. | ||||||||||||||
|
{- "cluster": {
- "name": "test",
- "controllerClusterId": "test-123124",
- "aks": {
- "name": "test-cluster",
- "resourceGroupName": "TestResourceGroup"
}, - "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVcpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "vmSizes": {
- "whitelist": [
- "standard_ds2_v2"
]
}, - "zones": [
- "1",
- "2",
- "3"
], - "launchSpecification": {
- "resourceGroupName": "azureResourceGroup",
- "customData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": 7.3,
- "version": "7.3-1611"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
]
}
]
}, - "login": {
- "sshPublicKey": "ssh-rsa",
- "userName": "spotuser"
}, - "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,
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { }
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "maxPods": 30
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/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",
- "aks": {
- "name": "test-cluster",
- "resourceGroupName": "TestResourceGroup"
}, - "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVcpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "vmSizes": {
- "whitelist": [
- "standard_ds2_v2"
]
}, - "zones": [
- "1",
- "2",
- "3"
], - "launchSpecification": {
- "resourceGroupName": "azureResourceGroup",
- "customData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": 7.3,
- "version": "7.3-1611"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
]
}
]
}, - "login": {
- "userName": "spotuser"
}, - "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,
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { }
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "maxPods": 30
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure: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/azure/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",
- "aks": {
- "name": "test-cluster",
- "resourceGroupName": "TestResourceGroup"
}, - "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVcpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "vmSizes": {
- "whitelist": [
- "standard_ds2_v2"
]
}, - "zones": [
- "1",
- "2",
- "3"
], - "launchSpecification": {
- "resourceGroupName": "azureResourceGroup",
- "customData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": 7.3,
- "version": "7.3-1611"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
]
}
]
}, - "login": {
- "userName": "spotuser"
}, - "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,
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { }
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "maxPods": 30
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s"
}
}
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/k8s/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": {
- "name": "test-cluster",
- "resourceGroupName": "TestResourceGroup"
}, - "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVcpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "vmSizes": {
- "whitelist": [
- "standard_ds2_v2"
]
}, - "zones": [
- "1",
- "2",
- "3"
], - "launchSpecification": {
- "resourceGroupName": "azureResourceGroup",
- "customData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": 7.3,
- "version": "7.3-1611"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
]
}
]
}, - "login": {
- "userName": "spotuser"
}, - "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,
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { }
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "maxPods": 30
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s"
}
}
All Ocean parameters are updatable, excluding aks and controllerClusterId.
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. |
required | object (ocean-cluster) The Ocean cluster. | ||||||||||||||
|
{- "cluster": {
- "name": "test",
- "controllerClusterId": "test-123124",
- "aks": {
- "name": "test-cluster",
- "resourceGroupName": "TestResourceGroup"
}, - "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVcpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "vmSizes": {
- "whitelist": [
- "standard_ds2_v2"
]
}, - "zones": [
- "1",
- "2",
- "3"
], - "launchSpecification": {
- "resourceGroupName": "azureResourceGroup",
- "customData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": 7.3,
- "version": "7.3-1611"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
]
}
]
}, - "login": {
- "sshPublicKey": "ssh-rsa",
- "userName": "spotuser"
}, - "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,
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { }
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "maxPods": 30
}
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/k8s/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": {
- "name": "test-cluster",
- "resourceGroupName": "TestResourceGroup"
}, - "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVcpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "vmSizes": {
- "whitelist": [
- "standard_ds2_v2"
]
}, - "zones": [
- "1",
- "2",
- "3"
], - "launchSpecification": {
- "resourceGroupName": "azureResourceGroup",
- "customData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": 7.3,
- "version": "7.3-1611"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
]
}
]
}, - "login": {
- "userName": "spotuser"
}, - "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,
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { }
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "maxPods": 30
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s"
}
}
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/k8s/cluster/o-12345abc",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Roll an entire Ocean cluster or roll subsets of the cluster by specifying virtualNodeGroupIds or vmNames. 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-12345abc Identifier of the Ocean cluster. |
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": {
- "batchSizePercentage": 25,
- "comment": "This is why I deployed my cluster."
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/k8s/cluster/o-12345abc/roll",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "acr-5aaf854e",
- "oceanId": "o-12e31234",
- "status": "IN_PROGRESS",
- "currentBatch": 2,
- "numOfBatches": 4,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "unit": "percentage",
- "value": 25,
- "detailedStatus": {
- "oldVms": [
- {
- "vmName": "vm-8f42d8217593",
- "status": "REPLACED"
}, - {
- "vmName": "vm-5da87fb0bd21",
- "status": "COULD_NOT_BE_REPLACED"
}, - {
- "vmName": "vm-1e50f9fabf2f",
- "status": "TO_BE_REPLACED"
}, - {
- "vmName": "vm-9597db5ae6fe",
- "status": "TO_BE_REPLACED"
}
]
}
}, - "vmNames": [
- "vm-8f42d8217593",
- "vm-5da87fb0bd21",
- "vm-1e50f9fabf2f",
- "vm-9597db5ae6fe"
], - "virtualNodeGroupIds": [
- "vng-0950f269",
- "vng-0a8bc62a"
], - "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s:cluster:roll"
}
}
Get status for all 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": "/ocean/azure/k8s/cluster/o-12345abc/roll",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "acr-5aaf854e",
- "oceanId": "o-12e31234",
- "status": "IN_PROGRESS",
- "currentBatch": 2,
- "numOfBatches": 4,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "unit": "percentage",
- "value": 25,
- "detailedStatus": {
- "oldVms": [
- {
- "vmName": "vm-8f42d8217593",
- "status": "REPLACED"
}, - {
- "vmName": "vm-5da87fb0bd21",
- "status": "COULD_NOT_BE_REPLACED"
}, - {
- "vmName": "vm-1e50f9fabf2f",
- "status": "TO_BE_REPLACED"
}, - {
- "vmName": "vm-9597db5ae6fe",
- "status": "TO_BE_REPLACED"
}
]
}
}, - "vmNames": [
- "vm-8f42d8217593",
- "vm-5da87fb0bd21",
- "vm-1e50f9fabf2f",
- "vm-9597db5ae6fe"
], - "virtualNodeGroupIds": [
- "vng-0950f269",
- "vng-0a8bc62a"
], - "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s:cluster:roll"
}
}
Update a roll of an Ocean cluster.
Performing the request will stop the next batch in a roll.
clusterRollId required | string Example: acr-12345abc Ocean cluster 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. |
required | object Object that specifies the roll parameters to update. | ||
|
{- "roll": {
- "status": "STOPPED"
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/k8s/cluster/o-12345abc/roll/acr-12345abc",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "acr-5aaf854e",
- "oceanId": "o-12e31234",
- "status": "STOPPED",
- "currentBatch": 2,
- "numOfBatches": 4,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "unit": "percentage",
- "value": 25,
- "detailedStatus": {
- "oldVms": [
- {
- "vmName": "vm-8f42d8217593",
- "status": "REPLACED"
}, - {
- "vmName": "vm-5da87fb0bd21",
- "status": "COULD_NOT_BE_REPLACED"
}, - {
- "vmName": "vm-1e50f9fabf2f",
- "status": "TO_BE_REPLACED"
}, - {
- "vmName": "vm-9597db5ae6fe",
- "status": "TO_BE_REPLACED"
}
]
}
}, - "vmNames": [
- "vm-8f42d8217593",
- "vm-5da87fb0bd21",
- "vm-1e50f9fabf2f",
- "vm-9597db5ae6fe"
], - "virtualNodeGroupIds": [
- "vng-0950f269",
- "vng-0a8bc62a"
], - "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s:cluster:roll"
}
}
Get status for a specific roll of an Ocean cluster.
clusterRollId required | string Example: acr-12345abc Ocean cluster 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. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/k8s/cluster/o-12345abc/roll/acr-12345abc",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "acr-5aaf854e",
- "oceanId": "o-12e31234",
- "status": "IN_PROGRESS",
- "currentBatch": 2,
- "numOfBatches": 4,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "unit": "percentage",
- "value": 25,
- "detailedStatus": {
- "oldVms": [
- {
- "vmName": "vm-8f42d8217593",
- "status": "REPLACED"
}, - {
- "vmName": "vm-5da87fb0bd21",
- "status": "COULD_NOT_BE_REPLACED"
}, - {
- "vmName": "vm-1e50f9fabf2f",
- "status": "TO_BE_REPLACED"
}, - {
- "vmName": "vm-9597db5ae6fe",
- "status": "TO_BE_REPLACED"
}
]
}
}, - "vmNames": [
- "vm-8f42d8217593",
- "vm-5da87fb0bd21",
- "vm-1e50f9fabf2f",
- "vm-9597db5ae6fe"
], - "virtualNodeGroupIds": [
- "vng-0950f269",
- "vng-0a8bc62a"
], - "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s:cluster:roll"
}
}
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. |
virtualNodeGroupId required | string Example: virtualNodeGroupId=vng-12345abc Ocean Virtual Node Group identifier. |
vmName | string Example: vmName=vm-123 Get a specific node by vmName. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/k8s/cluster/o-12345abc/nodes",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "vmName": "vm-123",
- "vmSize": "standard_a1_v2",
- "availabilityZone": "eastus2-1",
- "virtualNodeGroupId": "ols-123",
- "virtualNodeGroupName": "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": "vm-123",
- "registrationStatus": "Registered",
- "createdAt": "2021-10-1T05:51:06.000Z"
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s:nodes"
}
}
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.
Prerequisites:
curl -fsSL https://spotinst-public.s3.amazonaws.com/integrations/kubernetes/aks/spot-aks-connector/init.sh | \
bash -s acd-12345678
acdIdentifier required | string Example: acd-12345abc During the import from AKS to Ocean, the user executes a script that gets data from the AKS cluster and sends it to the Spot API. The acdIdentifier is the identifier that is associated with this data, and it is used to create an Ocean cluster. |
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (ocean-cluster-import) The Ocean cluster import request. | ||||||||||||||
|
{- "cluster": {
- "name": "test",
- "controllerClusterId": "test-123124",
- "aks": {
- "name": "test-cluster",
- "resourceGroupName": "TestResourceGroup"
}, - "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVcpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "vmSizes": {
- "whitelist": [
- "standard_ds2_v2"
]
}, - "zones": [
- "1",
- "2",
- "3"
]
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/k8s/cluster/aks/import/acd-12345abc",
- "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": {
- "name": "test-cluster",
- "resourceGroupName": "TestResourceGroup"
}, - "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVcpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "vmSizes": {
- "whitelist": [
- "standard_ds2_v2"
]
}, - "zones": [
- "1",
- "2",
- "3"
], - "launchSpecification": {
- "resourceGroupName": "azureResourceGroup",
- "customData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": 7.3,
- "version": "7.3-1611"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
]
}
]
}, - "login": {
- "userName": "spotuser"
}, - "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,
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { }
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "maxPods": 30
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s"
}
}
In the special case that Ocean has already imported an AKS cluster and we need to reimport it again (because the customer has updated the AKS cluster through Azure directly). The reimport process will reimport and immediately update the Ocean cluster configuration from the given AKS cluster. The ReImport Cluster API call returns a JSON formatted Ocean cluster specification after the update of the given AKS cluster.
Prerequisites:
curl -fsSL https://spotinst-public.s3.amazonaws.com/integrations/kubernetes/aks/spot-aks-connector/init.sh | \
bash -s acd-12345678
acdIdentifier required | string Example: acd-12345abc During the import from AKS to Ocean, the user executes a script that gets data from the AKS cluster and sends it to the Spot API. The acdIdentifier is the identifier that is associated with this data, and it is used to create 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/azure/k8s/cluster/aks/import/acd-12345abc",
- "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": {
- "name": "test-cluster",
- "resourceGroupName": "TestResourceGroup"
}, - "autoScaler": {
- "isEnabled": true,
- "resourceLimits": {
- "maxVcpu": 750,
- "maxMemoryGib": 1500
}, - "down": {
- "maxScaleDownPercentage": 30
}, - "headroom": {
- "automatic": {
- "isEnabled": true,
- "percentage": 5
}
}
}, - "strategy": {
- "spotPercentage": 50,
- "fallbackToOd": true
}, - "health": {
- "gracePeriod": 600
}, - "virtualNodeGroupTemplate": {
- "vmSizes": {
- "whitelist": [
- "standard_ds2_v2"
]
}, - "zones": [
- "1",
- "2",
- "3"
], - "launchSpecification": {
- "resourceGroupName": "azureResourceGroup",
- "customData": "IyEvYmluL2Jhc2gKZWNobyAidGVzdCI=",
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": 7.3,
- "version": "7.3-1611"
}
}, - "network": {
- "resourceGroupName": "subnetResourceGroup",
- "virtualNetworkName": "vname",
- "networkInterfaces": [
- {
- "isPrimary": true,
- "subnetName": "testSubnet",
- "assignPublicIp": true,
- "publicIpSku": "Standard",
- "securityGroup": {
- "name": "test",
- "resourceGroupName": "test"
}, - "enableIPForwarding": true,
- "additionalIpConfigurations": [
- {
- "name": "test",
- "privateIpAddressVersion": "IPv4"
}
]
}
]
}, - "login": {
- "userName": "spotuser"
}, - "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,
- "minorVersionAutoUpgrade": true,
- "publicSettings": { },
- "protectedSettings": { }
}
], - "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30
}, - "maxPods": 30
}
}, - "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s"
}
}
Scale down specific virtual machines in 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. |
vmsToDetach required | Array of strings Array of virtual machine names to detach. |
{- "vmsToDetach": [
- "vm-0fbd69f960db"
]
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/k8s/cluster/o-12345abc/detachVms",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "detachedVms": [
- {
- "vmName": "vm-12345"
}
]
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s:cluster:detachVms"
}
}
Create a virtual node group.
accountId required | string Example: accountId=act-123456789 The ID of the account associated with your token. |
required | object (virtualNodeGroupWithMetadata) | ||||||||||||||||||
|
{- "virtualNodeGroup": {
- "oceanId": "o-13245abc",
- "name": "testVng",
- "resourceLimits": {
- "maxInstanceCount": 5
}, - "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "vmSizes": [
- "standard_ds2_v2",
- "standard_d2s_v4"
], - "zones": [
- "1",
- "2",
- "3"
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
], - "autoHeadroomPercentage": 20
}, - "launchSpecification": {
- "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30,
- "utilizeEphemeralStorage": true
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "maxPods": 30
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/k8s/virtualNodeGroup",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "vng-12345abc",
- "oceanId": "o-13245abc",
- "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z",
- "name": "testVng",
- "resourceLimits": {
- "maxInstanceCount": 5
}, - "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "vmSizes": [
- "standard_ds2_v2",
- "standard_d2s_v4"
], - "zones": [
- "1",
- "2",
- "3"
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
], - "autoHeadroomPercentage": 20
}, - "launchSpecification": {
- "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30,
- "utilizeEphemeralStorage": true
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "maxPods": 30
}
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s: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/k8s/virtualNodeGroup",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "vng-12345abc",
- "oceanId": "o-13245abc",
- "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z",
- "name": "testVng",
- "resourceLimits": {
- "maxInstanceCount": 5
}, - "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "vmSizes": [
- "standard_ds2_v2",
- "standard_d2s_v4"
], - "zones": [
- "1",
- "2",
- "3"
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
], - "autoHeadroomPercentage": 20
}, - "launchSpecification": {
- "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30,
- "utilizeEphemeralStorage": true
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "maxPods": 30
}
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s: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/k8s/virtualNodeGroup/vng-12345abc",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "vng-12345abc",
- "oceanId": "o-13245abc",
- "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z",
- "name": "testVng",
- "resourceLimits": {
- "maxInstanceCount": 5
}, - "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "vmSizes": [
- "standard_ds2_v2",
- "standard_d2s_v4"
], - "zones": [
- "1",
- "2",
- "3"
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
], - "autoHeadroomPercentage": 20
}, - "launchSpecification": {
- "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30,
- "utilizeEphemeralStorage": true
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "maxPods": 30
}
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s:virtualNodeGroup"
}
}
All virtual node group parameters are updatable.
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",
- "resourceLimits": {
- "maxInstanceCount": 5
}, - "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "vmSizes": [
- "standard_ds2_v2",
- "standard_d2s_v4"
], - "zones": [
- "1",
- "2",
- "3"
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
], - "autoHeadroomPercentage": 20
}, - "launchSpecification": {
- "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30,
- "utilizeEphemeralStorage": true
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "maxPods": 30
}
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/k8s/virtualNodeGroup/vng-12345abc",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "vng-12345abc",
- "oceanId": "o-13245abc",
- "createdAt": "2021-03-17T08:13:08.000Z",
- "updatedAt": "2021-03-17T15:06:13.000Z",
- "name": "testVng",
- "resourceLimits": {
- "maxInstanceCount": 5
}, - "labels": [
- {
- "key": "env",
- "value": "test"
}
], - "taints": [
- {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}
], - "vmSizes": [
- "standard_ds2_v2",
- "standard_d2s_v4"
], - "zones": [
- "1",
- "2",
- "3"
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
], - "autoHeadroomPercentage": 20
}, - "launchSpecification": {
- "osDisk": {
- "type": "Standard_LRS",
- "sizeGB": 30,
- "utilizeEphemeralStorage": true
}, - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "maxPods": 30
}
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s: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. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/k8s/virtualNodeGroup/vng-12345abc",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}
Launch VMs in a 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. |
object (Ocean AKS Virtual Node Group Launch Request) | |||
|
{- "launchRequest": {
- "amount": 5
}
}
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/ocean/azure/k8s/virtualNodeGroup/vng-12345abc/launchVms",
- "method": "PUT",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "vms": [
- {
- "vmName": "vm-001c1268d5bf",
- "vmSize": "Standard_DS2_v2",
- "lifeCycle": "spot"
}
]
}
], - "count": 1,
- "kind": "spotinst:ocean:azure:k8s:virtualNodeGroup:launchVms"
}
}
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/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: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/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:azure:k8s:cluster:log",
- "items": [
- {
- "message": "Ocean o-e0a2bd7c successfully created.",
- "severity": "INFO",
- "createdAt": "2020-10-07T09:51:12.000Z"
}
], - "count": "1"
}
}
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,
- "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": "spectrum",
- "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": "spectrum",
- "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": "spectrum",
- "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,
- "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": "spectrum",
- "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": "spectrum",
- "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": "spectrum",
- "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,
- "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": "spectrum",
- "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": "spectrum",
- "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": "spectrum",
- "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,
- "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": "spectrum",
- "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": "spectrum",
- "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": "spectrum",
- "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
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
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 |
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
}, - "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"
}
], - "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
}, - "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"
}
], - "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
}, - "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"
}
], - "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
}, - "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"
}
], - "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
}, - "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"
}
], - "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
}, - "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"
}
], - "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": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "gte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "lte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "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
}, - "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
}
]
}
}
}
{- "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": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "gte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "lte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": 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
}
]
}, - "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": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "gte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "lte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": 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
}
]
}, - "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": {
- "policyName": "cpuScale",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "Count",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "key": "resourceGroupName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 23,
- "minimum": 20,
- "maximum": 25
}
}, - "down": {
- "policyName": "cpuScale",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "Count",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "key": "resourceGroupName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "target": 1,
- "minimum": 1,
- "maximum": 1,
- "adjustment": "2"
}
}
}, - "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
}
]
}
}, - "health": {
- "autoHealing": false,
- "healthCheckTypes": "vmState",
- "gracePeriod": 300,
- "unhealthyDuration": 360
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_b1s"
], - "spotSizes": [
- "standard_a1_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "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
}, - "proximityPlacementGroups": [
- {
- "name": "testPPG",
- "resourceGroupName": "testResourceGroup"
}
]
}, - "zones": [
- "1"
], - "preferredZones": [
- "1"
]
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": "string",
- "cronExpression": "0 1 * * *",
- "type": "scale",
- "scaleTargetCapacity": 0,
- "scaleMaxCapacity": 0,
- "scaleMinCapacity": 0
}
]
}
}
}
{- "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": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "gte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "lte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": 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
}
]
}, - "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": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "gte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "lte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": 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
}
]
}, - "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. |
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,
- "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": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "gte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "lte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": 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
}
]
}, - "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": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "gte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "lte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": 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
}
]
}, - "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": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "gte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "lte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": 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
}
]
}, - "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": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.75,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "gte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "unit": "percent",
- "threshold": 0.25,
- "namespace": "Microsoft.Network/applicationGateways",
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "dimensions": [
- {
- "name": "resourceName",
- "value": "testApplicationGateway"
}, - {
- "name": "resourceGroupName",
- "value": "testResourceGroup"
}
], - "operator": "lte",
- "action": {
- "type": "adjustment",
- "adjustment": "2",
- "target": 0,
- "minimum": 0,
- "maximum": 0
}
}
]
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "spotSizes": [
- "standard_a2_v2"
], - "preferredSpotSizes": [
- "standard_a2_v2"
]
}, - "os": "Linux",
- "launchSpecification": {
- "vmNamePrefix": "prefix",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": 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
}
]
}, - "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"
], - "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": "managed",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true
}, - "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
}
}
}
{- "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"
], - "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": "managed",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true
}, - "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
}, - "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"
], - "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": "managed",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true
}, - "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
}, - "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"
], - "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": "managed",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true
}, - "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
}, - "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"
], - "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": "managed",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true
}, - "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
}
}
}
{- "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"
], - "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": "managed",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true
}, - "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
}, - "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
}
}
}
{- "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"
], - "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": "managed",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true
}, - "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
}, - "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"
], - "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": "managed",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true
}, - "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
}
}
}
}
{- "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"
], - "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": "managed",
}, - "licenseType": "Windows_Client",
- "security": {
- "securityType": "TrustedLaunch",
- "secureBootEnabled": true,
- "vTpmEnabled": true
}, - "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
}, - "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 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" 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"
}
}
]
}
}, - "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"
}
}
]
}
}, - "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"
}
}
]
}
}, - "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"
}
}
]
}
}, - "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"
}
}
]
}
}, - "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"
}
}
]
}
}, - "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,
- "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,
- "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,
- "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,
- "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 Value: "s3" 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
}
}