Skip to main content

Spot

The Spot integration automates Elastigroup and Ocean operations and optimizes your cloud infrastructure.

Configure Spot in Spot Connect

  1. In the left main menu, click Connect and click Settings.
  2. Under the Cloud Services tab, select Spot by NetApp.
  3. Configure a new authorization instance with the information below.

Details needed to set up a Spot Authorization instance in Spot Connect:

ParameterDescriptionRequired
Integration AliasA name for the integration instanceTrue
Spot Programmatic Access TokenA Spot Programmatic Access Token is recommended or you may use a Personal Access TokenTrue

Follow these steps in your Spot account to generate a Spot programmatic access token.

  1. In the top right, click the user icon and click Settings.

  2. In the left menu, click Settings and click API.

  3. Click Permanent Tokens and on the top right, click Generate Token.

  4. Select Programmatic User to generate a new permanent access token.

  5. Enter a Token name and click Generate.

Integration Actions

You can add these actions in the Spot Connect workflow builder as part of your workflow.

Spot Elastigroup AWS

Use this action to run a selected Spot Elastigroup AWS operation.

Input

ParameterDescriptionRequired
Spot InstanceSelect a Spot integration instanceTrue
Spot AccountSelect a Spot accountTrue
Spot OperationSelect operation for Spot Elastigroup AWSTrue

There can be additional required or optional input values to enter based on the Spot Operation selected.

Output

ParameterTypeDescription
outputMapOutput of Spot Elastigroup AWS operation in Map type
output_jsonObjectOutput of Spot Elastigroup AWS operation in Object type
execution_statusStringStatus of run (i.e.: S_OK / E_FAIL)

Action Example

spot-int-2

Complete the following information:

  • Spot Instance: Select a Spot instance.
  • Spot Account: Select a Spot account.
  • Spot Operation: Select a Spot operation.
  • Group ID: Provide groupId of Spot Elastigroup AWS for Scale Up.
  • Adjustment (Optional Inputs): Configure optional input for Scale Up.

Spot Ocean AWS

Use this action to run a selected Spot Ocean AWS operation.

Input

ParameterDescriptionRequired
Spot InstanceSelect a spot integration instanceTrue
Spot AccountSelect a Spot accountTrue
Spot OperationSelect operation for Spot Ocean AWSTrue

There can be additional required or optional input values to enter based on the Spot Operation selected.

Output

ParameterTypeDescription
outputMapOutput of Spot Elastigroup AWS operation in Map type
output_jsonObjectOutput of Spot Elastigroup AWS operation in Object type
execution_statusStringStatus of run (ie: S_OK / E_FAIL)

Action Example

Complete the following information:

  • Spot Instance: Select a Spot instance.
  • Spot Account: Select a Spot account.
  • Spot Operation: Select a Spot operation.
  • OceanClusterId: Provide oceanClusterId for Get Cluster.

Spot Elastigroup Detach Instance

Use this action to detach an instance from Spot Elastigroup AWS.

Input

ParameterDescriptionRequired
Spot InstanceSelect a spot integration instanceTrue
Spot AccountSelect a Spot accountTrue
Group IdSelect a Spot Account GroupTrue
Instance Id to DetachAdd Instance Id to be detachedTrue
Terminate InstancesShould Terminate Instances CriteriaTrue
Decrement Target CapacityShould Decrement Target Capacity CriteriaTrue
Draining Timeout (Seconds)Time to drain the instance before it is detachedTrue

Output

ParameterTypeDescription
group_idStringGroup Id of Spot Elastigroup AWS
execution_statusStringStatus of run (i.e.: S_OK / E_FAIL)
instance_idStringDetached instance_id

Action Example

Complete the following information:

  • Spot Instance: Select a Spot instance.
  • Spot Account: Select a Spot account.
  • Group ID: Select Elastigroup Id.
  • Instance Id to Detach: Enter an instance ID to detach.
  • Terminate Instances: Select true or false to confirm whether this action will terminate the instance.
  • Decrement Target Capacity: Select a Decrement Target Capacity.
  • Draining Timeout: Select the draining timeout (in seconds).

Spot AWS Update Stateful Instance

Use this action to update a stateful instance.

Input

ParameterDescriptionRequired
Spot InstanceSelect a spot integration instanceTrue
Spot AccountSelect a Spot accountTrue
Managed Instance IdsSelect a Spot Managed Instance IDsTrue
OperationSelect Stateful Instance OperationTrue

Output

ParameterTypeDescription
successful_idsStringListList of stateful instances successfully updated state
failed_idsStringListList of stateful instances failed to update state
execution_statusStringStatus of run (i.e.: S_OK / E_FAIL)

Action Example

spot-int-5

Complete the following information:

  • Spot Instance: Select a Spot instance.
  • Spot Account: Select a Spot account.
  • Managed Instance Ids: Select Spot managed instance IDs.
  • Operation: Select operation on stateful instance.

Spot Remove Idle GitHub Runner

Use this action to detach a Spot Elastigroup AWS instance and remove idle GitHub runner.

Input

ParameterDescriptionRequired
Spot InstanceSelect a spot integration instanceTrue
GitHub RepositorySelect a GitHub repositoryTrue
Spot AccountSelect a Spot accountTrue
Instance IdsAdd instances IDsTrue
Terminate InstancesSelect Stateful Instance OperationTrue
Decrement Target CapacityShould Decrement Target Capacity CriteriaTrue
Draining Timeout (Seconds)Time to drain the instance before it is detachedTrue

Output

ParameterTypeDescription
detached_instance_idsStringListList of instances detached from Spot Elastigroup AWS
execution_statusStringStatus of run (i.e.: S_OK / E_FAIL)
removed_runner_idsStringListList of runners removed from GitHub

Action Example

spot-int-6

Complete the following information:

  • Spot Instance: Select a Spot instance.
  • GitHub Repository: Select a GitHub repository.
  • Spot Account: Select a Spot account.
  • Elastigroup: Select Spot Elastigroup AWS
  • Terminate Instances: Select true or false to confirm whether this action will terminate the instance.
  • Decrement Target Capacity: Select the decrement capacity of target instances
  • Draining timeout: Select the draining timeout (in seconds).

Spot Ocean Cluster Copy VNG

Use this action to create a new virtual node group from an existing Spot Ocean cluster VNG configuration.

Input

ParameterDescriptionRequired
Spot InstanceSelect a Spot integration instanceTrue
Spot AccountSelect a Spot accountTrue
Ocean ClusterSelect a Spot Ocean ClusterTrue
Ocean Cluster VNGSelect a Spot Ocean Cluster VNGTrue
Edit Cluster VNGSpot Ocean cluster VNG configuration JSONTrue
Virtual Node Group NameName of the new virtual node groupTrue

Output

ParameterTypeDescription
ocean_idStringList of instances detached from Spot Elastigroup AWS
source_vng_idStringSource Virtual Node Group ID
execution_statusStringStatus of run (i.e.: S_OK / E_FAIL)
dest_vng_idStringDestination Virtual Node Group ID
dest_vng_nameStringDestination Virtual Node Group Name

Action Example

spot-int-7

Complete the following information:

  • Spot Instance: Select a Spot instance.
  • Spot Account: Select a Spot account.
  • Ocean Cluster: Select Spot Ocean AWS cluster.
  • Ocean Cluster VNG: Select Spot Ocean AWS cluster Virtual Node Group.
  • Edit Cluster VNG: Edit the Cluster VNG configuration.
  • Virtual Node Group Name: Enter the name of the Virtual Node Group.

Spot Ocean Cost Analyzer

Use this action to fetch the aggregated cost data for Spot Ocean AWS ECS cluster.

Input

ParameterDescriptionRequired
Spot InstanceSelect a Spot integration instance.True
Spot AccountSelect a Spot account.True
Cluster TypeCluster type can be K8S or ECSTrue Note: Only ECS is supported.
Ocean ClusterSelect Spot Ocean Cluster ID from the dropdownTrue
Number Of DaysNumber of days to collect data for.True
End TimeEnd Time. If provided, Number of Days is calculated backwards from this. Otherwise, the node will collect data based on number of days for current date when it is triggered.False

Output

ParameterTypeDescription
output_dataObjectCost data of selected Spot Ocean AWS Kubernetes/ECS cluster, as JSON Array.
execution_statusStringStatus of run (i.e.: S_OK / E_FAIL)

Action Example

spot-int-8

Complete the following information:

  • Spot Instance: Select a Spot instance.
  • Spot Account: Select a Spot account.
  • Cluster Type: Select Spot Ocean AWS cluster type.
  • Ocean Cluster: Select Spot Ocean AWS cluster.
  • Number of Days: Add the number of days to collect data.
  • End Time (Optional): If provided, the number of days is calculated backward from the selected date.

Spot Ocean Rightsizing k8s Resources

Action to fetch Rightsizing recommendations from Spot Ocean cluster and update Kubernetes resources.

Input

ParameterDescriptionRequired
Spot API Token/ AliasSelect a Spot integration instanceTrue
Spot AccountSelect a Spot accountTrue
Ocean ClusterSelect Spot Ocean Cluster from the dropdownTrue
AWS S3 Bucket with K8s Manifests or Helm ConfigAWS S3 bucket where K8s Manifests or Helm Config is storedFalse
AWS S3 PrefixComplete path in front of the object name (including the bucket name)False
NamespaceSelect one or more Kubernetes namespaces for which resources should be updatedFalse
Deployment NameSelect one or more Kubernetes deployment names for which resources should be updatedFalse
Container NameSelect one or more Kubernetes container names for which resources should be updatedFalse
MultiplierConstant for multiplying CPU and Memory resources (default multiplier value is 1.0)False

Output

ParameterTypeDescription
s3_bucketStringAWS S3 bucket where Helm charts are uploaded
skipped_s3_objectsObjectList of K8s manifest files skipped
updated_helm_s3_objectsStringListList of K8s manifest files updated with Spot Ocean AWS rightsizing recommendations
execution_statusStringStatus of run (ie: S_OK / E_FAIL)

Action Example

spot-int-9

Complete the following information:

  • Spot API Token/Alias: Select a Spot API Token/Alias.
  • Spot Account: Select a Spot account.
  • Ocean AWS Cluster: Select a Spot Ocean AWS cluster.
  • AWS S3 Bucket with K8s Manifests or Helm Config: Select AWS S3 bucket.

Optional:

  • AWS S3 Prefix: Select an AWS S3 prefix with helm charts to be updated with Spot Ocean AWS rightsizing recommendations.
  • Namespace, Deployment Name, and Container Name: Select the namespace deployment name and container name to fetch Spot Ocean AWS rightsizing recommendations and update Helm charts.
  • Multiplier: Provide a multiplier value to multiply CPU and memory resources. The default is 1.0.