Modifying Component Information Based on the Component ID
Function
This API is used to modify component information based on the component ID.
URI
PUT /v3/{project_id}/cas/applications/{application_id}/components/{component_id}
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Tenant's project ID. See Obtaining a Project ID. |
application_id |
Yes |
String |
Application ID. See Obtaining All Applications. |
component_id |
Yes |
String |
Component ID. See Obtaining All Components of an Application. |
Request
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
Content-Type |
Yes |
String |
Message body type (format). Default value: application/json;charset=utf8. |
X-Auth-Token |
Yes |
String |
API calling can be authenticated using a token or AK/SK. If you use a token, this parameter is mandatory and must be set to the token. For details about how to obtain the token, see Authentication. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Application component name. This value cannot be modified. The value contains 2 to 64 characters consisting of letters, digits, hyphens (-), and underscores (_). It starts with a letter and ends with a letter or digit. |
labels |
No |
Array of objects |
Label. For container-deployed components, you can query a workload by label. For VM-deployed components, you can configure a label of the corresponding microservice name to use graceful startup and shutdown. See Table 4. |
runtime_stack |
Yes |
Object |
Runtime. This value cannot be modified. See Table 30. The value can be obtained from the response of the API for Querying a Technology Stack. |
description |
No |
String |
Description. The value can contain up to 128 characters. |
source |
Yes |
Object |
Source of the code or software package. See Table 31. |
build |
No |
Object |
Component build. See Table 32. |
limit_cpu |
No |
Number |
Maximum CPU limit. Unit: core. |
limit_memory |
No |
Number |
Maximum memory size. Unit: GiB. |
request_cpu |
No |
Number |
Requested CPU resources. Unit: core. |
request_memory |
No |
Number |
Requested memory. Unit: GiB. |
version |
Yes |
String |
Component version number. The value can contain up to 32 characters. It needs to meet the following rule: ^([0-9]+)(.[0-9]+){2,3}$ |
envs |
No |
Array of objects |
Environment variable list. See Table 28. |
replica |
Yes |
Integer |
Number of instances. This parameter can be modified only when the scaling function is used. |
storages |
No |
Array of objects |
Storage. See Table 5. |
deploy_strategy |
No |
Object |
Component deployment. See Table 8. |
command |
No |
Object |
Startup command. See Table 12. |
post_start |
No |
Object |
Post-start processing. See Table 13. |
pre_stop |
No |
Object |
Pre-stop processing. See Table 13. |
mesher |
No |
Object |
Multi-language access service mesh. This parameter is mandatory when Node.js is selected for the technology stack and the CSE engine is bound. See Table 14. |
timezone |
No |
String |
Time zone where the component runs. Example: Asia/Shanghai. |
jvm_opts |
No |
String |
JVM parameter. Example: -Xms256m -Xmx1024m. If there are multiple parameters, separate them by spaces. If the parameter is left blank, the default value is used. |
tomcat_opts |
No |
Object |
Tomcat parameter. This parameter is valid when you use the Tomcat technology stack. See Table 15. |
host_aliases |
No |
Array of objects |
Host alias. See Table 16. |
dns_policy |
No |
String |
DNS policy.
|
dns_config |
No |
Object |
DNS configuration. See Table 17. |
workload_kind |
No |
String |
Workload type.
|
security_context |
No |
Object |
Security policy. See Table 19. |
logs |
No |
Array of objects |
Log collection. See Table 21. |
custom_metric |
No |
Object |
Custom metrics. See Table 22. |
affinity |
No |
Array of objects |
Affinity. See Table 23. |
anti_affinity |
No |
Array of objects |
Anti-affinity. See Table 23. |
liveness_probe |
No |
Object |
Component liveness probe. See Table 25. |
readiness_probe |
No |
Object |
Component service probe. See Table 25. |
startup_probe |
No |
Object |
Component startup probe. See Table 25. |
refer_resources |
No |
Array of objects |
Associated resource. See Table 26. |
external_accesses |
No |
Array of objects |
External access. See Table 34. |
tolerations |
No |
Array of Objects |
Tolerance policy. See Table 36. |
container_name |
No |
String |
Container name. |
update_strategy |
No |
Object |
Component upgrade strategy. See Table 37. |
multi_containers |
No |
Array of Objects |
Multi-container configuration. See Table 38. |
workload_content |
No |
String |
Workload content. |
configs |
No |
Array of Objects |
Unified component configuration. See Table 39. |
config_mode |
No |
String |
Workload configuration mode.
|
enable_sermant_injection |
No |
Boolean |
Whether to enable Sermant. |
enable_sermant_spring_register |
No |
Boolean |
Whether Spring Cloud Huawei microservices need to be registered with registry centers through Sermant. |
enable_sermant_dubbo_register |
No |
Boolean |
Whether Dubbo microservices need to be registered with registry centers through Sermant. |
enable_sermant_config |
No |
Boolean |
Whether to enable the Sermant dynamic configuration plug-in. |
cell_id |
No |
String |
Deployment cell ID. |
swimlane_id |
No |
String |
Lane ID. |
sermantAgentInjectActionFlag |
No |
Boolean |
Whether JDK 17 and JDK 21 automatically add the following JVM environment variables: JDK 17: --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.net.www=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.http=ALL-UNNAMED JDK 21: --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.net.www=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.http=ALL-UNNAMED -Dnet.bytebuddy.experimental=true |
sys_config |
No |
Map<String, String> |
Uses a compressed package to deploy component configuration items in the VM environment. |
image_pull_secrets |
No |
Array of String |
List of image pull secrets. |
template_source |
No |
Object |
Source of the component template package. See Table 40. |
input_values |
No |
Map<String, String> |
Template package input information. |
auto_lts_config |
No |
Object |
Automatic LTS configuration. See Table 35. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key |
Yes |
String |
Label name. |
value |
Yes |
String |
Label value. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
Data storage type.
|
name |
Yes |
String |
Name of the storage disk. |
parameters |
Yes |
Object |
For details about the parameters of each data storage type, see Table 6. |
mounts |
Yes |
Array of objects |
Mount path of data storage. See Table 7. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
path |
No |
String |
Host path. This parameter is applicable to the HostPath storage type. This parameter is mandatory when type is set to HostPath. |
name |
No |
String |
Name of a configuration item, secret, or PVC, which is applicable to ConfigMap, Secret, or PersistentVolumeClaim storage, respectively. This parameter is mandatory when type is set to ConfigMap, Secret, or PersistentVolumeClaim. |
default_mode |
No |
Integer |
Mounting permission. The value is in decimal format. Example: 384. This parameter is applicable to ConfigMap and secret storage. |
medium |
No |
String |
This parameter is applicable to EmptyDir storage. If it is not specified, the default disk medium is used. If it is set to memory, memory storage is enabled. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
path |
Yes |
String |
Mount path. |
sub_path |
Yes |
String |
Subpath of the mount path. |
read_only |
Yes |
Boolean |
Read-only or not. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
Deployment type.
|
rolling_release |
No |
Object |
Rolling deployment parameter, which is mandatory when type is set to RollingRelease. For details, see Table 9. |
gray_release |
No |
Object |
Dark launch upgrade parameter, which is mandatory when type is set to GrayRelease. For details, see Table 10. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
batches |
Yes |
Integer |
Deployment batches. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
Dark launch policy.
|
first_batch_weight |
Yes |
Integer |
Proportion of first-batch dark launch traffic. This parameter is mandatory when type is set to WEIGHT. |
first_batch_replica |
Yes |
Integer |
Number of first-batch dark launch instances. This parameter is mandatory when type is set to WEIGHT. |
remaining_batch |
Yes |
Integer |
Number of batches for remaining instance deployment. After the first batch is completed, the remaining instances will be deployed in specified batches. Example: If there are 5 instances remaining to be deployed in 3 batches, these 5 instances will be upgraded based on 2:2:1. This parameter is mandatory when type is set to WEIGHT. |
deployment_mode |
No |
Integer |
Deployment mode.
|
replica_surge_mode |
No |
String |
Mode of adding a dark launch instance. This parameter is mandatory when type is set to CONTENT.
|
rule_match_mode |
No |
String |
Effective mode of a dark launch rule. This parameter is mandatory when type is set to CONTENT.
|
rules |
No |
Object |
Dark launch rule. This parameter is mandatory when type is set to CONTENT. See Table 11. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
Match type. Currently, only HEADER is supported. |
key |
Yes |
String |
Parameter name. |
value |
Yes |
String |
Condition value. |
condition |
Yes |
String |
Condition type.
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
command |
No |
Array of String |
Command for controlling container running. |
args |
No |
Array of String |
Parameter for controlling container running. Example: -port=8080. If there are multiple parameters, separate them by line breaks. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
Processing method.
|
scheme |
No |
String |
HTTP request type. Value: HTTP or HTTPS. This parameter is valid only when type is set to http. |
host |
No |
String |
Custom IP address. If this parameter is left blank, the pod IP address is used. This parameter is valid only when type is set to http. |
port |
No |
Integer |
Port. This parameter is valid only when type is set to http. |
path |
No |
String |
Request path. This parameter is valid only when type is set to http. |
command |
No |
Array of String |
Command list. This parameter is valid only when type is set to command. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
server_xml |
Yes |
String |
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
ip |
Yes |
String |
IP address. |
hostnames |
Yes |
Array of String |
Host alias. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
nameservers |
No |
Array of String |
IP address list of the DNS server of the pod. |
searches |
No |
Array of String |
(Optional) List of DNS search domains used to search for host names in the pod. |
options |
No |
Array of objects |
An optional list of objects where each object may have a name property (required) and a value property (optional). This property is merged into the options generated from the specified DNS policy. Duplicate entries will be deleted. See Table 18. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Operation name. |
value |
No |
String |
Operation value. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
run_as_user |
No |
Integer |
User for running containers. Example: To run containers as user root, set the user ID to 0. |
run_as_group |
No |
Integer |
Owner group specified for running container processes. |
capabilities |
No |
Object |
Capability set. See Table 20. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
add |
No |
Array of String |
Grant the Linux permission to the running user. |
drop |
No |
Array of String |
Remove the Linux permission of the running user. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
log_path |
Yes |
String |
Container log path. |
rotate |
Yes |
String |
Interval for dumping logs. |
host_path |
Yes |
String |
Mounted host path. |
host_extend_path |
Yes |
String |
Host extension path. By extending the host path, you can distinguish mounting from different containers in the same host path.
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
path |
Yes |
String |
Collection path. Example: /metrics. |
port |
Yes |
Integer |
Collection port. Example: 9090. |
dimensions |
Yes |
String |
Monitoring dimension. Example: cpu_usage,mem_usage. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
kind |
No |
String |
Object kind.
|
condition |
No |
String |
Policy type.
|
match_expressions |
No |
Array of objects |
Scheduling policy rule. See Table 24. |
weight |
No |
String |
Weight.
|
topology_key |
No |
String |
Topology key. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key |
Yes |
String |
Key of the match tag. |
operation |
Yes |
String |
Match condition. |
value |
Yes |
String |
Value of the match tag. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
Yes |
String |
Type. Value: http, tcp, or command. |
delay |
Yes |
Integer |
Interval between the startup and detection. |
timeout |
Yes |
Integer |
Detection timeout interval. |
scheme |
No |
String |
Request type. Value: HTTP or HTTPS. This parameter is valid only when type is set to http. |
host |
No |
String |
Custom IP address. If this parameter is left blank, the pod IP address is used. This parameter is valid only when type is set to http. |
port |
No |
Integer |
Port number. This parameter is valid only when type is set to http or tcp. |
path |
No |
String |
Request path. This parameter is valid only when type is set to http. |
command |
No |
Array of String |
Command list. This parameter is valid only when type is set to command. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
id |
Yes |
String |
Resource ID. |
type |
Yes |
String |
Resource type.
|
parameters |
No |
Object |
Resource parameter, which is mandatory when type is cce. See Table 27. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
namespace |
No |
String |
Namespace. |
name |
No |
String |
Resource name. |
capacity |
No |
Integer |
Storage capacity, in GB. |
type |
No |
String |
Volume declaration type.
|
class |
No |
String |
Volume declaration subtype.
|
obs_volume_type |
No |
String |
OBS volume type. Default value: STANDARD. |
access_mode |
No |
String |
Storage volume access mode.
|
availableZone |
No |
String |
AZ. |
volume_type |
No |
String |
Volume type. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Variable name. |
value |
No |
String |
Variable value. |
value_from |
No |
Object |
Variable reference. See Table 29. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
reference_type |
Yes |
String |
Reference type.
|
name |
Yes |
String |
Name of the configuration item or secret. |
key |
No |
String |
Key of the configuration item or secret. |
optional |
No |
Boolean |
Whether the key of the configuration item or secret is mandatory. Value: true and false. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Technology stack name. |
type |
Yes |
String |
Technology stack type. Value: Java, Tomcat, Nodejs, Php, Docker, or Python. When deploy_mode is set to virtualmachine, only Java, Tomcat, and Node.js are supported. When deploy_mode is set to container, all of the preceding types are supported. |
version |
Yes |
String |
Technology stack version. |
deploy_mode |
Yes |
String |
Deployment mode.
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
kind |
Yes |
String |
Component source kind.
|
version |
No |
String |
Version number. |
url |
No |
String |
Package address. This parameter is mandatory when kind is set to package or image. |
storage |
No |
String |
Storage mode.
This parameter is mandatory when kind is set to package or image. |
auth |
No |
String |
Authentication mode. Value: iam or none. Default value: iam. |
repo_auth |
No |
String |
Authorization name, which can be obtained from the authorization list. |
repo_namespace |
No |
String |
Namespace of the code repository. |
repo_ref |
No |
String |
Code branch or tag. Default value: master. |
repo_type |
No |
String |
Code repository type. Value: GitHub, BitBucket, or GitLab. |
web_url |
No |
String |
Code redirection URL. Example: https://github.com/example/demo.git. |
repo_url |
No |
String |
Code repository URL. Example: https://github.com/example/demo.git. |
commit_id |
No |
String |
In the code repository, commit ID is the unique identifier of each commit and is used to identify and reference a commit. The value contains 8 to 40 characters and starts with a lowercase letter or digit. |
http_username |
No |
String |
Username. This parameter is mandatory when storage is set to http. Username and password authentication is supported. |
http_password |
No |
String |
Password. This parameter is mandatory when storage is set to http. Username and password authentication is supported. |
http_command |
No |
String |
Address of the custom software package. This parameter is mandatory when storage is set to http. |
http_headers |
No |
Map<String, String> |
This parameter is mandatory when storage is set to http. You can customize request headers as key-value pairs, for example, {"key":"xx","value":"xx""}. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
parameters |
No |
Map<String, Object> |
This parameter is provided only when no ID is available during build creation. See Table 33. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
build_cmd |
No |
String |
Compilation command. By default:
|
dockerfile_path |
No |
String |
Address of the Docker file. By default, the Docker file is in the root directory (./). |
artifact_namespace |
No |
String |
Build archive organization. Default value: cas_{project_id}. |
cluster_id |
Yes |
String |
ID of the cluster to be built. |
node_label_selector |
No |
Map<String, String> |
key: label key. value: label value. |
environment_id |
No |
String |
Environment ID. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key |
No |
String |
Taint key. |
operator |
No |
String |
Operator.
|
value |
No |
String |
Taint value. This parameter is mandatory when operator is set to Equal. |
effect |
No |
String |
Taint policy.
|
toleration_seconds |
No |
Integer |
Tolerance time window. This parameter can be set only when effect is set to NoExecute. Within the tolerance time window, pods still run on the node with taints. After the time expires, the pods will be evicted. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
type |
No |
String |
Component upgrade policy. Options:
|
max_unavailable |
No |
|
Maximum number of unavailable pods. That is, the number or percentage of pods that can be deleted based on the value of replica. The default value is 25% This parameter can be set when workload_kind is set to deployment.
|
max_surge |
No |
|
Maximum surge. That is, the number or percentage of pods allowed based on the value of replica. The default value is 25%. This parameter can be set only when workload_kind is set to deployment.
|
termination_period_seconds |
No |
Integer |
Scale-in time window. That is, the time window for executing commands before a workload stops. The default value is 30s. |
min_ready_seconds |
No |
Integer |
Minimum ready time of a pod. That is, the minimum ready time of a new pod without any container crash. A pod is considered available only after the minimum ready time is exceeded. The default value is 0. |
progress_deadline_seconds |
No |
Integer |
Maximum upgrade duration. That is, the time (in seconds) the system waits for before reporting a component upgrade failure. If this parameter is specified, the value of this parameter must be greater than that of min_ready_seconds. |
revision_history_limit |
No |
Integer |
Maximum number of pods to retain. That is, the number of old pods to retain to allow rollback. The default value is 10. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
container_name |
Yes |
String |
Container name. |
source |
Yes |
Object |
Source of the code or software package. See Table 31. In multi-container mode, only images are supported. |
limit_cpu |
No |
Number |
Maximum CPU limit. Unit: core. |
limit_memory |
No |
Number |
Maximum memory size. Unit: GiB. |
request_cpu |
No |
Number |
Requested CPU resources. Unit: core. |
request_memory |
No |
Number |
Requested memory. Unit: GiB. |
envs |
No |
Array of objects |
Environment variable list. See Table 28. |
liveness_probe |
No |
Object |
Container liveness probe. See Table 25. |
readiness_probe |
No |
Object |
Container service probe. See Table 25. |
startup_probe |
No |
Object |
Container startup probe. See Table 25. |
command |
No |
Object |
Startup command. See Table 12. |
post_start |
No |
Object |
Post-start processing. See Table 13. |
pre_stop |
No |
Object |
Pre-stop processing. See Table 13. |
logs |
No |
Array of objects |
Log collection. See Table 21. |
storages |
No |
Array of objects |
Storage. See Table 5. |
security_context |
No |
Object |
Security policy. See Table 19. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
conifg_id |
Yes |
String |
Unified configuration ID. |
mount_path |
Yes |
String |
Mount path. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
storage |
Yes |
String |
Storage mode of the component template package.
|
url |
Yes |
String |
Address of the component template package. This parameter is valid only when the component template package storage mode is http. |
http_username |
No |
String |
Username. This parameter is valid only when the component template package storage mode is http and the security authentication mode is username and password authentication. |
http_password |
No |
String |
Password. This parameter is valid only when the component template package storage mode is http and the security authentication mode is username and password authentication. |
http_headers |
No |
Array of objects |
Request header. See Table 41. This parameter is valid only when the component template package storage mode is http and the security authentication mode is custom header authentication. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key |
Yes |
String |
Request key. |
value |
Yes |
String |
Request value. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key_id |
Yes |
String |
User key ID in DEW. |
Response
Parameter |
Type |
Description |
---|---|---|
job_id |
String |
Job ID. |
Example Request
Modify the component named mycomponet. The component source is the weather-1.0.0.jar package stored in OBS bucket0001.
{ "name": "mycomponet", "description": "", "labels": [ { "key": "com-key", "value": "com-value" } ], "version": "2023.0323.15181", "runtime_stack": { "name": "OpenJDK8", "version": "1.1.1", "type": "Java", "deploy_mode": "virtualmachine" }, "source": { "kind": "package", "url": "obs://bucket0001/weather-1.0.0.jar", "version": "", "storage": "obs" }, "tomcat_opts": { "server_xml": "" }, "refer_resources": [ { "id": "67835bb3-1235-4cc9-be71-becbb2b4ca0d", "type": "ecs" } ], "replica": 1, "external_accesses": [] }
Example Response
{ "job_id": "JOB1c8e20ec-1b30-4ee4-9a36-35a18b5e8b7e" }
Status Code
Status Code |
Description |
---|---|
200 |
OK |
400 |
Bad Request |
404 |
Not Found |
500 |
Internal Server Error |
Error Code
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot