diff --git a/openapi/SMN_api .yaml b/openapi/SMN_api .yaml new file mode 100644 index 0000000..3db6eff --- /dev/null +++ b/openapi/SMN_api .yaml @@ -0,0 +1,5246 @@ +swagger: "2.0" +info: + description: "External Open API" + version: "v2" + title: "SMN" +schemes: +- "https" +consumes: +- "application/json;charset=UTF-8" +produces: +- "application/json;charset=UTF-8" +host: "smn.cn-north-7.myhuaweicloud.com" +basePath: "/" +tags: +- name: "Topics" + description: "" +- name: "Subscriptions" + description: "" +- name: "Templates" + description: "" +- name: "Message Publishing" + description: "" +- name: "Tags" + description: "" +- name: "Applications" + description: "" +- name: "Application Endpoints" + description: "" +- name: "Sending an Application Message" + description: "" +- name: "Version Querying" + description: "" +- name: "Cloud Logs" + description: "" +- name: "Message Filter Policies of Subscribers" +- name: "Notification Policies" +paths: + /: + get: + tags: + - "Version Querying" + operationId: "ListVersions" + summary: "Querying All SMN API Versions" + description: "This API is used to list all SMN API versions." + deprecated: false + x-name: "Querying all SMN API versions" + x-request-examples-description-1: "" + x-request-examples-url-1: "GET https://{SMN_Endpoint}/" + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/ListVersionsResponseBody" + examples: + application/json: + versions: + id: "v2" + links: + - href: "https://127.0.0.1/v2" + rel: "self" + min_version: "" + status: "CURRENT" + updated: "2018-09-19T00:00:00Z" + version: "" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2: + get: + tags: + - "Version Querying" + operationId: "ListVersion" + summary: "Querying the SMN API v2 Version" + description: "This API is used to query the version of SMN API v2." + deprecated: false + x-name: "Querying the SMN API v2 version" + x-request-examples-description-1: "" + x-request-examples-url-1: "GET https://{SMN_Endpoint}/v2" + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/ListV2VersionResponseBody" + examples: + application/json: + version: + id: "v2" + links: + - href: "https://127.0.0.1/v2" + rel: "self" + min_version: "" + status: "CURRENT" + updated: "2018-09-19T00:00:00Z" + version: "" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/notifications/topics: + get: + tags: + - "Topics" + operationId: "ListTopics" + summary: "Querying Topics" + description: >- + This API is used to query topics by page. The topics are sorted by creation time in descending order. You can specify offset and limit. If no topic has been created, an empty list is returned. + deprecated: false + x-name: "Querying topics" + x-request-examples-description-1: "Querying topics" + x-request-examples-url-1: >- + GET https://{SMN_Endpoint}/v2/{project_id}/notifications/topics?offset=0&limit=100 + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "offset" + in: "query" + description: |- + Specifies the offset. + + If the offset is an integer greater than 0 but less than the number of resources, all resources in excess of this offset will be queried. The default offset is 0. + type: "integer" + required: false + default: 0 + - name: "limit" + in: "query" + description: |- + Specifies the maximum number of records in each query. + + The number ranges from 1 to 100 and is generally 10, 20, or 50. Specifies the number of resources returned on each page. The default number is 100. + type: "integer" + required: false + default: 100 + - name: "enterprise_project_id" + in: "query" + description: "Specifies the enterprise project ID." + type: "string" + required: false + - name: "name" + in: "query" + description: "Specifies the name of the topic to be searched for, which must be fully matched." + type: "string" + required: false + - name: "fuzzy_name" + in: "query" + description: "Specifies the name of the topic to be searched. Fuzzy matching is used." + type: "string" + required: false + pattern: "^[-_a-zA-Z0-9]{0,255}$" + allowEmptyValue: true + - name: "topic_id" + in: "query" + description: "Specifies the topic ID for exact search." + type: "string" + required: false + - $ref: "#/parameters/X-Auth-Token" + - name: "fuzzy_display_name" + in: "query" + required: false + description: "Specifies the display name of the topic to be searched. Fuzzy matching is used. The display name cannot exceed 192 bytes." + type: "string" + allowEmptyValue: true + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/ListTopicsResponseBody" + examples: + application/json: + request_id: "6a63a18b8bab40ffb71ebd9cb80d0085" + topic_count: 1 + topics: + - topic_urn: >- + urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:test_topic_v2 + display_name: "testtest" + name: "test_topic_v1" + push_policy: 0 + enterprise_project_id: "0" + topic_id: "84698185946d44d08431aa441d8e2cf2" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + post: + tags: + - "Topics" + operationId: "CreateTopic" + summary: "Creating a Topic" + description: |- + This API is used to create a topic. Each user can create up to 3,000 topics. In high-concurrent scenarios, a user may create a few topics more than 3,000. + The API is idempotent. It returns a successful result after creating a topic. If a topic of the same name already exists, the status code is 200. Otherwise, the status code is 201. + deprecated: false + x-name: "Creating a topic" + x-request-examples-description-1: "Creating a topic with the name of **test_topic_v2** and display name of **testtest**" + x-request-examples-url-1: "POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics" + x-request-examples-1: + name: "test_topic_v2" + display_name: "testtest" + x-request-examples-text-1: |- + { + "name": "test_topic_v2", + "display_name": "testtest" + } + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "CreateTopicRequestBody" + description: "This is a auto create Body Object" + required: true + schema: + $ref: "#/definitions/CreateTopicRequestBody" + responses: + "201": + description: "OK" + examples: + application/json: + request_id: "6a63a18b8bab40ffb71ebd9cb80d0085" + topic_urn: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" + schema: + $ref: "#/definitions/CreateTopicResponseBody" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/notifications/topics/{topic_urn}: + get: + tags: + - "Topics" + operationId: "ListTopicDetails" + summary: "Querying Details About a Topic" + description: "This API is used to query details about a topic." + deprecated: false + x-name: "Querying details about a topic" + x-request-examples-description-1: "Querying details about a topic" + x-request-examples-url-1: >- + GET https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:test_create_topic_v2 + x-request-examples-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "topic_urn" + in: "path" + description: >- + Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see [Querying Topics](smn_api_51004.xml). + required: true + type: "string" + x-example: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + examples: + application/json: + update_time: "2016-08-01T02:16:38Z" + push_policy: 0 + create_time: "2016-08-01T02:16:38Z" + name: "test_create_topic_v2" + topic_urn: >- + urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:test_create_topic_v2 + display_name: "test create topic v2" + request_id: "6837531fd3f54550927b930180a706bf" + enterprise_project_id: "0" + topic_id: "84698185946d44d08431aa441d8e2cf2" + schema: + $ref: "#/definitions/ListTopicDetailsResponseBody" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + put: + tags: + - "Topics" + operationId: "UpdateTopic" + summary: "Updating a Topic" + description: "This API is used to update the topic display name." + deprecated: false + x-name: "Updating a topic" + x-request-examples-description-1: "Modifying the display name of the topic named **test_topic_v2** to **testtest222**" + x-request-examples-url-1: >- + PUT https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2 + x-request-examples-1: + display_name: "testtest222" + x-request-examples-text-1: |- + { + "display_name": "testtest222" + } + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "topic_urn" + in: "path" + description: >- + Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see [Querying Topics](smn_api_51004.xml). + required: true + type: "string" + x-example: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "UpdateTopicRequestBody" + description: "This is a auto create Body Object" + required: true + schema: + $ref: "#/definitions/UpdateTopicRequestBody" + responses: + "200": + description: "OK" + examples: + application/json: + request_id: "6a63a18b8bab40ffb71ebd9cb80d0085" + schema: + $ref: "#/definitions/UpdateTopicResponseBody" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + delete: + tags: + - "Topics" + operationId: "DeleteTopic" + summary: "Deleting a Topic" + description: "This API is used to delete a topic." + deprecated: false + x-name: "Deleting a topic" + x-request-examples-description-1: "Deleting a topic" + x-request-examples-url-1: >- + DELETE https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2 + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "topic_urn" + in: "path" + description: >- + Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see [Querying Topics](smn_api_51004.xml). + required: true + type: "string" + x-example: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + examples: + application/json: + request_id: "6a63a18b8bab40ffb71ebd9cb80d0085" + schema: + $ref: "#/definitions/DeleteTopicResponseBody" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/notifications/topics/{topic_urn}/attributes: + get: + tags: + - "Topics" + operationId: "ListTopicAttributes" + summary: "Querying a Topic Policy" + description: "This API is used to query a topic policy." + deprecated: false + x-name: "Querying a topic policy" + x-request-examples-description-1: "Querying a topic policy" + x-request-examples-url-1: >- + GET https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:test_create_topic_v2/attributes?name=access_policy + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "topic_urn" + in: "path" + description: >- + Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see [Querying Topics](smn_api_51004.xml). + required: true + type: "string" + x-example: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" + - name: "name" + in: "query" + description: >- + Specifies the topic policy name.Only specified policy names are supported. For details, see [Topic Attribute List](smn_api_a1000.xml). + required: false + type: "string" + x-example: "access_policy" + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + examples: + application/json: + request_id: "6837531fd3f54550927b930180a706bf" + attributes: + access_policy: "{\"Version\":\"2016-09-07\",\"Id\":\"__default_policy_ID\",\"Statement\":[{\"Sid\":\"__user_pub_0\",\"Effect\":\"Allow\",\"Principal\":[{\"CSP\":[\"urn:csp:iam::93dc1b4697ac493d9b7d089569f86b32:root\"]}],\"Action\":[\"SMN:Publish\",\"SMN:QueryTopicDetail\"],\"Resource\":\"urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:aaa\"},{\"Sid\":\"__org_path_pub_0\",\"Effect\":\"Allow\",\"Principal\":{\"OrgPath\":[\"o-bf966fe82ebb4d35d68b791729228788/r-001ebf32880a13eabfc8e1c37eee3ae9/ou-0dbfffe92fd92ddb35feff9b4079459c\"]},\"Action\":[\"SMN:Publish\",\"SMN:QueryTopicDetail\"],\"Resource\":\"urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:aaa\"},{\"Sid\":\"__service_pub_0\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"obs\"]},\"Action\":[\"SMN:Publish\",\"SMN:QueryTopicDetail\"],\"Resource\":\"urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:aaa\"}]}" + schema: + $ref: "#/definitions/ListTopicAttributesResponseBody" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + delete: + tags: + - "Topics" + operationId: "DeleteTopicAttributes" + summary: "Deleting All Topic Policies" + description: "This API is used to delete all topic policies." + deprecated: false + x-name: "Deleting all topic policies" + x-request-examples-description-1: "Deleting all topic policies" + x-request-examples-url-1: >- + DELETE https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/{topic_urn}/attributes + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "topic_urn" + in: "path" + description: >- + Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see [Querying Topics](smn_api_51004.xml). + required: true + type: "string" + x-example: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + examples: + application/json: + request_id: "6837531fd3f54550927b930180a706bf" + schema: + $ref: "#/definitions/DeleteTopicAttributesResponseBody" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/notifications/topics/{topic_urn}/attributes/{name}: + put: + tags: + - "Topics" + operationId: "UpdateTopicAttribute" + summary: "Updating a Topic Policy" + description: "This API is used to update a topic policy." + deprecated: false + x-name: "Updating a topic policy" + x-request-examples-description-1: "Updating a topic policy" + x-request-examples-url-1: >- + PUT https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/{topic_urn}/attributes/access_policy + x-request-examples-1: + value: "{\"Version\":\"2016-09-07\",\"Id\":\"__default_policy_ID\",\"Statement\":[{\"Sid\":\"__user_pub_0\",\"Effect\":\"Allow\",\"Principal\":{\"CSP\":[\"urn:csp:iam::{domainID}:root\"]},\"Action\":[\"SMN:Publish\",\"SMN:QueryTopicDetail\"],\"Resource\":\"{topic_urn}\"},{\"Sid\":\"__org_path_pub_0\",\"Effect\":\"Allow\",\"Principal\":{\"OrgPath\":[\"o-bf966fe82ebb4d35d68b791729228788/r-001ebf32880a13eabfc8e1c37eee3ae9/ou-0dbfffe92fd92ddb35feff9b4079459c\"]},\"Action\":[\"SMN:Publish\",\"SMN:QueryTopicDetail\"],\"Resource\":\"{topic_urn}\"},{\"Sid\":\"__service_pub_0\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"obs\"]},\"Action\":[\"SMN:Publish\",\"SMN:QueryTopicDetail\"],\"Resource\":\"{topic_urn}\"}]}" + x-request-examples-text-1: + value: "{\"Version\":\"2016-09-07\",\"Id\":\"__default_policy_ID\",\"Statement\":[{\"Sid\":\"__user_pub_0\",\"Effect\":\"Allow\",\"Principal\":{\"CSP\":[\"urn:csp:iam::{domainID}:root\"]},\"Action\":[\"SMN:Publish\",\"SMN:QueryTopicDetail\"],\"Resource\":\"{topic_urn}\"},{\"Sid\":\"__org_path_pub_0\",\"Effect\":\"Allow\",\"Principal\":{\"OrgPath\":[\"o-bf966fe82ebb4d35d68b791729228788/r-001ebf32880a13eabfc8e1c37eee3ae9/ou-0dbfffe92fd92ddb35feff9b4079459c\"]},\"Action\":[\"SMN:Publish\",\"SMN:QueryTopicDetail\"],\"Resource\":\"{topic_urn}\"},{\"Sid\":\"__service_pub_0\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"obs\"]},\"Action\":[\"SMN:Publish\",\"SMN:QueryTopicDetail\"],\"Resource\":\"{topic_urn}\"}]}" + x-request-examples-description-2: "Updating a topic policy" + x-request-examples-url-2: >- + PUT https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/{topic_urn}/attributes/introduction + x-request-examples-2: + value: "" + x-request-examples-text-2: + value: "" + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "topic_urn" + in: "path" + description: >- + Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see [Querying Topics](smn_api_51004.xml). + required: true + type: "string" + x-example: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" + - name: "name" + in: "path" + description: >- + Specifies the topic policy name.Only specified policy names are supported. For details, see [Topic Attribute List](smn_api_a1000.xml). + required: true + type: "string" + x-example: "access_policy" + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "UpdateTopicAttributeRequestBody" + description: "This is a auto create Body Object" + required: true + schema: + $ref: "#/definitions/UpdateTopicAttributeRequestBody" + responses: + "200": + description: "OK" + examples: + application/json: + request_id: "6837531fd3f54550927b930180a706bf" + schema: + $ref: "#/definitions/UpdateTopicAttributeResponseBody" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + delete: + tags: + - "Topics" + operationId: "DeleteTopicAttributeByName" + summary: "Deleting a Specified Topic Policy" + description: "This API is used to delete a specified topic policy." + deprecated: false + x-name: "Deleting a specified topic policy" + x-request-examples-description-1: "Deleting a specified topic policy" + x-request-examples-url-1: >- + DELETE https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/{topic_urn}/attributes/access_policy + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "topic_urn" + in: "path" + description: >- + Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see [Querying Topics](smn_api_51004.xml). + required: true + type: "string" + x-example: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" + - name: "name" + in: "path" + description: >- + Specifies the topic policy name.Only specified policy names are supported. For details, see [Topic Attribute List](smn_api_a1000.xml). + required: true + type: "string" + x-example: "introduction" + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + examples: + application/json: + request_id: "6837531fd3f54550927b930180a706bf" + schema: + $ref: "#/definitions/DeleteTopicAttributeByNameResponseBody" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/notifications/subscriptions: + get: + tags: + - "Subscriptions" + operationId: "ListSubscriptions" + summary: "Querying Subscriptions" + description: "This API is used to query the list of all subscriptions by page. The list is sorted by subscription adding time in ascending order. You can specify offset and limit. If no subscription has been added to the topic, an empty list is returned." + deprecated: false + x-name: "Querying subscriptions" + x-request-examples-description-1: "Querying subscriptions" + x-request-examples-url-1: >- + GET https://{SMN_Endpoint}/v2/{project_id}/notifications/subscriptions?offset=0&limit=2 + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "offset" + in: "query" + description: |- + Specifies the offset. + + If the offset is an integer greater than 0 but less than the number of resources, all resources in excess of this offset will be queried. The default offset is 0. + type: "integer" + required: false + default: 0 + - name: "limit" + in: "query" + description: |- + Specifies the maximum number of records in each query. + + The number ranges from 1 to 100 and is generally 10, 20, or 50. Specifies the number of resources returned on each page. The default number is 100. + type: "integer" + required: false + default: 100 + - name: "protocol" + in: "query" + description: "Specifies the protocol name. The enumerated values are http, https, sms, email, functionstage." + type: "string" + required: false + - name: "status" + in: "query" + description: |- + Specifies the subscription status. + 0: The subscription has not been confirmed. + 1: The subscription has been confirmed. + 2: Confirmation is not required. + 3: The subscription was canceled. + 4: The subscription was deleted. + type: "integer" + required: false + - name: "endpoint" + in: "query" + description: "Specifies the subscription endpoint." + type: "string" + required: false + - $ref: "#/parameters/X-Auth-Token" + - name: "fuzzy_remark" + in: "query" + required: false + description: "Specifies the subscription remark for fuzzy match. The value can contain up to 128 bytes." + type: "string" + allowEmptyValue: true + pattern: "^[^+]$" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/ListSubscriptionsResponseBody" + examples: + application/json: + request_id: "6a63a18b8bab40ffb71ebd9cb80d0085" + subscription_count: 2 + subscriptions: + - topic_urn: >- + urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1 + protocol: "sms" + subscription_urn: >- + urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837 + owner: "762bdb3251034f268af0e395c53ea09b" + endpoint: "xxxxxxxxxxx" + remark: "" + status: 0 + filter_polices: + - name: "alarm" + string_equals: + - "os" + - "process" + - name: "service" + string_equals: + - "api" + - "db" + - topic_urn: >- + urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1 + protocol: "email" + subscription_urn: >- + urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:a2d52a9f5c3b47f48c3fafb177a58796 + owner: "762bdb3251034f268af0e395c53ea09b" + endpoint: "xx@example.com" + remark: "" + status: 0 + filter_polices: + - name: "alarm" + string_equals: + - "os" + - "process" + - name: "service" + string_equals: + - "api" + - "db" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/notifications/topics/{topic_urn}/subscriptions: + get: + tags: + - "Subscriptions" + operationId: "ListSubscriptionsByTopic" + summary: "Querying Subscriptions of a Specified Topic" + description: >- + This API is used to query subscriptions to a specified topic by page. The list is sorted by subscription adding time in ascending order. You can specify offset and limit. If no subscription has been added to the topic, an empty list is returned. + deprecated: false + x-name: "Querying subscriptions of a specified topic" + x-request-examples-description-1: "Querying subscriptions of the topic named **test_topic_v2**" + x-request-examples-url-1: >- + GET https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1/subscriptions?offset=0&limit=100 + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "topic_urn" + in: "path" + description: >- + Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see [Querying Topics](smn_api_51004.xml). + required: true + type: "string" + x-example: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" + - name: "offset" + in: "query" + description: |- + Specifies the offset. + + If the offset is an integer greater than 0 but less than the number of resources, all resources in excess of this offset will be queried. The default offset is 0. + type: "integer" + required: false + default: 0 + - name: "limit" + in: "query" + description: |- + Specifies the maximum number of records in each query. + + The number ranges from 1 to 100 and is generally 10, 20, or 50. Specifies the number of resources returned on each page. The default number is 100. + type: "integer" + required: false + default: 100 + - $ref: "#/parameters/X-Auth-Token" + - name: "fuzzy_remark" + in: "query" + required: false + description: "Specifies the subscription remark for fuzzy match. The value can contain up to 128 bytes." + type: "string" + pattern: "^[^+]$" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/ListSubscriptionsResponseBody" + examples: + application/json: + request_id: "6a63a18b8bab40ffb71ebd9cb80d0085" + subscription_count: 2 + subscriptions: + - topic_urn: >- + urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1 + protocol: "sms" + subscription_urn: >- + urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837 + owner: "762bdb3251034f268af0e395c53ea09b" + endpoint: "xxxxxxxxxxx" + remark: "" + status: 0 + filter_polices: + - name: "alarm" + string_equals: + - "os" + - "process" + - name: "service" + string_equals: + - "api" + - "db" + - topic_urn: >- + urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1 + protocol: "email" + subscription_urn: >- + urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:a2d52a9f5c3b47f48c3fafb177a58796 + owner: "762bdb3251034f268af0e395c53ea09b" + endpoint: "xx@example.com" + remark: "" + status: 0 + filter_polices: + - name: "alarm" + string_equals: + - "os" + - "process" + - name: "service" + string_equals: + - "api" + - "db" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + post: + tags: + - "Subscriptions" + operationId: "AddSubscription" + summary: "Adding a Subscription" + description: >- + This API is used to add a subscription to a specified topic. If the status of the subscription is unconfirmed, a confirmation message is sent to the subscriber. After confirming the subscription, the subscriber can receive notification messages published to the topic. By default, 10,000 subscriptions can be added to a topic. However, in rare high-concurrency scenarios, extra subscriptions may be added successfully. The API is idempotent. If the added subscription already exists, a successful result and status code 200 are returned. Otherwise, the status code is 201. + deprecated: false + x-name: "Adding a Subscription" + x-request-examples-description-1: "Adding a subscription to the topic named **test_topic_v1**" + x-request-examples-url-1: >- + POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1/subscriptions + x-request-examples-1: + protocol: "email" + endpoint: "xxx@example.com" + remark: "O&M" + x-request-examples-text-1: + protocol: "email" + endpoint: "xxx@example.com" + remark: "O&M" + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "topic_urn" + in: "path" + description: >- + Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see [Querying Topics](smn_api_51004.xml). + required: true + type: "string" + x-example: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "AddSubscriptionRequestBody" + schema: + $ref: "#/definitions/AddSubscriptionRequestBody" + responses: + "201": + description: "OK" + schema: + $ref: "#/definitions/AddSubscriptionResponseBody" + examples: + application/json: + - request_id: "6a63a18b8bab40ffb71ebd9cb80d0085" + subscription_urn: >- + urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837 + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/OpenAPIFailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/notifications/subscriptions/{subscription_urn}: + delete: + tags: + - "Subscriptions" + operationId: "CancelSubscription" + summary: "Deleting a Subscription" + description: "This API is used to delete a specified subscription." + deprecated: false + x-name: "Deleting a subscription" + x-request-examples-description-1: "Deleting a subscription with the URN **urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837**" + x-request-examples-url-1: >- + DELETE https://{SMN_Endpoint}/v2/{project_id}/notifications/subscriptions/urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837 + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "subscription_urn" + in: "path" + description: >- + Specifies the resource identifier of the subscriber, which is unique. To obtain the resource identifier, see [Query Subscriptions](ListSubscriptions.xml). + required: true + type: "string" + x-example: >- + urn:smn:br-iaas-odin1:0605767e0a00d5762fe7c00d0e33345c:chen_test:09be84d54d9f4ee3a0ef7d7562f1db2d + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/CancelSubscriptionResponseBody" + examples: + application/json: + request_id: "6a63a18b8bab40ffb71ebd9cb80d0085" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/notifications/topics/{topic_urn}/subscriptions/{subscription_urn}: + put: + tags: + - "Subscriptions" + operationId: "UpdateSubscription" + summary: "Updating a Subscriber" + description: "This API is used to update the subscriber remarks." + deprecated: false + x-name: "Updating a subscriber" + x-request-examples-description-1: "Updating a subscriber" + x-request-examples-url-1: >- + PUT https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1/subscriptions/urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837 + x-request-examples-1: + remark: "test remark" + x-request-examples-text-1: + remark: "test remark" + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "topic_urn" + in: "path" + description: >- + Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see [Querying Topics](smn_api_51004.xml). + required: true + type: "string" + x-example: "urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1" + - name: "subscription_urn" + in: "path" + description: >- + Specifies the resource identifier of the subscriber, which is unique. To obtain the resource identifier, see [Query Subscriptions](ListSubscriptions.xml). + required: true + type: "string" + x-example: >- + urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837 + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "UpdateSubscriptionRequestBody" + description: "This is a auto create Body Object" + required: true + schema: + $ref: "#/definitions/UpdateSubscriptionRequestBody" + responses: + "200": + description: "OK" + examples: + application/json: + request_id: "fdbabe38ead6482b8574f82a3d1168e9" + subscription_urn: >- + urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837 + schema: + $ref: "#/definitions/UpdateSubscriptionResponseBody" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/notifications/message_template: + get: + tags: + - "Templates" + operationId: "ListMessageTemplates" + summary: "Querying Message Templates" + description: >- + This API is used to query the template list by page. The list is sorted by template creation time in ascending order. You can specify offset and limit. If no template has been created, an empty list is returned. The parameters message_template_name and protocol are added. + deprecated: false + x-name: "Querying message templates" + x-request-examples-description-1: "Querying message templates" + x-request-examples-url-1: >- + GET https://{SMN_Endpoint}/v2/{project_id}/notifications/message_template?offset=0&limit=2&message_template_name=test1&protocol=email + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "offset" + in: "query" + description: "Specifies the offset. If the offset is an integer greater than 0 but less than the number of resources, all resources in excess of this offset will be queried. The default offset is 0." + type: "integer" + required: false + default: 0 + - name: "limit" + in: "query" + description: "The number ranges from 1 to 100 and is generally 10, 20, or 50. Specifies the number of resources returned on each page. The default number is 100." + type: "integer" + required: false + default: 100 + - name: "message_template_name" + in: "query" + description: |- + Specifies the template name. + + Enter 1 to 64 characters, and start with a letter or digit. Only letters, digits, hyphens (-), and underscores (_) are allowed. + type: "string" + required: false + x-example: "test1" + - name: "protocol" + in: "query" + description: |- + Specifies the protocol supported by the template. + + The following protocols are supported: + + default + + email + + sms + + functionstage + + http and https + type: "string" + required: false + x-example: "email" + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/ListMessageTemplatesResponseBody" + examples: + application/json: + request_id: "6a63a18b8bab40ffb71ebd9cb80d0085" + message_template_count: 3 + message_templates: + - message_template_name: "confirm_message" + protocol: "sms" + update_time: "2016-08-02T08:22:18Z" + create_time: "2016-08-02T08:22:18Z" + tag_names: + - "topic_urn" + message_template_id: "79227dfdf88d4e52a1820ca1eb411635" + - message_template_name: "confirm_message" + protocol: "email" + update_time: "2016-08-02T08:22:19Z" + create_time: "2016-08-02T08:22:19Z" + tag_names: + - "topic_id" + message_template_id: "ecf63465804a4b10a0573980be78ffba" + - message_template_name: "confirm_message" + protocol: "https" + update_time: "2016-08-02T08:22:20Z" + create_time: "2016-08-02T08:22:20Z" + tag_names: + - "topic_id" + message_template_id: "57ba8dcecda844878c5dd5815b65d10f" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + post: + tags: + - "Templates" + operationId: "CreateMessageTemplate" + summary: "Creating a Message Template" + description: |- + This API is used to create a message template for quick message sending and reduced request data volume. + By default, a user can create a maximum of 100 message templates. However, in rare high-concurrency scenarios, extra templates may be successfully created. + deprecated: false + x-name: "Creating a message template" + x-request-examples-description-1: |- + Creating an HTTPS message template with the name of **confirm_message** + x-request-examples-url-1: >- + POST https://{SMN_Endpoint}/v2/{project_id}/notifications/message_template + x-request-examples-1: + message_template_name: "confirm_message" + protocol: "https" + content: >- + (1/2)You are invited to subscribe to topic({topic_id}). Click the following URL to confirm subscription:(If you do not want to subscribe to this topic, ignore this message.) + x-request-examples-text-1: + message_template_name: "confirm_message" + protocol: "https" + content: >- + (1/2)You are invited to subscribe to topic({topic_id}). Click the following URL to confirm subscription:(If you do not want to subscribe to this topic, ignore this message.) + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "CreateMessageTemplateRequestBody" + schema: + $ref: "#/definitions/CreateMessageTemplateRequestBody" + responses: + "201": + description: "OK" + schema: + $ref: "#/definitions/CreateMessageTemplateResponseBody" + examples: + application/json: + request_id: "6a63a18b8bab40ffb71ebd9cb80d0085" + message_template_id: "57ba8dcecda844878c5dd5815b65d10f" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/notifications/message_template/{message_template_id}: + get: + tags: + - "Templates" + operationId: "ListMessageTemplateDetails" + summary: "Querying Details About a Message Template" + description: "This API is used to query template details, including the template content." + deprecated: false + x-name: "Querying details about a message template" + x-request-examples-description-1: "Querying details about a message template" + x-request-examples-url-1: >- + GET https://{SMN_Endpoint}/v2/{project_id}/notifications/message_template/57ba8dcecda844878c5dd5815b65d10f + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "message_template_id" + in: "path" + description: >- + Specifies the unique resource ID of a template. To obtain the ID, see [Querying Message Templates](ListMessageTemplates.xml). + type: "string" + required: true + x-example: "79227dfdf88d4e52a1820ca1eb411635" + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/ListMessageTemplateDetailsResponseBody" + examples: + application/json: + message_template_id: "57ba8dcecda844878c5dd5815b65d10f" + message_template_name: "confirm_message" + protocol: "https" + tag_names: + - "topic_id_id4" + create_time: "2016-08-02T08:22:20Z" + update_time: "2016-08-02T08:22:25Z" + content: >- + (1/24)You are invited to subscribe to topic({topic_id_id4}). Click the following URL to confirm subscription:(If you do not want to subscribe to this topic, ignore this message.) + request_id: "ba79ca8f794f4f50985ce7b98a401b47" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + put: + tags: + - "Templates" + operationId: "UpdateMessageTemplate" + summary: "Modifying a Message Template" + description: "This API is used to modify the message template content." + deprecated: false + x-name: "Modifying a message template" + x-request-examples-description-1: "Modifying the content of a message template" + x-request-examples-url-1: >- + PUT https://{SMN_Endpoint}/v2/{project_id}/notifications/message_template/b3ffa2cdda574168826316f0628f774f + x-request-examples-1: + content: >- + (1/22)You are invited to subscribe to topic({topic_id_id1}). Click the following URL to confirm subscription:(If you do not want to subscribe to this topic, ignore this message.) + x-request-examples-text-1: + content: >- + (1/22)You are invited to subscribe to topic({topic_id_id1}). Click the following URL to confirm subscription:(If you do not want to subscribe to this topic, ignore this message.) + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "message_template_id" + in: "path" + description: >- + Specifies the unique resource ID of a template. To obtain the ID, see [Querying Message Templates](ListMessageTemplates.xml). + required: true + type: "string" + x-example: "57ba8dcecda844878c5dd5815b65d10f" + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "UpdateMessageTemplateRequestBody" + schema: + $ref: "#/definitions/UpdateMessageTemplateRequestBody" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/UpdateMessageTemplateResponseBody" + examples: + application/json: + request_id: "6a63a18b8bab40ffb71ebd9cb80d0085" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + delete: + tags: + - "Templates" + operationId: "DeleteMessageTemplate" + summary: "Deleting a Message Template" + description: "This API is used to delete a message template. After you delete the template, you can no longer use it to publish messages." + deprecated: false + x-name: "Deleting a message template" + x-request-examples-description-1: "Deleting a message template" + x-request-examples-url-1: >- + DELETE https://{SMN_Endpoint}/v2/{project_id}/notifications/message_template/b3ffa2cdda574168826316f0628f774e + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "message_template_id" + in: "path" + description: >- + Specifies the unique resource ID of a template. To obtain the ID, see [Querying Message Templates](ListMessageTemplates.xml). + required: true + type: "string" + x-example: "57ba8dcecda844878c5dd5815b65d10f" + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/DeleteMessageTemplateResponseBody" + examples: + application/json: + request_id: "6a63a18b8bab40ffb71ebd9cb80d0085" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/notifications/topics/{topic_urn}/publish: + post: + tags: + - "Message Publishing" + operationId: "PublishMessage" + summary: "Publishing a Message" + description: |- + This API is used to publish messages to a topic. After a message ID is returned, the message has been saved and is to be pushed to the subscribers of the topic. To send messagesto subscribers successfully, ensure that your message content complies with local laws and regulations. + The following three message formats are supported: + + **message** + + **message_structure** + + **message_template_name** + + If the three formats are specified at the same time, they take effect in the following sequence: + **message_structure** > **message_template_name** > **message** + x-name: "Publishing a Message" + x-request-examples-description-1: "Publishing a message" + x-request-examples-url-1: >- + POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_create_topic_v2/publish + x-request-examples-1: + subject: "test message v2" + message: "Message test message v2" + time_to_live: "3600" + message_attributes: + - name: "smn_protocol" + type: "PROTOCOL" + value: + - "email" + - "sms" + x-request-examples-text-1: + subject: "test message v2" + message: "Message test message v2" + time_to_live: "3600" + message_attributes: + - name: "smn_protocol" + type: "PROTOCOL" + value: + - "email" + - "sms" + x-request-examples-description-2: "Publishing messages using a message structure" + x-request-examples-url-2: >- + POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_create_topic_v2/publish + x-request-examples-2: + subject: "test message v2" + message_structure: >- + { "default": "Message structure test message v2", "sms": "Message structure test message v2", "email": "Message structure test message v2", "wechat": "{\"msgtype\":\"text\",\"text\":{\"content\":\"Message structure test message v2\"}}", "dingding": "{\"msgtype\":\"markdown\",\"at\":{\"atMobiles\": [\"15XXXXXX\"],\"atUserIds\": [\"1234567XXX\"],\"isAtAll\": true},\"markdown\":{\"content\":\"Message structure test message v2 @15XXXXXX @1234567XXX\",\"title\":\"Message structure title\"}}", "feishu": "{\"msgtype\":\"text\",\"text\":{\"content\":\"Message structure test message v2\"}}", "welinkRed": "{\"msgtype\":\"text\",\"text\":{\"content\":\"Message structure test message v2\"}}", "http": "Message structure test message v2", "https": "Message structure test message v2", "dingTalkBot": "{\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"Message structure test message v2 dingTalkBot markdown\",\"title\":\"Message structure title\"}}", "functionstage": "Message structure test message v2" } + time_to_live: "3600" + message_attributes: + - name: "smn_protocol" + type: "PROTOCOL" + value: + - "email" + - "sms" + x-request-examples-text-2: + subject: "test message v2" + message_structure: >- + { "default": "Message structure test message v2", "sms": "Message structure test message v2", "email": "Message structure test message v2", "wechat": "{\"msgtype\":\"text\",\"text\":{\"content\":\"Message structure test message v2\"}}", "dingding": "{\"msgtype\":\"markdown\",\"at\":{\"atMobiles\": [\"15XXXXXX\"],\"atUserIds\": [\"1234567XXX\"],\"isAtAll\": true},\"markdown\":{\"content\":\"Message structure test message v2 @15XXXXXX @1234567XXX\",\"title\":\"Message structure title\"}}", "feishu": "{\"msgtype\":\"text\",\"text\":{\"content\":\"Message structure test message v2\"}}", "welinkRed": "{\"msgtype\":\"text\",\"text\":{\"content\":\"Message structure test message v2\"}}", "http": "Message structure test message v2", "https": "Message structure test message v2", "dingTalkBot": "{\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"Message structure test message v2 dingTalkBot markdown\",\"title\":\"Message structure title\"}}", "functionstage": "Message structure test message v2" } + time_to_live: "3600" + message_attributes: + - name: "smn_protocol" + type: "PROTOCOL" + value: + - "email" + - "sms" + x-request-examples-description-3: "Publishing messages using a template" + x-request-examples-url-3: >- + POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_create_topic_v2/publish + x-request-examples-3: + subject: "test message template v2" + message_template_name: "confirm_message" + time_to_live: "3600" + tags: + topic_urn: "topic_urn3331" + topic_id: "topic_id3332" + message_attributes: + - name: "smn_protocol" + type: "PROTOCOL" + value: + - "email" + - "sms" + x-request-examples-text-3: + subject: "test message template v2" + message_template_name: "confirm_message" + time_to_live: "3600" + tags: + topic_urn: "topic_urn3331" + topic_id: "topic_id3332" + message_attributes: + - name: "smn_protocol" + type: "PROTOCOL" + value: + - "email" + - "sms" + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "topic_urn" + in: "path" + description: "Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see [Querying Topics](smn_api_51004.xml)." + required: true + type: "string" + x-example: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "PublishMessageRequestBody" + schema: + $ref: "#/definitions/PublishMessageRequestBody" + required: false + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/PublishMessageResponseBody" + examples: + application/json: + request_id: "6a63a18b8bab40ffb71ebd9cb80d0085" + message_id: "bf94b63a5dfb475994d3ac34664e24f2" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "429": + description: "Too Many Requests" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/{resource_type}/resource_instances/action: + post: + tags: + - "Tags" + operationId: "ListResourceInstances" + summary: "Querying Resources by Tag" + description: "This API is used to query resources by tag." + deprecated: false + x-name: "Querying resources by tag" + x-request-examples-description-1: "Using tags to filter resources" + x-request-examples-url-1: >- + POST https://{SMN_Endpoint}/v2/{project_id}/{resource_type}/resource_instances/action + x-request-examples-1: + offset: "100" + limit: "100" + action: "filter" + matches: + - key: "resource_name" + value: "resource1" + not_tags: + - key: "key1" + values: + - "*value1" + - "value2" + - key: "key2" + values: + - "*value21" + - "value22" + tags: + - key: "key1" + values: + - "*value1" + - "value2" + tags_any: + - key: "key1" + values: + - "value1" + - "value2" + not_tags_any: + - key: "key1" + values: + - "value1" + - "value2" + x-request-examples-text-1: + offset: "100" + limit: "100" + action: "filter" + matches: + - key: "resource_name" + value: "resource1" + not_tags: + - key: "key1" + values: + - "*value1" + - "value2" + - key: "key2" + values: + - "*value21" + - "value22" + tags: + - key: "key1" + values: + - "*value1" + - "value2" + tags_any: + - key: "key1" + values: + - "value1" + - "value2" + not_tags_any: + - key: "key1" + values: + - "value1" + - "value2" + x-request-examples-description-2: "Using tags to query the total number of resources" + x-request-examples-url-2: >- + POST https://{SMN_Endpoint}/v2/{project_id}/{resource_type}/resource_instances/action + x-request-examples-2: + action: "count" + not_tags: + - key: "key1" + values: + - "value1" + - "*value2" + tags: + - key: "key1" + values: + - "value1" + - "value2" + tags_any: + - key: "key1" + values: + - "value1" + - "value2" + not_tags_any: + - key: "key1" + values: + - "value1" + - "value2" + matches: + - key: "resource_name" + value: "resource" + x-request-examples-text-2: + action: "count" + not_tags: + - key: "key1" + values: + - "value1" + - "*value2" + tags: + - key: "key1" + values: + - "value1" + - "value2" + tags_any: + - key: "key1" + values: + - "value1" + - "value2" + not_tags_any: + - key: "key1" + values: + - "value1" + - "value2" + matches: + - key: "resource_name" + value: "resouurce" + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "resource_type" + in: "path" + description: |- + Specifies the resource type. Possible values are: + + smn_topic: topic + + smn_sms: SMS + + smn_application: mobile push + required: true + type: "string" + x-example: "smn_topic" + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "ListInstancesRequestBody" + schema: + $ref: "#/definitions/ListInstanceRequestBody" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/ListInstancesResponseBody" + examples: + application/json: + resources: + resource_detail: + topic_urn: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:resouece1" + display_name: "testtest" + enterprise_project_id: "0" + resource_id: "cffe4fc4c9a54219b60dbaf7b586e132" + resource_name: "resouece1" + tags: + - key: "key1" + value: "value1" + total_count: 1000 + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/{resource_type}/{resource_id}/tags/action: + post: + tags: + - "Tags" + operationId: "BatchCreateOrDeleteResourceTags" + summary: "Adding or Deleting Resource Tags in Batches" + description: |- + This API is used to add or delete tags in batches for a specified resource. You can add a maximum of 10 tags to a resource. + The API is idempotent. When you are creating tags, if there are duplicate keys in the request body, an error is reported. + If a to-be-created tag has the same key as an existing tag, the tag will be created and overwrite the existing one. + During tag deletion, if some tags do not exist, the deletion is considered to be successful by default. The character set of the tags will not be checked. + deprecated: false + x-name: "Adding or deleting resource tags in batches" + x-request-examples-description-1: "Batch adding tags to resources" + x-request-examples-url-1: >- + POST https://{SMN_Endpoint}/v2/{project_id}/{resource_type}/{resource_id}/tags/action + x-request-examples-1: + action: "create" + tags: + - key: "key1" + value: "value1" + - key: "key" + value: "value3" + x-request-examples-text-1: + action: "create" + tags: + - key: "key1" + value: "value1" + - key: "key" + value: "value3" + x-request-examples-description-2: "Batch deleting resource tags" + x-request-examples-url-2: >- + POST https://{SMN_Endpoint}/v2/{project_id}/{resource_type}/{resource_id}/tags/action + x-request-examples-2: + action: "delete" + tags: + - key: "key1" + value: "value1" + - key: "key" + value: "value3" + x-request-examples-text-2: + action: "delete" + tags: + - key: "key1" + - key: "key2" + value: "value3" + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "resource_type" + in: "path" + description: |- + Specifies the resource type. Possible values are: + + smn_topic: topic + + smn_sms: SMS + + smn_application: mobile push + required: true + type: "string" + x-example: "smn_topic" + - name: "resource_id" + in: "path" + description: |- + Specifies the resource ID. + + To obtain the value of resource_id, perform the following steps: + + When resource_type is set to smn_topic: + Add X-SMN-RESOURCEID-TYPE=name in the request header and set the resource ID to the topic name. + Call the GetResourceInstances API to obtain the resource ID. + If you set resource_type to smn_sms, the resource ID is the signature ID, which can be obtained on the console. + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "BatchCreateOrDeleteResourceTagsRequestBody" + schema: + $ref: "#/definitions/BatchCreateOrDeleteResourceTagsRequestBody" + responses: + "204": + description: "OK" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/{resource_type}/{resource_id}/tags: + get: + tags: + - "Tags" + operationId: "ListResourceTags" + summary: "Querying Resource Tags" + description: "This API is used to query tags of a specified resource." + deprecated: false + x-name: "Querying resource tags" + x-request-examples-description-1: "Querying resource tags" + x-request-examples-url-1: >- + GET https://{SMN_Endpoint}/v2/{project_id}/{resource_type}/{resource_id}/tags + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "resource_type" + in: "path" + description: |- + Specifies the resource type. + The type can be the following: + smn_topic: topic + smn_sms: SMS + smn_application: mobile push + required: true + type: "string" + x-example: "smn_topic" + - name: "resource_id" + in: "path" + description: |- + Specifies the resource ID. + + To obtain the value of resource_id, perform the following steps: + + When resource_type is set to smn_topic: + Add X-SMN-RESOURCEID-TYPE=name in the request header and set the resource ID to the topic name. + Call the GetResourceInstances API to obtain the resource ID. + If you set resource_type to smn_sms, the resource ID is the signature ID, which can be obtained on the console. + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/ListResourceTagsRequestBody" + examples: + application/json: + tags: + - key: "key1" + value: "value1" + - key: "key2" + value: "value3" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + post: + tags: + - "Tags" + operationId: "CreateResourceTag" + summary: "Adding a Resource Tag" + description: "You can add a maximum of 10 tags to a resource. The API is idempotent. If a to-be-created tag has the same key as an existing tag, the tag will be created and overwrite the existing one." + deprecated: false + x-name: "Adding a resource tag" + x-request-examples-description-1: "Adding a resource tag" + x-request-examples-url-1: >- + POST https://{SMN_Endpoint}/v2/{project_id}/{resource_type}/{resource_id}/tags + x-request-examples-1: + tag: + key: "DEV" + value: "DEV1" + x-request-examples-text-1: + tag: + key: "DEV" + value: "DEV1" + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "resource_type" + in: "path" + description: |- + Specifies the resource type. Possible values are: + + smn_topic: topic + + smn_sms: SMS + + smn_application: mobile push + required: true + type: "string" + x-example: "smn_topic" + - name: "resource_id" + in: "path" + description: |- + Specifies the resource ID. + + To obtain the value of resource_id, perform the following steps: + + When resource_type is set to smn_topic: + Add X-SMN-RESOURCEID-TYPE=name in the request header and set the resource ID to the topic name. + Call the GetResourceInstances API to obtain the resource ID. + If you set resource_type to smn_sms, the resource ID is the signature ID, which can be obtained on the console. + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "CreateResourceTagRequestBody" + schema: + $ref: "#/definitions/CreateResourceTagRequestBody" + responses: + "204": + description: "OK" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/{resource_type}/tags: + get: + tags: + - "Tags" + operationId: "ListProjectTags" + summary: "Querying Project Tags" + description: "This API is used to query all tags of a resource type in a specified region." + deprecated: false + x-name: "Querying project tags" + x-request-examples-description-1: "Querying project tags" + x-request-examples-url-1: "GET https://{SMN_Endpoint}/v2/{project_id}/{resource_type}/tags" + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "resource_type" + in: "path" + description: |- + Specifies the resource type. + The type can be the following: + smn_topic: topic + smn_sms: SMS + smn_application: mobile push + required: true + type: "string" + x-example: "smn_topic" + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/ListProjectTagsRequestBody" + examples: + application/json: + tags: + - key: "key1" + values: + - "value1" + - "value2" + - key: "key2" + values: + - "value1" + - "value2" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/{resource_type}/{resource_id}/tags/{key}: + delete: + tags: + - "Tags" + operationId: "DeleteResourceTag" + summary: "Deleting a Resource Tag" + description: "This API is used to delete resource tags. The API is idempotent. When deleting a tag, the system does not check its character set. The tag key cannot be left blank or be an empty string. If the key of the tag to be deleted does not exist, 404 will be returned." + deprecated: false + x-name: "Deleting a resource tag" + x-request-examples-description-1: "Deleting a resource tag" + x-request-examples-url-1: >- + DELETE https://{SMN_Endpoint}/v2/{project_id}/{resource_type}/{resource_id}/tags/{key} + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,hcso,fcs,hk_vdf,ctc,cmcc,otc,ocb,hws_ocb,g42,tm,sbc,hk_g42,hk_tm,hk_sbc,srg" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "resource_type" + in: "path" + description: |- + Specifies the resource type. Possible values are: + + smn_topic: topic + + smn_sms: SMS + + smn_application: mobile push + required: true + type: "string" + x-example: "smn_topic" + - name: "resource_id" + in: "path" + description: |- + Specifies the resource ID. + + To obtain the value of resource_id, perform the following steps: + + When resource_type is set to smn_topic: + Add X-SMN-RESOURCEID-TYPE=name in the request header and set the resource ID to the topic name. + Call the GetResourceInstances API to obtain the resource ID. + If you set resource_type to smn_sms, the resource ID is the signature ID, which can be obtained on the console. + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "key" + in: "path" + description: "Specifies the key value of the tag to be deleted." + required: true + type: "string" + x-example: "key" + - $ref: "#/parameters/X-Auth-Token" + responses: + "204": + description: "OK" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/notifications/topics/{topic_urn}/logtanks: + post: + tags: + - "Cloud Logs" + operationId: "CreateLogtank" + summary: "Binding a Cloud Log to a Topic" + description: "This API is used to bind a cloud log to a specified topic to record information such as the message sending status of the topic." + deprecated: false + x-name: "Binding a cloud log to a topic" + x-request-examples-description-1: "Binding a cloud log to a topic" + x-request-examples-url-1: >- + POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2/logtanks + x-request-examples-1: + log_group_id: "d1b6c352-ee45-4196-9230-c74b7894e356" + log_stream_id: "114960b4-1c26-48dd-93c2-4caae24aec49" + x-request-examples-text-1: |- + { + "log_group_id": "d1b6c352-ee45-4196-9230-c74b7894e356", + "log_stream_id": "114960b4-1c26-48dd-93c2-4caae24aec49" + } + x-open-region-cloud: "hk,hc,g42,hk_g42,sbc,hk_sbc" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: "Specifies the project ID. For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml)." + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "topic_urn" + in: "path" + description: "Specifies the resource identifier of the topic, which is unique. To obtain the identifier, see [Querying Topics](smn_api_51004.xml)." + required: true + type: "string" + x-example: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "CreateLogTankBody" + description: "This is an auto create Body Object" + required: true + schema: + $ref: "#/definitions/CreateLogtankRequestBody" + responses: + "201": + description: "OK" + examples: + application/json: + request_id: "42f3b0cd1c894e87aa0275ce33305b21" + id: "4ea80c8a68b840e19b4efd3a8f0d62ed" + schema: + $ref: "#/definitions/CreateLogtankResponseBody" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResponse" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/OpenAPIFailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResponse" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResponse" + get: + tags: + - "Cloud Logs" + operationId: "ListLogtank" + summary: "Querying Cloud Logs" + description: "This API is used to query cloud logs bound to a specified topic." + deprecated: false + x-name: "Querying cloud logs" + x-request-examples-description-1: "Querying cloud logs" + x-request-examples-url-1: >- + GET https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2/logtanks + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,g42,hk_g42,sbc,hk_sbc" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: "Specifies the project ID. For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml)." + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "topic_urn" + in: "path" + description: "Specifies the resource identifier of the topic, which is unique. To obtain the identifier, see [Querying Topics](smn_api_51004.xml)." + required: true + type: "string" + x-example: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + examples: + application/json: + request_id: "f5c05cb70d264ca58d1080202ceba284" + count: 1 + logtanks: + - id: "4ea80c8a68b840e19b4efd3a8f0d62ed" + log_group_id: "d1b6c352-ee45-4196-9230-c74b7894e356" + log_stream_id: "114960b4-1c26-48dd-93c2-4caae24aec49" + create_time: "2022-10-10T09:00:00Z" + update_time: "2022-10-10T09:00:00Z" + schema: + $ref: "#/definitions/GetLogtankListResponseBody" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResponse" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResponse" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResponse" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResponse" + /v2/{project_id}/notifications/topics/{topic_urn}/logtanks/{logtank_id}: + put: + tags: + - "Cloud Logs" + operationId: "UpdateLogtank" + summary: "Updating a Cloud Log" + description: "This API is used to update a cloud log bound to a specified topic." + deprecated: false + x-name: "Updating a cloud log" + x-request-examples-description-1: "Updating a cloud log" + x-request-examples-url-1: >- + PUT https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2/logtanks/4ea80c8a68b840e19b4efd3a8f0d62ed + x-request-examples-1: + log_group_id: "d1b6c352-ee45-4196-9230-c74b7894e356" + log_stream_id: "114960b4-1c26-48dd-93c2-4caae24aec49" + x-request-examples-text-1: |- + { + "log_group_id": "d1b6c352-ee45-4196-9230-c74b7894e356", + "log_stream_id": "114960b4-1c26-48dd-93c2-4caae24aec49" + } + x-open-region-cloud: "hk,hc,g42,hk_g42,sbc,hk_sbc" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: "Specifies the project ID. For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml)." + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "topic_urn" + in: "path" + description: "Specifies the resource identifier of the topic, which is unique. To obtain the identifier, see [Querying Topics](smn_api_51004.xml)." + required: true + type: "string" + x-example: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" + - name: "logtank_id" + in: "path" + description: "Specifies the resource identifier of the cloud log, which is unique. To obtain the identifier, see [Querying Cloud Logs](ListLogtank.xml)." + required: true + type: "string" + x-example: "4ea80c8a68b840e19b4efd3a8f0d62ed" + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "UpdateLogTankRequestBody" + description: "This is an auto create Body Object" + required: true + schema: + $ref: "#/definitions/UpdateLogtankRequestBody" + responses: + "200": + description: "OK" + examples: + application/json: + request_id: "761bd2658f92411b9b01ae13e7961b11" + logtank: + id: "4ea80c8a68b840e19b4efd3a8f0d62ed" + log_group_id: "d1b6c352-ee45-4196-9230-c74b7894e356" + log_stream_id: "114960b4-1c26-48dd-93c2-4caae24aec49" + create_time: "2022-10-10T09:00:00Z" + update_time: "2022-10-10T09:00:00Z" + schema: + $ref: "#/definitions/UpdateLogtankResponseBody" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResponse" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/OpenAPIFailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResponse" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResponse" + delete: + tags: + - "Cloud Logs" + operationId: "DeleteLogtank" + summary: "Unbinding a Cloud Log" + description: "This API is used to unbind a cloud log from a specified topic." + deprecated: false + x-name: "Unbinding a cloud log" + x-request-examples-description-1: "Unbinding a cloud log" + x-request-examples-url-1: >- + DELETE https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2/logtanks/4ea80c8a68b840e19b4efd3a8f0d62ed + x-request-examples-1: null + x-request-examples-text-1: null + x-open-region-cloud: "hk,hc,g42,hk_g42,sbc,hk_sbc" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + consumes: [] + produces: [] + parameters: + - name: "project_id" + in: "path" + description: "Specifies the project ID. For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml)." + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - name: "topic_urn" + in: "path" + description: "Specifies the resource identifier of the topic, which is unique. To obtain the identifier, see [Querying Topics](smn_api_51004.xml)." + required: true + type: "string" + x-example: "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2" + - name: "logtank_id" + in: "path" + description: "Specifies the resource identifier of the cloud log, which is unique. To obtain the identifier, see [Querying Cloud Logs](ListLogtank.xml)." + required: true + type: "string" + x-example: "4ea80c8a68b840e19b4efd3a8f0d62ed" + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + examples: + application/json: + request_id: "fe5cec832a5249169d433b6b0b5902a3" + schema: + $ref: "#/definitions/DeleteLogtankResponseBody" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResponse" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResponse" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResponse" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResponse" + /v2/{project_id}/notifications/topics/{topic_urn}/detection: + post: + x-request-examples-url-1: "POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_create_topic_v2/detect" + x-request-examples-description-1: "Example" + x-name: "Sending a Detection Message to an HTTP Endpoint" + x-open-region-cloud: "hk,hc,g42,hk_g42,sbc,hk_sbc" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + x-request-examples-text-1: + protocol: "http" + endpoint: "http://172.20.0.51:32000/http_notify" + extension: + header: + x-abc: "1213" + x-abc-cba: "test2" + x-request-examples-1: + protocol: "http" + endpoint: "http://172.20.0.51:32000/http_notify" + extension: + header: + x-abc: "1213" + x-abc-cba: "test2" + tags: + - "Message Publishing" + summary: "Publishing a Detection Message" + description: "Specifies the HTTP or HTTPS detection messages sent based on topics. These messages are used to check whether the current HTTP or HTTPS endpoint is available and whether the SMN egress can access the endpoint." + operationId: "PublishHttpDetect" + parameters: + - name: "project_id" + in: "path" + required: true + type: "string" + description: "Specifies the project ID. For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml)." + - name: "topic_urn" + in: "path" + required: true + type: "string" + description: "Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see [Querying Topics](smn_api_51004.xml)." + - $ref: "#/parameters/X-Auth-Token" + - name: "HttpDetectRequestBody" + in: "body" + required: true + description: "Specifies the parameters in the HTTP detection request. The parameters cannot be left blank." + schema: + $ref: "#/definitions/HttpDetectRequestBody" + responses: + "200": + description: "Detection succeeded." + schema: + $ref: "#/definitions/PostHTTPDetectResponseBody" + examples: + application/json: + request_id: "adc82efa7e0042899722531681b1959a" + task_id: "adc82efa7e0042899722531681b1959a" + "400": + description: "Detection failed." + schema: + $ref: "#/definitions/FailedResp" + examples: + application/json: + request_id: "373cdb9696e44454832ea02e61a2c689" + error_code: "SMN.00011004" + error_msg: "Parameter: Extension is invalid. Http header key is invalid." + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "429": + description: "Too Many Requests" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/notifications/topics/{topic_urn}/detection/{task_id}: + get: + x-request-examples-url-1: "GET https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_create_topic_v2/detect/c414cfd4326a488e9c6a315ce8dc5fe3" + x-request-examples-description-1: "Example" + x-name: "Obtaining the HTTP Detection Result" + x-open-region-cloud: "hk,hc,g42,hk_g42,sbc,hk_sbc" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + tags: + - "Message Publishing" + summary: "Obtaining the HTTP Detection Result" + description: "This API is used to query the detection result based on **task_id** returned by the HTTP detection." + operationId: "ShowHttpDetectResult" + parameters: + - name: "project_id" + in: "path" + required: true + type: "string" + description: "Specifies the project ID. For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml)." + - name: "topic_urn" + in: "path" + required: true + type: "string" + description: "Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see [Querying Topics](smn_api_51004.xml)." + - name: "task_id" + in: "path" + required: true + type: "string" + description: "Specifies the ID of the HTTP detection task." + - $ref: "#/parameters/X-Auth-Token" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/GetHttpDetectResponseBody" + examples: + application/json: + detail: + httpCode: 200 + httpResponse: "Http endpoint is available." + status: 0 + request_id: "e4bde8f67bd64402804011160c9f8772" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + /v2/{project_id}/notifications/subscriptions/filter_polices: + post: + tags: + - "Message Filter Policies of Subscribers" + operationId: "BatchCreateSubscriptionsFilterPolices" + summary: "Creating Message Filter Policies for a Subscriber" + description: "This API is used to create message filter policies for subscribers." + deprecated: false + x-name: "Creating Message Filter Policies for a Subscriber" + x-request-examples-description-1: "Creating message filter policies for a subscriber" + x-request-examples-url-1: >- + POST https://{SMN_Endpoint}/v2/{project_id}/notifications/subscriptions/filter_polices + x-request-examples-text-1: + polices: + - subscription_urn: "urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837" + filter_polices: + - name: "alarm" + string_equals: + - "os" + - "process" + - name: "service" + string_equals: + - "api" + - "db" + x-request-examples-1: + polices: + - subscription_urn: "urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837" + filter_polices: + - name: "alarm" + string_equals: + - "os" + - "process" + - name: "service" + string_equals: + - "api" + - "db" + x-open-region-cloud: "hk,hc,g42,hk_g42,sbc,hk_sbc" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "CreateSubscriptionsFilterPolicesRequestBody" + description: "Specifies the structure for creating message filter policies for subscribers." + required: true + schema: + $ref: "#/definitions/BatchSubscriptionsFilterPolicesRequestBody" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/BatchSubscriptionsFilterPolicesResponseBody" + examples: + application/json: + request_id: "be368401641b406d8c28a79915ba3589" + batch_result: + - code: "SMN.00011027" + message: "Parameter: subscription_urn is invalid." + subscription_urn: "urn:smn:regionId:98386b0630aa41d990d4729497fcd7ba:test:90b22be1efab4cd6924703c5b228e59f" + - code: "SMN.00011027" + message: "Parameter: subscription_urn is invalid." + subscription_urn: "urn:smn:regionId:98386b0630aa41d990d4729497fcd7ba:test:c872b769e60d45f682f1da44eb4dbee3" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + put: + tags: + - "Message Filter Policies of Subscribers" + operationId: "BatchUpdateSubscriptionsFilterPolices" + summary: "Updating Message Filter Policies of Subscribers" + description: "This API is used to update the message filter policies of subscribers." + deprecated: false + x-name: "Updating Message Filter Policies of a Subscriber" + x-request-examples-description-1: "Updating message filter policies of a subscriber" + x-request-examples-url-1: >- + PUT https://{SMN_Endpoint}/v2/{project_id}/notifications/subscriptions/filter_polices + x-request-examples-text-1: + polices: + - subscription_urn: "urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837" + filter_polices: + - name: "alarm" + string_equals: + - "os" + - "process" + - name: "service" + string_equals: + - "api" + - "db" + x-request-examples-1: + polices: + - subscription_urn: "urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837" + filter_polices: + - name: "alarm" + string_equals: + - "os" + - "process" + - name: "service" + string_equals: + - "api" + - "db" + x-open-region-cloud: "hk,hc,g42,hk_g42,sbc,hk_sbc" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "UpdateSubscriptionsFilterPolicesRequestBody" + description: "Specifies the structure for updating message filter policies of subscribers." + required: true + schema: + $ref: "#/definitions/BatchSubscriptionsFilterPolicesRequestBody" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/BatchSubscriptionsFilterPolicesResponseBody" + examples: + application/json: + request_id: "be368401641b406d8c28a79915ba3589" + batch_result: + - code: "SMN.00011027" + message: "Parameter: subscription_urn is invalid." + subscription_urn: "urn:smn:regionId:98386b0630aa41d990d4729497fcd7ba:test:90b22be1efab4cd6924703c5b228e59f" + - code: "SMN.00011027" + message: "Parameter: subscription_urn is invalid." + subscription_urn: "urn:smn:regionId:98386b0630aa41d990d4729497fcd7ba:test:c872b769e60d45f682f1da44eb4dbee3" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" + delete: + tags: + - "Message Filter Policies of Subscribers" + operationId: "BatchDeleteSubscriptionsFilterPolices" + summary: "Deleting Message Filter Policies of Subscribers" + description: "This API is used to delete message filter policies of subscribers." + deprecated: false + x-name: "Deleting a Policy for Filtering Messages" + x-request-examples-description-1: "Deleting a policy for filtering messages" + x-request-examples-url-1: >- + DELETE https://{SMN_Endpoint}/v2/{project_id}/notifications/subscriptions/filter_polices + x-request-examples-text-1: + subscription_urns: + - "urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837" + x-request-examples-1: + subscription_urns: + - "urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837" + x-open-region-cloud: "hk,hc,g42,hk_g42,sbc,hk_sbc" + x-is-registered: "Y" + x-support-sdk: "Y" + x-apiexplorer-hide: "N" + x-iftype: "externalAPI" + parameters: + - name: "project_id" + in: "path" + description: >- + Specifies the project ID.For details about how to obtain the project ID, see [Obtaining the Project ID](smn_api_66000.xml). + required: true + type: "string" + x-example: "2c31ed520xxxxxxebedb6e81xxxxxxxx" + - $ref: "#/parameters/X-Auth-Token" + - in: "body" + name: "UpdateSubscriptionsFilterPolicesRequestBody" + description: "Specifies the structure for deleting message filter policies of subscribers." + required: true + schema: + $ref: "#/definitions/BatchDeleteSubscriptionsFilterPolicesRequestBody" + responses: + "200": + description: "OK" + schema: + $ref: "#/definitions/BatchSubscriptionsFilterPolicesResponseBody" + examples: + application/json: + request_id: "6a63a18b8bab40ffb71ebd9cb80d0085" + "400": + description: "Bad Request" + schema: + $ref: "#/definitions/FailedResp" + "403": + description: "Unauthorized" + schema: + $ref: "#/definitions/FailedResp" + "404": + description: "Not Found" + schema: + $ref: "#/definitions/FailedResp" + "500": + description: "Internal Server Error" + schema: + $ref: "#/definitions/FailedResp" +definitions: + ListVersionsResponseBody: + required: + - "versions" + properties: + versions: + type: "array" + description: "Specifies the list of all versions." + items: + $ref: "#/definitions/VersionItem" + ListV2VersionResponseBody: + required: + - "version" + properties: + version: + description: "Specifies the list of all v2 versions." + $ref: "#/definitions/VersionItem" + type: "object" + CreateTopicRequestBody: + required: + - "name" + - "display_name" + properties: + name: + type: "string" + description: "Specifies the topic name. Enter 1 to 255 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. The topic name must start with a letter or digit." + minLength: 1 + maxLength: 255 + example: "test_topic_v2" + display_name: + type: "string" + description: "Specifies the topic display name, which is presented as the name of the email sender in email messages. The display name cannot exceed 192 bytes. display_name is left blank by default." + minLength: 1 + maxLength: 192 + example: "testtest" + enterprise_project_id: + type: "string" + description: "Specifies the enterprise project ID. It is required only when the enterprise project function is enabled." + example: "f8e0ecc8-3825-4ee8-9596-fb4258ffdcbb" + default: "0" + ListTopicsResponseBody: + required: + - "request_id" + - "topic_count" + - "topics" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + topic_count: + type: "integer" + description: "Specifies the number of returned topics. No matter what offset and limit values you have set in the request, this API always returns the total number of topics in your account." + topics: + type: "array" + description: "Specifies the topic structure array." + items: + $ref: "#/definitions/ListTopicsItem" + ListTopicDetailsResponseBody: + required: + - "update_time" + - "push_policy" + - "create_time" + - "name" + - "topic_urn" + - "display_name" + - "request_id" + - "enterprise_project_id" + - "topic_id" + properties: + update_time: + type: "string" + description: "Specifies when the topic was updated. The UTC time is in YYYY-MM-DDTHH:MM:SSZ format." + push_policy: + type: "integer" + description: "Specifies the message push policy. 0 indicates that the message sending fails and the message is cached in the queue. 1 indicates that the failed message is discarded." + create_time: + type: "string" + description: "Specifies when the topic is created. The UTC time is in YYYY-MM-DDTHH:MM:SSZ format." + name: + type: "string" + description: "Specifies the topic name." + topic_urn: + type: "string" + description: "It is the unique identifier of a topic. To obtain the resource identifier, see [Querying Topics](smn_api_51004.xml)." + display_name: + type: "string" + description: "Specifies the topic display name, which is presented as the name of the email sender in email messages." + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + enterprise_project_id: + type: "string" + description: "Specifies the enterprise project ID." + topic_id: + type: "string" + description: "Specifies the topic ID." + type: "object" + ListTopicAttributesResponseBody: + required: + - "request_id" + - "attributes" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + attributes: + description: "Specifies the attribute. Its value can be: \n-access_policy: specifies the access policy of the topic.\n-introduction: specifies the introduction to the topic." + $ref: "#/definitions/TopicAttribute" + type: "object" + ListSubscriptionsResponseBody: + required: + - "request_id" + - "subscription_count" + - "subscriptions" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + subscription_count: + type: "integer" + description: "Specifies the number of subscriptions." + subscriptions: + type: "array" + description: "Specifies the subscription structure." + items: + $ref: "#/definitions/ListSubscriptionsItem" + CreateTopicResponseBody: + required: + - "request_id" + - "topic_urn" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + topic_urn: + type: "string" + description: "Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see [Querying Topics]." + UpdateTopicRequestBody: + required: + - "display_name" + properties: + display_name: + type: "string" + description: "Specifies the topic display name, which is presented as the name of the email sender in email messages. The display name cannot exceed 192 bytes." + example: "testtest222" + minLength: 1 + maxLength: 192 + UpdateTopicResponseBody: + required: + - "request_id" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + UpdateTopicAttributeResponseBody: + required: + - "request_id" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + example: "6837531fd3f54550927b930180a706bf" + DeleteTopicResponseBody: + required: + - "request_id" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + DeleteTopicAttributeByNameResponseBody: + required: + - "request_id" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + DeleteTopicAttributesResponseBody: + required: + - "request_id" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + AddSubscriptionRequestBody: + required: + - "protocol" + - "endpoint" + properties: + protocol: + type: "string" + description: |- + Subscription protocol. (Different protocols indicate different types of endpoints to receive messages.) + The following protocols are supported: + + **email**: The endpoints are email addresses. + + **sms**: SMS transmission protocol. The endpoints are phone numbers. + + **functionstage**: FunctionGraph(function) transmission protocol. The endpoints are functions. + + **functiongraph**: FunctionGraph(workflow) transmission protocol. The endpoints are FunctionGraph workflows orchestrated by the FunctionGraph function. + + **http** and **https**: The endpoints are URLs. + + **callnotify**: Voice notification protocol. The endpoints are phone numbers. + + **wechat**: WeCom group chatbot transmission protocol. + + **dingding**: DingTalk group chatbot transmission protocol. + + **feishu**: Lark group chatbot transmission protocol. + + **welink**: WeLink group chatbot transmission protocol. + + **dingTalkBot**: DingTalk transmission protocol. + example: "email" + endpoint: + type: "string" + description: |- + Note: + + For an HTTP protocol, the endpoint must start with **http://** and be a public IPv4 address, IPv6 address, or domain name. It cannot be a private network IP address, including but not limited to a private IPv4 address, local IPv6 address, or loopback address. Ensure that the IP address can be accessed through a public network route. If not, the IP address may be unreachable due to firewall, NAT Gateway, or DNS configurations. + + For an HTTPS protocol, the endpoint must start with **https://** and be a public IPv4 address, IPv6 address, or domain name. It cannot be a private network IP address, including but not limited to a private IPv4 address, local IPv6 address, or loopback address. Ensure that the IP address can be accessed through a public network route. If not, the IP address may be unreachable due to firewall, NAT Gateway, or DNS configurations. + + For an email protocol, the endpoint must be an email address. + + For an SMS protocol, the endpoint must be a phone number. + + For a FunctionStage protocol, the endpoint must be a function. + + For a FunctionGraph protocol, the endpoint must be a function flow. + + For a callnotify protocol, the endpoint must be a phone number. + + For a DingTalk chatbot protocol, the endpoint must be an IP address of a custom DingTalk group chatbot or **openConversationId** of a group to which an enterprise DingTalk chatbot is added. When you add **openConversationId**, do not start the endpoint with **http://** or **https://**. + + For a WeChat protocol, the endpoint must be an IP address of a WeChat group chatbot. + + For a feishu protocol, the endpoint must be an IP address of a Lark group chatbot. + + For a WeLink protocol, the endpoint must be a WeLink group number. + + For a dingTalkBot protocol, the endpoint must be a DingTalk enterprise user ID. + example: "xxx@example.com" + remark: + type: "string" + description: "Specifies the remarks. The remarks must be UTF-8-coded and can contain up to 128 bytes." + example: "O&M" + extension: + $ref: "#/definitions/SubscriptionExtension" + description: "Specifies the extension information." + subscriptions: + type: "array" + description: "This parameter is mandatory when subscriptions need to be created in batches. SMN allows you to create a maximum of 50 subscriptions at a time." + maxItems: 50 + minItems: 1 + items: + $ref: "#/definitions/BatchAddSubscriptionsRequestBody" + type: "object" + AddSubscriptionResponseBody: + required: + - "request_id" + - "subscription_urn" + properties: + request_id: + description: "Specifies the request ID, which is unique." + type: "string" + example: "fdbabe38ead6482b8574f82a3d1168e9" + subscription_urn: + description: "Specifies the resource identifier of a subscription, which is unique." + type: "string" + example: >- + urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837 + CancelSubscriptionResponseBody: + required: + - "request_id" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + example: "fdbabe38ead6482b8574f82a3d1168e9" + UpdateSubscriptionRequestBody: + type: "object" + required: + - "remark" + properties: + remark: + type: "string" + description: "Specifies the subscriber remarks. The subscriber remarks can contain up to 128 bytes." + example: "test remark" + minLength: 1 + maxLength: 128 + UpdateSubscriptionResponseBody: + type: "object" + required: + - "request_id" + - "subscription_urn" + properties: + request_id: + type: "string" + description: "Specifies the unique request ID." + example: "fdbabe38ead6482b8574f82a3d1168e9" + subscription_urn: + type: "string" + description: "Specifies the resource identifier of a subscription, which is unique." + example: >- + urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837 + PublishMessageRequestBody: + properties: + subject: + type: "string" + description: "Specifies the message subject, which is used as the email subject when you publish email messages. The length of the subject cannot exceed 512 bytes." + example: "test message v2" + message: + type: "string" + description: >- + Message content. The message content must be UTF-8-coded and can be no more than 256 KB. If the endpoint is a phone number, the maximum length of an SMS message is 490 characters, or the message may be intercepted. The SMS message cannot contain square brackets ([]).Note:The message sending modes inclue **message**, **message_structure**, and **message_template_name**.Set at least one of them. If you set all of them, they take effect in the following sequence:**message_structure** > **message_template_name** > **message** + example: "Message test message v2" + message_structure: + type: "string" + description: >- + Message structure, which is a JSON string. The options are **email**, **sms**, **http**, **https**, **functiongraph**, **functionstage**, **dingding**, **wechat**, **feishu**, **welink**, and **dingTalkBot**. The **default** protocol is mandatory. If the system fails to match any other protocols, the message using the **default** protocol is sent.- The **msgType** field must be specified for messages of the DingTalk chatbot, WeCom chatbot, Lark chatbot, dingTalkBot, or WeLink protocol. The value of **msgType** can be **text** or **markdown** for the DingTalk, WeCom, or Lark chatbot protocol, and the value can only be **text** for WeLink.- For details about the message length limit for the WeCom chatbot, see the official documentation.- For the DingTalk chatbot protocol, SMN supports the @ group member function through the **at** field. When you need to @ group members, set **isAtAll** to **true**. You can enter the phone numbers of group members you want to @ for the **atMobiles** field or enter the DingTalk user IDs of group members you want to @ for the **atUserIds** field. When you use the **atMobiles** or **atUserIds** field, add **@** before each phone number or user ID in the message content. For details about the display effect, see the official DingTalk documentation. A DingTalk group chatbot message cannot exceed 20,000 bytes. For details, see the official DingTalk documentation.- In the Lark chatbot protocol, the title background color of markdown messages can be customized via the **color** field. For details about the supported **color** fields, see the official documentation. A Lark group chatbot message cannot exceed 30 KB. For details, see the official Lark documentation.- For details about the message length limit for dingTalkBot messages, see the official documentation.Note:The message sending modes include **message**, **message_structure**, and **message_template_name**.Set at least one of them. If you set all of them, they will be applied in the following sequence:**message_structure** > **message_template_name** > **message** + example: >- + { "default": "Message structure test message v2", "sms": "Message structure test message v2", "email": "Message structure test message v2", "wechat": "{\"msgtype\":\"text\",\"text\":{\"content\":\"Message structure test message v2\"}}", "dingding": "{\"msgtype\":\"markdown\",\"at\":{\"atMobiles\": [\"15XXXXXX\"],\"atUserIds\": [\"1234567XXX\"],\"isAtAll\": true},\"markdown\":{\"content\":\"Message structure test message v2 @15XXXXXX @1234567XXX\",\"title\":\"Message structure title\"}}", "feishu": "{\"msgtype\":\"markdown\",\"color\":\"blue\",\"markdown\":{\"content\":\"Message structure test message v2\"}}", "welinkRed": "{\"msgtype\":\"text\",\"text\":{\"content\":\"Message structure test message v2\"}}", "http": "Message structure test message v2", "https": "Message structure test message v2", "dingTalkBot": "{\"msgtype\":\"markdown\",\"markdown\":{\"content\":\"Message structure test message v2 dingTalkBot markdown\",\"title\":\"Message structure title\"}}", "functionstage": "Message structure test message v2" } + message_template_name: + type: "string" + description: >- + Message template name. To obtain the name, see [Querying Message Templates] (ListMessageTemplates.xml).Note:The message sending modes inclue **message**, **message_structure**, and **message_template_name**.Set at least one of them. If you set all of them, they take effect in the following sequence:**message_structure** > **message_template_name** > **message** + example: "confirm_message" + tags: + type: "object" + additionalProperties: + type: "string" + description: "Specifies the dictionary consisting of variable parameters and values. The value cannot be left blank. This parameter is mandatory when you use a message template to publish messages. The key in the dictionary is the parameter name in the message template and contains a maximum of 21 characters. The value in the dictionary is the value after the key in the message template is replaced. The value cannot exceed 1 KB." + example: + topic_urn: "topic_urn3331" + topic_id: "topic_id3332" + time_to_live: + type: "string" + description: "Specifies the maximum retention period of a message in SMN. After the retention period expires, SMN does not send this message. Unit: second Default value: 3600s (one hour) The retention period must be a positive integer less than or equal to 86,400 (3600 x 24)." + example: "3600" + message_attributes: + type: "array" + items: + $ref: "#/definitions/MessageAttribute" + description: "Specifies the message attribute list." + minItems: 0 + maxItems: 10 + locale: + type: "string" + description: "Language of the additional system content in messages sent by SMN. If this parameter is not specified, language settings for the account are used. The value is the language supported by the site, for example, zh-cn or en-us." + example: "zh-cn" + type: "object" + PublishMessageResponseBody: + required: + - "request_id" + - "message_id" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + example: "9974c07f6d554a6d827956acbeb4be5f" + message_id: + type: "string" + description: "Specifies the message ID, which is unique." + example: "bf94b63a5dfb475994d3ac34664e24f2" + ListInstanceRequestBody: + required: + - "action" + properties: + tags: + type: "array" + description: >- + A maximum of 10 tag keys are allowed in each query operation. Each tag key can have up to 10 tag values. The structure body is mandatory. The tag key cannot be left blank or be an empty string. Each tag key and tag values of one key must be unique. Resources identified by different keys are in AND relationship. + items: + $ref: "#/definitions/ResourceTags" + example: + - key: "key1" + values: + - "*value1" + - "value2" + tags_any: + type: "array" + description: >- + A maximum of 10 tag keys are allowed in each query operation. Each tag key can have up to 10 tag values. The structure body is mandatory. The tag key cannot be left blank or be an empty string. Each tag key and tag values of one key must be unique. Resources identified by different keys are in OR relationship. + items: + $ref: "#/definitions/ResourceTags" + example: + - key: "key1" + values: + - "value1" + - "value2" + not_tags: + type: "array" + description: >- + A maximum of 10 tag keys are allowed in each query operation. Each tag key can have up to 10 tag values. The structure body is mandatory. The tag key cannot be left blank or be an empty string. Each tag key and tag values of one key must be unique. Resources identified by different keys are in NAND relationship. + items: + $ref: "#/definitions/ResourceTags" + example: + - key: "key1" + values: + - "*value1" + - "value2" + - key: "key2" + values: + - "*value21" + - "value22" + not_tags_any: + type: "array" + description: >- + A maximum of 10 tag keys are allowed in each query operation. Each tag key can have up to 10 tag values. The structure body is mandatory. The tag key cannot be left blank or be an empty string. Each tag key and tag values of one key must be unique. Resources identified by different keys are in NOR relationship. + items: + $ref: "#/definitions/ResourceTags" + example: + - key: "key1" + values: + - "value1" + - "value2" + offset: + type: "string" + description: >- + Specifies the index position. The query starts from the next data record indexed by this parameter. You do not need to specify this parameter when you query resources on the first page. When you query resources on subsequent pages, set this parameter to the location returned in the response body for the previous query.If action is set to count, this parameter does not take effect.If you set action to filter, the offset value is 0 by default. The offset value cannot be a negative integer. + example: 0 + default: 0 + limit: + type: "string" + description: |- + Specifies the maximum number of resources to be queried. + + If action is set to count, this parameter does not take effect. + + If you set action to filter, the value of this parameter is 1000 by default. The maximum value of limit is 1000 and the minimum value is 1. + example: 1000 + default: 1000 + action: + type: "string" + description: |- + Specifies the operation to be performed. The value can be filter (filtering) or count (querying the total number). + filter indicates pagination query. count indicates that the total number of query results meeting the search criteria will be returned. + example: "filter" + matches: + type: "array" + description: |- + Specifies the key-value pair to be matched. + + The key can only be resource_name. + + The value will be exactly matched. + items: + $ref: "#/definitions/TagMatch" + example: + - key: "resource_name" + value: "resource1" + without_any_tag: + type: "boolean" + description: "No tag is contained. If this parameter is set to **true**, all resources without tags are queried. In this case, the **tags**, **tags_any**, **not_tags**, and **not_tags_any** fields are ignored." + example: true + type: "object" + ListInstancesResponseBody: + required: + - "total_count" + - "resources" + properties: + resources: + type: "array" + description: "Specifies the returned resource list." + items: + $ref: "#/definitions/TagResource" + total_count: + type: "integer" + format: "int32" + description: "Specifies the total number of records." + BatchCreateOrDeleteResourceTagsRequestBody: + required: + - "tags" + - "action" + properties: + tags: + type: "array" + description: "Specifies the tag list. For details, see table 1. When you delete tags, the tag structure cannot be missing, and the key cannot be left blank or be an empty string. The system does not check the character set when deleting a tag." + items: + $ref: "#/definitions/ResourceTag" + action: + type: "string" + description: "Specifies the operation to be performed. The value can be create or delete only." + example: "create" + CreateResourceTagRequestBody: + required: + - "tag" + properties: + tag: + description: "Specifies the resource tag structure." + $ref: "#/definitions/ResourceTag" + type: "object" + ListResourceTagsRequestBody: + required: + - "tags" + properties: + tags: + type: "array" + description: "Specifies resource tags." + items: + $ref: "#/definitions/ResourceTag" + ListProjectTagsRequestBody: + required: + - "tags" + properties: + tags: + type: "array" + description: "Specifies resource tags." + items: + $ref: "#/definitions/ResourceTags" + CreateMessageTemplateRequestBody: + required: + - "message_template_name" + - "content" + - "protocol" + properties: + message_template_name: + type: "string" + description: "Specifies the template name. Enter 1 to 64 characters, and start with a letter or digit. Only letters, digits, hyphens (-), and underscores (_) are allowed." + example: "confirm_message" + protocol: + type: "string" + description: |- + Specifies the protocol supported by the template. + + The following protocols are supported: + + default + + email + + sms + + functionstage + + http and https + example: "https" + content: + type: "string" + description: "Specifies the template content, which supports plain text only. The template content cannot be left blank or larger than 256 KB." + example: >- + (1/2)You are invited to subscribe to topic({topic_id}). Click the following URL to confirm subscription:(If you do not want to subscribe to this topic, ignore this message.) + CreateMessageTemplateResponseBody: + required: + - "request_id" + - "message_template_id" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + example: "ca03efa691624d8eb2dfeba01a1bcf6e" + message_template_id: + type: "string" + description: "Specifies the resource identifier of the template, which is unique." + example: "57ba8dcecda844878c5dd5815b65d10f" + UpdateMessageTemplateRequestBody: + required: + - "content" + properties: + content: + type: "string" + description: "Specifies the template content." + example: >- + (1/22)You are invited to subscribe to topic({topic_id_id1}). Click the following URL to confirm subscription:(If you do not want to subscribe to this topic, ignore this message.) + UpdateMessageTemplateResponseBody: + required: + - "request_id" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + example: "5fcba32bd2814ea39431829c22bda94b" + DeleteMessageTemplateResponseBody: + required: + - "request_id" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + example: "5fcba32bd2814ea39431829c22bda94b" + ListMessageTemplatesResponseBody: + required: + - "request_id" + - "message_template_count" + - "message_templates" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + example: "5fcba32bd2814ea39431829c22bda94b" + message_template_count: + type: "integer" + description: "Specifies the number of returned templates." + example: 3 + message_templates: + type: "array" + description: "Specifies the Message_template structure array." + items: + $ref: "#/definitions/MessageTemplate" + ListMessageTemplateDetailsResponseBody: + required: + - "message_template_id" + - "message_template_name" + - "protocol" + - "tag_names" + - "create_time" + - "update_time" + - "content" + - "request_id" + properties: + message_template_id: + type: "string" + description: "Specifies the template ID." + example: "57ba8dcecda844878c5dd5815b65d10f" + message_template_name: + type: "string" + description: "Specifies the template name." + example: "confirm_message" + protocol: + type: "string" + description: |- + Specifies the protocol supported by the template. + + The following protocols are supported: + + default + + email + + sms + + functionstage + + http and https + example: "https" + tag_names: + type: "array" + description: |- + Specifies the variable list. + + The variable name will be quoted in braces ({}) in the template. When you use a template to send messages, you can replace the variable with any content. + items: + type: "string" + example: + - "topic_id_id4" + create_time: + type: "string" + description: "Specifies when the template was created. The UTC time is in YYYY-MM-DDTHH:MM:SSZ format." + example: "2016-08-02T08:22:20Z" + update_time: + type: "string" + description: "Specifies the last time when the template was updated. The UTC time is in YYYY-MM-DDTHH:MM:SSZ format." + example: "2016-08-02T08:22:25Z" + content: + type: "string" + description: "Specifies the template content." + example: >- + (1/24)You are invited to subscribe to topic({topic_id_id4}). Click the following URL to confirm subscription:(If you do not want to subscribe to this topic, ignore this message.) + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + example: "ba79ca8f794f4f50985ce7b98a401b47" + UpdateTopicAttributeRequestBody: + required: + - "value" + properties: + value: + type: "string" + description: |- + 1. If you set name to access_policy, value is the topic attribute, and the maximum length of value is 30 KB. + + 2. If you set name to introduction, value is the topic introduction, and the maximum length of value is 120 bytes. + example: >- + "{\"Version\": \"2016-09-07\", \"Id\": \"__default_policy_ID\", \"Statement\": [{\"Sid\": \"__user_pub_0\",\"Effect\": \"Allow\",\"Principal\": {\"CSP\": [\"urn:csp:iam::93dc1b4697ac493d9b7d089569f86b32:root\"]},\"Action\": [\"SMN:Publish\",\"SMN:QueryTopicDetail\"],\"Resource\": \"urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:zhaoli\"},{\"Sid\": \"__service_pub_0\", \"Effect\": \"Allow\",\"Principal\": {\"Service\": [\"obs\"]},\"Action\": [\"SMN:Publish\",\"SMN:QueryTopicDetail\"],\"Resource\": \"urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:zhaoli\"}]}" + TopicAttribute: + type: "object" + properties: + access_policy: + description: "Specifies the access policy of a topic." + example: "{\\\"Version\\\":\\\"2016-09-07\\\",\\\"Id\\\":\\\"__default_policy_ID\\\",\\\"Statement\\\":[{\\\"Sid\\\":\\\"__user_pub_0\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Principal\\\":[{\\\"CSP\\\":[\\\"urn:csp:iam::93dc1b4697ac493d9b7d089569f86b32:root\\\"]}],\\\"Action\\\":[\\\"SMN:Publish\\\",\\\"SMN:QueryTopicDetail\\\"],\\\"Resource\\\":\\\"urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:aaa\\\"},{\\\"Sid\\\":\\\"__org_path_pub_0\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Principal\\\":{\\\"OrgPath\\\":[\\\"o-bf966fe82ebb4d35d68b791729228788/r-001ebf32880a13eabfc8e1c37eee3ae9/ou-0dbfffe92fd92ddb35feff9b4079459c\\\"]},\\\"Action\\\":[\\\"SMN:Publish\\\",\\\"SMN:QueryTopicDetail\\\"],\\\"Resource\\\":\\\"urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:aaa\\\"},{\\\"Sid\\\":\\\"__service_pub_0\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Principal\\\":{\\\"Service\\\":[\\\"obs\\\"]},\\\"Action\\\":[\\\"SMN:Publish\\\",\\\"SMN:QueryTopicDetail\\\"],\\\"Resource\\\":\\\"urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:aaa\\\"}]}" + type: "string" + introduction: + type: "string" + description: "Specifies the introduction to a topic." + example: "Introduction to a topic" + MessageTemplate: + required: + - "message_template_id" + - "message_template_name" + - "protocol" + - "tag_names" + - "create_time" + - "update_time" + properties: + message_template_id: + type: "string" + description: "Specifies the template ID." + example: "79227dfdf88d4e52a1820ca1eb411635" + message_template_name: + type: "string" + description: "Specifies the template name." + example: "confirm_message" + protocol: + type: "string" + description: |- + Specifies the protocol supported by the template. + + The following protocols are supported: + + email + + sms + + functionstage + + http and https + example: "https" + tag_names: + type: "array" + description: "Specifies the variable list." + example: + - "topic_urn" + items: + type: "string" + create_time: + type: "string" + description: "Specifies when the template was created. The UTC time is in YYYY-MM-DDTHH:MM:SSZ format." + example: "2016-08-02T08:22:18Z" + update_time: + type: "string" + description: "Specifies the last time when the template was updated. The UTC time is in YYYY-MM-DDTHH:MM:SSZ format." + example: "2016-08-02T08:22:18Z" + ResourceTag: + required: + - "key" + - "value" + properties: + key: + type: "string" + description: |- + Specifies the key field to be matched. + + key can only be resource_name. In such a case, value is the ECS name. + + - The key must be unique, and the value is used for matching. + + - The key field is a fixed dictionary value. + + - key cannot be left blank. + example: "key" + value: + type: "string" + description: |- + Specifies the value. + + key can only be resource_name. In such a case, value is the ECS name. + + - It can contain a maximum of 255 Unicode characters. + + - This field cannot be left blank. + example: "value" + description: "Specifies the resource tag structure." + ResourceTags: + required: + - "key" + - "values" + properties: + key: + type: "string" + description: |- + Specifies the tag key. + + - A key can contain a maximum of 127 Unicode characters. + + - key must be specified. + values: + type: "array" + description: |- + Specifies the tag values. + + - Each tag contains a maximum of 10 values. + + - Values of the same tag must be unique. + + - It can contain a maximum of 255 Unicode characters. + + - If this parameter is left blank, any value can be used. + + - All values of a tag key are in the OR relationship. + items: + type: "string" + description: "Specifies the structure of the resource tag list." + TagMatch: + required: + - "key" + - "value" + properties: + key: + type: "string" + description: |- + Specifies the key field to be matched. + + key can only be resource_name. In such a case, value is the ECS name. + + - The key must be unique, and the value is used for matching. + + - The key field is a fixed dictionary value. + + - key cannot be left blank. + value: + type: "string" + description: |- + Specifies the value. + + key can only be resource_name. In such a case, value is the ECS name. + + - It can contain a maximum of 255 Unicode characters. + + - This field cannot be left blank. + description: "Specifies the search field, which is used to search for resources." + TagResource: + required: + - "resource_detail" + - "resource_id" + - "resource_name" + - "tags" + properties: + resource_id: + type: "string" + description: "Specifies the resource ID." + resource_detail: + description: "Specifies the resource details." + $ref: "#/definitions/ResourceDetail" + tags: + type: "array" + description: "Specifies the list of tags." + items: + $ref: "#/definitions/ResourceTag" + resource_name: + type: "string" + description: "Specifies the resource name." + description: "Specifies the resource structure." + ResourceDetail: + required: + - "enterprise_project_id" + - "detailId" + - "topic_urn" + - "display_name" + properties: + enterprise_project_id: + type: "string" + description: "Specifies the enterprise project ID." + example: "0" + detailId: + type: "string" + description: "Specifies the details ID." + example: "urn:smn:br-iaas-odin1:0605767f6f00d5762ff9c001c70e7359:test_etcd" + topic_urn: + type: "string" + description: "Specifies the unique identifier of the topic." + example: "urn:smn:br-iaas-odin1:0605767f6f00d5762ff9c001c70e7359:sssss" + display_name: + type: "string" + description: "Specifies the display name." + example: "sssssss" + FailedResp: + required: + - "request_id" + - "code" + - "message" + properties: + request_id: + type: "string" + description: "Specifies the request ID, which is unique." + example: "6a63a18b8bab40ffb71ebd9cb80d0085" + code: + type: "string" + description: "Specifies the error code." + example: "SMN.0167" + message: + type: "string" + description: "Describes the error message." + example: "xxxxxxxx" + VersionItem: + required: + - "id" + - "min_version" + - "status" + - "updated" + - "version" + - "links" + properties: + id: + type: "string" + description: "Specifies the version ID, for example, v2." + example: "v2" + min_version: + type: "string" + description: "Specifies the microversion. If the API supports microversions, the system returns the supported minimum microversion. If no, the system returns an empty value." + example: "" + status: + type: "string" + description: |- + Specifies the version status. + + CURRENT: The version is the primary version. + + SUPPORTED: The version is an earlier version, but it is still supported. + + DEPRECATED: The version is a deprecated version, which may be deleted later. + updated: + type: "string" + description: "Specifies the version release time, which must be a UTC time. For example, the release time of v2 is 2014-06-28T12:20:21Z." + version: + type: "string" + description: "Specifies the microversion. If the API supports microversions, the system returns the supported minimum microversion. If no, the system returns an empty value." + links: + type: "array" + description: "Specifies the API URL." + items: + $ref: "#/definitions/LinksItem" + LinksItem: + required: + - "href" + - "rel" + properties: + href: + type: "string" + description: "Specifies the corresponding shortcut link." + rel: + type: "string" + description: "Specifies the shortcut link marker name." + ListTopicsItem: + required: + - "topic_urn" + - "name" + - "display_name" + - "push_policy" + - "enterprise_project_id" + - "topic_id" + properties: + topic_urn: + type: "string" + description: "Specifies the resource identifier of the topic, which is unique." + name: + type: "string" + description: "Specifies the topic name." + display_name: + type: "string" + description: "Specifies the topic display name, which is presented as the name of the email sender in email messages." + push_policy: + type: "integer" + description: "Specifies the message push policy. 0 indicates that the message sending fails and the message is cached in the queue. 1 indicates that the failed message is discarded." + enterprise_project_id: + type: "string" + description: "Specifies the enterprise project ID." + topic_id: + type: "string" + description: "Specifies the topic ID." + type: "object" + ListSubscriptionsItem: + required: + - "topic_urn" + - "protocol" + - "subscription_urn" + - "owner" + - "endpoint" + - "remark" + - "status" + properties: + topic_urn: + type: "string" + description: "Specifies the resource identifier of the topic, which is unique." + protocol: + type: "string" + description: |- + Specifies the subscription protocol. (Different protocols indicate different types of endpoints to receive messages.) The following protocols are supported: + + default + + email: The endpoints are email addresses. + + sms: The endpoints are phone numbers. + + functionstage: FunctionGraph (function) transmission protocol. The endpoints are functions. + + http and https: The endpoints are URLs. + subscription_urn: + type: "string" + description: "Specifies the resource identifier of a subscription, which is unique." + owner: + type: "string" + description: "Specifies the project ID of the topic creator." + endpoint: + type: "string" + description: "Specifies the message receiving endpoint." + remark: + type: "string" + description: "Specifies the remarks." + status: + type: "integer" + description: "0 indicates that the subscription is not confirmed. 1 indicates that the subscription is confirmed. 3 indicates that the subscription is canceled." + filter_polices: + items: + $ref: "#/definitions/SubscriptionsFilterPolicy" + type: "array" + type: "object" + FailedResponse: + properties: + request_id: + type: "string" + example: "03b945d8b8cd46918ac5b7d4ec205be6" + description: "Specifies the unique ID of a request." + error_code: + type: "string" + example: "SMN.0156" + description: "Specifies the error code." + error_msg: + type: "string" + description: "Specifies the error message." + example: "Parameter: SmsTemplateName is invalid." + required: + - "request_id" + - "error_code" + - "error_msg" + LogtankItem: + type: "object" + description: "Specifies the cloud log." + required: + - "id" + - "log_group_id" + - "log_stream_id" + - "create_time" + - "update_time" + properties: + id: + type: "string" + description: "Specifies the resource identifier of the cloud log, which is unique." + example: "4ea80c8a68b840e19b4efd3a8f0d62ed" + minLength: 32 + maxLength: 32 + log_group_id: + type: "string" + description: "Specifies the LTS log group ID." + minLength: 36 + maxLength: 36 + example: "d1b6c352-ee45-4196-9230-c74b7894e356" + log_stream_id: + type: "string" + description: "Specifies the LTS log stream ID." + minLength: 36 + maxLength: 36 + example: "114960b4-1c26-48dd-93c2-4caae24aec49" + create_time: + type: "string" + description: "Specifies the creation time. The UTC time is in YYYY-MM-DDTHH:MM:SSZ format." + example: "2022-10-10T09:00:00Z" + update_time: + type: "string" + description: "Specifies the update time. The UTC time is in YYYY-MM-DDTHH:MM:SSZ format." + example: "2022-10-10T09:00:00Z" + CreateLogtankRequestBody: + description: "Specifies the request body for creating a cloud log." + properties: + log_group_id: + type: "string" + description: "Specifies the LTS log group ID." + example: "d1b6c352-ee45-4196-9230-c74b7894e356" + minLength: 36 + maxLength: 36 + log_stream_id: + type: "string" + description: "Specifies the LTS log stream ID." + example: "114960b4-1c26-48dd-93c2-4caae24aec49" + minLength: 36 + maxLength: 36 + required: + - "log_group_id" + - "log_stream_id" + type: "object" + CreateLogtankResponseBody: + type: "object" + description: "Specifies the response body for creating a cloud log." + required: + - "request_id" + - "id" + properties: + request_id: + type: "string" + description: "Specifies the unique ID of a request." + example: "42f3b0cd1c894e87aa0275ce33305b21" + minLength: 32 + maxLength: 32 + id: + type: "string" + description: "Specifies the resource identifier of the cloud log, which is unique." + example: "4ea80c8a68b840e19b4efd3a8f0d62ed" + minLength: 32 + maxLength: 32 + DeleteLogtankResponseBody: + type: "object" + description: "Specifies the response body for deleting a cloud log." + required: + - "request_id" + properties: + request_id: + type: "string" + description: "Specifies the unique ID of a request." + example: "fe5cec832a5249169d433b6b0b5902a3" + minLength: 32 + maxLength: 32 + UpdateLogtankRequestBody: + description: "Specifies the request body for updating a cloud log." + properties: + log_group_id: + type: "string" + description: "Specifies the LTS log group ID." + example: "d1b6c352-ee45-4196-9230-c74b7894e356" + minLength: 36 + maxLength: 36 + log_stream_id: + type: "string" + description: "Specifies the LTS log stream ID." + example: "114960b4-1c26-48dd-93c2-4caae24aec49" + minLength: 36 + maxLength: 36 + type: "object" + required: + - "log_group_id" + - "log_stream_id" + UpdateLogtankResponseBody: + type: "object" + description: "Specifies the response body for updating a cloud log." + required: + - "request_id" + - "logtank" + properties: + request_id: + type: "string" + description: "Specifies the unique ID of a request." + example: "761bd2658f92411b9b01ae13e7961b11" + minLength: 32 + maxLength: 32 + logtank: + description: "Specifies the cloud log." + $ref: "#/definitions/LogtankItem" + GetLogtankListResponseBody: + type: "object" + description: "Specifies the response body for querying cloud logs." + required: + - "request_id" + - "count" + - "logtanks" + properties: + request_id: + type: "string" + description: "Specifies the unique ID of a request." + example: "f5c05cb70d264ca58d1080202ceba284" + count: + type: "integer" + format: "int32" + description: "Specifies the number of cloud logs." + example: 1 + logtanks: + type: "array" + items: + $ref: "#/definitions/LogtankItem" + description: "Specifies cloud logs." + SubscriptionExtension: + type: "object" + properties: + client_id: + type: "string" + description: "Specifies the application ID. This field is mandatory when you set **protocol** to **welink**. Obtain the value from WeLink." + example: "202209081117015156XXXXX" + minLength: 1 + maxLength: 64 + client_secret: + type: "string" + description: "Specifies the application secret. This field is mandatory when you set **protocol** to **welink**. Obtain the value from WeLink." + example: "fa7f59b7-6e72-4734-a136-ecb582XXXXX" + minLength: 1 + maxLength: 64 + keyword: + type: "string" + description: "Specifies the keyword. When you set **protocol** to **feishu**, you must set either **keyword** or **sign_secret**. When you add a keyword for security verification on the Lark chatbot or a custom DingTalk chatbot, **keyword** must be one of the keywords you entered for the Lark chatbot or the custom DingTalk chatbot." + example: "XXX" + minLength: 0 + maxLength: 20 + sign_secret: + type: "string" + description: "Specifies the key. When you set **protocol** to **feishu**, you must set either this parameter or **keyword**. The value of this parameter must be the same as that you customized for the Lark chatbot or the custom DingTalk chatbot. For example, if you set only **key** for the Lark chatbot, enter the value of **key**. If you set only **keyword** for the Lark chatbot, skip this field." + example: "XXX-XXXX" + minLength: 0 + maxLength: 256 + header: + type: "object" + additionalProperties: + type: "string" + description: |- + This is an HTTP header field, which can be customized within the field range. The field content exists in the form of key/value pairs. When a topic is used to send messages, confirmed subscription messages carry the user-defined HTTP header. + Header for subscriptions over HTTP or HTTPS. The header must meet the following requirements: + **key** can contain letters, digits, and hyphens (-). **key** cannot end with a hyphen (-) nor contain consecutive hyphens (-). + You can specify up to 10 key/value pairs. + **key** must start with **x-**but not **x-smn**. Examples: **x-abc-cba** or **x-abc** + The total length of all key/value pairs cannot exceed 1,024 characters. + **key** is case insensitive. + **key** must be unique. + **value** must be an ASCII code. Unicode characters are not supported. Spaces are allowed. + example: "\"header\": { \t\t\t\t\t\"x-abc-cba\": \"Value1\", \t\t\t\t\t\"x-abc\": \"Value2\" \t\t\t\t}" + app_key: + type: "string" + description: "The **appKey** field of DingTalk can contain a maximum of 64 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. This parameter is mandatory when the protocol is set to **dingTalkBot**." + app_secret: + type: "string" + description: "The **appSecret** field of DingTalk can contain a maximum of 128 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. This parameter is mandatory when the protocol is set to **dingTalkBot**." + robot_code: + type: "string" + description: "The **robotCode** field of DingTalk can contain a maximum of 64 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. Generally, the value is the same as that of **appKey**. This parameter is mandatory when the protocol is set to **dingTalkBot**." + HttpDetectRequestBody: + type: "object" + description: "Specifies the request parameters for HTTP detections, including the **protocol**, **endpoint**, and **extension** fields." + required: + - "protocol" + - "endpoint" + properties: + protocol: + type: "string" + example: "http" + description: "Specifies the protocol type. Only **http** and **https** are supported. This field cannot be left blank." + enum: + - "http" + - "https" + endpoint: + type: "string" + example: "http://172.20.0.51:32000/http_notify" + description: "Specifies the endpoint address to be detected. The address must start with **http://** or **https://** and cannot be left blank." + pattern: "^(http|https)://.*$" + extension: + description: "Specifies the extended information for subscriptions over HTTP or HTTPS. You can specify multiple key/value pairs for the HTTP or HTTPS protocol. These key/value pairs will be carried as the request header when HTTP or HTTPS messages are sent. **extension** can be left blank. **header** can be left blank." + properties: + header: + description: |- + Specifies the header for subscriptions over HTTP or HTTPS. The header must meet the following requirements: + 1. **key** can contain letters, digits, and hyphens (-). **key** cannot end with a hyphen (-) nor contain consecutive hyphens (-). + 2. You can specify up to 10 key/value pairs. + 3. **key** must start with **x-**but not **x-smn**. Examples: **x-abc-cba** or **x-abc** + 4. The total length of all key/value pairs cannot exceed 1,024 characters. + 5. **key** is case insensitive. + 6. **key** must be unique. + 7. **value** must be an ASCII code. Unicode characters are not supported. Spaces are allowed. + additionalProperties: + type: "string" + type: "object" + example: "{\"x-abc\": \"1213\", \"x-abc-cba\": \"test2\"}" + example: "{\"header\": {\"x-abc\": \"1213\", \t\"x-abc-cba\": \"test2\"} } " + PostHTTPDetectResponseBody: + type: "object" + description: "Specifies the response body indicating that the HTTP detection was successfully sent." + properties: + request_id: + type: "string" + example: "adc82efa7e0042899722531681b1959a" + description: "Specifies the request ID." + task_id: + type: "string" + example: "adc82efa7e0042899722531681b1959a" + description: "Specifies the detection task ID." + GetHttpDetectResponseBody: + type: "object" + description: "Specifies the detection result of the HTTP endpoint." + required: + - "detail" + - "status" + - "request_id" + properties: + detail: + description: "Specifies the endpoint detection details." + required: + - "httpCode" + - "httpResponse" + properties: + httpCode: + type: "integer" + format: "int32" + example: 200 + description: "Specifies the HTTP code returned by the endpoint detected. **0** indicates that the user was blacklisted. **-1** indicates that the endpoint did not respond within 5 seconds. **-2** indicates that the queue was full and the HTTP detection task was not executed. Other HTTP codes are the actual values returned by the endpoint." + httpResponse: + type: "string" + example: "Http endpoint is available." + description: "Specifies the response body for endpoint detection. If the HTTP code is **0**, **-1**, **-2**, or **2***xx*, the response body content is fixed and defined by SMN. If the HTTP code is not one of the values mentioned above, the response body content is the content returned by the endpoint." + status: + type: "integer" + format: "int32" + example: 0 + description: "Specifies the status of the HTTP detection task. **0** indicates that the task was successful and the endpoint was available. **1** indicates that the task was not executed. **2** indicates that the task failed and the endpoint was unavailable." + enum: + - 0 + - 1 + - 2 + request_id: + type: "string" + example: "2a13af94ada84f06817afabfe35b89de" + description: "Specifies the request ID." + SubscriptionsFilterPolicy: + type: "object" + description: "Specifies the filter policy." + properties: + name: + type: "string" + description: |- + Specifies the filter policy name. + **name** can contain 1 to 32 characters, including lowercase letters, digits, and underscores (_). **name** cannot start or end with an underscore, nor contain consecutive underscores. **name** cannot start with **smn_**. + minLength: 1 + maxLength: 32 + pattern: "^(?!smn_)(?!.*?_$)(?!^_)(?!.*?__)[a-z0-9_]{1,32}$" + string_equals: + type: "array" + description: "Specifies the string array for exact match. An array can contain 1 to 10 strings. The array content must be unique. The string cannot be **null** or an empty string \"\". A string can contain 1 to 32 characters, including letters, digits, and underscores (_)." + items: + type: "string" + minLength: 1 + maxLength: 32 + pattern: "^[\\u4E00-\\u9FA5A-Za-z0-9_]{1,32}$" + minItems: 1 + maxItems: 10 + required: + - "name" + - "string_equals" + BatchSubscriptionsFilterPolicesRequestBody: + type: "object" + required: + - "polices" + properties: + polices: + type: "array" + items: + properties: + subscription_urn: + type: "string" + description: "Specifies the resource identifier of the subscriber, which is unique. To obtain the resource identifier, see [Querying Subscribers](ListSubscriptions.xml)." + filter_polices: + type: "array" + items: + $ref: "#/definitions/SubscriptionsFilterPolicy" + description: "Specifies the message filter policies of a subscriber. The policy name must be unique." + minItems: 1 + maxItems: 5 + uniqueItems: true + required: + - "subscription_urn" + - "filter_polices" + description: "Specifies subscriber policies to be processed in batches." + minItems: 1 + maxItems: 100 + example: + subscriptions_filter_polices: + - subscription_urn: "urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837" + filter_polices: + - name: "alarm" + string_equals: + - "os" + - "process" + - name: "service" + string_equals: + - "api" + - "db" + description: |- + The **filter_polices** field is mandatory. A filtering policy can have a maximum of five attribute policies. + + **name** specifies the attribute name. The value can contain 1 to 32 characters and must comply with the regular expression ^(?!smn_)(?!.*?_$)(?!^_)(?!.*?__)[a-z0-9_]{1,32}$. Lowercase letters, digits, and underscores (_) are allowed. **name** cannot start or end with an underscore, nor contain consecutive underscores. + Character string matching policy: + **string_equals** specifies the strings for exact match. Type: string array. The array length is [1,10]. A string can contain 1 to 32 characters. Each string must be unique and cannot be left blank. + BatchDeleteSubscriptionsFilterPolicesRequestBody: + type: "object" + required: + - "subscription_urns" + properties: + subscription_urns: + type: "array" + items: + type: "string" + description: "Specifies the resource identifier of the subscriber, which is unique. To obtain the resource identifier, see [Querying Subscribers](ListSubscriptions.xml)." + minItems: 1 + maxItems: 100 + example: + subscription_urns: + - "urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837" + BatchSubscriptionsFilterPolicesResponseBody: + required: + - "request_id" + properties: + request_id: + type: "string" + description: "Specifies the unique request ID." + example: "fdbabe38ead6482b8574f82a3d1168e9" + batch_result: + items: + $ref: "#/definitions/BatchResult" + description: "Specifies the batch processing result." + type: "array" + type: "object" + MessageAttribute: + type: "object" + description: "Specifies the message attribute." + required: + - "name" + - "type" + - "value" + properties: + name: + type: "string" + description: "Specifies the attribute name. **name** can contain 1 to 32 characters, including only lowercase letters, digits, and underscores (_). **name** cannot start or end with an underscore, nor contain consecutive underscores." + example: "smn_protocol" + pattern: "^[a-z0-9](?!.*?_{2,})([a-z0-9_]{0,30}[a-z0-9])?$" + minLength: 1 + maxLength: 32 + type: + type: "string" + description: |- + Specifies the attribute type. The value can be one of the following: + **STRING** + **STRING_ARRAY** + **PROTOCOL** + example: "PROTOCOL" + enum: + - "STRING" + - "STRING_ARRAY" + - "PROTOCOL" + value: + type: "object" + description: |- + Specifies the attribute value. + When you set **type** to **STRING**, **value** can contain 1 to 32 characters, including only letters, digits, and underscores (_). + When you set **type** to **STRING_ARRAY**, **value** is an array containing 1 to 10 strings. Each string in the array must be unique. Each string in the array must contain 1 to 32 characters, including only letters, digits, and underscores (_). + When you set **type** to **PROTOCOL**, **value** is a string array of supported protocol types. + example: "[\"email\",\"sms\"]" + BatchResult: + type: "object" + properties: + code: + type: "string" + description: "Specifies the returned code." + message: + type: "string" + description: "Specifies the code message." + subscription_urn: + type: "string" + description: "Specifies the subscriber URN." + BatchAddSubscriptionsRequestBody: + type: "object" + required: + - "protocol" + - "endpoint" + properties: + protocol: + type: "string" + example: "email" + description: |- + Subscription protocol. (Different protocols indicate different types of endpoints to receive messages.) + The following protocols are supported: + + **email**: The endpoints are email addresses. + + **sms**: SMS transmission protocol. The endpoints are phone numbers. + + **functionstage**: FunctionGraph(function) transmission protocol. The endpoints are functions. + + **functiongraph**: FunctionGraph(workflow) transmission protocol. The endpoints are FunctionGraph workflows orchestrated by the FunctionGraph function. + + **http** and **https**: The endpoints are URLs. + + **callnotify**: Voice notification protocol. The endpoints are phone numbers. + + **wechat**: WeCom group chatbot transmission protocol. + + **dingding**: DingTalk group chatbot transmission protocol. + + **feishu**: Lark group chatbot transmission protocol. + + **welink**: WeLink group chatbot transmission protocol. + endpoint: + type: "string" + description: |- + Note: + + If you use the HTTP protocol, start the endpoint with **http://**. + + If you use the HTTPS protocol, start the endpoint with **https://**. + + If you use the email protocol, enter an email address. + + If you use the SMS protocol, enter a phone number. + + If you use the FunctionGraph (function) protocol, enter a function. + + If you use the FunctionGraph (workflow) protocol, enter a workflow. + + If you use the voice notification protocol, enter a phone number. + + If you use the DingTalk chatbot protocol, enter the webhook URL of a custom DingTalk group chatbot or **openConversationId** of a group to which an enterprise DingTalk chatbot is added. When you add **openConversationId**, do not start the endpoint with **http://** or **https://**. + + If you use the **wechat** protocol, enter the webhook URL of a WeCom group chatbot. + + If you use the**feishu** protocol, enter the webhook URL of a Lark group chatbot. + + If you use the **welink** protocol, enter a WeLink group number. + example: "xxx@example.com" + remark: + type: "string" + description: "Remarks. The remarks must be UTF-8-coded and can contain up to 128 bytes." + example: "O&M engineer A." + extension: + description: "Extended subscription information." + $ref: "#/definitions/SubscriptionExtension" + OpenAPIFailedResp: + required: + - "request_id" + - "code" + - "message" + properties: + request_id: + type: "string" + description: "Unique request ID." + example: "6a63a18b8bab40ffb71ebd9cb80d0085" + code: + type: "string" + description: "Service error code." + example: "SMN.0167" + message: + type: "string" + description: "Service error description." + example: "xxxxxxxx" + error_code: + type: "string" + description: "Service error code." + error_msg: + type: "string" + description: "Service error description." + encoded_authorization_message: + type: "string" + description: "Encrypted detailed reason for rejection. " + details: + description: "Details of the error message obtained by the cloud service when it calls the dependent service." + $ref: "#/definitions/OpenAPIFailedDetails" + type: "object" + OpenAPIFailedDetails: + properties: + error_code: + type: "string" + description: "Error code in the response of the dependent service called by the cloud service." + error_msg: + type: "string" + description: "Error message in the response of the dependent service called by the cloud service." + type: "object" +parameters: + X-Auth-Token: + name: "X-Auth-Token" + in: "header" + description: |- + Specifies a user token. + + It can be obtained by calling an IAM API. The value of X-Subject-Token in the response header is the user token. + required: true + type: "string" + x-example: "MIIDkgYJKoZIhvcNAQcCoIIDgzCCXXXXXX..." +x-iam-meta: + auth-schemas: + version: "v1" + actions: + - name: "smn:topic:create" + access_level: "write" + permission_only: false + description: + zh_CN: "Create a topic." + en_US: "Grants permission to create topic." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:RequestTag/" + - "g:TagKeys" + - name: "smn:topic:listTopic" + access_level: "list" + permission_only: false + aliases: + - "smn:topic:list" + description: + zh_CN: "Grant the permission to query the topic list." + en_US: "Grants permission to query topic list." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - name: "smn:topic:updateTopic" + access_level: "write" + permission_only: false + aliases: + - "smn:topic:update" + description: + zh_CN: "Grant the permission to update topic information." + en_US: "Grants permission to update topic." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + - name: "smn:topic:get" + access_level: "read" + permission_only: false + aliases: + - "smn:topic:list" + description: + zh_CN: "Grant the permission to query topic details." + en_US: "Grants permission to query topic detail." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + - name: "smn:topic:delete" + access_level: "write" + permission_only: false + description: + zh_CN: "Delete a topic." + en_US: "Grants permission to delete topic." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + - name: "smn:topic:listAttributes" + access_level: "list" + permission_only: false + aliases: + - "smn:topic:list" + description: + zh_CN: "Grant the permission to query topic policies." + en_US: "Grants permission to query topic policy." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + - name: "smn:topic:deleteAttribute" + access_level: "write" + permission_only: false + aliases: + - "smn:topic:update" + description: + zh_CN: "Grant the permission to delete topic policies." + en_US: "Grants permission to delete topic policy." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + - name: "smn:topic:updateAttribute" + access_level: "write" + permission_only: false + aliases: + - "smn:topic:update" + description: + zh_CN: "Grant the permission to update topic policies." + en_US: "Grants permission to update topic policy." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + condition_keys: + - "smn:TargetOrgPath" + - "smn:TargetOrgId" + - "smn:TargetAccountId" + - name: "smn:topic:subscribe" + access_level: "write" + permission_only: false + aliases: + - "smn:topic:update" + description: + zh_CN: "Grant the permission to create subscriptions in the topic." + en_US: "Grants permission to create subscription of topic." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + condition_keys: + - "smn:Protocol" + - "smn:Endpoint" + - name: "smn:topic:listSubscriptionsByTopic" + access_level: "list" + permission_only: false + aliases: + - "smn:topic:list" + description: + zh_CN: "Grant the permission to query the subscription list of a specified topic." + en_US: "Grants permission to list subscription of topic." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + - name: "smn:topic:listSubscriptions" + access_level: "list" + permission_only: false + aliases: + - "smn:topic:list" + description: + zh_CN: "Grant the permission to query the subscription list of all topics." + en_US: "Grants permission to list subscription of all topic." + resources: + - urn_template: "smn:::topic:" + required: true + - name: "smn:topic:deleteSubscription" + access_level: "write" + permission_only: false + aliases: + - "smn:topic:update" + description: + zh_CN: "Grant the permission to delete subscriptions from a specified topic." + en_US: "Grants permission to delete subscription of topic." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + - name: "smn:topic:updateSubscription" + access_level: "write" + permission_only: false + aliases: + - "smn:topic:update" + description: + zh_CN: "Grant the permission to update subscriptions in a specified topic." + en_US: "Grants permission to update subscription of topic." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + - name: "smn:topic:publish" + access_level: "write" + permission_only: false + description: + zh_CN: "Grant the permission to send messages." + en_US: "Grants permission to publish message." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + - name: "smn:template:create" + access_level: "write" + permission_only: false + description: + zh_CN: "Grant the permission to create a template." + en_US: "Grants permission to create template." + resources: + - urn_template: "smn:::template:" + required: true + - name: "smn:template:listTemplates" + access_level: "list" + permission_only: false + aliases: + - "smn:template:list" + description: + zh_CN: "Grant the permission to query the template list." + en_US: "Grants permission to list template." + resources: + - urn_template: "smn:::template:" + required: true + - name: "smn:template:update" + access_level: "write" + permission_only: false + description: + zh_CN: "Grant the permission to modify the template." + en_US: "Grants permission to update template." + resources: + - urn_template: "smn:::template:" + required: true + - name: "smn:template:get" + access_level: "read" + permission_only: false + aliases: + - "smn:template:list" + description: + zh_CN: "Grant the permission to query template details." + en_US: "Grants permission to query template detail." + resources: + - urn_template: "smn:::template:" + required: true + - name: "smn:template:delete" + access_level: "write" + permission_only: false + description: + zh_CN: "Grant the permission to delete templates." + en_US: "Grants permission to delete template." + resources: + - urn_template: "smn:::template:" + required: true + - name: "smn:tag:create" + access_level: "write" + permission_only: false + description: + zh_CN: "Grant the permission to create tags for a specified topic." + en_US: "Grants permission to create tag of topic." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + condition_keys: + - "g:RequestTag/" + - "g:TagKeys" + - name: "smn:tag:delete" + access_level: "write" + permission_only: false + aliases: + - "smn:tag:update" + description: + zh_CN: "Grant the permission to delete topic tags." + en_US: "Grants permission to delete tag of topic." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + condition_keys: + - "g:RequestTag/" + - "g:TagKeys" + - name: "smn:tag:batchModify" + access_level: "write" + permission_only: false + aliases: + - "smn:tag:update" + description: + zh_CN: "Grant the permission to modify topic tags in batches." + en_US: "Grants permission to batch modify tags of topic." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + condition_keys: + - "g:RequestTag/" + - "g:TagKeys" + - name: "smn:tag:list" + access_level: "read" + permission_only: false + description: + zh_CN: "Grant the permission to query topic tags." + en_US: "Grants permission to get tags of topic." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:ResourceTag/" + - name: "smn:topic:createLogTank" + access_level: "write" + permission_only: false + aliases: "smn:topic:update" + description: + zh_CN: "Grant the permission to associate log groups and log streams with a topic." + en_US: "Grants permission to bind logstream and loggroup of topic." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + - name: "smn:topic:listLogTank" + access_level: "list" + permission_only: false + aliases: + - "smn:topic:list" + description: + zh_CN: "Grant the permission to query log groups and log streams of a topic." + en_US: "Grants permission to get logstream and loggroup of topic." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + - name: "smn:topic:updateLogTank" + access_level: "write" + permission_only: false + aliases: + - "smn:topic:update" + description: + zh_CN: "Grant the permission to update the log group and log stream of the topic." + en_US: "Grants permission to list logstream and loggroup of topic." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + - name: "smn:topic:deleteLogTank" + access_level: "write" + permission_only: false + aliases: + - "smn:topic:update" + description: + zh_CN: "Grant the permission to remove the relationship between the log group and log stream of the topic." + en_US: "Grants permission to delete logstream and loggroup of topic." + resources: + - urn_template: "smn:::topic:" + required: true + condition_keys: + - "g:EnterpriseProjectId" + - "g:ResourceTag/" + - name: "smn:topic:createNotifyPolicy" + access_level: "write" + permission_only: false + description: + zh_CN: "Grants permissions to create a notification policy." + en_US: "Grants permission to create notify policy of topic" + resources: + - urn_template: "smn:::topic:" + required: true + - name: "smn:topic:updateNotifyPolicy" + access_level: "write" + permission_only: false + description: + zh_CN: "Grants permissions to modify a notification policy." + en_US: "Grants permission to update notify policy of topic" + resources: + - urn_template: "smn:::topic:" + required: true + - name: "smn:topic:getNotifyPolicy" + access_level: "read" + permission_only: false + description: + zh_CN: "Grants permissions to query a notification policy." + en_US: "Grants permission to query notify policy of topic" + resources: + - urn_template: "smn:::topic:" + required: true + - name: "smn:topic:deleteNotifyPolicy" + access_level: "write" + permission_only: false + description: + zh_CN: "Grants permissions to delete a notification policy." + en_US: "Grants permission to delete notify policy of topic" + resources: + - urn_template: "smn:::topic:" + required: true + resources: + - type_name: "topic" + urn_template: "smn:::topic:" + - type_name: "template" + urn_template: "smn:::template:" + conditions: + - key: "smn:TargetOrgPath" + value_type: "string" + multi_valued: false + description: + en_US: "Filters access based on the Organizations Path of the topic attributes." + zh_CN: "Path of the organization to which the topic policy is authorized." + - key: "smn:TargetOrgId" + value_type: "string" + multi_valued: false + description: + en_US: "Filters access based on the Organizations Id of the topic attributes." + zh_CN: "Specifies the ID of the organization to which the topic policy is authorized." + - key: "smn:TargetAccountId" + value_type: "string" + multi_valued: false + description: + en_US: "Filters access based on the Account Id of the topic attributes." + zh_CN: "Specifies the ID of the account authorized by the topic policy." + - key: "smn:Protocol" + value_type: "string" + multi_valued: false + description: + en_US: "Filters access subscription protocol." + zh_CN: "Specifies the subscription endpoint protocol." + - key: "smn:Endpoint" + value_type: "string" + multi_valued: false + description: + en_US: "Filters access subscription endpoint." + zh_CN: "Specifies the subscription endpoint address." + operations: + - operation_id: "CreateTopic" + operation_action: "smn:topic:create" + - operation_id: "ListTopics" + operation_action: "smn:topic:listTopic" + - operation_id: "UpdateTopic" + operation_action: "smn:topic:updateTopic" + - operation_id: "ListTopicDetails" + operation_action: "smn:topic:get" + - operation_id: "DeleteTopic" + operation_action: "smn:topic:delete" + - operation_id: "ListTopicAttributes" + operation_action: "smn:topic:listAttributes" + - operation_id: "DeleteTopicAttributes" + operation_action: "smn:topic:deleteAttribute" + - operation_id: "UpdateTopicAttribute" + operation_action: "smn:topic:updateAttribute" + - operation_id: "DeleteTopicAttributeByName" + operation_action: "smn:topic:deleteAttribute" + - operation_id: "AddSubscription" + operation_action: "smn:topic:subscribe" + - operation_id: "ListSubscriptionsByTopic" + operation_action: "smn:topic:listSubscriptionsByTopic" + - operation_id: "UpdateSubscription" + operation_action: "smn:topic:updateSubscription" + - operation_id: "CancelSubscription" + operation_action: "smn:topic:deleteSubscription" + - operation_id: "ListSubscriptions" + operation_action: "smn:topic:listSubscriptions" + - operation_id: "PublishMessage" + operation_action: "smn:topic:publish" + - operation_id: "CreateMessageTemplate" + operation_action: "smn:template:create" + - operation_id: "ListMessageTemplates" + operation_action: "smn:template:listTemplates" + - operation_id: "UpdateMessageTemplate" + operation_action: "smn:template:update" + - operation_id: "ListMessageTemplateDetails" + operation_action: "smn:template:get" + - operation_id: "DeleteMessageTemplate" + operation_action: "smn:template:delete" + - operation_id: "CreateResourceTag" + operation_action: "smn:tag:create" + - operation_id: "ListResourceTags" + operation_action: "smn:tag:list" + - operation_id: "BatchCreateOrDeleteResourceTags" + operation_action: "smn:tag:batchModify" + dependent_actions: + - "smn:tag:create" + - "smn:tag:delete" + - operation_id: "DeleteResourceTag" + operation_action: "smn:tag:delete" + - operation_id: "ListProjectTags" + operation_action: "smn:tag:list" + - operation_id: "ListResourceInstances" + operation_action: "smn:tag:list" + - operation_id: "ListLogtank" + operation_action: "smn:topic:listLogTank" + - operation_id: "CreateLogtank" + operation_action: "smn:topic:createLogTank" + - operation_id: "UpdateLogtank" + operation_action: "smn:topic:updateLogTank" + - operation_id: "DeleteLogtank" + operation_action: "smn:topic:deleteLogTank" + - operation_id: "BatchCreateSubscriptionsFilterPolices" + operation_action: "smn:topic:updateSubscription" + - operation_id: "BatchUpdateSubscriptionsFilterPolices" + operation_action: "smn:topic:updateSubscription" + - operation_id: "BatchDeleteSubscriptionsFilterPolices" + operation_action: "smn:topic:updateSubscription" + - operation_id: "AddSubscriptionFromSubscriptionUser" + operation_action: "smn:topic:subscribe" + - operation_id: "CreateNotifyPolicy" + operation_action: "smn:topic:createNotifyPolicy" + dependent_actions: + - "smn:topic:listSubscriptionsByTopic" + - operation_id: "UpdateNotifyPolicy" + operation_action: "smn:topic:updateNotifyPolicy" + dependent_actions: + - "smn:topic:listSubscriptionsByTopic" + - operation_id: "ShowNotifyPolicy" + operation_action: "smn:topic:getNotifyPolicy" + - operation_id: "DeleteNotifyPolicy" + operation_action: "smn:topic:deleteNotifyPolicy" + - operation_id: "ListTopicMessageStatistics" + operation_action: "smn:topic:get" + policies: + - type: "RegularSystemPolicy" + id: "SMNFullAccessPolicy" + name: "SMNFullAccessPolicy" + visible: true + description: + en_US: "All permissions of SMN service." + zh_CN: "All SMN permissions" + document: "{\"Version\":\"5.0\",\"Statement\":[{\"Action\":[\"smn:*:*\",\"eps:enterpriseProjects:list\"],\"Effect\":\"Allow\"}]}" + - type: "RegularSystemPolicy" + id: "SMNReadOnlyPolicy" + name: "SMNReadOnlyPolicy" + visible: true + description: + en_US: "The read-only permissions to all SMN resources." + zh_CN: "Read-only permissions for SMN" + document: "{\"Version\":\"5.0\",\"Statement\":[{\"Action\":[\"smn:*:get*\",\"smn:*:list*\",\"eps:enterpriseProjects:list\"],\"Effect\":\"Allow\"}]}" + - type: "ImpersonateSystemPolicy" + id: "SMNImpersonateLTSPolicy" + name: "SMNImpersonateLTSPolicy" + visible: false + description: + en_US: "LTS permissions for SMN service." + zh_CN: "LTS permissions required by SMN" + document: "{\"Version\":\"5.0\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"lts:logGroup:listLogGroup\",\"lts:logStream:listLogStream\"]}]}" + - type: "ImpersonateSystemPolicy" + id: "SMNImpersonateFunctionGraphPolicy" + name: "SMNImpersonateFunctionGraphPolicy" + visible: false + description: + en_US: "FunctionGraph workflow permissions for SMN service." + zh_CN: "Permissions for SMN to access FunctionGraph workflows" + document: "{\"Version\":\"5.0\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"functiongraph:workflow:getConfig\",\"functiongraph:workflow:list\"]}]}" + - type: "ImpersonateSystemPolicy" + id: "SMNImpersonateFunctionStagePolicy" + name: "SMNImpersonateFunctionStagePolicy" + visible: false + description: + en_US: "FunctionGraph function permissions for SMN service." + zh_CN: "Permissions for SMN to access FunctionGraph functions" + document: "{\"Version\":\"5.0\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"functiongraph:function:getFunctionConfig\",\"functiongraph:function:listFunctions\"]}]}" + services: + - service_principal: "service.SMN" + service_catalog: "SMN" + display_name: + zh_CN: "Simple Message Notification" + en_US: "Simple Message Notification" + description: + zh_CN: "Simple Message Notification" + en_US: "imple Message Notification" + binding_accounts: + - "op_svc_smn" + bindings: + - service_principal: "service.SMN" + internal_policies: + - "SMNImpersonateLTSPolicy" + - "SMNImpersonateFunctionGraphPolicy" + - "SMNImpersonateFunctionStagePolicy"