Querying Execution Plans (Custom Templates) Based on Job ID
Function
This API is used to query execution plans based on the job ID. The execution plan list will be returned.
Calling Method
For details, see Calling APIs.
URI
POST /v1/{project_id}/cms/template-list/{job_id}
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID obtained from IAM. Generally, a project ID contains 32 characters. |
job_id |
Yes |
String |
Job ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token obtained from IAM. |
Content-Type |
Yes |
String |
Content type, which is application/json. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
No |
String |
Solution name. |
page_num |
No |
Integer |
Page number, which is a positive integer. |
page_size |
No |
Integer |
Number of records displayed per page. |
order_by_column |
Yes |
String |
Field to be sorted. Options: name, create_time, and update_time (default). |
sort_order |
No |
String |
Sorting order (default: DESC). Options: ASC (ascending order) and DESC (descending order). |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
total_elements |
Long |
Total number. |
elements |
Array of Template objects |
Job information set. |
Parameter |
Type |
Description |
---|---|---|
approve_info |
ApproveInfo object |
Review information. |
create_by |
String |
User who created the template. This parameter is obtained from the token transferred during API calling. |
create_time |
Long |
Time (UTC, in millisecond) when the template was created. |
enterprise_project_id |
String |
Enterprise project ID. |
id |
String |
Template ID, which is unique and generated based on project_id and template_name. |
is_collect |
Boolean |
Whether a template is added to favorites. This parameter cannot be modified when you update the template. To change the template favorites status, call the corresponding API. |
is_publish |
Boolean |
Whether to release as a service. |
job_id |
String |
Job ID. |
job_version |
Integer |
Job version. |
name |
String |
Template name. |
need_synchronize |
Boolean |
Whether synchronization is required. |
nodes |
Array of Node objects |
List of parameters required for executing a task. |
parameters |
Array of Parameter objects |
List of parameters required for executing a task. |
project_id |
String |
Project ID. |
quote |
Array of strings |
Referenced parameter. |
rate_control |
RateControl object |
Execution policy. |
share_type |
String |
Template type. Options: public (default templates) and private (custom templates). |
steps |
Array of Step objects |
Job step. |
update_by |
String |
User who updated the template. This parameter is obtained from the token transferred during API calling. |
update_time |
Long |
Template update time (UTC, in milliseconds). |
version |
String |
Template version. |
Parameter |
Type |
Description |
---|---|---|
topic_selected |
String |
Selected topic. |
need_approve |
Boolean |
Whether a review is needed. Options: true and false (default). |
smn_urn_list |
String |
Topic URN set. |
Parameter |
Type |
Description |
---|---|---|
parent_node |
String |
Name of the parent node. |
category |
String |
Node type. |
description |
String |
Node description. |
id |
String |
Node ID. |
ignore_error |
Boolean |
Whether to ignore the error. |
metadata |
Metadata object |
Metadata. |
name |
String |
Node name, for example, Node. |
task_name |
String |
Task name. |
Parameter |
Type |
Description |
---|---|---|
type |
String |
Node type. |
configuration |
Map<String,Object> |
Configuration information. |
Parameter |
Type |
Description |
---|---|---|
param_name |
String |
Parameter name. |
param_type |
String |
Parameter type. |
param_group |
String |
Parameter group. |
default_value |
String |
Initial value of a parameter. |
id |
String |
Parameter ID. |
encryption |
Boolean |
Whether to encrypt the data. |
hint |
String |
Parameter prompt. |
quote_param |
Boolean |
Whether to select a parameter from the parameter library. |
required |
Boolean |
Whether a parameter is mandatory. |
description |
String |
Parameter description. |
Parameter |
Type |
Description |
---|---|---|
have_rate_control |
Boolean |
Whether to implement batch release. Default: false. |
time_delay |
Integer |
Interval. |
max |
Integer |
Maximum number of instances supported for batch release. |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Step ID. |
name |
String |
Step name. |
type |
String |
Step type. |
input |
Map<String,String> |
Step parameter. |
ignore_error |
Boolean |
Whether to automatically ignore errors. |
description |
String |
Step description. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Response code. |
error_msg |
String |
Error message. |
http_code |
Integer |
HTTP response code. |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Response code. |
error_msg |
String |
Error message. |
http_code |
Integer |
HTTP response code. |
Example Requests
Query the execution plan list based on the job ID and name.
POST https://{Endpoint}/v1/{project_id}/cms/template-list/{job_id} { "name" : "xxxxxx", "page_num" : 0, "page_size" : 10, "order_by_column" : "create_time", "sort_order" : "DESC" }
Example Responses
Status code: 200
OK: The execution plan list is returned.
{ "elements" : [ { "approve_info" : { "need_approve" : false }, "create_by" : "xxxxx", "create_time" : 1600073877378, "enterprise_project_id" : "0", "id" : "xxxxxx", "is_collect" : false, "is_publish" : false, "job_id" : "xxxxx", "job_version" : 1, "name" : "t1", "need_synchronize" : false, "nodes" : [ { "category" : "service", "description" : "", "id" : "xxxxx", "ignore_error" : false, "metadata" : { "configuration" : { "parameters" : { "project_id" : "{{project_id}}", "script_param" : "{xxxx}", "region_id" : "{{region_id}}", "get_instances" : "{xxxxx}" } }, "type" : "operation" }, "name" : "1", "task_name" : "CMS::ECS::runScript" }, { "category" : "service", "description" : "", "id" : "xxxxx", "ignore_error" : false, "metadata" : { "configuration" : { "parameters" : { "package" : "{xxxxxx}", "project_id" : "{{project_id}}", "region_id" : "{{region_id}}", "get_instances" : "{xxxxx}" } }, "type" : "operation" }, "name" : "xxx", "task_name" : "CMS::ECS::Package" } ], "parameters" : [ ], "project_id" : "xxxxx", "quote" : [ ], "rate_control" : { "have_rate_control" : false, "max" : 0, "time_delay" : 0 }, "share_type" : "private", "steps" : [ { "description" : "", "id" : "xxxxx", "ignore_error" : false, "input" : { "script_param" : "{xxxxx}", "get_instances" : "{xxxxx}" }, "name" : "xxxx", "type" : "script" }, { "description" : "", "id" : "xxxxx", "ignore_error" : false, "input" : { "package" : "{xxxxx}", "get_instances" : "{xxxxx}" }, "name" : "2", "type" : "package" } ], "update_by" : "xxxxx", "update_time" : 1600073877378, "version" : "v1" } ], "total_elements" : 1 }
Status code: 400
Bad Request: Invalid request. The client should not repeat the request without modifications.
{ "error_code" : "AOM.31001202", "error_msg" : " parameter invalid.", "http_code" : 400 }
Status code: 401
Unauthorized: The authentication information is incorrect or invalid.
{ "error_code" : "AOM.31009002", "error_message" : "auth failed.", "http_code" : "401" }
SDK Sample Code
The SDK sample code is as follows.
Java
Query the execution plan list based on the job ID and name.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.aom.v1.region.AomRegion; import com.huaweicloud.sdk.aom.v1.*; import com.huaweicloud.sdk.aom.v1.model.*; public class ListTemplateByJobIdSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); AomClient client = AomClient.newBuilder() .withCredential(auth) .withRegion(AomRegion.valueOf("<YOUR REGION>")) .build(); ListTemplateByJobIdRequest request = new ListTemplateByJobIdRequest(); request.withJobId("{job_id}"); ListTemplateByJobIdRequestBody body = new ListTemplateByJobIdRequestBody(); body.withSortOrder("DESC"); body.withOrderByColumn("create_time"); body.withPageSize(10); body.withPageNum(0); body.withName("xxxxxx"); request.withBody(body); try { ListTemplateByJobIdResponse response = client.listTemplateByJobId(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
Python
Query the execution plan list based on the job ID and name.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkaom.v1.region.aom_region import AomRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkaom.v1 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) client = AomClient.new_builder() \ .with_credentials(credentials) \ .with_region(AomRegion.value_of("<YOUR REGION>")) \ .build() try: request = ListTemplateByJobIdRequest() request.job_id = "{job_id}" request.body = ListTemplateByJobIdRequestBody( sort_order="DESC", order_by_column="create_time", page_size=10, page_num=0, name="xxxxxx" ) response = client.list_template_by_job_id(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
Go
Query the execution plan list based on the job ID and name.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" aom "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/aom/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/aom/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/aom/v1/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") projectId := "{project_id}" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := aom.NewAomClient( aom.AomClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.ListTemplateByJobIdRequest{} request.JobId = "{job_id}" sortOrderListTemplateByJobIdRequestBody:= "DESC" pageSizeListTemplateByJobIdRequestBody:= int32(10) pageNumListTemplateByJobIdRequestBody:= int32(0) nameListTemplateByJobIdRequestBody:= "xxxxxx" request.Body = &model.ListTemplateByJobIdRequestBody{ SortOrder: &sortOrderListTemplateByJobIdRequestBody, OrderByColumn: "create_time", PageSize: &pageSizeListTemplateByJobIdRequestBody, PageNum: &pageNumListTemplateByJobIdRequestBody, Name: &nameListTemplateByJobIdRequestBody, } response, err := client.ListTemplateByJobId(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
More
For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.
Status Codes
Status Code |
Description |
---|---|
200 |
OK: The execution plan list is returned. |
400 |
Bad Request: Invalid request. The client should not repeat the request without modifications. |
401 |
Unauthorized: The authentication information is incorrect or invalid. |
Error Codes
See Error Codes.
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