Skip to content

Delete and tear down a deployment

client.Deploy.Delete(ctx, deploymentID) (*AgentexCloudDeploy, error)
DELETE/v5/agentex/deployments/{deployment_id}

Delete an agent deployment and tear down its Kubernetes resources.

Deletes the deployment’s Kubernetes resources first, then marks the record as DELETED; the underlying Helm release is subsequently uninstalled asynchronously by FluxCD once the resource is removed. If the Kubernetes teardown fails, the record is left unchanged and the call errors, so the delete can be safely retried. Rejects the call with a client error if the deployment is already in a terminal state (DELETED, CANCELLED, or SUPERSEDED) — a SUPERSEDED record shares its Helm release with the deployment that replaced it, so deleting it would tear down the live release. Returns 404 if no deployment with this ID exists for the caller’s account. This removes a running deployment, not the image build behind it, which is managed separately through the agentex builds API.

ParametersExpand Collapse
deploymentID string
ReturnsExpand Collapse
type AgentexCloudDeploy struct{…}
ID string

The unique identifier of the deployment.

AccountID string

The ID of the account that owns the given entity.

CreatedAt Time

The date and time when the entity was created in ISO format.

formatdate-time
CreatedBy Identity

The identity that created the entity.

ID string
Type IdentityType
One of the following:
const IdentityTypeUser IdentityType = "user"
const IdentityTypeServiceAccount IdentityType = "service_account"
Object IdentityObjectOptional
EnvironmentConfig string

YAML content of environment configuration from the environment config file.

ManifestFile string

YAML content of manifest configuration.

Namespace string

Kubernetes namespace where the deployment is deployed.

Status string

Deployment status: pending, running, completed, failed, or cancelled.

BuildID stringOptional

The build_id of the cloud build that produced the deployed image.

DeployEvents []AgentexCloudDeployEventOptional

Kubernetes events for this deployment.

Message stringOptional

Full event message.

Reason stringOptional

Short reason, e.g. ‘Pulling’, ‘Scheduled’.

Timestamp TimeOptional

When the event was observed.

formatdate-time
Type stringOptional

Event type, e.g. ‘Normal’ or ‘Warning’.

ExpiresAt TimeOptional

When this deployment will be cleaned up. Always set on preview deployments (defaults to 8 hours from creation if the request omits it). Null on non-preview deployments — they have no TTL.

formatdate-time
HelmReleaseName stringOptional

Helm release name after successful deployment.

Object AgentexCloudDeployObjectOptional
PreviewLabel stringOptional

Non-unique grouping label for preview deployments. Filter ?preview_label=X&limit=1 returns the latest deploy for the label. Sanitized (lowercase alphanumeric + hyphens) and capped at 30 characters.

Delete and tear down a deployment

package main

import (
  "context"
  "fmt"

  "github.com/scaleapi/sgp-dev-go"
  "github.com/scaleapi/sgp-dev-go/option"
)

func main() {
  client := sgpdev.NewClient(
    option.WithAPIKey("My API Key"),
    option.WithAccountID("My Account ID"),
  )
  agentexCloudDeploy, err := client.Deploy.Delete(context.TODO(), "deployment_id")
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", agentexCloudDeploy.ID)
}
{
  "id": "id",
  "account_id": "account_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "created_by": {
    "id": "id",
    "type": "user",
    "object": "identity"
  },
  "environment_config": "environment_config",
  "manifest_file": "manifest_file",
  "namespace": "namespace",
  "status": "status",
  "build_id": "build_id",
  "deploy_events": [
    {
      "message": "message",
      "reason": "reason",
      "timestamp": "2019-12-27T18:11:19.117Z",
      "type": "type"
    }
  ],
  "expires_at": "2019-12-27T18:11:19.117Z",
  "helm_release_name": "helm_release_name",
  "object": "agentex_cloud_deploy",
  "preview_label": "preview_label"
}
Returns Examples
{
  "id": "id",
  "account_id": "account_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "created_by": {
    "id": "id",
    "type": "user",
    "object": "identity"
  },
  "environment_config": "environment_config",
  "manifest_file": "manifest_file",
  "namespace": "namespace",
  "status": "status",
  "build_id": "build_id",
  "deploy_events": [
    {
      "message": "message",
      "reason": "reason",
      "timestamp": "2019-12-27T18:11:19.117Z",
      "type": "type"
    }
  ],
  "expires_at": "2019-12-27T18:11:19.117Z",
  "helm_release_name": "helm_release_name",
  "object": "agentex_cloud_deploy",
  "preview_label": "preview_label"
}