Help Center/ Cloud Application Engine/ API Reference/ CAE API/ Component/ Performing Operations on a Component
Updated on 2025-02-14 GMT+08:00

Performing Operations on a Component

Function

This API is used to perform operations (such as deploy, upgrade, restart, stop, start, scale, configure, and roll back) on a component.

URI

POST /v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action

Table 1 Path parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. See Obtaining a Project ID.

application_id

Yes

String

Application ID.

component_id

Yes

String

Component ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token.

Maximum characters: 16,384

X-Enterprise-Project-ID

No

String

Enterprise project ID.

  • When an environment is created, it will be bound with an enterprise project ID.
  • Enter 0 or up to 36 characters in UUID format with hyphens (-).
  • If this parameter is not specified or set to 0, resources in the default enterprise project are queried.
NOTE:

For more information about enterprise projects and how to obtain enterprise project IDs, see Enterprise Management User Guide.

X-Environment-ID

Yes

String

Environment ID.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

api_version

Yes

String

API version. Fixed value: v1.

Enumerated value:

  • v1

kind

Yes

String

API type. Fixed value: Action.

Enumerated value:

  • Action

metadata

No

metadata object

Request data.

spec

No

ActionOnComponentSpec object

Action specifications.

Table 4 metadata

Parameter

Mandatory

Type

Description

annotations

No

map<string, object>

Resource information.

name

Yes

String

Action name.

Enumerated values:

  • deploy
  • upgrade
  • configure
  • scale
  • restart
  • start
  • stop
  • rollback
Table 5 ActionOnComponentSpec

Parameter

Mandatory

Type

Description

snapshot_index

No

Integer

Snapshot index.

replica

No

Integer

Number of instances.

source

No

ActionOnComponentSource object

Source data.

resource_limit

No

ResourceLimitForUpgrade object

Instance specifications.

build

No

ActionOnComponentBuild object

Build data.

Table 6 ActionOnComponentSource

Parameter

Mandatory

Type

Description

code

No

Repo object

Source code repository information.

type

No

String

Source type.

Enumerated values:

  • image
  • code
  • softwarePackage

sub_type

No

String

Source subtype.

  • If type is code, sub_type indicates a code repository, such as GitLab, GitHub, or Bitbucket.
  • If type is softwarePackage, sub_type indicates a software package repository, such as BinObs or BinDevCloud (CodeArts Release Repo).

Enumerated values:

  • BinObs
  • BinDevCloud
  • GitLab
  • GitHub
  • Bitbucket

url

No

String

URL.

  • If type is image, url indicates an image address.
  • If type is code, url indicates a Git address.
  • If type is softwarePackage, url indicates a software package address.
Table 7 Repo

Parameter

Mandatory

Type

Description

auth_name

No

String

Authorization name.

branch

No

String

Branch.

namespace

No

String

Namespace, which must be Base64-encoded.

Table 8 ResourceLimitForUpgrade

Parameter

Mandatory

Type

Description

cpu_limit

No

String

CPU limit.

Enumerated values:

  • 500m
  • 1000m
  • 2000m

memory_limit

No

String

Memory limit.

Enumerated values:

  • 1Gi
  • 2Gi
  • 4Gi
Table 9 ActionOnComponentBuild

Parameter

Mandatory

Type

Description

archive

No

Archive object

Place where build products are archived for management.

parameters

No

map<string, object>

Additional parameters. Options:

  • base_image: base image address.
  • build_cmd: custom build command.
  • dockerfile_path: custom dockerfile path.
  • dockerfile_content: custom dockerfile content.
  • artifact_name: product to be run after the Java multi-module build. The value ends with .jar.
Table 10 Archive

Parameter

Mandatory

Type

Description

artifact_namespace

No

String

SWR organization for product management.

Response Parameters

Status code: 200

Table 11 Response body parameters

Parameter

Type

Description

job_id

String

Job ID.

Example Request

  • Perform operations (such as deploy, restart, stop, start, and configure) on a component.
    POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action
    
    {
      "api_version" : "v1",
      "kind" : "Action",
      "metadata" : {
        "name" : "deploy/restart/stop/start/configure",
        "annotations" : {
          "version" : "1.0.0"
        }
      }
    }
  • Upgrade the component version to 1.0.1.
    POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action
    
    {
      "api_version" : "v1",
      "kind" : "Action",
      "metadata" : {
        "name" : "upgrade",
        "annotations" : {
          "version" : "1.0.1"
        }
      },
      "spec" : {
        "source" : {
          "type" : "image",
          "url" : "nginx:stable-alpine-perl"
        }
      }
    }
  • Increase the number of instances to 2 for the component.
    POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action
    
    {
      "api_version" : "v1",
      "kind" : "Action",
      "metadata" : {
        "name" : "scale",
        "annotations" : {
          "version" : "1.0.0"
        }
      },
      "spec" : {
        "replica" : 2
      }
    }
  • Roll back the component.
    POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/action
    
    {
      "api_version" : "v1",
      "kind" : "Action",
      "metadata" : {
        "name" : "rollback",
        "annotations" : {
          "version" : "1.0.0"
        }
      },
      "spec" : {
        "snapshot_index" : 1
      }
    }

Example Response

Status code: 200

The request is successful.

{
  "job_id" : "xxx"
}

Status Code

Status Code

Description

200

The request is successful.

Error Code

For details, see Error Codes.