From 821f0153a645b171f0a81f2716d5aaf5f5369dbb Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Tue, 28 Mar 2023 11:25:20 -0700 Subject: [PATCH] Release v1.44.231 (2023-03-28) (#4778) Release v1.44.231 (2023-03-28) === ### Service Client Updates * `service/iot-data`: Adds new service * `service/ssm-contacts`: Updates service API, documentation, paginators, and examples * `service/ssm-incidents`: Updates service API and documentation --- CHANGELOG.md | 8 + aws/endpoints/defaults.go | 6 + aws/version.go | 2 +- .../2015-05-28/endpoint-rule-set-1.json | 603 +- .../iot-data/2015-05-28/endpoint-tests-1.json | 1117 +-- .../apis/ssm-contacts/2021-05-03/api-2.json | 789 +- .../apis/ssm-contacts/2021-05-03/docs-2.json | 517 +- .../2021-05-03/endpoint-rule-set-1.json | 350 + .../2021-05-03/endpoint-tests-1.json | 264 + .../ssm-contacts/2021-05-03/examples-1.json | 709 -- .../ssm-contacts/2021-05-03/paginators-1.json | 29 + .../apis/ssm-incidents/2018-05-10/api-2.json | 4 +- .../apis/ssm-incidents/2018-05-10/docs-2.json | 42 +- .../2018-05-10/endpoint-rule-set-1.json | 399 +- .../2018-05-10/endpoint-tests-1.json | 660 +- models/endpoints/endpoints.json | 2 + service/ssmcontacts/api.go | 8526 ++++++++++++----- .../ssmcontacts/ssmcontactsiface/interface.go | 63 + service/ssmincidents/api.go | 94 +- 19 files changed, 9194 insertions(+), 4990 deletions(-) create mode 100644 models/apis/ssm-contacts/2021-05-03/endpoint-rule-set-1.json create mode 100644 models/apis/ssm-contacts/2021-05-03/endpoint-tests-1.json diff --git a/CHANGELOG.md b/CHANGELOG.md index af9e69f75be..e4b2783f9a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +Release v1.44.231 (2023-03-28) +=== + +### Service Client Updates +* `service/iot-data`: Adds new service +* `service/ssm-contacts`: Updates service API, documentation, paginators, and examples +* `service/ssm-incidents`: Updates service API and documentation + Release v1.44.230 (2023-03-27) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index d3789cce827..9f2875d8b21 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -17571,6 +17571,9 @@ var awsPartition = partition{ endpointKey{ Region: "eu-south-1", }: endpoint{}, + endpointKey{ + Region: "eu-south-2", + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, @@ -17711,6 +17714,9 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "me-central-1", + }: endpoint{}, endpointKey{ Region: "me-south-1", }: endpoint{}, diff --git a/aws/version.go b/aws/version.go index e34ec16cb14..fa0f5d77218 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.230" +const SDKVersion = "1.44.231" diff --git a/models/apis/iot-data/2015-05-28/endpoint-rule-set-1.json b/models/apis/iot-data/2015-05-28/endpoint-rule-set-1.json index 637371bc2e9..89de6446a56 100644 --- a/models/apis/iot-data/2015-05-28/endpoint-rule-set-1.json +++ b/models/apis/iot-data/2015-05-28/endpoint-rule-set-1.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,23 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -71,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -140,151 +111,352 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://data-ats.iot-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://data-ats.iot-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "stringEquals", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "Region" - }, - "us-east-1" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], - "endpoint": { - "url": "https://data.iot-fips.us-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ + "type": "tree", + "rules": [ { - "fn": "stringEquals", - "argv": [ + "conditions": [], + "type": "tree", + "rules": [ { - "ref": "Region" + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "ca-central-1" + ] + } + ], + "endpoint": { + "url": "https://data.iot-fips.ca-central-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, - "us-east-2" + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "https://data.iot-fips.us-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-east-2" + ] + } + ], + "endpoint": { + "url": "https://data.iot-fips.us-east-2.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-west-1" + ] + } + ], + "endpoint": { + "url": "https://data.iot-fips.us-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-west-2" + ] + } + ], + "endpoint": { + "url": "https://data.iot-fips.us-west-2.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-gov-east-1" + ] + } + ], + "endpoint": { + "url": "https://data.iot-fips.us-gov-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-gov-west-1" + ] + } + ], + "endpoint": { + "url": "https://data.iot-fips.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://data-ats.iot-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] } - ], - "endpoint": { - "url": "https://data.iot-fips.us-east-2.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + ] }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "stringEquals", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "Region" - }, - "ca-central-1" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "endpoint": { - "url": "https://data.iot-fips.ca-central-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://data-ats.iot.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { @@ -293,12 +465,12 @@ { "ref": "Region" }, - "us-west-1" + "cn-north-1" ] } ], "endpoint": { - "url": "https://data.iot-fips.us-west-1.amazonaws.com", + "url": "https://data.ats.iot.cn-north-1.amazonaws.com.cn", "properties": {}, "headers": {} }, @@ -309,15 +481,21 @@ { "fn": "stringEquals", "argv": [ + "aws", { - "ref": "Region" - }, - "us-west-2" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } ] } ], "endpoint": { - "url": "https://data.iot-fips.us-west-2.amazonaws.com", + "url": "https://data-ats.iot.{Region}.amazonaws.com", "properties": {}, "headers": {} }, @@ -328,15 +506,21 @@ { "fn": "stringEquals", "argv": [ + "aws-cn", { - "ref": "Region" - }, - "us-gov-west-1" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } ] } ], "endpoint": { - "url": "https://data.iot-fips.us-gov-west-1.amazonaws.com", + "url": "https://data-ats.iot.{Region}.amazonaws.com.cn", "properties": {}, "headers": {} }, @@ -347,15 +531,21 @@ { "fn": "stringEquals", "argv": [ + "aws-us-gov", { - "ref": "Region" - }, - "us-gov-east-1" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } ] } ], "endpoint": { - "url": "https://data.iot-fips.us-gov-east-1.amazonaws.com", + "url": "https://data-ats.iot.{Region}.amazonaws.com", "properties": {}, "headers": {} }, @@ -364,7 +554,7 @@ { "conditions": [], "endpoint": { - "url": "https://data-ats.iot-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://data-ats.iot.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -373,74 +563,13 @@ ] } ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://data-ats.iot.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://data-ats.iot.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/models/apis/iot-data/2015-05-28/endpoint-tests-1.json b/models/apis/iot-data/2015-05-28/endpoint-tests-1.json index ff50cb00a83..8c86d8891c8 100644 --- a/models/apis/iot-data/2015-05-28/endpoint-tests-1.json +++ b/models/apis/iot-data/2015-05-28/endpoint-tests-1.json @@ -1,1247 +1,519 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.ap-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.iot-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.us-gov-east-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.me-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "me-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "me-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.me-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "me-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.me-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "me-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.iot-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.us-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.iot-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.us-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.us-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.iot-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.eu-north-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.eu-west-3.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.ap-northeast-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.ap-northeast-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.me-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "me-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.me-south-1.amazonaws.com" + "url": "https://data-ats.iot.ap-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "me-south-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-east-1" } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.me-south-1.api.aws" + "url": "https://data-ats.iot.ap-northeast-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "me-south-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "ap-northeast-1" } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.me-south-1.amazonaws.com" + "url": "https://data-ats.iot.ap-northeast-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "me-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-northeast-2" } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.sa-east-1.api.aws" + "url": "https://data-ats.iot.ap-south-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "sa-east-1", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-south-1" } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.sa-east-1.amazonaws.com" + "url": "https://data-ats.iot.ap-southeast-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "sa-east-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-1" } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.sa-east-1.api.aws" + "url": "https://data-ats.iot.ap-southeast-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "sa-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "ap-southeast-2" } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.sa-east-1.amazonaws.com" + "url": "https://data-ats.iot.ca-central-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "sa-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ca-central-1" } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.ap-east-1.api.aws" + "url": "https://data.iot-fips.ca-central-1.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "ap-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "ca-central-1" } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.ap-east-1.amazonaws.com" + "url": "https://data-ats.iot.eu-central-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-east-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-central-1" } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.ap-east-1.api.aws" + "url": "https://data-ats.iot.eu-north-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "eu-north-1" } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.ap-east-1.amazonaws.com" + "url": "https://data-ats.iot.eu-west-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-west-1" } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://data-ats.iot.eu-west-2.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "cn-north-1", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-2" } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.cn-north-1.amazonaws.com.cn" + "url": "https://data-ats.iot.eu-west-3.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "cn-north-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-3" } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://data-ats.iot.me-south-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "cn-north-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "me-south-1" } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.cn-north-1.amazonaws.com.cn" + "url": "https://data-ats.iot.sa-east-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "cn-north-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "sa-east-1" } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.us-gov-west-1.api.aws" + "url": "https://data-ats.iot.us-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "us-gov-west-1", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1" } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.iot-fips.us-gov-west-1.amazonaws.com" + "url": "https://data.iot-fips.us-east-1.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "us-gov-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data-ats.iot.us-gov-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-gov-west-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-east-1" } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.us-gov-west-1.amazonaws.com" + "url": "https://data-ats.iot.us-east-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "us-gov-west-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-2" } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.ap-southeast-1.api.aws" + "url": "https://data.iot-fips.us-east-2.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-east-2" } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.ap-southeast-1.amazonaws.com" + "url": "https://data-ats.iot.us-west-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-1" } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.ap-southeast-1.api.aws" + "url": "https://data.iot-fips.us-west-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": true + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-west-1" } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.ap-southeast-1.amazonaws.com" + "url": "https://data-ats.iot.us-west-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-west-2" } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.ap-southeast-2.api.aws" + "url": "https://data.iot-fips.us-west-2.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-west-2" } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.ap-southeast-2.amazonaws.com" + "url": "https://data-ats.iot-fips.us-east-1.api.aws" } }, "params": { "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": false + "UseDualStack": true, + "Region": "us-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.ap-southeast-2.api.aws" + "url": "https://data-ats.iot.us-east-1.api.aws" } }, "params": { "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.ap-southeast-2.amazonaws.com" + "url": "https://data.ats.iot.cn-north-1.amazonaws.com.cn" } }, "params": { "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseFIPS": true, - "Region": "us-iso-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "cn-north-1" } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://data-ats.iot.cn-northwest-1.amazonaws.com.cn" } }, - "params": { - "UseFIPS": true, - "Region": "us-iso-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, "params": { "UseFIPS": false, - "Region": "us-iso-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "cn-northwest-1" } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.us-iso-east-1.c2s.ic.gov" + "url": "https://data-ats.iot-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseFIPS": false, - "Region": "us-iso-east-1", - "UseDualStack": false + "UseFIPS": true, + "UseDualStack": true, + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.us-east-1.api.aws" + "url": "https://data-ats.iot-fips.cn-north-1.amazonaws.com.cn" } }, "params": { "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data.iot-fips.us-east-1.amazonaws.com" + "url": "https://data-ats.iot.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": true, + "Region": "cn-north-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.us-east-1.api.aws" + "url": "https://data-ats.iot.us-gov-east-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.us-east-1.amazonaws.com" + "url": "https://data.iot-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": false + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.us-east-2.api.aws" + "url": "https://data-ats.iot.us-gov-west-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": true + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-gov-west-1" } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.iot-fips.us-east-2.amazonaws.com" + "url": "https://data.iot-fips.us-gov-west-1.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-gov-west-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.us-east-2.api.aws" + "url": "https://data-ats.iot-fips.us-gov-east-1.api.aws" } }, "params": { - "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": true + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.us-east-2.amazonaws.com" + "url": "https://data-ats.iot.us-gov-east-1.api.aws" } }, "params": { "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": false + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://data-ats.iot-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { "UseFIPS": true, - "Region": "cn-northwest-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-iso-east-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://data-ats.iot-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { "UseFIPS": true, - "Region": "cn-northwest-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-iso-east-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://data-ats.iot.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { "UseFIPS": false, - "Region": "cn-northwest-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-iso-east-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data-ats.iot.cn-northwest-1.amazonaws.com.cn" + "url": "https://data-ats.iot.us-iso-east-1.c2s.ic.gov" } }, "params": { "UseFIPS": false, - "Region": "cn-northwest-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-iso-east-1" } }, { @@ -1251,8 +523,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-isob-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-isob-east-1" } }, { @@ -1264,8 +536,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-isob-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { @@ -1275,8 +547,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-isob-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-isob-east-1" } }, { @@ -1288,12 +560,12 @@ }, "params": { "UseFIPS": false, - "Region": "us-isob-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -1301,7 +573,20 @@ }, "params": { "UseFIPS": false, + "UseDualStack": false, "Region": "us-east-1", + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -1313,8 +598,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1325,10 +610,16 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/apis/ssm-contacts/2021-05-03/api-2.json b/models/apis/ssm-contacts/2021-05-03/api-2.json index 1f60f811acb..e8431c3096f 100644 --- a/models/apis/ssm-contacts/2021-05-03/api-2.json +++ b/models/apis/ssm-contacts/2021-05-03/api-2.json @@ -81,6 +81,40 @@ {"shape":"ValidationException"} ] }, + "CreateRotation":{ + "name":"CreateRotation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRotationRequest"}, + "output":{"shape":"CreateRotationResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "CreateRotationOverride":{ + "name":"CreateRotationOverride", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRotationOverrideRequest"}, + "output":{"shape":"CreateRotationOverrideResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, "DeactivateContactChannel":{ "name":"DeactivateContactChannel", "http":{ @@ -110,6 +144,7 @@ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, {"shape":"ValidationException"} ] }, @@ -129,6 +164,39 @@ {"shape":"ValidationException"} ] }, + "DeleteRotation":{ + "name":"DeleteRotation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRotationRequest"}, + "output":{"shape":"DeleteRotationResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "DeleteRotationOverride":{ + "name":"DeleteRotationOverride", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRotationOverrideRequest"}, + "output":{"shape":"DeleteRotationOverrideResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, "DescribeEngagement":{ "name":"DescribeEngagement", "http":{ @@ -213,6 +281,38 @@ {"shape":"ValidationException"} ] }, + "GetRotation":{ + "name":"GetRotation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRotationRequest"}, + "output":{"shape":"GetRotationResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "GetRotationOverride":{ + "name":"GetRotationOverride", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRotationOverrideRequest"}, + "output":{"shape":"GetRotationOverrideResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, "ListContactChannels":{ "name":"ListContactChannels", "http":{ @@ -276,6 +376,22 @@ {"shape":"ValidationException"} ] }, + "ListPageResolutions":{ + "name":"ListPageResolutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPageResolutionsRequest"}, + "output":{"shape":"ListPageResolutionsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, "ListPagesByContact":{ "name":"ListPagesByContact", "http":{ @@ -308,6 +424,70 @@ {"shape":"ValidationException"} ] }, + "ListPreviewRotationShifts":{ + "name":"ListPreviewRotationShifts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPreviewRotationShiftsRequest"}, + "output":{"shape":"ListPreviewRotationShiftsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListRotationOverrides":{ + "name":"ListRotationOverrides", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRotationOverridesRequest"}, + "output":{"shape":"ListRotationOverridesResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListRotationShifts":{ + "name":"ListRotationShifts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRotationShiftsRequest"}, + "output":{"shape":"ListRotationShiftsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListRotations":{ + "name":"ListRotations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRotationsRequest"}, + "output":{"shape":"ListRotationsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -460,6 +640,23 @@ {"shape":"ThrottlingException"}, {"shape":"ValidationException"} ] + }, + "UpdateRotation":{ + "name":"UpdateRotation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRotationRequest"}, + "output":{"shape":"UpdateRotationResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] } }, "shapes":{ @@ -578,7 +775,8 @@ "members":{ "Message":{"shape":"String"}, "ResourceId":{"shape":"String"}, - "ResourceType":{"shape":"String"} + "ResourceType":{"shape":"String"}, + "DependentEntities":{"shape":"DependentEntityList"} }, "exception":true }, @@ -648,7 +846,8 @@ "type":"string", "enum":[ "PERSONAL", - "ESCALATION" + "ESCALATION", + "ONCALL_SCHEDULE" ] }, "ContactsList":{ @@ -661,6 +860,17 @@ "min":1, "pattern":"^[.\\s\\S]*$" }, + "CoverageTime":{ + "type":"structure", + "members":{ + "Start":{"shape":"HandOffTime"}, + "End":{"shape":"HandOffTime"} + } + }, + "CoverageTimes":{ + "type":"list", + "member":{"shape":"CoverageTime"} + }, "CreateContactChannelRequest":{ "type":"structure", "required":[ @@ -714,6 +924,58 @@ "ContactArn":{"shape":"SsmContactsArn"} } }, + "CreateRotationOverrideRequest":{ + "type":"structure", + "required":[ + "RotationId", + "NewContactIds", + "StartTime", + "EndTime" + ], + "members":{ + "RotationId":{"shape":"SsmContactsArn"}, + "NewContactIds":{"shape":"RotationOverrideContactsArnList"}, + "StartTime":{"shape":"DateTime"}, + "EndTime":{"shape":"DateTime"}, + "IdempotencyToken":{"shape":"IdempotencyToken"} + } + }, + "CreateRotationOverrideResult":{ + "type":"structure", + "required":["RotationOverrideId"], + "members":{ + "RotationOverrideId":{"shape":"Uuid"} + } + }, + "CreateRotationRequest":{ + "type":"structure", + "required":[ + "Name", + "ContactIds", + "TimeZoneId", + "Recurrence" + ], + "members":{ + "Name":{"shape":"RotationName"}, + "ContactIds":{"shape":"RotationContactsArnList"}, + "StartTime":{"shape":"DateTime"}, + "TimeZoneId":{"shape":"TimeZoneId"}, + "Recurrence":{"shape":"RecurrenceSettings"}, + "Tags":{"shape":"TagsList"}, + "IdempotencyToken":{"shape":"IdempotencyToken"} + } + }, + "CreateRotationResult":{ + "type":"structure", + "required":["RotationArn"], + "members":{ + "RotationArn":{"shape":"SsmContactsArn"} + } + }, + "DailySettings":{ + "type":"list", + "member":{"shape":"HandOffTime"} + }, "DataEncryptionException":{ "type":"structure", "required":["Message"], @@ -723,6 +985,23 @@ "exception":true }, "DateTime":{"type":"timestamp"}, + "DayOfMonth":{ + "type":"integer", + "max":31, + "min":1 + }, + "DayOfWeek":{ + "type":"string", + "enum":[ + "MON", + "TUE", + "WED", + "THU", + "FRI", + "SAT", + "SUN" + ] + }, "DeactivateContactChannelRequest":{ "type":"structure", "required":["ContactChannelId"], @@ -763,6 +1042,49 @@ "members":{ } }, + "DeleteRotationOverrideRequest":{ + "type":"structure", + "required":[ + "RotationId", + "RotationOverrideId" + ], + "members":{ + "RotationId":{"shape":"SsmContactsArn"}, + "RotationOverrideId":{"shape":"Uuid"} + } + }, + "DeleteRotationOverrideResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteRotationRequest":{ + "type":"structure", + "required":["RotationId"], + "members":{ + "RotationId":{"shape":"SsmContactsArn"} + } + }, + "DeleteRotationResult":{ + "type":"structure", + "members":{ + } + }, + "DependentEntity":{ + "type":"structure", + "required":[ + "RelationType", + "DependentResourceIds" + ], + "members":{ + "RelationType":{"shape":"String"}, + "DependentResourceIds":{"shape":"SsmContactsArnList"} + } + }, + "DependentEntityList":{ + "type":"list", + "member":{"shape":"DependentEntity"} + }, "DescribeEngagementRequest":{ "type":"structure", "required":["EngagementId"], @@ -906,6 +1228,70 @@ "Plan":{"shape":"Plan"} } }, + "GetRotationOverrideRequest":{ + "type":"structure", + "required":[ + "RotationId", + "RotationOverrideId" + ], + "members":{ + "RotationId":{"shape":"SsmContactsArn"}, + "RotationOverrideId":{"shape":"Uuid"} + } + }, + "GetRotationOverrideResult":{ + "type":"structure", + "members":{ + "RotationOverrideId":{"shape":"Uuid"}, + "RotationArn":{"shape":"SsmContactsArn"}, + "NewContactIds":{"shape":"SsmContactsArnList"}, + "StartTime":{"shape":"DateTime"}, + "EndTime":{"shape":"DateTime"}, + "CreateTime":{"shape":"DateTime"} + } + }, + "GetRotationRequest":{ + "type":"structure", + "required":["RotationId"], + "members":{ + "RotationId":{"shape":"SsmContactsArn"} + } + }, + "GetRotationResult":{ + "type":"structure", + "required":[ + "RotationArn", + "Name", + "ContactIds", + "StartTime", + "TimeZoneId", + "Recurrence" + ], + "members":{ + "RotationArn":{"shape":"SsmContactsArn"}, + "Name":{"shape":"RotationName"}, + "ContactIds":{"shape":"RotationContactsArnList"}, + "StartTime":{"shape":"DateTime"}, + "TimeZoneId":{"shape":"TimeZoneId"}, + "Recurrence":{"shape":"RecurrenceSettings"} + } + }, + "HandOffTime":{ + "type":"structure", + "required":[ + "HourOfDay", + "MinuteOfHour" + ], + "members":{ + "HourOfDay":{"shape":"HourOfDay"}, + "MinuteOfHour":{"shape":"MinuteOfHour"} + } + }, + "HourOfDay":{ + "type":"integer", + "max":23, + "min":0 + }, "IdempotencyToken":{ "type":"string", "max":2048, @@ -936,7 +1322,10 @@ "members":{ "ContactId":{"shape":"SsmContactsArn"}, "NextToken":{"shape":"PaginationToken"}, - "MaxResults":{"shape":"MaxResults"} + "MaxResults":{ + "shape":"MaxResults", + "box":true + } } }, "ListContactChannelsResult":{ @@ -951,7 +1340,10 @@ "type":"structure", "members":{ "NextToken":{"shape":"PaginationToken"}, - "MaxResults":{"shape":"MaxResults"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + }, "AliasPrefix":{"shape":"ContactAlias"}, "Type":{"shape":"ContactType"} } @@ -967,7 +1359,10 @@ "type":"structure", "members":{ "NextToken":{"shape":"PaginationToken"}, - "MaxResults":{"shape":"MaxResults"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + }, "IncidentId":{"shape":"IncidentId"}, "TimeRangeValue":{"shape":"TimeRange"} } @@ -986,7 +1381,10 @@ "members":{ "PageId":{"shape":"SsmContactsArn"}, "NextToken":{"shape":"PaginationToken"}, - "MaxResults":{"shape":"MaxResults"} + "MaxResults":{ + "shape":"MaxResults", + "box":true + } } }, "ListPageReceiptsResult":{ @@ -996,13 +1394,32 @@ "Receipts":{"shape":"ReceiptsList"} } }, + "ListPageResolutionsRequest":{ + "type":"structure", + "required":["PageId"], + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "PageId":{"shape":"SsmContactsArn"} + } + }, + "ListPageResolutionsResult":{ + "type":"structure", + "required":["PageResolutions"], + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "PageResolutions":{"shape":"ResolutionList"} + } + }, "ListPagesByContactRequest":{ "type":"structure", "required":["ContactId"], "members":{ "ContactId":{"shape":"SsmContactsArn"}, "NextToken":{"shape":"PaginationToken"}, - "MaxResults":{"shape":"MaxResults"} + "MaxResults":{ + "shape":"MaxResults", + "box":true + } } }, "ListPagesByContactResult":{ @@ -1019,7 +1436,10 @@ "members":{ "EngagementId":{"shape":"SsmContactsArn"}, "NextToken":{"shape":"PaginationToken"}, - "MaxResults":{"shape":"MaxResults"} + "MaxResults":{ + "shape":"MaxResults", + "box":true + } } }, "ListPagesByEngagementResult":{ @@ -1030,6 +1450,104 @@ "Pages":{"shape":"PagesList"} } }, + "ListPreviewRotationShiftsRequest":{ + "type":"structure", + "required":[ + "EndTime", + "Members", + "TimeZoneId", + "Recurrence" + ], + "members":{ + "RotationStartTime":{"shape":"DateTime"}, + "StartTime":{"shape":"DateTime"}, + "EndTime":{"shape":"DateTime"}, + "Members":{"shape":"RotationPreviewMemberList"}, + "TimeZoneId":{"shape":"TimeZoneId"}, + "Recurrence":{"shape":"RecurrenceSettings"}, + "Overrides":{"shape":"OverrideList"}, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + } + } + }, + "ListPreviewRotationShiftsResult":{ + "type":"structure", + "members":{ + "RotationShifts":{"shape":"RotationShifts"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListRotationOverridesRequest":{ + "type":"structure", + "required":[ + "RotationId", + "StartTime", + "EndTime" + ], + "members":{ + "RotationId":{"shape":"SsmContactsArn"}, + "StartTime":{"shape":"DateTime"}, + "EndTime":{"shape":"DateTime"}, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + } + } + }, + "ListRotationOverridesResult":{ + "type":"structure", + "members":{ + "RotationOverrides":{"shape":"RotationOverrides"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListRotationShiftsRequest":{ + "type":"structure", + "required":[ + "RotationId", + "EndTime" + ], + "members":{ + "RotationId":{"shape":"SsmContactsArn"}, + "StartTime":{"shape":"DateTime"}, + "EndTime":{"shape":"DateTime"}, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + } + } + }, + "ListRotationShiftsResult":{ + "type":"structure", + "members":{ + "RotationShifts":{"shape":"RotationShifts"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListRotationsRequest":{ + "type":"structure", + "members":{ + "RotationNamePrefix":{"shape":"RotationName"}, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{ + "shape":"MaxResults", + "box":true + } + } + }, + "ListRotationsResult":{ + "type":"structure", + "required":["Rotations"], + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "Rotations":{"shape":"Rotations"} + } + }, "ListTagsForResourceRequest":{ "type":"structure", "required":["ResourceARN"], @@ -1049,6 +1567,40 @@ "max":1024, "min":0 }, + "Member":{ + "type":"string", + "max":512, + "min":1, + "pattern":".*\\S.*" + }, + "MinuteOfHour":{ + "type":"integer", + "max":59, + "min":0 + }, + "MonthlySetting":{ + "type":"structure", + "required":[ + "DayOfMonth", + "HandOffTime" + ], + "members":{ + "DayOfMonth":{"shape":"DayOfMonth"}, + "HandOffTime":{"shape":"HandOffTime"} + } + }, + "MonthlySettings":{ + "type":"list", + "member":{"shape":"MonthlySetting"} + }, + "NumberOfOnCalls":{ + "type":"integer", + "min":1 + }, + "OverrideList":{ + "type":"list", + "member":{"shape":"PreviewOverride"} + }, "Page":{ "type":"structure", "required":[ @@ -1079,9 +1631,9 @@ }, "Plan":{ "type":"structure", - "required":["Stages"], "members":{ - "Stages":{"shape":"StagesList"} + "Stages":{"shape":"StagesList"}, + "RotationIds":{"shape":"SsmContactsArnList"} } }, "Policy":{ @@ -1090,6 +1642,14 @@ "min":1, "pattern":".*\\S.*" }, + "PreviewOverride":{ + "type":"structure", + "members":{ + "NewMembers":{"shape":"RotationOverridePreviewMemberList"}, + "StartTime":{"shape":"DateTime"}, + "EndTime":{"shape":"DateTime"} + } + }, "PublicContent":{ "type":"string", "max":8192, @@ -1151,6 +1711,51 @@ "type":"list", "member":{"shape":"Receipt"} }, + "RecurrenceMultiplier":{ + "type":"integer", + "max":100, + "min":1 + }, + "RecurrenceSettings":{ + "type":"structure", + "required":[ + "NumberOfOnCalls", + "RecurrenceMultiplier" + ], + "members":{ + "MonthlySettings":{"shape":"MonthlySettings"}, + "WeeklySettings":{"shape":"WeeklySettings"}, + "DailySettings":{"shape":"DailySettings"}, + "NumberOfOnCalls":{ + "shape":"NumberOfOnCalls", + "box":true + }, + "ShiftCoverages":{"shape":"ShiftCoveragesMap"}, + "RecurrenceMultiplier":{ + "shape":"RecurrenceMultiplier", + "box":true + } + } + }, + "ResolutionContact":{ + "type":"structure", + "required":[ + "ContactArn", + "Type" + ], + "members":{ + "ContactArn":{"shape":"SsmContactsArn"}, + "Type":{"shape":"ContactType"}, + "StageIndex":{ + "shape":"StageIndex", + "box":true + } + } + }, + "ResolutionList":{ + "type":"list", + "member":{"shape":"ResolutionContact"} + }, "ResourceNotFoundException":{ "type":"structure", "required":[ @@ -1172,6 +1777,94 @@ "max":60, "min":0 }, + "Rotation":{ + "type":"structure", + "required":[ + "RotationArn", + "Name" + ], + "members":{ + "RotationArn":{"shape":"SsmContactsArn"}, + "Name":{"shape":"RotationName"}, + "ContactIds":{"shape":"SsmContactsArnList"}, + "StartTime":{"shape":"DateTime"}, + "TimeZoneId":{"shape":"TimeZoneId"}, + "Recurrence":{"shape":"RecurrenceSettings"} + } + }, + "RotationContactsArnList":{ + "type":"list", + "member":{"shape":"SsmContactsArn"}, + "max":30, + "min":1 + }, + "RotationName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9_\\-\\s\\.]*$" + }, + "RotationOverride":{ + "type":"structure", + "required":[ + "RotationOverrideId", + "NewContactIds", + "StartTime", + "EndTime", + "CreateTime" + ], + "members":{ + "RotationOverrideId":{"shape":"Uuid"}, + "NewContactIds":{"shape":"SsmContactsArnList"}, + "StartTime":{"shape":"DateTime"}, + "EndTime":{"shape":"DateTime"}, + "CreateTime":{"shape":"DateTime"} + } + }, + "RotationOverrideContactsArnList":{ + "type":"list", + "member":{"shape":"SsmContactsArn"}, + "max":30, + "min":0 + }, + "RotationOverridePreviewMemberList":{ + "type":"list", + "member":{"shape":"Member"}, + "max":30, + "min":0 + }, + "RotationOverrides":{ + "type":"list", + "member":{"shape":"RotationOverride"} + }, + "RotationPreviewMemberList":{ + "type":"list", + "member":{"shape":"Member"}, + "max":30, + "min":1 + }, + "RotationShift":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime" + ], + "members":{ + "ContactIds":{"shape":"SsmContactsArnList"}, + "StartTime":{"shape":"DateTime"}, + "EndTime":{"shape":"DateTime"}, + "Type":{"shape":"ShiftType"}, + "ShiftDetails":{"shape":"ShiftDetails"} + } + }, + "RotationShifts":{ + "type":"list", + "member":{"shape":"RotationShift"} + }, + "Rotations":{ + "type":"list", + "member":{"shape":"Rotation"} + }, "SendActivationCodeRequest":{ "type":"structure", "required":["ContactChannelId"], @@ -1205,6 +1898,25 @@ }, "exception":true }, + "ShiftCoveragesMap":{ + "type":"map", + "key":{"shape":"DayOfWeek"}, + "value":{"shape":"CoverageTimes"} + }, + "ShiftDetails":{ + "type":"structure", + "required":["OverriddenContactIds"], + "members":{ + "OverriddenContactIds":{"shape":"SsmContactsArnList"} + } + }, + "ShiftType":{ + "type":"string", + "enum":[ + "REGULAR", + "OVERRIDDEN" + ] + }, "SimpleAddress":{ "type":"string", "max":320, @@ -1216,6 +1928,12 @@ "min":1, "pattern":"arn:(aws|aws-cn|aws-us-gov):ssm-contacts:[-\\w+=\\/,.@]*:[0-9]+:([\\w+=\\/,.@:-]+)*" }, + "SsmContactsArnList":{ + "type":"list", + "member":{"shape":"SsmContactsArn"}, + "max":25, + "min":0 + }, "Stage":{ "type":"structure", "required":[ @@ -1233,6 +1951,11 @@ "max":30, "min":0 }, + "StageIndex":{ + "type":"integer", + "max":100, + "min":0 + }, "StagesList":{ "type":"list", "member":{"shape":"Stage"} @@ -1367,6 +2090,12 @@ "EndTime":{"shape":"DateTime"} } }, + "TimeZoneId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[:a-zA-Z0-9_\\-\\s\\.\\\\/]*$" + }, "UntagResourceRequest":{ "type":"structure", "required":[ @@ -1411,6 +2140,31 @@ "members":{ } }, + "UpdateRotationRequest":{ + "type":"structure", + "required":[ + "RotationId", + "Recurrence" + ], + "members":{ + "RotationId":{"shape":"SsmContactsArn"}, + "ContactIds":{"shape":"RotationContactsArnList"}, + "StartTime":{"shape":"DateTime"}, + "TimeZoneId":{"shape":"TimeZoneId"}, + "Recurrence":{"shape":"RecurrenceSettings"} + } + }, + "UpdateRotationResult":{ + "type":"structure", + "members":{ + } + }, + "Uuid":{ + "type":"string", + "max":39, + "min":36, + "pattern":"([a-fA-Z0-9]{8,11}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}){1}" + }, "ValidationException":{ "type":"structure", "required":["Message"], @@ -1444,6 +2198,21 @@ "FIELD_VALIDATION_FAILED", "OTHER" ] + }, + "WeeklySetting":{ + "type":"structure", + "required":[ + "DayOfWeek", + "HandOffTime" + ], + "members":{ + "DayOfWeek":{"shape":"DayOfWeek"}, + "HandOffTime":{"shape":"HandOffTime"} + } + }, + "WeeklySettings":{ + "type":"list", + "member":{"shape":"WeeklySetting"} } } } diff --git a/models/apis/ssm-contacts/2021-05-03/docs-2.json b/models/apis/ssm-contacts/2021-05-03/docs-2.json index db3e74d45d1..fba47396aba 100644 --- a/models/apis/ssm-contacts/2021-05-03/docs-2.json +++ b/models/apis/ssm-contacts/2021-05-03/docs-2.json @@ -1,40 +1,52 @@ { "version": "2.0", - "service": "

Systems Manager Incident Manager is an incident management console designed to help users mitigate and recover from incidents affecting their Amazon Web Services-hosted applications. An incident is any unplanned interruption or reduction in quality of services.

Incident Manager increases incident resolution by notifying responders of impact, highlighting relevant troubleshooting data, and providing collaboration tools to get services back up and running. To achieve the primary goal of reducing the time-to-resolution of critical incidents, Incident Manager automates response plans and enables responder team escalation.

", + "service": "

Systems Manager Incident Manager is an incident management console designed to help users mitigate and recover from incidents affecting their Amazon Web Services-hosted applications. An incident is any unplanned interruption or reduction in quality of services.

Incident Manager increases incident resolution by notifying responders of impact, highlighting relevant troubleshooting data, and providing collaboration tools to get services back up and running. To achieve the primary goal of reducing the time-to-resolution of critical incidents, Incident Manager automates response plans and enables responder team escalation.

", "operations": { "AcceptPage": "

Used to acknowledge an engagement to a contact channel during an incident.

", "ActivateContactChannel": "

Activates a contact's contact channel. Incident Manager can't engage a contact until the contact channel has been activated.

", - "CreateContact": "

Contacts are either the contacts that Incident Manager engages during an incident or the escalation plans that Incident Manager uses to engage contacts in phases during an incident.

", + "CreateContact": "

Contacts are either the contacts that Incident Manager engages during an incident or the escalation plans that Incident Manager uses to engage contacts in phases during an incident.

", "CreateContactChannel": "

A contact channel is the method that Incident Manager uses to engage your contact.

", + "CreateRotation": "

Creates a rotation in an on-call schedule.

", + "CreateRotationOverride": "

Creates an override for a rotation in an on-call schedule.

", "DeactivateContactChannel": "

To no longer receive Incident Manager engagements to a contact channel, you can deactivate the channel.

", "DeleteContact": "

To remove a contact from Incident Manager, you can delete the contact. Deleting a contact removes them from all escalation plans and related response plans. Deleting an escalation plan removes it from all related response plans. You will have to recreate the contact and its contact channels before you can use it again.

", "DeleteContactChannel": "

To no longer receive engagements on a contact channel, you can delete the channel from a contact. Deleting the contact channel removes it from the contact's engagement plan. If you delete the only contact channel for a contact, you won't be able to engage that contact during an incident.

", + "DeleteRotation": "

Deletes a rotation from the system. If a rotation belongs to more than one on-call schedule, this operation deletes it from all of them.

", + "DeleteRotationOverride": "

Deletes an existing override for an on-call rotation.

", "DescribeEngagement": "

Incident Manager uses engagements to engage contacts and escalation plans during an incident. Use this command to describe the engagement that occurred during an incident.

", "DescribePage": "

Lists details of the engagement to a contact channel.

", "GetContact": "

Retrieves information about the specified contact or escalation plan.

", "GetContactChannel": "

List details about a specific contact channel.

", "GetContactPolicy": "

Retrieves the resource policies attached to the specified contact or escalation plan.

", + "GetRotation": "

Retrieves information about an on-call rotation.

", + "GetRotationOverride": "

Retrieves information about an override to an on-call rotation.

", "ListContactChannels": "

Lists all contact channels for the specified contact.

", "ListContacts": "

Lists all contacts and escalation plans in Incident Manager.

", "ListEngagements": "

Lists all engagements that have happened in an incident.

", - "ListPageReceipts": "

Lists all of the engagements to contact channels that have been acknowledged.

", + "ListPageReceipts": "

Lists all of the engagements to contact channels that have been acknowledged.

", + "ListPageResolutions": "

Returns the resolution path of an engagement. For example, the escalation plan engaged in an incident might target an on-call schedule that includes several contacts in a rotation, but just one contact on-call when the incident starts. The resolution path indicates the hierarchy of escalation plan > on-call schedule > contact.

", "ListPagesByContact": "

Lists the engagements to a contact's contact channels.

", "ListPagesByEngagement": "

Lists the engagements to contact channels that occurred by engaging a contact.

", + "ListPreviewRotationShifts": "

Returns a list of shifts based on rotation configuration parameters.

The Incident Manager primarily uses this operation to populate the Preview calendar. It is not typically run by end users.

", + "ListRotationOverrides": "

Retrieves a list of overrides currently specified for an on-call rotation.

", + "ListRotationShifts": "

Returns a list of shifts generated by an existing rotation in the system.

", + "ListRotations": "

Retrieves a list of on-call rotations.

", "ListTagsForResource": "

Lists the tags of an escalation plan or contact.

", "PutContactPolicy": "

Adds a resource policy to the specified contact or escalation plan. The resource policy is used to share the contact or escalation plan using Resource Access Manager (RAM). For more information about cross-account sharing, see Setting up cross-account functionality.

", "SendActivationCode": "

Sends an activation code to a contact channel. The contact can use this code to activate the contact channel in the console or with the ActivateChannel operation. Incident Manager can't engage a contact channel until it has been activated.

", "StartEngagement": "

Starts an engagement to a contact or escalation plan. The engagement engages each contact specified in the incident.

", "StopEngagement": "

Stops an engagement before it finishes the final stage of the escalation plan or engagement plan. Further contacts aren't engaged.

", - "TagResource": "

Tags a contact or escalation plan. You can tag only contacts and escalation plans in the first region of your replication set.

", - "UntagResource": "

Removes tags from the specified resource.

", - "UpdateContact": "

Updates the contact or escalation plan specified.

", - "UpdateContactChannel": "

Updates a contact's contact channel.

" + "TagResource": "

Tags a contact or escalation plan. You can tag only contacts and escalation plans in the first region of your replication set.

", + "UntagResource": "

Removes tags from the specified resource.

", + "UpdateContact": "

Updates the contact or escalation plan specified.

", + "UpdateContactChannel": "

Updates a contact's contact channel.

", + "UpdateRotation": "

Updates the information specified for an on-call rotation.

" }, "shapes": { "AcceptCode": { "base": null, "refs": { - "AcceptPageRequest$AcceptCode": "

The accept code is a 6-digit code used to acknowledge the page.

" + "AcceptPageRequest$AcceptCode": "

A 6-digit code used to acknowledge the page.

" } }, "AcceptCodeValidation": { @@ -77,13 +89,13 @@ "ActivationCode": { "base": null, "refs": { - "ActivateContactChannelRequest$ActivationCode": "

The code sent to the contact channel when it was created in the contact.

" + "ActivateContactChannelRequest$ActivationCode": "

The code sent to the contact channel when it was created in the contact.

" } }, "ActivationStatus": { "base": null, "refs": { - "ContactChannel$ActivationStatus": "

A Boolean value describing if the contact channel has been activated or not. If the contact channel isn't activated, Incident Manager can't engage the contact through it.

", + "ContactChannel$ActivationStatus": "

A Boolean value describing if the contact channel has been activated or not. If the contact channel isn't activated, Incident Manager can't engage the contact through it.

", "GetContactChannelResult$ActivationStatus": "

A Boolean value indicating if the contact channel has been activated or not.

" } }, @@ -133,7 +145,7 @@ "base": null, "refs": { "Contact$Alias": "

The unique and identifiable alias of the contact or escalation plan.

", - "CreateContactRequest$Alias": "

The short name to quickly identify a contact or escalation plan. The contact alias must be unique and identifiable.

", + "CreateContactRequest$Alias": "

The short name to quickly identify a contact or escalation plan. The contact alias must be unique and identifiable.

", "GetContactResult$Alias": "

The alias of the contact or escalation plan. The alias is unique and identifiable.

", "ListContactsRequest$AliasPrefix": "

Used to list only contacts who's aliases start with the specified prefix.

" } @@ -145,12 +157,12 @@ } }, "ContactChannelAddress": { - "base": "

The details that Incident Manager uses when trying to engage the contact channel.

", + "base": "

The details that Incident Manager uses when trying to engage the contact channel.

", "refs": { "ContactChannel$DeliveryAddress": "

The details that Incident Manager uses when trying to engage the contact channel.

", "CreateContactChannelRequest$DeliveryAddress": "

The details that Incident Manager uses when trying to engage the contact channel. The format is dependent on the type of the contact channel. The following are the expected formats:

", - "GetContactChannelResult$DeliveryAddress": "

The details that Incident Manager uses when trying to engage the contact channel.

", - "UpdateContactChannelRequest$DeliveryAddress": "

The details that Incident Manager uses when trying to engage the contact channel.

" + "GetContactChannelResult$DeliveryAddress": "

The details that Incident Manager uses when trying to engage the contact channel.

", + "UpdateContactChannelRequest$DeliveryAddress": "

The details that Incident Manager uses when trying to engage the contact channel.

" } }, "ContactChannelList": { @@ -163,7 +175,7 @@ "base": null, "refs": { "Contact$DisplayName": "

The full name of the contact or escalation plan.

", - "CreateContactRequest$DisplayName": "

The full name of the contact or escalation plan.

", + "CreateContactRequest$DisplayName": "

The full name of the contact or escalation plan.

", "GetContactResult$DisplayName": "

The full name of the contact or escalation plan.

", "UpdateContactRequest$DisplayName": "

The full name of the contact or escalation plan.

" } @@ -179,8 +191,9 @@ "refs": { "Contact$Type": "

Refers to the type of contact. A single contact is type PERSONAL and an escalation plan is type ESCALATION.

", "CreateContactRequest$Type": "

To create an escalation plan use ESCALATION. To create a contact use PERSONAL.

", - "GetContactResult$Type": "

The type of contact, either PERSONAL or ESCALATION.

", - "ListContactsRequest$Type": "

The type of contact. A contact is type PERSONAL and an escalation plan is type ESCALATION.

" + "GetContactResult$Type": "

The type of contact, either PERSONAL or ESCALATION.

", + "ListContactsRequest$Type": "

The type of contact. A contact is type PERSONAL and an escalation plan is type ESCALATION.

", + "ResolutionContact$Type": "

The type of contact for a resolution step.

" } }, "ContactsList": { @@ -197,6 +210,18 @@ "StartEngagementRequest$Content": "

The secure content of the message that was sent to the contact. Use this field for engagements to VOICE or EMAIL.

" } }, + "CoverageTime": { + "base": "

Information about when an on-call shift begins and ends.

", + "refs": { + "CoverageTimes$member": null + } + }, + "CoverageTimes": { + "base": null, + "refs": { + "ShiftCoveragesMap$value": null + } + }, "CreateContactChannelRequest": { "base": null, "refs": { @@ -217,6 +242,32 @@ "refs": { } }, + "CreateRotationOverrideRequest": { + "base": null, + "refs": { + } + }, + "CreateRotationOverrideResult": { + "base": null, + "refs": { + } + }, + "CreateRotationRequest": { + "base": null, + "refs": { + } + }, + "CreateRotationResult": { + "base": null, + "refs": { + } + }, + "DailySettings": { + "base": null, + "refs": { + "RecurrenceSettings$DailySettings": "

Information about on-call rotations that recur daily.

" + } + }, "DataEncryptionException": { "base": "

The operation failed to due an encryption key error.

", "refs": { @@ -225,6 +276,9 @@ "DateTime": { "base": null, "refs": { + "CreateRotationOverrideRequest$StartTime": "

The date and time when the override goes into effect.

", + "CreateRotationOverrideRequest$EndTime": "

The date and time when the override ends.

", + "CreateRotationRequest$StartTime": "

The date and time that the rotation goes into effect.

", "DescribeEngagementResult$StartTime": "

The time that the engagement started.

", "DescribeEngagementResult$StopTime": "

The time that the engagement ended.

", "DescribePageResult$SentTime": "

The time the engagement was sent to the contact channel.

", @@ -232,12 +286,45 @@ "DescribePageResult$DeliveryTime": "

The time that the contact channel received the engagement.

", "Engagement$StartTime": "

The time that the engagement began.

", "Engagement$StopTime": "

The time that the engagement ended.

", + "GetRotationOverrideResult$StartTime": "

The date and time when the override goes into effect.

", + "GetRotationOverrideResult$EndTime": "

The date and time when the override ends.

", + "GetRotationOverrideResult$CreateTime": "

The date and time when the override was created.

", + "GetRotationResult$StartTime": "

The specified start time for the on-call rotation.

", + "ListPreviewRotationShiftsRequest$RotationStartTime": "

The date and time a rotation would begin. The first shift is calculated from this date and time.

", + "ListPreviewRotationShiftsRequest$StartTime": "

Used to filter the range of calculated shifts before sending the response back to the user.

", + "ListPreviewRotationShiftsRequest$EndTime": "

The date and time a rotation shift would end.

", + "ListRotationOverridesRequest$StartTime": "

The date and time for the beginning of a time range for listing overrides.

", + "ListRotationOverridesRequest$EndTime": "

The date and time for the end of a time range for listing overrides.

", + "ListRotationShiftsRequest$StartTime": "

The date and time for the beginning of the time range to list shifts for.

", + "ListRotationShiftsRequest$EndTime": "

The date and time for the end of the time range to list shifts for.

", "Page$SentTime": "

The time that Incident Manager engaged the contact channel.

", "Page$DeliveryTime": "

The time the message was delivered to the contact channel.

", "Page$ReadTime": "

The time that the contact channel acknowledged engagement.

", + "PreviewOverride$StartTime": "

Information about the time a rotation override would begin.

", + "PreviewOverride$EndTime": "

Information about the time a rotation override would end.

", "Receipt$ReceiptTime": "

The time receipt was SENT, DELIVERED, or READ.

", + "Rotation$StartTime": "

The date and time the rotation becomes active.

", + "RotationOverride$StartTime": "

The time a rotation override begins.

", + "RotationOverride$EndTime": "

The time a rotation override ends.

", + "RotationOverride$CreateTime": "

The time a rotation override was created.

", + "RotationShift$StartTime": "

The time a shift rotation begins.

", + "RotationShift$EndTime": "

The time a shift rotation ends.

", "TimeRange$StartTime": "

The start of the time range.

", - "TimeRange$EndTime": "

The end of the time range.

" + "TimeRange$EndTime": "

The end of the time range.

", + "UpdateRotationRequest$StartTime": "

The date and time the rotation goes into effect.

" + } + }, + "DayOfMonth": { + "base": null, + "refs": { + "MonthlySetting$DayOfMonth": "

The day of the month when monthly recurring on-call rotations begin.

" + } + }, + "DayOfWeek": { + "base": null, + "refs": { + "ShiftCoveragesMap$key": null, + "WeeklySetting$DayOfWeek": "

The day of the week when weekly recurring on-call shift rotations begins.

" } }, "DeactivateContactChannelRequest": { @@ -276,6 +363,38 @@ "refs": { } }, + "DeleteRotationOverrideRequest": { + "base": null, + "refs": { + } + }, + "DeleteRotationOverrideResult": { + "base": null, + "refs": { + } + }, + "DeleteRotationRequest": { + "base": null, + "refs": { + } + }, + "DeleteRotationResult": { + "base": null, + "refs": { + } + }, + "DependentEntity": { + "base": "

Information about a resource that another resource is related to or depends on.

For example, if a contact is a member of a rotation, the rotation is a dependent entity of the contact.

", + "refs": { + "DependentEntityList$member": null + } + }, + "DependentEntityList": { + "base": null, + "refs": { + "ConflictException$DependentEntities": "List of dependent entities containing information on relation type and resourceArns linked to the resource in use" + } + }, "DescribeEngagementRequest": { "base": null, "refs": { @@ -338,11 +457,49 @@ "refs": { } }, + "GetRotationOverrideRequest": { + "base": null, + "refs": { + } + }, + "GetRotationOverrideResult": { + "base": null, + "refs": { + } + }, + "GetRotationRequest": { + "base": null, + "refs": { + } + }, + "GetRotationResult": { + "base": null, + "refs": { + } + }, + "HandOffTime": { + "base": "

Details about when an on-call rotation shift begins or ends.

", + "refs": { + "CoverageTime$Start": "

Information about when the on-call rotation shift begins.

", + "CoverageTime$End": "

Information about when the on-call rotation shift ends.

", + "DailySettings$member": null, + "MonthlySetting$HandOffTime": "

The time of day when a monthly recurring on-call shift rotation begins.

", + "WeeklySetting$HandOffTime": "

The time of day when a weekly recurring on-call shift rotation begins.

" + } + }, + "HourOfDay": { + "base": null, + "refs": { + "HandOffTime$HourOfDay": "

The hour when an on-call rotation shift begins or ends.

" + } + }, "IdempotencyToken": { "base": null, "refs": { "CreateContactChannelRequest$IdempotencyToken": "

A token ensuring that the operation is called only once with the specified details.

", "CreateContactRequest$IdempotencyToken": "

A token ensuring that the operation is called only once with the specified details.

", + "CreateRotationOverrideRequest$IdempotencyToken": "

A token that ensures that the operation is called only once with the specified details.

", + "CreateRotationRequest$IdempotencyToken": "

A token that ensures that the operation is called only once with the specified details.

", "StartEngagementRequest$IdempotencyToken": "

A token ensuring that the operation is called only once with the specified details.

" } }, @@ -408,6 +565,16 @@ "refs": { } }, + "ListPageResolutionsRequest": { + "base": null, + "refs": { + } + }, + "ListPageResolutionsResult": { + "base": null, + "refs": { + } + }, "ListPagesByContactRequest": { "base": null, "refs": { @@ -428,6 +595,46 @@ "refs": { } }, + "ListPreviewRotationShiftsRequest": { + "base": null, + "refs": { + } + }, + "ListPreviewRotationShiftsResult": { + "base": null, + "refs": { + } + }, + "ListRotationOverridesRequest": { + "base": null, + "refs": { + } + }, + "ListRotationOverridesResult": { + "base": null, + "refs": { + } + }, + "ListRotationShiftsRequest": { + "base": null, + "refs": { + } + }, + "ListRotationShiftsResult": { + "base": null, + "refs": { + } + }, + "ListRotationsRequest": { + "base": null, + "refs": { + } + }, + "ListRotationsResult": { + "base": null, + "refs": { + } + }, "ListTagsForResourceRequest": { "base": null, "refs": { @@ -446,7 +653,48 @@ "ListEngagementsRequest$MaxResults": "

The maximum number of engagements per page of results.

", "ListPageReceiptsRequest$MaxResults": "

The maximum number of acknowledgements per page of results.

", "ListPagesByContactRequest$MaxResults": "

The maximum number of engagements to contact channels to list per page of results.

", - "ListPagesByEngagementRequest$MaxResults": "

The maximum number of engagements to contact channels to list per page of results.

" + "ListPagesByEngagementRequest$MaxResults": "

The maximum number of engagements to contact channels to list per page of results.

", + "ListPreviewRotationShiftsRequest$MaxResults": "

The maximum number of items to return for this call. The call also returns a token that can be specified in a subsequent call to get the next set of results.

", + "ListRotationOverridesRequest$MaxResults": "

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", + "ListRotationShiftsRequest$MaxResults": "

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", + "ListRotationsRequest$MaxResults": "

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

" + } + }, + "Member": { + "base": null, + "refs": { + "RotationOverridePreviewMemberList$member": null, + "RotationPreviewMemberList$member": null + } + }, + "MinuteOfHour": { + "base": null, + "refs": { + "HandOffTime$MinuteOfHour": "

The minute when an on-call rotation shift begins or ends.

" + } + }, + "MonthlySetting": { + "base": "

Information about on-call rotations that recur monthly.

", + "refs": { + "MonthlySettings$member": null + } + }, + "MonthlySettings": { + "base": null, + "refs": { + "RecurrenceSettings$MonthlySettings": "

Information about on-call rotations that recur monthly.

" + } + }, + "NumberOfOnCalls": { + "base": null, + "refs": { + "RecurrenceSettings$NumberOfOnCalls": "

The number of contacts, or shift team members designated to be on call concurrently during a shift. For example, in an on-call schedule containing ten contacts, a value of 2 designates that two of them are on call at any given time.

" + } + }, + "OverrideList": { + "base": null, + "refs": { + "ListPreviewRotationShiftsRequest$Overrides": "

Information about changes that would be made in a rotation override.

" } }, "Page": { @@ -473,18 +721,28 @@ "ListEngagementsResult$NextToken": "

The pagination token to continue to the next page of results.

", "ListPageReceiptsRequest$NextToken": "

The pagination token to continue to the next page of results.

", "ListPageReceiptsResult$NextToken": "

The pagination token to continue to the next page of results.

", + "ListPageResolutionsRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "ListPageResolutionsResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", "ListPagesByContactRequest$NextToken": "

The pagination token to continue to the next page of results.

", "ListPagesByContactResult$NextToken": "

The pagination token to continue to the next page of results.

", "ListPagesByEngagementRequest$NextToken": "

The pagination token to continue to the next page of results.

", - "ListPagesByEngagementResult$NextToken": "

The pagination token to continue to the next page of results.

" + "ListPagesByEngagementResult$NextToken": "

The pagination token to continue to the next page of results.

", + "ListPreviewRotationShiftsRequest$NextToken": "

A token to start the list. This token is used to get the next set of results.

", + "ListPreviewRotationShiftsResult$NextToken": "

The token for the next set of items to return. This token is used to get the next set of results.

", + "ListRotationOverridesRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "ListRotationOverridesResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", + "ListRotationShiftsRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "ListRotationShiftsResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

", + "ListRotationsRequest$NextToken": "

A token to start the list. Use this token to get the next set of results.

", + "ListRotationsResult$NextToken": "

The token for the next set of items to return. Use this token to get the next set of results.

" } }, "Plan": { - "base": "

The stages that an escalation plan or engagement plan engages contacts and contact methods in.

", + "base": "

Information about the stages and on-call rotation teams associated with an escalation plan or engagement plan.

", "refs": { - "CreateContactRequest$Plan": "

A list of stages. A contact has an engagement plan with stages that contact specified contact channels. An escalation plan uses stages that contact specified contacts.

", + "CreateContactRequest$Plan": "

A list of stages. A contact has an engagement plan with stages that contact specified contact channels. An escalation plan uses stages that contact specified contacts.

", "GetContactResult$Plan": "

Details about the specific timing or stages and targets of the escalation plan or engagement plan.

", - "UpdateContactRequest$Plan": "

A list of stages. A contact has an engagement plan with stages for specified contact channels. An escalation plan uses these stages to contact specified contacts.

" + "UpdateContactRequest$Plan": "

A list of stages. A contact has an engagement plan with stages for specified contact channels. An escalation plan uses these stages to contact specified contacts.

" } }, "Policy": { @@ -494,6 +752,12 @@ "PutContactPolicyRequest$Policy": "

Details of the resource policy.

" } }, + "PreviewOverride": { + "base": "

Information about contacts and times that an on-call override replaces.

", + "refs": { + "OverrideList$member": null + } + }, "PublicContent": { "base": null, "refs": { @@ -545,6 +809,34 @@ "ListPageReceiptsResult$Receipts": "

A list of each acknowledgement.

" } }, + "RecurrenceMultiplier": { + "base": null, + "refs": { + "RecurrenceSettings$RecurrenceMultiplier": "

The number of days, weeks, or months a single rotation lasts.

" + } + }, + "RecurrenceSettings": { + "base": "

Information about when an on-call rotation is in effect and how long the rotation period lasts.

", + "refs": { + "CreateRotationRequest$Recurrence": "

Information about the rule that specifies when a shift's team members rotate.

", + "GetRotationResult$Recurrence": "

Specifies how long a rotation lasts before restarting at the beginning of the shift order.

", + "ListPreviewRotationShiftsRequest$Recurrence": "

Information about how long a rotation would last before restarting at the beginning of the shift order.

", + "Rotation$Recurrence": "

Information about when an on-call rotation is in effect and how long the rotation period lasts.

", + "UpdateRotationRequest$Recurrence": "

Information about how long the updated rotation lasts before restarting at the beginning of the shift order.

" + } + }, + "ResolutionContact": { + "base": "

Information about the engagement resolution steps. The resolution starts from the first contact, which can be an escalation plan, then resolves to an on-call rotation, and finally to a personal contact.

The ResolutionContact structure describes the information for each node or step in that process. It contains information about different contact types, such as the escalation, rotation, and personal contacts.

", + "refs": { + "ResolutionList$member": null + } + }, + "ResolutionList": { + "base": null, + "refs": { + "ListPageResolutionsResult$PageResolutions": "

Information about the resolution for an engagement.

" + } + }, "ResourceNotFoundException": { "base": "

Request references a resource that doesn't exist.

", "refs": { @@ -563,6 +855,78 @@ "ChannelTargetInfo$RetryIntervalInMinutes": "

The number of minutes to wait to retry sending engagement in the case the engagement initially fails.

" } }, + "Rotation": { + "base": "

Information about a rotation in an on-call schedule.

", + "refs": { + "Rotations$member": null + } + }, + "RotationContactsArnList": { + "base": null, + "refs": { + "CreateRotationRequest$ContactIds": "

The Amazon Resource Names (ARNs) of the contacts to add to the rotation.

The order that you list the contacts in is their shift order in the rotation schedule. To change the order of the contact's shifts, use the UpdateRotation operation.

", + "GetRotationResult$ContactIds": "

The Amazon Resource Names (ARNs) of the contacts assigned to the on-call rotation team.

", + "UpdateRotationRequest$ContactIds": "

The Amazon Resource Names (ARNs) of the contacts to include in the updated rotation.

The order in which you list the contacts is their shift order in the rotation schedule.

" + } + }, + "RotationName": { + "base": null, + "refs": { + "CreateRotationRequest$Name": "

The name of the rotation.

", + "GetRotationResult$Name": "

The name of the on-call rotation.

", + "ListRotationsRequest$RotationNamePrefix": "

A filter to include rotations in list results based on their common prefix. For example, entering prod returns a list of all rotation names that begin with prod, such as production and prod-1.

", + "Rotation$Name": "

The name of the rotation.

" + } + }, + "RotationOverride": { + "base": "

Information about an override specified for an on-call rotation.

", + "refs": { + "RotationOverrides$member": null + } + }, + "RotationOverrideContactsArnList": { + "base": null, + "refs": { + "CreateRotationOverrideRequest$NewContactIds": "

The Amazon Resource Names (ARNs) of the contacts to replace those in the current on-call rotation with.

If you want to include any current team members in the override shift, you must include their ARNs in the new contact ID list.

" + } + }, + "RotationOverridePreviewMemberList": { + "base": null, + "refs": { + "PreviewOverride$NewMembers": "

Information about contacts to add to an on-call rotation override.

" + } + }, + "RotationOverrides": { + "base": null, + "refs": { + "ListRotationOverridesResult$RotationOverrides": "

A list of rotation overrides in the specified time range.

" + } + }, + "RotationPreviewMemberList": { + "base": null, + "refs": { + "ListPreviewRotationShiftsRequest$Members": "

The contacts that would be assigned to a rotation.

" + } + }, + "RotationShift": { + "base": "

Information about a shift that belongs to an on-call rotation.

", + "refs": { + "RotationShifts$member": null + } + }, + "RotationShifts": { + "base": null, + "refs": { + "ListPreviewRotationShiftsResult$RotationShifts": "

Details about a rotation shift, including times, types, and contacts.

", + "ListRotationShiftsResult$RotationShifts": "

Information about shifts that meet the filter criteria.

" + } + }, + "Rotations": { + "base": null, + "refs": { + "ListRotationsResult$Rotations": "

Information about rotations that meet the filter criteria.

" + } + }, "SendActivationCodeRequest": { "base": null, "refs": { @@ -588,6 +952,24 @@ "refs": { } }, + "ShiftCoveragesMap": { + "base": null, + "refs": { + "RecurrenceSettings$ShiftCoverages": "

Information about the days of the week included in on-call rotation coverage.

" + } + }, + "ShiftDetails": { + "base": "

Information about overrides to an on-call rotation shift.

", + "refs": { + "RotationShift$ShiftDetails": "

Additional information about an on-call rotation shift.

" + } + }, + "ShiftType": { + "base": null, + "refs": { + "RotationShift$Type": "

The type of shift rotation.

" + } + }, "SimpleAddress": { "base": null, "refs": { @@ -608,9 +990,13 @@ "CreateContactChannelRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact you are adding the contact channel to.

", "CreateContactChannelResult$ContactChannelArn": "

The Amazon Resource Name (ARN) of the contact channel.

", "CreateContactResult$ContactArn": "

The Amazon Resource Name (ARN) of the created contact or escalation plan.

", + "CreateRotationOverrideRequest$RotationId": "

The Amazon Resource Name (ARN) of the rotation to create an override for.

", + "CreateRotationResult$RotationArn": "

The Amazon Resource Name (ARN) of the created rotation.

", "DeactivateContactChannelRequest$ContactChannelId": "

The Amazon Resource Name (ARN) of the contact channel you're deactivating.

", "DeleteContactChannelRequest$ContactChannelId": "

The Amazon Resource Name (ARN) of the contact channel.

", "DeleteContactRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact that you're deleting.

", + "DeleteRotationOverrideRequest$RotationId": "

The Amazon Resource Name (ARN) of the rotation that was overridden.

", + "DeleteRotationRequest$RotationId": "

The Amazon Resource Name (ARN) of the on-call rotation to delete.

", "DescribeEngagementRequest$EngagementId": "

The Amazon Resource Name (ARN) of the engagement you want the details of.

", "DescribeEngagementResult$ContactArn": "

The ARN of the escalation plan or contacts involved in the engagement.

", "DescribeEngagementResult$EngagementArn": "

The ARN of the engagement.

", @@ -627,21 +1013,46 @@ "GetContactPolicyResult$ContactArn": "

The ARN of the contact or escalation plan.

", "GetContactRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact or escalation plan.

", "GetContactResult$ContactArn": "

The ARN of the contact or escalation plan.

", - "ListContactChannelsRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact.

", + "GetRotationOverrideRequest$RotationId": "

The Amazon Resource Name (ARN) of the overridden rotation to retrieve information about.

", + "GetRotationOverrideResult$RotationArn": "

The Amazon Resource Name (ARN) of the on-call rotation that was overridden.

", + "GetRotationRequest$RotationId": "

The Amazon Resource Name (ARN) of the on-call rotation to retrieve information about.

", + "GetRotationResult$RotationArn": "

The Amazon Resource Name (ARN) of the on-call rotation.

", + "ListContactChannelsRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact.

", "ListPageReceiptsRequest$PageId": "

The Amazon Resource Name (ARN) of the engagement to a specific contact channel.

", + "ListPageResolutionsRequest$PageId": "

The Amazon Resource Name (ARN) of the contact engaged for the incident.

", "ListPagesByContactRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact you are retrieving engagements for.

", "ListPagesByEngagementRequest$EngagementId": "

The Amazon Resource Name (ARN) of the engagement.

", + "ListRotationOverridesRequest$RotationId": "

The Amazon Resource Name (ARN) of the rotation to retrieve information about.

", + "ListRotationShiftsRequest$RotationId": "

The Amazon Resource Name (ARN) of the rotation to retrieve shift information about.

", "Page$PageArn": "

The Amazon Resource Name (ARN) of the page to the contact channel.

", "Page$EngagementArn": "

The ARN of the engagement that this page is part of.

", "Page$ContactArn": "

The ARN of the contact that Incident Manager is engaging.

", "PutContactPolicyRequest$ContactArn": "

The Amazon Resource Name (ARN) of the contact or escalation plan.

", "Receipt$ContactChannelArn": "

The Amazon Resource Name (ARN) of the contact channel Incident Manager engaged.

", + "ResolutionContact$ContactArn": "

The Amazon Resource Name (ARN) of a contact in the engagement resolution process.

", + "Rotation$RotationArn": "

The Amazon Resource Name (ARN) of the rotation.

", + "RotationContactsArnList$member": null, + "RotationOverrideContactsArnList$member": null, "SendActivationCodeRequest$ContactChannelId": "

The Amazon Resource Name (ARN) of the contact channel.

", + "SsmContactsArnList$member": null, "StartEngagementRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact being engaged.

", "StartEngagementResult$EngagementArn": "

The ARN of the engagement.

", "StopEngagementRequest$EngagementId": "

The Amazon Resource Name (ARN) of the engagement.

", "UpdateContactChannelRequest$ContactChannelId": "

The Amazon Resource Name (ARN) of the contact channel you want to update.

", - "UpdateContactRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact or escalation plan you're updating.

" + "UpdateContactRequest$ContactId": "

The Amazon Resource Name (ARN) of the contact or escalation plan you're updating.

", + "UpdateRotationRequest$RotationId": "

The Amazon Resource Name (ARN) of the rotation to update.

" + } + }, + "SsmContactsArnList": { + "base": null, + "refs": { + "DependentEntity$DependentResourceIds": "

The Amazon Resource Names (ARNs) of the dependent resources.

", + "GetRotationOverrideResult$NewContactIds": "

The Amazon Resource Names (ARNs) of the contacts assigned to the override of the on-call rotation.

", + "Plan$RotationIds": "

The Amazon Resource Names (ARNs) of the on-call rotations associated with the plan.

", + "Rotation$ContactIds": "

The Amazon Resource Names (ARNs) of the contacts assigned to the rotation team.

", + "RotationOverride$NewContactIds": "

The Amazon Resource Names (ARNs) of the contacts assigned to the override of the on-call rotation.

", + "RotationShift$ContactIds": "

The Amazon Resource Names (ARNs) of the contacts who are part of the shift rotation.

", + "ShiftDetails$OverriddenContactIds": "

The Amazon Resources Names (ARNs) of the contacts who were replaced in a shift when an override was created. If the override is deleted, these contacts are restored to the shift.

" } }, "Stage": { @@ -656,6 +1067,12 @@ "Stage$DurationInMinutes": "

The time to wait until beginning the next stage. The duration can only be set to 0 if a target is specified.

" } }, + "StageIndex": { + "base": null, + "refs": { + "ResolutionContact$StageIndex": "

The stage in the escalation plan that resolves to this contact.

" + } + }, "StagesList": { "base": null, "refs": { @@ -685,7 +1102,7 @@ "StopReason": { "base": null, "refs": { - "StopEngagementRequest$Reason": "

The reason that you're stopping the engagement.

" + "StopEngagementRequest$Reason": "

The reason that you're stopping the engagement.

" } }, "String": { @@ -694,8 +1111,9 @@ "AccessDeniedException$Message": null, "ConflictException$Message": null, "ConflictException$ResourceId": "Identifier of the resource in use", - "ConflictException$ResourceType": "ype of the resource in use", + "ConflictException$ResourceType": "Type of the resource in use", "DataEncryptionException$Message": null, + "DependentEntity$RelationType": "

The type of relationship between one resource and the other resource that it is related to or depends on.

", "InternalServerException$Message": null, "ResourceNotFoundException$Message": null, "ResourceNotFoundException$ResourceId": "Hypothetical resource identifier that was not found", @@ -759,7 +1177,8 @@ "TagsList": { "base": null, "refs": { - "CreateContactRequest$Tags": "

Adds a tag to the target. You can only tag resources created in the first Region of your replication set.

", + "CreateContactRequest$Tags": "

Adds a tag to the target. You can only tag resources created in the first Region of your replication set.

", + "CreateRotationRequest$Tags": "

Optional metadata to assign to the rotation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For more information, see Tagging Incident Manager resources in the Incident Manager User Guide.

", "ListTagsForResourceResult$Tags": "

The tags related to the contact or escalation plan.

", "TagResourceRequest$Tags": "

A list of tags that you are adding to the contact or escalation plan.

" } @@ -787,6 +1206,16 @@ "ListEngagementsRequest$TimeRangeValue": "

The time range to lists engagements for an incident.

" } }, + "TimeZoneId": { + "base": null, + "refs": { + "CreateRotationRequest$TimeZoneId": "

The time zone to base the rotation’s activity on in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

Designators for time zones that don’t support Daylight Savings Time rules, such as Pacific Standard Time (PST) and Pacific Daylight Time (PDT), are not supported.

", + "GetRotationResult$TimeZoneId": "

The time zone that the rotation’s activity is based on, in Internet Assigned Numbers Authority (IANA) format.

", + "ListPreviewRotationShiftsRequest$TimeZoneId": "

The time zone the rotation’s activity would be based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\".

", + "Rotation$TimeZoneId": "

The time zone the rotation’s activity is based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\".

", + "UpdateRotationRequest$TimeZoneId": "

The time zone to base the updated rotation’s activity on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

Designators for time zones that don’t support Daylight Savings Time Rules, such as Pacific Standard Time (PST) and Pacific Daylight Time (PDT), aren't supported.

" + } + }, "UntagResourceRequest": { "base": null, "refs": { @@ -817,6 +1246,26 @@ "refs": { } }, + "UpdateRotationRequest": { + "base": null, + "refs": { + } + }, + "UpdateRotationResult": { + "base": null, + "refs": { + } + }, + "Uuid": { + "base": null, + "refs": { + "CreateRotationOverrideResult$RotationOverrideId": "

The Amazon Resource Name (ARN) of the created rotation override.

", + "DeleteRotationOverrideRequest$RotationOverrideId": "

The Amazon Resource Name (ARN) of the on-call rotation override to delete.

", + "GetRotationOverrideRequest$RotationOverrideId": "

The Amazon Resource Name (ARN) of the on-call rotation override to retrieve information about.

", + "GetRotationOverrideResult$RotationOverrideId": "

The Amazon Resource Name (ARN) of the override to an on-call rotation.

", + "RotationOverride$RotationOverrideId": "

The Amazon Resource Name (ARN) of the override to an on-call rotation.

" + } + }, "ValidationException": { "base": "

The input fails to satisfy the constraints specified by an Amazon Web Services service.

", "refs": { @@ -839,6 +1288,18 @@ "refs": { "ValidationException$Reason": "Reason the request failed validation" } + }, + "WeeklySetting": { + "base": "

Information about rotations that recur weekly.

", + "refs": { + "WeeklySettings$member": null + } + }, + "WeeklySettings": { + "base": null, + "refs": { + "RecurrenceSettings$WeeklySettings": "

Information about on-call rotations that recur weekly.

" + } } } } diff --git a/models/apis/ssm-contacts/2021-05-03/endpoint-rule-set-1.json b/models/apis/ssm-contacts/2021-05-03/endpoint-rule-set-1.json new file mode 100644 index 00000000000..dc2786c871b --- /dev/null +++ b/models/apis/ssm-contacts/2021-05-03/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ssm-contacts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ssm-contacts-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ssm-contacts.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ssm-contacts.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/ssm-contacts/2021-05-03/endpoint-tests-1.json b/models/apis/ssm-contacts/2021-05-03/endpoint-tests-1.json new file mode 100644 index 00000000000..739c38c65fa --- /dev/null +++ b/models/apis/ssm-contacts/2021-05-03/endpoint-tests-1.json @@ -0,0 +1,264 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": true, + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseDualStack": false, + "UseFIPS": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ssm-contacts.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseDualStack": false, + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": false, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/ssm-contacts/2021-05-03/examples-1.json b/models/apis/ssm-contacts/2021-05-03/examples-1.json index d7c714d8fe8..0ea7e3b0bbe 100644 --- a/models/apis/ssm-contacts/2021-05-03/examples-1.json +++ b/models/apis/ssm-contacts/2021-05-03/examples-1.json @@ -1,714 +1,5 @@ { "version": "1.0", "examples": { - "AcceptPage": [ - { - "input": { - "AcceptCode": "425440", - "AcceptType": "READ", - "PageId": "arn:aws:ssm-contacts:us-east-2:682428703967:page/akuam/94ea0c7b-56d9-46c3-b84a-a37c8b067ad3" - }, - "output": { - }, - "comments": { - }, - "description": "The following accept-page operation uses an accept code sent to the contact channel to accept a page.", - "id": "to-accept-a-page-during-and-engagement-1630357840187", - "title": "To accept a page during and engagement" - } - ], - "ActivateContactChannel": [ - { - "input": { - "ActivationCode": "466136", - "ContactChannelId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d" - }, - "output": { - }, - "comments": { - }, - "description": "The following activate-contact-channel example activates a contact channel and makes it usable as part of an incident.", - "id": "activate-a-contacts-contact-channel-1630359780075", - "title": "Activate a contact's contact channel" - } - ], - "CreateContact": [ - { - "input": { - "Alias": "akuam", - "DisplayName": "Akua Mansa", - "Plan": { - "Stages": [ - - ] - }, - "Type": "PERSONAL" - }, - "output": { - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam" - }, - "comments": { - }, - "description": "The following create-contact example creates a contact in your environment with a blank plan. The plan can be updated after creating contact channels. Use the create-contact-channel operation with the output ARN of this command. After you have created contact channels for this contact use update-contact to update the plan.", - "id": "to-create-a-contact-1630360152750", - "title": "To create a contact" - } - ], - "CreateContactChannel": [ - { - "input": { - "ContactId": "arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam", - "DeliveryAddress": { - "SimpleAddress": "+15005550199" - }, - "Name": "akuas sms-test", - "Type": "SMS" - }, - "output": { - "ContactChannelArn": "arn:aws:ssm-contacts:us-east-1:111122223333:contact-channel/akuam/02f506b9-ea5d-4764-af89-2daa793ff024" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "Creates a contact channel of type SMS for the contact Akua Mansa. Contact channels can be created of type SMS, EMAIL, or VOICE.", - "id": "to-create-a-contact-channel-1630360447010", - "title": "To create a contact channel" - } - ], - "DeactivateContactChannel": [ - { - "input": { - "ContactChannelId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d" - }, - "output": { - }, - "comments": { - }, - "description": "The following ``deactivate-contact-channel`` example deactivates a contact channel. Deactivating a contact channel means the contact channel will no longer be paged during an incident. You can also reactivate a contact channel at any time using the activate-contact-channel operation.", - "id": "to-deactivate-a-contact-channel-1630360853894", - "title": "To deactivate a contact channel" - } - ], - "DeleteContact": [ - { - "input": { - "ContactId": "arn:aws:ssm-contacts:us-east-1:111122223333:contact/alejr" - }, - "output": { - }, - "comments": { - }, - "description": "The following delete-contact example deletes a contact. The contact will no longer be reachable from any escalation plan that refers to them.", - "id": "to-delete-a-contact-1630361093863", - "title": "To delete a contact" - } - ], - "DeleteContactChannel": [ - { - "input": { - "ContactChannelId": "arn:aws:ssm-contacts:us-east-1:111122223333:contact-channel/akuam/13149bad-52ee-45ea-ae1e-45857f78f9b2" - }, - "output": { - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following delete-contact-channel example deletes a contact channel. Deleting a contact channel ensures the contact channel will not be paged during an incident.", - "id": "to-delete-a-contact-channel-1630364616682", - "title": "To delete a contact channel" - } - ], - "DescribeEngagement": [ - { - "input": { - "EngagementId": "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356" - }, - "output": { - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation", - "Content": "Testing engagements", - "EngagementArn": "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356", - "PublicContent": "Testing engagements", - "PublicSubject": "test", - "Sender": "tester", - "StartTime": "2021-05-18T18:25:41.151000+00:00", - "Subject": "test" - }, - "comments": { - }, - "description": "The following describe-engagement example lists the details of an engagement to a contact or escalation plan. The subject and content are sent to the contact channels.", - "id": "to-describe-the-details-of-an-engagement-1630364719475", - "title": "To describe the details of an engagement" - } - ], - "DescribePage": [ - { - "input": { - "PageId": "arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/ad0052bd-e606-498a-861b-25726292eb93" - }, - "output": { - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam", - "Content": "Testing engagements", - "DeliveryTime": "2021-05-18T18:43:55.265000+00:00", - "EngagementArn": "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0", - "PageArn": "arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/ad0052bd-e606-498a-861b-25726292eb93", - "PublicContent": "Testing engagements", - "PublicSubject": "test", - "ReadTime": "2021-05-18T18:43:55.708000+00:00", - "Sender": "tester", - "SentTime": "2021-05-18T18:43:29.301000+00:00", - "Subject": "test" - }, - "comments": { - }, - "description": "The following describe-page example lists details of a page to a contact channel. The page will include the subject and content provided.", - "id": "to-list-the-details-of-a-page-to-a-contact-channel-1630364907282", - "title": "To list the details of a page to a contact channel" - } - ], - "GetContact": [ - { - "input": { - "ContactId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam" - }, - "output": { - "Alias": "akuam", - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam", - "DisplayName": "Akua Mansa", - "Plan": { - "Stages": [ - { - "DurationInMinutes": 5, - "Targets": [ - { - "ChannelTargetInfo": { - "ContactChannelId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/beb25840-5ac8-4644-95cc-7a8de390fa65", - "RetryIntervalInMinutes": 1 - } - } - ] - }, - { - "DurationInMinutes": 5, - "Targets": [ - { - "ChannelTargetInfo": { - "ContactChannelId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/49f3c24d-5f9f-4638-ae25-3f49e04229ad", - "RetryIntervalInMinutes": 1 - } - } - ] - }, - { - "DurationInMinutes": 5, - "Targets": [ - { - "ChannelTargetInfo": { - "ContactChannelId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/77d4f447-f619-4954-afff-85551e369c2a", - "RetryIntervalInMinutes": 1 - } - } - ] - } - ] - }, - "Type": "PERSONAL" - }, - "comments": { - }, - "description": "The following get-contact example describes a contact.", - "id": "example-1-to-describe-a-contact-plan-1630365360005", - "title": "Example 1: To describe a contact plan" - }, - { - "input": { - "ContactId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation" - }, - "output": { - "Alias": "example_escalation", - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation", - "DisplayName": "Example Escalation Plan", - "Plan": { - "Stages": [ - { - "DurationInMinutes": 5, - "Targets": [ - { - "ContactTargetInfo": { - "ContactId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam", - "IsEssential": true - } - } - ] - }, - { - "DurationInMinutes": 5, - "Targets": [ - { - "ContactTargetInfo": { - "ContactId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/alejr", - "IsEssential": false - } - } - ] - }, - { - "DurationInMinutes": 0, - "Targets": [ - { - "ContactTargetInfo": { - "ContactId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/anasi", - "IsEssential": false - } - } - ] - } - ] - }, - "Type": "ESCALATION" - }, - "comments": { - }, - "description": "The following get-contact example describes an escalation plan.", - "id": "example-2-to-describe-an-escalation-plan-1630365515731", - "title": "Example 2: To describe an escalation plan" - } - ], - "GetContactChannel": [ - { - "input": { - "ContactChannelId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d" - }, - "output": { - "ActivationStatus": "ACTIVATED", - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam", - "ContactChannelArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d", - "DeliveryAddress": { - "SimpleAddress": "+15005550199" - }, - "Name": "akuas sms", - "Type": "SMS" - }, - "comments": { - }, - "description": "The following get-contact-channel example lists the details of a contact channel.", - "id": "to-list-the-details-of-a-contact-channel-1630365682730", - "title": "To list the details of a contact channel" - } - ], - "GetContactPolicy": [ - { - "input": { - "ContactArn": "arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam" - }, - "output": { - "ContactArn": "arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam", - "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"SharePolicyForDocumentationDralia\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"222233334444\"},\"Action\":[\"ssm-contacts:GetContact\",\"ssm-contacts:StartEngagement\",\"ssm-contacts:DescribeEngagement\",\"ssm-contacts:ListPagesByEngagement\",\"ssm-contacts:StopEngagement\"],\"Resource\":[\"arn:aws:ssm-contacts:*:111122223333:contact/akuam\",\"arn:aws:ssm-contacts:*:111122223333:engagement/akuam/*\"]}]}" - }, - "comments": { - }, - "description": "The following get-contact-policy example lists the resource policies associated with the specified contact.", - "id": "to-list-the-details-of-a-contact-channel-1630365682730", - "title": "To list the resource policies of a contact" - } - ], - "ListContactChannels": [ - { - "input": { - "ContactId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam" - }, - "output": { - "ContactChannels": [ - { - "ActivationStatus": "ACTIVATED", - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam", - "ContactChannelArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d", - "DeliveryAddress": { - "SimpleAddress": "+15005550100" - }, - "Name": "akuas sms", - "Type": "SMS" - } - ] - }, - "comments": { - }, - "description": "The following list-contact-channels example lists the available contact channels of the specified contact.", - "id": "to-list-the-contact-channels-of-a-contact-1630366544252", - "title": "To list the contact channels of a contact" - } - ], - "ListContacts": [ - { - "input": { - }, - "output": { - "Contacts": [ - { - "Alias": "akuam", - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam", - "DisplayName": "Akua Mansa", - "Type": "PERSONAL" - }, - { - "Alias": "alejr", - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/alejr", - "DisplayName": "Alejandro Rosalez", - "Type": "PERSONAL" - }, - { - "Alias": "anasi", - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/anasi", - "DisplayName": "Ana Carolina Silva", - "Type": "PERSONAL" - }, - { - "Alias": "example_escalation", - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation", - "DisplayName": "Example Escalation", - "Type": "ESCALATION" - } - ] - }, - "comments": { - }, - "description": "The following list-contacts example lists the contacts and escalation plans in your account.", - "id": "to-list-all-escalation-plans-and-contacts-1630367103082", - "title": "To list all escalation plans and contacts" - } - ], - "ListEngagements": [ - { - "input": { - }, - "output": { - "Engagements": [ - { - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam", - "EngagementArn": "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/91792571-0b53-4821-9f73-d25d13d9e529", - "Sender": "cli", - "StartTime": "2021-05-18T20:37:50.300000+00:00" - }, - { - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam", - "EngagementArn": "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0", - "Sender": "cli", - "StartTime": "2021-05-18T18:40:26.666000+00:00" - }, - { - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation", - "EngagementArn": "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356", - "Sender": "cli", - "StartTime": "2021-05-18T18:25:41.151000+00:00" - }, - { - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam", - "EngagementArn": "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/607ced0e-e8fa-4ea7-8958-a237b8803f8f", - "Sender": "cli", - "StartTime": "2021-05-18T18:20:58.093000+00:00" - } - ] - }, - "comments": { - }, - "description": "The following list-engagements example lists engagements to escalation plans and contacts. You can also list engagements for a single incident.", - "id": "to-list-all-engagements-1630367432635", - "title": "To list all engagements" - } - ], - "ListPageReceipts": [ - { - "input": { - "PageId": "arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/94ea0c7b-56d9-46c3-b84a-a37c8b067ad3" - }, - "output": { - "Receipts": [ - { - "ContactChannelArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d", - "ReceiptInfo": "425440", - "ReceiptTime": "2021-05-18T20:42:57.485000+00:00", - "ReceiptType": "DELIVERED" - }, - { - "ContactChannelArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d", - "ReceiptInfo": "425440", - "ReceiptTime": "2021-05-18T20:42:57.907000+00:00", - "ReceiptType": "READ" - }, - { - "ContactChannelArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d", - "ReceiptInfo": "SM6656c19132f1465f9c9c1123a5dde7c9", - "ReceiptTime": "2021-05-18T20:40:52.962000+00:00", - "ReceiptType": "SENT" - } - ] - }, - "comments": { - }, - "description": "The following command-name example lists whether a page was received or not by a contact.", - "id": "to-list-page-receipts-1630367706869", - "title": "To list page receipts" - } - ], - "ListPagesByContact": [ - { - "input": { - "ContactId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam" - }, - "output": { - "Pages": [ - { - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam", - "DeliveryTime": "2021-05-18T18:43:55.265000+00:00", - "EngagementArn": "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0", - "PageArn": "arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/ad0052bd-e606-498a-861b-25726292eb93", - "ReadTime": "2021-05-18T18:43:55.708000+00:00", - "Sender": "cli", - "SentTime": "2021-05-18T18:43:29.301000+00:00" - } - ] - }, - "comments": { - }, - "description": "The following list-pages-by-contact example lists all pages to the specified contact.", - "id": "to-list-pages-by-contact-1630435789132", - "title": "To list pages by contact" - } - ], - "ListPagesByEngagement": [ - { - "input": { - "EngagementId": "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0" - }, - "output": { - "Pages": [ - { - "ContactArn": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam", - "EngagementArn": "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0", - "PageArn": "arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/ad0052bd-e606-498a-861b-25726292eb93", - "Sender": "cli", - "SentTime": "2021-05-18T18:40:27.245000+00:00" - } - ] - }, - "comments": { - }, - "description": "The following list-pages-by-engagement example lists the pages that occurred while engaging the defined engagement plan.", - "id": "to-list-pages-to-contact-channels-started-from-an-engagement-1630435864674", - "title": "To list pages to contact channels started from an engagement." - } - ], - "ListTagsForResource": [ - { - "input": { - "ResourceARN": "arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam" - }, - "output": { - "Tags": [ - { - "Key": "group1", - "Value": "1" - } - ] - }, - "comments": { - }, - "description": "The following list-tags-for-resource example lists the tags of the specified contact.", - "id": "to-list-tags-for-a-contact-1630436051681", - "title": "To list tags for a contact" - } - ], - "PutContactPolicy": [ - { - "input": { - "ContactArn": "arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam", - "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"ExampleResourcePolicy\",\"Action\":[\"ssm-contacts:GetContact\",\"ssm-contacts:StartEngagement\",\"ssm-contacts:DescribeEngagement\",\"ssm-contacts:ListPagesByEngagement\",\"ssm-contacts:StopEngagement\"],\"Principal\":{\"AWS\":\"222233334444\"},\"Effect\":\"Allow\",\"Resource\":[\"arn:aws:ssm-contacts:*:111122223333:contact/akuam\",\"arn:aws:ssm-contacts:*:111122223333:engagement/akuam/*\"]}]}" - }, - "output": { - }, - "comments": { - }, - "description": "The following put-contact-policy example adds a resource policy to the contact Akua that shares the contact and related engagements with the principal.", - "id": "to-share-a-contact-and-engagements-1630436278898", - "title": "To share a contact and engagements" - } - ], - "SendActivationCode": [ - { - "input": { - "ContactChannelId": "arn:aws:ssm-contacts:us-east-1:111122223333:contact-channel/akuam/8ddae2d1-12c8-4e45-b852-c8587266c400" - }, - "output": { - }, - "comments": { - }, - "description": "The following send-activation-code example sends an activation code and message to the specified contact channel.", - "id": "to-send-an-activation-code-1630436453574", - "title": "To send an activation code" - } - ], - "StartEngagement": [ - { - "input": { - "ContactId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam", - "Content": "Testing engagements", - "PublicContent": "Testing engagements", - "PublicSubject": "test", - "Sender": "tester", - "Subject": "test" - }, - "output": { - "EngagementArn": "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/607ced0e-e8fa-4ea7-8958-a237b8803f8f" - }, - "comments": { - }, - "description": "The following start-engagement pages contact's contact channels. Sender, subject, public-subject, and public-content are all free from fields. Incident Manager sends the subject and content to the provided VOICE or EMAIL contact channels. Incident Manager sends the public-subject and public-content to the provided SMS contact channels. Sender is used to track who started the engagement.", - "id": "example-1-to-page-a-contacts-contact-channels-1630436634872", - "title": "Example 1: To page a contact's contact channels" - }, - { - "input": { - "ContactId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation", - "Content": "Testing engagements", - "PublicContent": "Testing engagements", - "PublicSubject": "test", - "Sender": "tester", - "Subject": "test" - }, - "output": { - "EngagementArn": "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356" - }, - "comments": { - }, - "description": "The following start-engagement engages contact's through an escalation plan. Each contact is paged according to their engagement plan.", - "id": "example-2-to-page-a-contact-in-the-provided-escalation-plan-1630436808480", - "title": "Example 2: To page a contact in the provided escalation plan." - } - ], - "StopEngagement": [ - { - "input": { - "EngagementId": "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356" - }, - "output": { - }, - "comments": { - }, - "description": "The following stop-engagement example stops an engagement from paging further contacts and contact channels.", - "id": "to-stop-an-engagement-1630436882864", - "title": "To stop an engagement" - } - ], - "TagResource": [ - { - "input": { - "ResourceARN": "arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam", - "Tags": [ - { - "Key": "group1", - "Value": "1" - } - ] - }, - "output": { - }, - "comments": { - }, - "description": "The following tag-resource example tags a specified contact with the provided tag key value pair.", - "id": "to-tag-a-contact-1630437124572", - "title": "To tag a contact" - } - ], - "UntagResource": [ - { - "input": { - "ResourceARN": "arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam", - "TagKeys": [ - "group1" - ] - }, - "output": { - }, - "comments": { - }, - "description": "The following untag-resource example removes the group1 tag from the specified contact.", - "id": "to-remove-tags-from-a-contact-1630437251110", - "title": "To remove tags from a contact" - } - ], - "UpdateContact": [ - { - "input": { - "ContactId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam", - "Plan": { - "Stages": [ - { - "DurationInMinutes": 5, - "Targets": [ - { - "ChannelTargetInfo": { - "ContactChannelId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/beb25840-5ac8-4644-95cc-7a8de390fa65", - "RetryIntervalInMinutes": 1 - } - } - ] - }, - { - "DurationInMinutes": 5, - "Targets": [ - { - "ChannelTargetInfo": { - "ContactChannelId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/49f3c24d-5f9f-4638-ae25-3f49e04229ad", - "RetryIntervalInMinutes": 1 - } - } - ] - }, - { - "DurationInMinutes": 5, - "Targets": [ - { - "ChannelTargetInfo": { - "ContactChannelId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/77d4f447-f619-4954-afff-85551e369c2a", - "RetryIntervalInMinutes": 1 - } - } - ] - } - ] - } - }, - "output": { - }, - "comments": { - }, - "description": "The following update-contact example updates the engagement plan of the contact Akua to include the three types of contacts channels. This is done after creating contact channels for Akua.", - "id": "to-update-the-engagement-plan-of-contact-1630437436599", - "title": "To update the engagement plan of contact" - } - ], - "UpdateContactChannel": [ - { - "input": { - "ContactChannelId": "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/49f3c24d-5f9f-4638-ae25-3f49e04229ad", - "DeliveryAddress": { - "SimpleAddress": "+15005550198" - }, - "Name": "akuas voice channel" - }, - "output": { - }, - "comments": { - }, - "description": "The following update-contact-channel example updates the name and delivery address of a contact channel.", - "id": "to-update-a-contact-channel-1630437610256", - "title": "To update a contact channel" - } - ] } } diff --git a/models/apis/ssm-contacts/2021-05-03/paginators-1.json b/models/apis/ssm-contacts/2021-05-03/paginators-1.json index cf5a75c7d86..6d2795a1df2 100644 --- a/models/apis/ssm-contacts/2021-05-03/paginators-1.json +++ b/models/apis/ssm-contacts/2021-05-03/paginators-1.json @@ -24,6 +24,11 @@ "output_token": "NextToken", "result_key": "Receipts" }, + "ListPageResolutions": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "PageResolutions" + }, "ListPagesByContact": { "input_token": "NextToken", "limit_key": "MaxResults", @@ -35,6 +40,30 @@ "limit_key": "MaxResults", "output_token": "NextToken", "result_key": "Pages" + }, + "ListPreviewRotationShifts": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "RotationShifts" + }, + "ListRotationOverrides": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "RotationOverrides" + }, + "ListRotationShifts": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "RotationShifts" + }, + "ListRotations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Rotations" } } } \ No newline at end of file diff --git a/models/apis/ssm-incidents/2018-05-10/api-2.json b/models/apis/ssm-incidents/2018-05-10/api-2.json index efb85bdd50b..f0df214e79a 100644 --- a/models/apis/ssm-incidents/2018-05-10/api-2.json +++ b/models/apis/ssm-incidents/2018-05-10/api-2.json @@ -1095,7 +1095,7 @@ }, "IncidentSummary":{ "type":"string", - "max":4000, + "max":8000, "min":0 }, "IncidentTemplate":{ @@ -1400,7 +1400,7 @@ }, "RawData":{ "type":"string", - "max":4000, + "max":10000, "min":0 }, "RegionInfo":{ diff --git a/models/apis/ssm-incidents/2018-05-10/docs-2.json b/models/apis/ssm-incidents/2018-05-10/docs-2.json index e23e7fdee8a..3a6f3c87e9e 100644 --- a/models/apis/ssm-incidents/2018-05-10/docs-2.json +++ b/models/apis/ssm-incidents/2018-05-10/docs-2.json @@ -4,7 +4,7 @@ "operations": { "CreateReplicationSet": "

A replication set replicates and encrypts your data to the provided Regions with the provided KMS key.

", "CreateResponsePlan": "

Creates a response plan that automates the initial response to incidents. A response plan engages contacts, starts chat channel collaboration, and initiates runbooks at the beginning of an incident.

", - "CreateTimelineEvent": "

Creates a custom timeline event on the incident details page of an incident record. Timeline events are automatically created by Incident Manager, marking key moment during an incident. You can create custom timeline events to mark important events that are automatically detected by Incident Manager.

", + "CreateTimelineEvent": "

Creates a custom timeline event on the incident details page of an incident record. Incident Manager automatically creates timeline events that mark key moments during an incident. You can create custom timeline events to mark important events that Incident Manager can detect automatically.

", "DeleteIncidentRecord": "

Delete an incident record from Incident Manager.

", "DeleteReplicationSet": "

Deletes all Regions in your replication set. Deleting the replication set deletes all Incident Manager data.

", "DeleteResourcePolicy": "

Deletes the resource policy that Resource Access Manager uses to share your Incident Manager resource.

", @@ -64,7 +64,7 @@ "AutomationExecution$ssmExecutionArn": "

The Amazon Resource Name (ARN) of the automation process.

", "CreateReplicationSetOutput$arn": "

The Amazon Resource Name (ARN) of the replication set.

", "CreateResponsePlanOutput$arn": "

The Amazon Resource Name (ARN) of the response plan.

", - "CreateTimelineEventInput$incidentRecordArn": "

The Amazon Resource Name (ARN) of the incident record to which the event will be added.

", + "CreateTimelineEventInput$incidentRecordArn": "

The Amazon Resource Name (ARN) of the incident record that the action adds the incident to.

", "CreateTimelineEventOutput$incidentRecordArn": "

The ARN of the incident record that you added the event to.

", "DeleteIncidentRecordInput$arn": "

The Amazon Resource Name (ARN) of the incident record you are deleting.

", "DeleteReplicationSetInput$arn": "

The Amazon Resource Name (ARN) of the replication set you're deleting.

", @@ -100,7 +100,7 @@ "TriggerDetails$triggerArn": "

The Amazon Resource Name (ARN) of the source that detected the incident.

", "UpdateDeletionProtectionInput$arn": "

The Amazon Resource Name (ARN) of the replication set to update.

", "UpdateIncidentRecordInput$arn": "

The Amazon Resource Name (ARN) of the incident record you are updating.

", - "UpdateRelatedItemsInput$incidentRecordArn": "

The Amazon Resource Name (ARN) of the incident record containing the related items you are updating.

", + "UpdateRelatedItemsInput$incidentRecordArn": "

The Amazon Resource Name (ARN) of the incident record that contains the related items that you update.

", "UpdateReplicationSetInput$arn": "

The Amazon Resource Name (ARN) of the replication set you're updating.

", "UpdateResponsePlanInput$arn": "

The Amazon Resource Name (ARN) of the response plan.

", "UpdateTimelineEventInput$incidentRecordArn": "

The Amazon Resource Name (ARN) of the incident that includes the timeline event.

" @@ -153,14 +153,14 @@ "refs": { "CreateReplicationSetInput$clientToken": "

A token that ensures that the operation is called only once with the specified details.

", "CreateResponsePlanInput$clientToken": "

A token ensuring that the operation is called only once with the specified details.

", - "CreateTimelineEventInput$clientToken": "

A token ensuring that the action is called only once with the specified details.

", + "CreateTimelineEventInput$clientToken": "

A token that ensures that a client calls the action only once with the specified details.

", "StartIncidentInput$clientToken": "

A token ensuring that the operation is called only once with the specified details.

", "UpdateDeletionProtectionInput$clientToken": "

A token that ensures that the operation is called only once with the specified details.

", - "UpdateIncidentRecordInput$clientToken": "

A token that ensures that the operation is called only once with the specified details.

", - "UpdateRelatedItemsInput$clientToken": "

A token ensuring that the operation is called only once with the specified details.

", + "UpdateIncidentRecordInput$clientToken": "

A token that ensures that a client calls the operation only once with the specified details.

", + "UpdateRelatedItemsInput$clientToken": "

A token that ensures that a client calls the operation only once with the specified details.

", "UpdateReplicationSetInput$clientToken": "

A token that ensures that the operation is called only once with the specified details.

", "UpdateResponsePlanInput$clientToken": "

A token ensuring that the operation is called only once with the specified details.

", - "UpdateTimelineEventInput$clientToken": "

A token ensuring that the operation is called only once with the specified details.

" + "UpdateTimelineEventInput$clientToken": "

A token that ensures that a client calls the operation only once with the specified details.

" } }, "Condition": { @@ -317,10 +317,10 @@ "EventReferenceList": { "base": null, "refs": { - "CreateTimelineEventInput$eventReferences": "

Adds one or more references to the TimelineEvent. A reference can be an Amazon Web Services resource involved in the incident or in some way associated with it. When you specify a reference, you enter the Amazon Resource Name (ARN) of the resource. You can also specify a related item. As an example, you could specify the ARN of an Amazon DynamoDB (DynamoDB) table. The table for this example is the resource. You could also specify a Amazon CloudWatch metric for that table. The metric is the related item.

", + "CreateTimelineEventInput$eventReferences": "

Adds one or more references to the TimelineEvent. A reference is an Amazon Web Services resource involved or associated with the incident. To specify a reference, enter its Amazon Resource Name (ARN). You can also specify a related item associated with a resource. For example, to specify an Amazon DynamoDB (DynamoDB) table as a resource, use the table's ARN. You can also specify an Amazon CloudWatch metric associated with the DynamoDB table as a related item.

", "EventSummary$eventReferences": "

A list of references in a TimelineEvent.

", "TimelineEvent$eventReferences": "

A list of references in a TimelineEvent.

", - "UpdateTimelineEventInput$eventReferences": "

Updates all existing references in a TimelineEvent. A reference can be an Amazon Web Services resource involved in the incident or in some way associated with it. When you specify a reference, you enter the Amazon Resource Name (ARN) of the resource. You can also specify a related item. As an example, you could specify the ARN of an Amazon DynamoDB (DynamoDB) table. The table for this example is the resource. You could also specify a Amazon CloudWatch metric for that table. The metric is the related item.

This update action overrides all existing references. If you want to keep existing references, you must specify them in the call. If you don't, this action removes them and enters only new references.

" + "UpdateTimelineEventInput$eventReferences": "

Updates all existing references in a TimelineEvent. A reference is an Amazon Web Services resource involved or associated with the incident. To specify a reference, enter its Amazon Resource Name (ARN). You can also specify a related item associated with that resource. For example, to specify an Amazon DynamoDB (DynamoDB) table as a resource, use its ARN. You can also specify an Amazon CloudWatch metric associated with the DynamoDB table as a related item.

This update action overrides all existing references. If you want to keep existing references, you must specify them in the call. If you don't, this action removes any existing references and enters only new references.

" } }, "EventSummary": { @@ -362,8 +362,8 @@ "FilterList": { "base": null, "refs": { - "ListIncidentRecordsInput$filters": "

Filters the list of incident records through which you are searching. You can filter on the following keys:

Note the following when deciding how to use Filters:

", - "ListTimelineEventsInput$filters": "

Filters the timeline events based on the provided conditional values. You can filter timeline events using the following keys:

Note the following when deciding how to use Filters:

" + "ListIncidentRecordsInput$filters": "

Filters the list of incident records you want to search through. You can filter on the following keys:

Note the following when when you use Filters:

", + "ListTimelineEventsInput$filters": "

Filters the timeline events based on the provided conditional values. You can filter timeline events with the following keys:

Note the following when deciding how to use Filters:

" } }, "GeneratedId": { @@ -430,7 +430,7 @@ "IncidentRecordSummary$impact": "

Defines the impact to customers and applications.

", "IncidentTemplate$impact": "

The impact of the incident on your customers and applications.

", "StartIncidentInput$impact": "

Defines the impact to the customers. Providing an impact overwrites the impact provided by a response plan.

Possible impacts:

", - "UpdateIncidentRecordInput$impact": "

Defines the impact of the incident to customers and applications. Providing an impact overwrites the impact provided by the response plan.

Possible impacts:

", + "UpdateIncidentRecordInput$impact": "

Defines the impact of the incident to customers and applications. If you provide an impact for an incident, it overwrites the impact provided by the response plan.

Possible impacts:

", "UpdateResponsePlanInput$incidentTemplateImpact": "

Defines the impact to the customers. Providing an impact overwrites the impact provided by a response plan.

Possible impacts:

" } }, @@ -452,7 +452,7 @@ "refs": { "IncidentRecord$status": "

The current status of the incident.

", "IncidentRecordSummary$status": "

The current status of the incident.

", - "UpdateIncidentRecordInput$status": "

The status of the incident. An incident can be Open or Resolved.

" + "UpdateIncidentRecordInput$status": "

The status of the incident. Possible statuses are Open or Resolved.

" } }, "IncidentRecordSummary": { @@ -656,7 +656,7 @@ "refs": { "IncidentRecord$notificationTargets": "

The Amazon SNS targets that are notified when updates are made to an incident.

", "IncidentTemplate$notificationTargets": "

The Amazon SNS targets that are notified when updates are made to an incident.

", - "UpdateIncidentRecordInput$notificationTargets": "

The Amazon SNS targets that are notified when updates are made to an incident.

Using multiple SNS topics creates redundancy in the event that a Region is down during the incident.

", + "UpdateIncidentRecordInput$notificationTargets": "

The Amazon SNS targets that Incident Manager notifies when a client updates an incident.

Using multiple SNS topics creates redundancy in the event that a Region is down during the incident.

", "UpdateResponsePlanInput$incidentTemplateNotificationTargets": "

The Amazon SNS targets that are notified when updates are made to an incident.

" } }, @@ -789,7 +789,7 @@ "base": null, "refs": { "ListRelatedItemsOutput$relatedItems": "

Details about each related item.

", - "StartIncidentInput$relatedItems": "

Add related items to the incident for other responders to use. Related items are AWS resources, external links, or files uploaded to an Amazon S3 bucket.

" + "StartIncidentInput$relatedItems": "

Add related items to the incident for other responders to use. Related items are Amazon Web Services resources, external links, or files uploaded to an Amazon S3 bucket.

" } }, "RelatedItemTitleString": { @@ -801,7 +801,7 @@ "RelatedItemsUpdate": { "base": "

Details about the related item you're adding.

", "refs": { - "UpdateRelatedItemsInput$relatedItemsUpdate": "

Details about the item you are adding or deleting.

" + "UpdateRelatedItemsInput$relatedItemsUpdate": "

Details about the item that you are add to, or delete from, an incident.

" } }, "ReplicationSet": { @@ -1072,16 +1072,16 @@ "TimelineEventSort": { "base": null, "refs": { - "ListTimelineEventsInput$sortBy": "

Sort by the specified key value pair.

" + "ListTimelineEventsInput$sortBy": "

Sort timeline events by the specified key value pair.

" } }, "TimelineEventType": { "base": null, "refs": { - "CreateTimelineEventInput$eventType": "

The type of the event. You can create timeline events of type Custom Event.

", + "CreateTimelineEventInput$eventType": "

The type of event. You can create timeline events of type Custom Event.

", "EventSummary$eventType": "

The type of event. The timeline event must be Custom Event.

", "TimelineEvent$eventType": "

The type of event that occurred. Currently Incident Manager supports only the Custom Event type.

", - "UpdateTimelineEventInput$eventType": "

The type of the event. You can update events of type Custom Event.

" + "UpdateTimelineEventInput$eventType": "

The type of event. You can update events of type Custom Event.

" } }, "Timestamp": { @@ -1117,11 +1117,11 @@ "base": null, "refs": { "CreateTimelineEventOutput$eventId": "

The ID of the event for easy reference later.

", - "DeleteTimelineEventInput$eventId": "

The ID of the event you are updating. You can find this by using ListTimelineEvents.

", + "DeleteTimelineEventInput$eventId": "

The ID of the event to update. You can use ListTimelineEvents to find an event's ID.

", "EventSummary$eventId": "

The timeline event ID.

", "GetTimelineEventInput$eventId": "

The ID of the event. You can get an event's ID when you create it, or by using ListTimelineEvents.

", "TimelineEvent$eventId": "

The ID of the timeline event.

", - "UpdateTimelineEventInput$eventId": "

The ID of the event you are updating. You can find this by using ListTimelineEvents.

" + "UpdateTimelineEventInput$eventId": "

The ID of the event to update. You can use ListTimelineEvents to find an event's ID.

" } }, "UntagResourceRequest": { diff --git a/models/apis/ssm-incidents/2018-05-10/endpoint-rule-set-1.json b/models/apis/ssm-incidents/2018-05-10/endpoint-rule-set-1.json index 575ce3d8c28..5f7f42b0b30 100644 --- a/models/apis/ssm-incidents/2018-05-10/endpoint-rule-set-1.json +++ b/models/apis/ssm-incidents/2018-05-10/endpoint-rule-set-1.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,23 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -71,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -140,90 +111,215 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ssm-incidents-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } ] }, { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ssm-incidents-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://ssm-incidents-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsFIPS" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ssm-incidents.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -231,7 +327,7 @@ { "conditions": [], "endpoint": { - "url": "https://ssm-incidents-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://ssm-incidents.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -240,74 +336,13 @@ ] } ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://ssm-incidents.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://ssm-incidents.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/models/apis/ssm-incidents/2018-05-10/endpoint-tests-1.json b/models/apis/ssm-incidents/2018-05-10/endpoint-tests-1.json index 9be57ba056a..de782db5e9c 100644 --- a/models/apis/ssm-incidents/2018-05-10/endpoint-tests-1.json +++ b/models/apis/ssm-incidents/2018-05-10/endpoint-tests-1.json @@ -1,42 +1,29 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents-fips.ap-south-1.amazonaws.com" + "url": "https://ssm-incidents.ap-northeast-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-1" } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.ap-south-1.api.aws" + "url": "https://ssm-incidents.ap-northeast-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "ap-northeast-2" } }, { @@ -48,47 +35,34 @@ }, "params": { "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "ap-south-1" } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents-fips.ca-central-1.amazonaws.com" + "url": "https://ssm-incidents.ap-southeast-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-1" } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.ca-central-1.api.aws" + "url": "https://ssm-incidents.ap-southeast-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "ap-southeast-2" } }, { @@ -100,47 +74,8 @@ }, "params": { "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "ca-central-1" } }, { @@ -152,151 +87,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.us-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents.us-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents.us-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents.eu-north-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "eu-central-1" } }, { @@ -308,47 +100,34 @@ }, "params": { "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": true + "UseDualStack": false, + "Region": "eu-north-1" } }, { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents-fips.eu-west-3.amazonaws.com" + "url": "https://ssm-incidents.eu-west-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": false + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-1" } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.eu-west-3.api.aws" + "url": "https://ssm-incidents.eu-west-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": true + "UseDualStack": false, + "Region": "eu-west-2" } }, { @@ -360,480 +139,330 @@ }, "params": { "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": true + "UseDualStack": false, + "Region": "eu-west-3" } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.eu-west-2.amazonaws.com" + "url": "https://ssm-incidents.sa-east-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "sa-east-1" } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.eu-west-1.api.aws" + "url": "https://ssm-incidents.us-east-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-east-1" } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.eu-west-1.amazonaws.com" + "url": "https://ssm-incidents.us-east-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-2" } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.ap-northeast-2.api.aws" + "url": "https://ssm-incidents.us-west-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-west-1" } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.ap-northeast-2.amazonaws.com" + "url": "https://ssm-incidents.us-west-2.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-west-2" } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ssm-incidents-fips.ap-northeast-1.api.aws" + "url": "https://ssm-incidents-fips.us-east-1.api.aws" } }, "params": { "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-east-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents-fips.ap-northeast-1.amazonaws.com" + "url": "https://ssm-incidents-fips.us-east-1.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents.ap-northeast-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-east-1" } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.ap-northeast-1.amazonaws.com" + "url": "https://ssm-incidents.us-east-1.api.aws" } }, "params": { "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": false + "UseDualStack": true, + "Region": "us-east-1" } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ssm-incidents-fips.sa-east-1.api.aws" + "url": "https://ssm-incidents-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { "UseFIPS": true, - "Region": "sa-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "cn-north-1" } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents-fips.sa-east-1.amazonaws.com" + "url": "https://ssm-incidents-fips.cn-north-1.amazonaws.com.cn" } }, "params": { "UseFIPS": true, - "Region": "sa-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "cn-north-1" } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.sa-east-1.api.aws" + "url": "https://ssm-incidents.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { "UseFIPS": false, - "Region": "sa-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "cn-north-1" } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.sa-east-1.amazonaws.com" + "url": "https://ssm-incidents.cn-north-1.amazonaws.com.cn" } }, "params": { "UseFIPS": false, - "Region": "sa-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "cn-north-1" } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ssm-incidents-fips.ap-southeast-1.api.aws" + "url": "https://ssm-incidents-fips.us-gov-east-1.api.aws" } }, "params": { "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents-fips.ap-southeast-1.amazonaws.com" + "url": "https://ssm-incidents-fips.us-gov-east-1.amazonaws.com" } }, "params": { "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.ap-southeast-1.api.aws" + "url": "https://ssm-incidents.us-gov-east-1.api.aws" } }, "params": { "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.ap-southeast-1.amazonaws.com" + "url": "https://ssm-incidents.us-gov-east-1.amazonaws.com" } }, "params": { "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.ap-southeast-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-iso-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents-fips.ap-southeast-2.amazonaws.com" + "url": "https://ssm-incidents-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-iso-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://ssm-incidents.ap-southeast-2.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-iso-east-1" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.ap-southeast-2.amazonaws.com" + "url": "https://ssm-incidents.us-iso-east-1.c2s.ic.gov" } }, "params": { "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-iso-east-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents-fips.us-east-1.amazonaws.com" + "url": "https://ssm-incidents-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents.us-east-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://ssm-incidents.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.us-east-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ssm-incidents-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": false + "UseDualStack": true, + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.us-east-2.api.aws" + "url": "https://ssm-incidents.us-isob-east-1.sc2s.sgov.gov" } }, "params": { "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": true + "UseDualStack": false, + "Region": "us-isob-east-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://ssm-incidents.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -841,7 +470,6 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false, "Endpoint": "https://example.com" } @@ -853,8 +481,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -865,10 +493,16 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 609333b8948..3daa107c025 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -10153,6 +10153,7 @@ "eu-central-2" : { }, "eu-north-1" : { }, "eu-south-1" : { }, + "eu-south-2" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "me-central-1" : { }, @@ -10221,6 +10222,7 @@ "deprecated" : true, "hostname" : "mgn-fips.us-west-2.amazonaws.com" }, + "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, "us-east-1" : { diff --git a/service/ssmcontacts/api.go b/service/ssmcontacts/api.go index 163b67bca88..4c16dc433b1 100644 --- a/service/ssmcontacts/api.go +++ b/service/ssmcontacts/api.go @@ -396,6 +396,196 @@ func (c *SSMContacts) CreateContactChannelWithContext(ctx aws.Context, input *Cr return out, req.Send() } +const opCreateRotation = "CreateRotation" + +// CreateRotationRequest generates a "aws/request.Request" representing the +// client's request for the CreateRotation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateRotation for more information on using the CreateRotation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateRotationRequest method. +// req, resp := client.CreateRotationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/CreateRotation +func (c *SSMContacts) CreateRotationRequest(input *CreateRotationInput) (req *request.Request, output *CreateRotationOutput) { + op := &request.Operation{ + Name: opCreateRotation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateRotationInput{} + } + + output = &CreateRotationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateRotation API operation for AWS Systems Manager Incident Manager Contacts. +// +// Creates a rotation in an on-call schedule. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's +// API operation CreateRotation for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have sufficient access to perform this operation. +// +// - InternalServerException +// Unexpected error occurred while processing the request. +// +// - ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// - ServiceQuotaExceededException +// Request would cause a service quota to be exceeded. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an Amazon Web Services +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/CreateRotation +func (c *SSMContacts) CreateRotation(input *CreateRotationInput) (*CreateRotationOutput, error) { + req, out := c.CreateRotationRequest(input) + return out, req.Send() +} + +// CreateRotationWithContext is the same as CreateRotation with the addition of +// the ability to pass a context and additional request options. +// +// See CreateRotation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) CreateRotationWithContext(ctx aws.Context, input *CreateRotationInput, opts ...request.Option) (*CreateRotationOutput, error) { + req, out := c.CreateRotationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateRotationOverride = "CreateRotationOverride" + +// CreateRotationOverrideRequest generates a "aws/request.Request" representing the +// client's request for the CreateRotationOverride operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateRotationOverride for more information on using the CreateRotationOverride +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateRotationOverrideRequest method. +// req, resp := client.CreateRotationOverrideRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/CreateRotationOverride +func (c *SSMContacts) CreateRotationOverrideRequest(input *CreateRotationOverrideInput) (req *request.Request, output *CreateRotationOverrideOutput) { + op := &request.Operation{ + Name: opCreateRotationOverride, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateRotationOverrideInput{} + } + + output = &CreateRotationOverrideOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateRotationOverride API operation for AWS Systems Manager Incident Manager Contacts. +// +// Creates an override for a rotation in an on-call schedule. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's +// API operation CreateRotationOverride for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have sufficient access to perform this operation. +// +// - InternalServerException +// Unexpected error occurred while processing the request. +// +// - ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// - ServiceQuotaExceededException +// Request would cause a service quota to be exceeded. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an Amazon Web Services +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/CreateRotationOverride +func (c *SSMContacts) CreateRotationOverride(input *CreateRotationOverrideInput) (*CreateRotationOverrideOutput, error) { + req, out := c.CreateRotationOverrideRequest(input) + return out, req.Send() +} + +// CreateRotationOverrideWithContext is the same as CreateRotationOverride with the addition of +// the ability to pass a context and additional request options. +// +// See CreateRotationOverride for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) CreateRotationOverrideWithContext(ctx aws.Context, input *CreateRotationOverrideInput, opts ...request.Option) (*CreateRotationOverrideOutput, error) { + req, out := c.CreateRotationOverrideRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeactivateContactChannel = "DeactivateContactChannel" // DeactivateContactChannelRequest generates a "aws/request.Request" representing the @@ -561,6 +751,9 @@ func (c *SSMContacts) DeleteContactRequest(input *DeleteContactInput) (req *requ // - ThrottlingException // The request was denied due to request throttling. // +// - ConflictException +// Updating or deleting a resource causes an inconsistent state. +// // - ValidationException // The input fails to satisfy the constraints specified by an Amazon Web Services // service. @@ -683,67 +876,67 @@ func (c *SSMContacts) DeleteContactChannelWithContext(ctx aws.Context, input *De return out, req.Send() } -const opDescribeEngagement = "DescribeEngagement" +const opDeleteRotation = "DeleteRotation" -// DescribeEngagementRequest generates a "aws/request.Request" representing the -// client's request for the DescribeEngagement operation. The "output" return +// DeleteRotationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRotation operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeEngagement for more information on using the DescribeEngagement +// See DeleteRotation for more information on using the DeleteRotation // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DescribeEngagementRequest method. -// req, resp := client.DescribeEngagementRequest(params) +// // Example sending a request using the DeleteRotationRequest method. +// req, resp := client.DeleteRotationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DescribeEngagement -func (c *SSMContacts) DescribeEngagementRequest(input *DescribeEngagementInput) (req *request.Request, output *DescribeEngagementOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DeleteRotation +func (c *SSMContacts) DeleteRotationRequest(input *DeleteRotationInput) (req *request.Request, output *DeleteRotationOutput) { op := &request.Operation{ - Name: opDescribeEngagement, + Name: opDeleteRotation, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribeEngagementInput{} + input = &DeleteRotationInput{} } - output = &DescribeEngagementOutput{} + output = &DeleteRotationOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DescribeEngagement API operation for AWS Systems Manager Incident Manager Contacts. +// DeleteRotation API operation for AWS Systems Manager Incident Manager Contacts. // -// Incident Manager uses engagements to engage contacts and escalation plans -// during an incident. Use this command to describe the engagement that occurred -// during an incident. +// Deletes a rotation from the system. If a rotation belongs to more than one +// on-call schedule, this operation deletes it from all of them. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation DescribeEngagement for usage and error information. +// API operation DeleteRotation for usage and error information. // // Returned Error Types: // // - AccessDeniedException // You don't have sufficient access to perform this operation. // -// - DataEncryptionException -// The operation failed to due an encryption key error. +// - ConflictException +// Updating or deleting a resource causes an inconsistent state. // // - InternalServerException // Unexpected error occurred while processing the request. @@ -758,88 +951,86 @@ func (c *SSMContacts) DescribeEngagementRequest(input *DescribeEngagementInput) // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DescribeEngagement -func (c *SSMContacts) DescribeEngagement(input *DescribeEngagementInput) (*DescribeEngagementOutput, error) { - req, out := c.DescribeEngagementRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DeleteRotation +func (c *SSMContacts) DeleteRotation(input *DeleteRotationInput) (*DeleteRotationOutput, error) { + req, out := c.DeleteRotationRequest(input) return out, req.Send() } -// DescribeEngagementWithContext is the same as DescribeEngagement with the addition of +// DeleteRotationWithContext is the same as DeleteRotation with the addition of // the ability to pass a context and additional request options. // -// See DescribeEngagement for details on how to use this API operation. +// See DeleteRotation for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) DescribeEngagementWithContext(ctx aws.Context, input *DescribeEngagementInput, opts ...request.Option) (*DescribeEngagementOutput, error) { - req, out := c.DescribeEngagementRequest(input) +func (c *SSMContacts) DeleteRotationWithContext(ctx aws.Context, input *DeleteRotationInput, opts ...request.Option) (*DeleteRotationOutput, error) { + req, out := c.DeleteRotationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribePage = "DescribePage" +const opDeleteRotationOverride = "DeleteRotationOverride" -// DescribePageRequest generates a "aws/request.Request" representing the -// client's request for the DescribePage operation. The "output" return +// DeleteRotationOverrideRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRotationOverride operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribePage for more information on using the DescribePage +// See DeleteRotationOverride for more information on using the DeleteRotationOverride // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DescribePageRequest method. -// req, resp := client.DescribePageRequest(params) +// // Example sending a request using the DeleteRotationOverrideRequest method. +// req, resp := client.DeleteRotationOverrideRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DescribePage -func (c *SSMContacts) DescribePageRequest(input *DescribePageInput) (req *request.Request, output *DescribePageOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DeleteRotationOverride +func (c *SSMContacts) DeleteRotationOverrideRequest(input *DeleteRotationOverrideInput) (req *request.Request, output *DeleteRotationOverrideOutput) { op := &request.Operation{ - Name: opDescribePage, + Name: opDeleteRotationOverride, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DescribePageInput{} + input = &DeleteRotationOverrideInput{} } - output = &DescribePageOutput{} + output = &DeleteRotationOverrideOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DescribePage API operation for AWS Systems Manager Incident Manager Contacts. +// DeleteRotationOverride API operation for AWS Systems Manager Incident Manager Contacts. // -// Lists details of the engagement to a contact channel. +// Deletes an existing override for an on-call rotation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation DescribePage for usage and error information. +// API operation DeleteRotationOverride for usage and error information. // // Returned Error Types: // // - AccessDeniedException // You don't have sufficient access to perform this operation. // -// - DataEncryptionException -// The operation failed to due an encryption key error. -// // - InternalServerException // Unexpected error occurred while processing the request. // @@ -853,85 +1044,90 @@ func (c *SSMContacts) DescribePageRequest(input *DescribePageInput) (req *reques // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DescribePage -func (c *SSMContacts) DescribePage(input *DescribePageInput) (*DescribePageOutput, error) { - req, out := c.DescribePageRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DeleteRotationOverride +func (c *SSMContacts) DeleteRotationOverride(input *DeleteRotationOverrideInput) (*DeleteRotationOverrideOutput, error) { + req, out := c.DeleteRotationOverrideRequest(input) return out, req.Send() } -// DescribePageWithContext is the same as DescribePage with the addition of +// DeleteRotationOverrideWithContext is the same as DeleteRotationOverride with the addition of // the ability to pass a context and additional request options. // -// See DescribePage for details on how to use this API operation. +// See DeleteRotationOverride for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) DescribePageWithContext(ctx aws.Context, input *DescribePageInput, opts ...request.Option) (*DescribePageOutput, error) { - req, out := c.DescribePageRequest(input) +func (c *SSMContacts) DeleteRotationOverrideWithContext(ctx aws.Context, input *DeleteRotationOverrideInput, opts ...request.Option) (*DeleteRotationOverrideOutput, error) { + req, out := c.DeleteRotationOverrideRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetContact = "GetContact" +const opDescribeEngagement = "DescribeEngagement" -// GetContactRequest generates a "aws/request.Request" representing the -// client's request for the GetContact operation. The "output" return +// DescribeEngagementRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEngagement operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetContact for more information on using the GetContact +// See DescribeEngagement for more information on using the DescribeEngagement // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetContactRequest method. -// req, resp := client.GetContactRequest(params) +// // Example sending a request using the DescribeEngagementRequest method. +// req, resp := client.DescribeEngagementRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContact -func (c *SSMContacts) GetContactRequest(input *GetContactInput) (req *request.Request, output *GetContactOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DescribeEngagement +func (c *SSMContacts) DescribeEngagementRequest(input *DescribeEngagementInput) (req *request.Request, output *DescribeEngagementOutput) { op := &request.Operation{ - Name: opGetContact, + Name: opDescribeEngagement, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetContactInput{} + input = &DescribeEngagementInput{} } - output = &GetContactOutput{} + output = &DescribeEngagementOutput{} req = c.newRequest(op, input, output) return } -// GetContact API operation for AWS Systems Manager Incident Manager Contacts. +// DescribeEngagement API operation for AWS Systems Manager Incident Manager Contacts. // -// Retrieves information about the specified contact or escalation plan. +// Incident Manager uses engagements to engage contacts and escalation plans +// during an incident. Use this command to describe the engagement that occurred +// during an incident. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation GetContact for usage and error information. +// API operation DescribeEngagement for usage and error information. // // Returned Error Types: // // - AccessDeniedException // You don't have sufficient access to perform this operation. // +// - DataEncryptionException +// The operation failed to due an encryption key error. +// // - InternalServerException // Unexpected error occurred while processing the request. // @@ -945,82 +1141,79 @@ func (c *SSMContacts) GetContactRequest(input *GetContactInput) (req *request.Re // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// - DataEncryptionException -// The operation failed to due an encryption key error. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContact -func (c *SSMContacts) GetContact(input *GetContactInput) (*GetContactOutput, error) { - req, out := c.GetContactRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DescribeEngagement +func (c *SSMContacts) DescribeEngagement(input *DescribeEngagementInput) (*DescribeEngagementOutput, error) { + req, out := c.DescribeEngagementRequest(input) return out, req.Send() } -// GetContactWithContext is the same as GetContact with the addition of +// DescribeEngagementWithContext is the same as DescribeEngagement with the addition of // the ability to pass a context and additional request options. // -// See GetContact for details on how to use this API operation. +// See DescribeEngagement for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) GetContactWithContext(ctx aws.Context, input *GetContactInput, opts ...request.Option) (*GetContactOutput, error) { - req, out := c.GetContactRequest(input) +func (c *SSMContacts) DescribeEngagementWithContext(ctx aws.Context, input *DescribeEngagementInput, opts ...request.Option) (*DescribeEngagementOutput, error) { + req, out := c.DescribeEngagementRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetContactChannel = "GetContactChannel" +const opDescribePage = "DescribePage" -// GetContactChannelRequest generates a "aws/request.Request" representing the -// client's request for the GetContactChannel operation. The "output" return +// DescribePageRequest generates a "aws/request.Request" representing the +// client's request for the DescribePage operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetContactChannel for more information on using the GetContactChannel +// See DescribePage for more information on using the DescribePage // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetContactChannelRequest method. -// req, resp := client.GetContactChannelRequest(params) +// // Example sending a request using the DescribePageRequest method. +// req, resp := client.DescribePageRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContactChannel -func (c *SSMContacts) GetContactChannelRequest(input *GetContactChannelInput) (req *request.Request, output *GetContactChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DescribePage +func (c *SSMContacts) DescribePageRequest(input *DescribePageInput) (req *request.Request, output *DescribePageOutput) { op := &request.Operation{ - Name: opGetContactChannel, + Name: opDescribePage, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetContactChannelInput{} + input = &DescribePageInput{} } - output = &GetContactChannelOutput{} + output = &DescribePageOutput{} req = c.newRequest(op, input, output) return } -// GetContactChannel API operation for AWS Systems Manager Incident Manager Contacts. +// DescribePage API operation for AWS Systems Manager Incident Manager Contacts. // -// List details about a specific contact channel. +// Lists details of the engagement to a contact channel. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation GetContactChannel for usage and error information. +// API operation DescribePage for usage and error information. // // Returned Error Types: // @@ -1043,80 +1236,79 @@ func (c *SSMContacts) GetContactChannelRequest(input *GetContactChannelInput) (r // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContactChannel -func (c *SSMContacts) GetContactChannel(input *GetContactChannelInput) (*GetContactChannelOutput, error) { - req, out := c.GetContactChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DescribePage +func (c *SSMContacts) DescribePage(input *DescribePageInput) (*DescribePageOutput, error) { + req, out := c.DescribePageRequest(input) return out, req.Send() } -// GetContactChannelWithContext is the same as GetContactChannel with the addition of +// DescribePageWithContext is the same as DescribePage with the addition of // the ability to pass a context and additional request options. // -// See GetContactChannel for details on how to use this API operation. +// See DescribePage for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) GetContactChannelWithContext(ctx aws.Context, input *GetContactChannelInput, opts ...request.Option) (*GetContactChannelOutput, error) { - req, out := c.GetContactChannelRequest(input) +func (c *SSMContacts) DescribePageWithContext(ctx aws.Context, input *DescribePageInput, opts ...request.Option) (*DescribePageOutput, error) { + req, out := c.DescribePageRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetContactPolicy = "GetContactPolicy" +const opGetContact = "GetContact" -// GetContactPolicyRequest generates a "aws/request.Request" representing the -// client's request for the GetContactPolicy operation. The "output" return +// GetContactRequest generates a "aws/request.Request" representing the +// client's request for the GetContact operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetContactPolicy for more information on using the GetContactPolicy +// See GetContact for more information on using the GetContact // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetContactPolicyRequest method. -// req, resp := client.GetContactPolicyRequest(params) +// // Example sending a request using the GetContactRequest method. +// req, resp := client.GetContactRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContactPolicy -func (c *SSMContacts) GetContactPolicyRequest(input *GetContactPolicyInput) (req *request.Request, output *GetContactPolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContact +func (c *SSMContacts) GetContactRequest(input *GetContactInput) (req *request.Request, output *GetContactOutput) { op := &request.Operation{ - Name: opGetContactPolicy, + Name: opGetContact, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetContactPolicyInput{} + input = &GetContactInput{} } - output = &GetContactPolicyOutput{} + output = &GetContactOutput{} req = c.newRequest(op, input, output) return } -// GetContactPolicy API operation for AWS Systems Manager Incident Manager Contacts. +// GetContact API operation for AWS Systems Manager Incident Manager Contacts. // -// Retrieves the resource policies attached to the specified contact or escalation -// plan. +// Retrieves information about the specified contact or escalation plan. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation GetContactPolicy for usage and error information. +// API operation GetContact for usage and error information. // // Returned Error Types: // @@ -1136,85 +1328,82 @@ func (c *SSMContacts) GetContactPolicyRequest(input *GetContactPolicyInput) (req // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContactPolicy -func (c *SSMContacts) GetContactPolicy(input *GetContactPolicyInput) (*GetContactPolicyOutput, error) { - req, out := c.GetContactPolicyRequest(input) +// - DataEncryptionException +// The operation failed to due an encryption key error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContact +func (c *SSMContacts) GetContact(input *GetContactInput) (*GetContactOutput, error) { + req, out := c.GetContactRequest(input) return out, req.Send() } -// GetContactPolicyWithContext is the same as GetContactPolicy with the addition of +// GetContactWithContext is the same as GetContact with the addition of // the ability to pass a context and additional request options. // -// See GetContactPolicy for details on how to use this API operation. +// See GetContact for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) GetContactPolicyWithContext(ctx aws.Context, input *GetContactPolicyInput, opts ...request.Option) (*GetContactPolicyOutput, error) { - req, out := c.GetContactPolicyRequest(input) +func (c *SSMContacts) GetContactWithContext(ctx aws.Context, input *GetContactInput, opts ...request.Option) (*GetContactOutput, error) { + req, out := c.GetContactRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListContactChannels = "ListContactChannels" +const opGetContactChannel = "GetContactChannel" -// ListContactChannelsRequest generates a "aws/request.Request" representing the -// client's request for the ListContactChannels operation. The "output" return +// GetContactChannelRequest generates a "aws/request.Request" representing the +// client's request for the GetContactChannel operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListContactChannels for more information on using the ListContactChannels +// See GetContactChannel for more information on using the GetContactChannel // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListContactChannelsRequest method. -// req, resp := client.ListContactChannelsRequest(params) +// // Example sending a request using the GetContactChannelRequest method. +// req, resp := client.GetContactChannelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListContactChannels -func (c *SSMContacts) ListContactChannelsRequest(input *ListContactChannelsInput) (req *request.Request, output *ListContactChannelsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContactChannel +func (c *SSMContacts) GetContactChannelRequest(input *GetContactChannelInput) (req *request.Request, output *GetContactChannelOutput) { op := &request.Operation{ - Name: opListContactChannels, + Name: opGetContactChannel, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListContactChannelsInput{} + input = &GetContactChannelInput{} } - output = &ListContactChannelsOutput{} + output = &GetContactChannelOutput{} req = c.newRequest(op, input, output) return } -// ListContactChannels API operation for AWS Systems Manager Incident Manager Contacts. +// GetContactChannel API operation for AWS Systems Manager Incident Manager Contacts. // -// Lists all contact channels for the specified contact. +// List details about a specific contact channel. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation ListContactChannels for usage and error information. +// API operation GetContactChannel for usage and error information. // // Returned Error Types: // @@ -1237,136 +1426,80 @@ func (c *SSMContacts) ListContactChannelsRequest(input *ListContactChannelsInput // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListContactChannels -func (c *SSMContacts) ListContactChannels(input *ListContactChannelsInput) (*ListContactChannelsOutput, error) { - req, out := c.ListContactChannelsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContactChannel +func (c *SSMContacts) GetContactChannel(input *GetContactChannelInput) (*GetContactChannelOutput, error) { + req, out := c.GetContactChannelRequest(input) return out, req.Send() } -// ListContactChannelsWithContext is the same as ListContactChannels with the addition of +// GetContactChannelWithContext is the same as GetContactChannel with the addition of // the ability to pass a context and additional request options. // -// See ListContactChannels for details on how to use this API operation. +// See GetContactChannel for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) ListContactChannelsWithContext(ctx aws.Context, input *ListContactChannelsInput, opts ...request.Option) (*ListContactChannelsOutput, error) { - req, out := c.ListContactChannelsRequest(input) +func (c *SSMContacts) GetContactChannelWithContext(ctx aws.Context, input *GetContactChannelInput, opts ...request.Option) (*GetContactChannelOutput, error) { + req, out := c.GetContactChannelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListContactChannelsPages iterates over the pages of a ListContactChannels operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListContactChannels method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListContactChannels operation. -// pageNum := 0 -// err := client.ListContactChannelsPages(params, -// func(page *ssmcontacts.ListContactChannelsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -func (c *SSMContacts) ListContactChannelsPages(input *ListContactChannelsInput, fn func(*ListContactChannelsOutput, bool) bool) error { - return c.ListContactChannelsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListContactChannelsPagesWithContext same as ListContactChannelsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSMContacts) ListContactChannelsPagesWithContext(ctx aws.Context, input *ListContactChannelsInput, fn func(*ListContactChannelsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListContactChannelsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListContactChannelsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListContactChannelsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListContacts = "ListContacts" +const opGetContactPolicy = "GetContactPolicy" -// ListContactsRequest generates a "aws/request.Request" representing the -// client's request for the ListContacts operation. The "output" return +// GetContactPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetContactPolicy operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListContacts for more information on using the ListContacts +// See GetContactPolicy for more information on using the GetContactPolicy // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListContactsRequest method. -// req, resp := client.ListContactsRequest(params) +// // Example sending a request using the GetContactPolicyRequest method. +// req, resp := client.GetContactPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListContacts -func (c *SSMContacts) ListContactsRequest(input *ListContactsInput) (req *request.Request, output *ListContactsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContactPolicy +func (c *SSMContacts) GetContactPolicyRequest(input *GetContactPolicyInput) (req *request.Request, output *GetContactPolicyOutput) { op := &request.Operation{ - Name: opListContacts, + Name: opGetContactPolicy, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListContactsInput{} + input = &GetContactPolicyInput{} } - output = &ListContactsOutput{} + output = &GetContactPolicyOutput{} req = c.newRequest(op, input, output) return } -// ListContacts API operation for AWS Systems Manager Incident Manager Contacts. +// GetContactPolicy API operation for AWS Systems Manager Incident Manager Contacts. // -// Lists all contacts and escalation plans in Incident Manager. +// Retrieves the resource policies attached to the specified contact or escalation +// plan. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation ListContacts for usage and error information. +// API operation GetContactPolicy for usage and error information. // // Returned Error Types: // @@ -1376,6 +1509,9 @@ func (c *SSMContacts) ListContactsRequest(input *ListContactsInput) (req *reques // - InternalServerException // Unexpected error occurred while processing the request. // +// - ResourceNotFoundException +// Request references a resource that doesn't exist. +// // - ThrottlingException // The request was denied due to request throttling. // @@ -1383,136 +1519,171 @@ func (c *SSMContacts) ListContactsRequest(input *ListContactsInput) (req *reques // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListContacts -func (c *SSMContacts) ListContacts(input *ListContactsInput) (*ListContactsOutput, error) { - req, out := c.ListContactsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContactPolicy +func (c *SSMContacts) GetContactPolicy(input *GetContactPolicyInput) (*GetContactPolicyOutput, error) { + req, out := c.GetContactPolicyRequest(input) return out, req.Send() } -// ListContactsWithContext is the same as ListContacts with the addition of +// GetContactPolicyWithContext is the same as GetContactPolicy with the addition of // the ability to pass a context and additional request options. // -// See ListContacts for details on how to use this API operation. +// See GetContactPolicy for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) ListContactsWithContext(ctx aws.Context, input *ListContactsInput, opts ...request.Option) (*ListContactsOutput, error) { - req, out := c.ListContactsRequest(input) +func (c *SSMContacts) GetContactPolicyWithContext(ctx aws.Context, input *GetContactPolicyInput, opts ...request.Option) (*GetContactPolicyOutput, error) { + req, out := c.GetContactPolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListContactsPages iterates over the pages of a ListContacts operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opGetRotation = "GetRotation" + +// GetRotationRequest generates a "aws/request.Request" representing the +// client's request for the GetRotation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListContacts method for more information on how to use this operation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Note: This operation can generate multiple requests to a service. +// See GetRotation for more information on using the GetRotation +// API call, and error handling. // -// // Example iterating over at most 3 pages of a ListContacts operation. -// pageNum := 0 -// err := client.ListContactsPages(params, -// func(page *ssmcontacts.ListContactsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -func (c *SSMContacts) ListContactsPages(input *ListContactsInput, fn func(*ListContactsOutput, bool) bool) error { - return c.ListContactsPagesWithContext(aws.BackgroundContext(), input, fn) +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetRotationRequest method. +// req, resp := client.GetRotationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetRotation +func (c *SSMContacts) GetRotationRequest(input *GetRotationInput) (req *request.Request, output *GetRotationOutput) { + op := &request.Operation{ + Name: opGetRotation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetRotationInput{} + } + + output = &GetRotationOutput{} + req = c.newRequest(op, input, output) + return } -// ListContactsPagesWithContext same as ListContactsPages except -// it takes a Context and allows setting request options on the pages. +// GetRotation API operation for AWS Systems Manager Incident Manager Contacts. +// +// Retrieves information about an on-call rotation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's +// API operation GetRotation for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have sufficient access to perform this operation. +// +// - InternalServerException +// Unexpected error occurred while processing the request. +// +// - ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an Amazon Web Services +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetRotation +func (c *SSMContacts) GetRotation(input *GetRotationInput) (*GetRotationOutput, error) { + req, out := c.GetRotationRequest(input) + return out, req.Send() +} + +// GetRotationWithContext is the same as GetRotation with the addition of +// the ability to pass a context and additional request options. +// +// See GetRotation for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) ListContactsPagesWithContext(ctx aws.Context, input *ListContactsInput, fn func(*ListContactsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListContactsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListContactsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListContactsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() +func (c *SSMContacts) GetRotationWithContext(ctx aws.Context, input *GetRotationInput, opts ...request.Option) (*GetRotationOutput, error) { + req, out := c.GetRotationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -const opListEngagements = "ListEngagements" +const opGetRotationOverride = "GetRotationOverride" -// ListEngagementsRequest generates a "aws/request.Request" representing the -// client's request for the ListEngagements operation. The "output" return +// GetRotationOverrideRequest generates a "aws/request.Request" representing the +// client's request for the GetRotationOverride operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListEngagements for more information on using the ListEngagements +// See GetRotationOverride for more information on using the GetRotationOverride // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListEngagementsRequest method. -// req, resp := client.ListEngagementsRequest(params) +// // Example sending a request using the GetRotationOverrideRequest method. +// req, resp := client.GetRotationOverrideRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListEngagements -func (c *SSMContacts) ListEngagementsRequest(input *ListEngagementsInput) (req *request.Request, output *ListEngagementsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetRotationOverride +func (c *SSMContacts) GetRotationOverrideRequest(input *GetRotationOverrideInput) (req *request.Request, output *GetRotationOverrideOutput) { op := &request.Operation{ - Name: opListEngagements, + Name: opGetRotationOverride, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListEngagementsInput{} + input = &GetRotationOverrideInput{} } - output = &ListEngagementsOutput{} + output = &GetRotationOverrideOutput{} req = c.newRequest(op, input, output) return } -// ListEngagements API operation for AWS Systems Manager Incident Manager Contacts. +// GetRotationOverride API operation for AWS Systems Manager Incident Manager Contacts. // -// Lists all engagements that have happened in an incident. +// Retrieves information about an override to an on-call rotation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation ListEngagements for usage and error information. +// API operation GetRotationOverride for usage and error information. // // Returned Error Types: // @@ -1522,6 +1693,9 @@ func (c *SSMContacts) ListEngagementsRequest(input *ListEngagementsInput) (req * // - InternalServerException // Unexpected error occurred while processing the request. // +// - ResourceNotFoundException +// Request references a resource that doesn't exist. +// // - ThrottlingException // The request was denied due to request throttling. // @@ -1529,107 +1703,56 @@ func (c *SSMContacts) ListEngagementsRequest(input *ListEngagementsInput) (req * // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListEngagements -func (c *SSMContacts) ListEngagements(input *ListEngagementsInput) (*ListEngagementsOutput, error) { - req, out := c.ListEngagementsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetRotationOverride +func (c *SSMContacts) GetRotationOverride(input *GetRotationOverrideInput) (*GetRotationOverrideOutput, error) { + req, out := c.GetRotationOverrideRequest(input) return out, req.Send() } -// ListEngagementsWithContext is the same as ListEngagements with the addition of +// GetRotationOverrideWithContext is the same as GetRotationOverride with the addition of // the ability to pass a context and additional request options. // -// See ListEngagements for details on how to use this API operation. +// See GetRotationOverride for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) ListEngagementsWithContext(ctx aws.Context, input *ListEngagementsInput, opts ...request.Option) (*ListEngagementsOutput, error) { - req, out := c.ListEngagementsRequest(input) +func (c *SSMContacts) GetRotationOverrideWithContext(ctx aws.Context, input *GetRotationOverrideInput, opts ...request.Option) (*GetRotationOverrideOutput, error) { + req, out := c.GetRotationOverrideRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListEngagementsPages iterates over the pages of a ListEngagements operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListEngagements method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListEngagements operation. -// pageNum := 0 -// err := client.ListEngagementsPages(params, -// func(page *ssmcontacts.ListEngagementsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -func (c *SSMContacts) ListEngagementsPages(input *ListEngagementsInput, fn func(*ListEngagementsOutput, bool) bool) error { - return c.ListEngagementsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListEngagementsPagesWithContext same as ListEngagementsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *SSMContacts) ListEngagementsPagesWithContext(ctx aws.Context, input *ListEngagementsInput, fn func(*ListEngagementsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListEngagementsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListEngagementsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListEngagementsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListPageReceipts = "ListPageReceipts" +const opListContactChannels = "ListContactChannels" -// ListPageReceiptsRequest generates a "aws/request.Request" representing the -// client's request for the ListPageReceipts operation. The "output" return +// ListContactChannelsRequest generates a "aws/request.Request" representing the +// client's request for the ListContactChannels operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListPageReceipts for more information on using the ListPageReceipts +// See ListContactChannels for more information on using the ListContactChannels // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListPageReceiptsRequest method. -// req, resp := client.ListPageReceiptsRequest(params) +// // Example sending a request using the ListContactChannelsRequest method. +// req, resp := client.ListContactChannelsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPageReceipts -func (c *SSMContacts) ListPageReceiptsRequest(input *ListPageReceiptsInput) (req *request.Request, output *ListPageReceiptsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListContactChannels +func (c *SSMContacts) ListContactChannelsRequest(input *ListContactChannelsInput) (req *request.Request, output *ListContactChannelsOutput) { op := &request.Operation{ - Name: opListPageReceipts, + Name: opListContactChannels, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -1641,30 +1764,33 @@ func (c *SSMContacts) ListPageReceiptsRequest(input *ListPageReceiptsInput) (req } if input == nil { - input = &ListPageReceiptsInput{} + input = &ListContactChannelsInput{} } - output = &ListPageReceiptsOutput{} + output = &ListContactChannelsOutput{} req = c.newRequest(op, input, output) return } -// ListPageReceipts API operation for AWS Systems Manager Incident Manager Contacts. +// ListContactChannels API operation for AWS Systems Manager Incident Manager Contacts. // -// Lists all of the engagements to contact channels that have been acknowledged. +// Lists all contact channels for the specified contact. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation ListPageReceipts for usage and error information. +// API operation ListContactChannels for usage and error information. // // Returned Error Types: // // - AccessDeniedException // You don't have sufficient access to perform this operation. // +// - DataEncryptionException +// The operation failed to due an encryption key error. +// // - InternalServerException // Unexpected error occurred while processing the request. // @@ -1678,64 +1804,64 @@ func (c *SSMContacts) ListPageReceiptsRequest(input *ListPageReceiptsInput) (req // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPageReceipts -func (c *SSMContacts) ListPageReceipts(input *ListPageReceiptsInput) (*ListPageReceiptsOutput, error) { - req, out := c.ListPageReceiptsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListContactChannels +func (c *SSMContacts) ListContactChannels(input *ListContactChannelsInput) (*ListContactChannelsOutput, error) { + req, out := c.ListContactChannelsRequest(input) return out, req.Send() } -// ListPageReceiptsWithContext is the same as ListPageReceipts with the addition of +// ListContactChannelsWithContext is the same as ListContactChannels with the addition of // the ability to pass a context and additional request options. // -// See ListPageReceipts for details on how to use this API operation. +// See ListContactChannels for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) ListPageReceiptsWithContext(ctx aws.Context, input *ListPageReceiptsInput, opts ...request.Option) (*ListPageReceiptsOutput, error) { - req, out := c.ListPageReceiptsRequest(input) +func (c *SSMContacts) ListContactChannelsWithContext(ctx aws.Context, input *ListContactChannelsInput, opts ...request.Option) (*ListContactChannelsOutput, error) { + req, out := c.ListContactChannelsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListPageReceiptsPages iterates over the pages of a ListPageReceipts operation, +// ListContactChannelsPages iterates over the pages of a ListContactChannels operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListPageReceipts method for more information on how to use this operation. +// See ListContactChannels method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListPageReceipts operation. +// // Example iterating over at most 3 pages of a ListContactChannels operation. // pageNum := 0 -// err := client.ListPageReceiptsPages(params, -// func(page *ssmcontacts.ListPageReceiptsOutput, lastPage bool) bool { +// err := client.ListContactChannelsPages(params, +// func(page *ssmcontacts.ListContactChannelsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *SSMContacts) ListPageReceiptsPages(input *ListPageReceiptsInput, fn func(*ListPageReceiptsOutput, bool) bool) error { - return c.ListPageReceiptsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *SSMContacts) ListContactChannelsPages(input *ListContactChannelsInput, fn func(*ListContactChannelsOutput, bool) bool) error { + return c.ListContactChannelsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListPageReceiptsPagesWithContext same as ListPageReceiptsPages except +// ListContactChannelsPagesWithContext same as ListContactChannelsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) ListPageReceiptsPagesWithContext(ctx aws.Context, input *ListPageReceiptsInput, fn func(*ListPageReceiptsOutput, bool) bool, opts ...request.Option) error { +func (c *SSMContacts) ListContactChannelsPagesWithContext(ctx aws.Context, input *ListContactChannelsInput, fn func(*ListContactChannelsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListPageReceiptsInput + var inCpy *ListContactChannelsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListPageReceiptsRequest(inCpy) + req, _ := c.ListContactChannelsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1743,7 +1869,7 @@ func (c *SSMContacts) ListPageReceiptsPagesWithContext(ctx aws.Context, input *L } for p.Next() { - if !fn(p.Page().(*ListPageReceiptsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListContactChannelsOutput), !p.HasNextPage()) { break } } @@ -1751,34 +1877,34 @@ func (c *SSMContacts) ListPageReceiptsPagesWithContext(ctx aws.Context, input *L return p.Err() } -const opListPagesByContact = "ListPagesByContact" +const opListContacts = "ListContacts" -// ListPagesByContactRequest generates a "aws/request.Request" representing the -// client's request for the ListPagesByContact operation. The "output" return +// ListContactsRequest generates a "aws/request.Request" representing the +// client's request for the ListContacts operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListPagesByContact for more information on using the ListPagesByContact +// See ListContacts for more information on using the ListContacts // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListPagesByContactRequest method. -// req, resp := client.ListPagesByContactRequest(params) +// // Example sending a request using the ListContactsRequest method. +// req, resp := client.ListContactsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPagesByContact -func (c *SSMContacts) ListPagesByContactRequest(input *ListPagesByContactInput) (req *request.Request, output *ListPagesByContactOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListContacts +func (c *SSMContacts) ListContactsRequest(input *ListContactsInput) (req *request.Request, output *ListContactsOutput) { op := &request.Operation{ - Name: opListPagesByContact, + Name: opListContacts, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -1790,24 +1916,24 @@ func (c *SSMContacts) ListPagesByContactRequest(input *ListPagesByContactInput) } if input == nil { - input = &ListPagesByContactInput{} + input = &ListContactsInput{} } - output = &ListPagesByContactOutput{} + output = &ListContactsOutput{} req = c.newRequest(op, input, output) return } -// ListPagesByContact API operation for AWS Systems Manager Incident Manager Contacts. +// ListContacts API operation for AWS Systems Manager Incident Manager Contacts. // -// Lists the engagements to a contact's contact channels. +// Lists all contacts and escalation plans in Incident Manager. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation ListPagesByContact for usage and error information. +// API operation ListContacts for usage and error information. // // Returned Error Types: // @@ -1817,9 +1943,6 @@ func (c *SSMContacts) ListPagesByContactRequest(input *ListPagesByContactInput) // - InternalServerException // Unexpected error occurred while processing the request. // -// - ResourceNotFoundException -// Request references a resource that doesn't exist. -// // - ThrottlingException // The request was denied due to request throttling. // @@ -1827,64 +1950,64 @@ func (c *SSMContacts) ListPagesByContactRequest(input *ListPagesByContactInput) // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPagesByContact -func (c *SSMContacts) ListPagesByContact(input *ListPagesByContactInput) (*ListPagesByContactOutput, error) { - req, out := c.ListPagesByContactRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListContacts +func (c *SSMContacts) ListContacts(input *ListContactsInput) (*ListContactsOutput, error) { + req, out := c.ListContactsRequest(input) return out, req.Send() } -// ListPagesByContactWithContext is the same as ListPagesByContact with the addition of +// ListContactsWithContext is the same as ListContacts with the addition of // the ability to pass a context and additional request options. // -// See ListPagesByContact for details on how to use this API operation. +// See ListContacts for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) ListPagesByContactWithContext(ctx aws.Context, input *ListPagesByContactInput, opts ...request.Option) (*ListPagesByContactOutput, error) { - req, out := c.ListPagesByContactRequest(input) +func (c *SSMContacts) ListContactsWithContext(ctx aws.Context, input *ListContactsInput, opts ...request.Option) (*ListContactsOutput, error) { + req, out := c.ListContactsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListPagesByContactPages iterates over the pages of a ListPagesByContact operation, +// ListContactsPages iterates over the pages of a ListContacts operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListPagesByContact method for more information on how to use this operation. +// See ListContacts method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListPagesByContact operation. +// // Example iterating over at most 3 pages of a ListContacts operation. // pageNum := 0 -// err := client.ListPagesByContactPages(params, -// func(page *ssmcontacts.ListPagesByContactOutput, lastPage bool) bool { +// err := client.ListContactsPages(params, +// func(page *ssmcontacts.ListContactsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *SSMContacts) ListPagesByContactPages(input *ListPagesByContactInput, fn func(*ListPagesByContactOutput, bool) bool) error { - return c.ListPagesByContactPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *SSMContacts) ListContactsPages(input *ListContactsInput, fn func(*ListContactsOutput, bool) bool) error { + return c.ListContactsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListPagesByContactPagesWithContext same as ListPagesByContactPages except +// ListContactsPagesWithContext same as ListContactsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) ListPagesByContactPagesWithContext(ctx aws.Context, input *ListPagesByContactInput, fn func(*ListPagesByContactOutput, bool) bool, opts ...request.Option) error { +func (c *SSMContacts) ListContactsPagesWithContext(ctx aws.Context, input *ListContactsInput, fn func(*ListContactsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListPagesByContactInput + var inCpy *ListContactsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListPagesByContactRequest(inCpy) + req, _ := c.ListContactsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1892,7 +2015,7 @@ func (c *SSMContacts) ListPagesByContactPagesWithContext(ctx aws.Context, input } for p.Next() { - if !fn(p.Page().(*ListPagesByContactOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListContactsOutput), !p.HasNextPage()) { break } } @@ -1900,34 +2023,34 @@ func (c *SSMContacts) ListPagesByContactPagesWithContext(ctx aws.Context, input return p.Err() } -const opListPagesByEngagement = "ListPagesByEngagement" +const opListEngagements = "ListEngagements" -// ListPagesByEngagementRequest generates a "aws/request.Request" representing the -// client's request for the ListPagesByEngagement operation. The "output" return +// ListEngagementsRequest generates a "aws/request.Request" representing the +// client's request for the ListEngagements operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListPagesByEngagement for more information on using the ListPagesByEngagement +// See ListEngagements for more information on using the ListEngagements // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListPagesByEngagementRequest method. -// req, resp := client.ListPagesByEngagementRequest(params) +// // Example sending a request using the ListEngagementsRequest method. +// req, resp := client.ListEngagementsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPagesByEngagement -func (c *SSMContacts) ListPagesByEngagementRequest(input *ListPagesByEngagementInput) (req *request.Request, output *ListPagesByEngagementOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListEngagements +func (c *SSMContacts) ListEngagementsRequest(input *ListEngagementsInput) (req *request.Request, output *ListEngagementsOutput) { op := &request.Operation{ - Name: opListPagesByEngagement, + Name: opListEngagements, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -1939,24 +2062,24 @@ func (c *SSMContacts) ListPagesByEngagementRequest(input *ListPagesByEngagementI } if input == nil { - input = &ListPagesByEngagementInput{} + input = &ListEngagementsInput{} } - output = &ListPagesByEngagementOutput{} + output = &ListEngagementsOutput{} req = c.newRequest(op, input, output) return } -// ListPagesByEngagement API operation for AWS Systems Manager Incident Manager Contacts. +// ListEngagements API operation for AWS Systems Manager Incident Manager Contacts. // -// Lists the engagements to contact channels that occurred by engaging a contact. +// Lists all engagements that have happened in an incident. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation ListPagesByEngagement for usage and error information. +// API operation ListEngagements for usage and error information. // // Returned Error Types: // @@ -1966,9 +2089,6 @@ func (c *SSMContacts) ListPagesByEngagementRequest(input *ListPagesByEngagementI // - InternalServerException // Unexpected error occurred while processing the request. // -// - ResourceNotFoundException -// Request references a resource that doesn't exist. -// // - ThrottlingException // The request was denied due to request throttling. // @@ -1976,64 +2096,64 @@ func (c *SSMContacts) ListPagesByEngagementRequest(input *ListPagesByEngagementI // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPagesByEngagement -func (c *SSMContacts) ListPagesByEngagement(input *ListPagesByEngagementInput) (*ListPagesByEngagementOutput, error) { - req, out := c.ListPagesByEngagementRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListEngagements +func (c *SSMContacts) ListEngagements(input *ListEngagementsInput) (*ListEngagementsOutput, error) { + req, out := c.ListEngagementsRequest(input) return out, req.Send() } -// ListPagesByEngagementWithContext is the same as ListPagesByEngagement with the addition of +// ListEngagementsWithContext is the same as ListEngagements with the addition of // the ability to pass a context and additional request options. // -// See ListPagesByEngagement for details on how to use this API operation. +// See ListEngagements for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) ListPagesByEngagementWithContext(ctx aws.Context, input *ListPagesByEngagementInput, opts ...request.Option) (*ListPagesByEngagementOutput, error) { - req, out := c.ListPagesByEngagementRequest(input) +func (c *SSMContacts) ListEngagementsWithContext(ctx aws.Context, input *ListEngagementsInput, opts ...request.Option) (*ListEngagementsOutput, error) { + req, out := c.ListEngagementsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListPagesByEngagementPages iterates over the pages of a ListPagesByEngagement operation, +// ListEngagementsPages iterates over the pages of a ListEngagements operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListPagesByEngagement method for more information on how to use this operation. +// See ListEngagements method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListPagesByEngagement operation. +// // Example iterating over at most 3 pages of a ListEngagements operation. // pageNum := 0 -// err := client.ListPagesByEngagementPages(params, -// func(page *ssmcontacts.ListPagesByEngagementOutput, lastPage bool) bool { +// err := client.ListEngagementsPages(params, +// func(page *ssmcontacts.ListEngagementsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *SSMContacts) ListPagesByEngagementPages(input *ListPagesByEngagementInput, fn func(*ListPagesByEngagementOutput, bool) bool) error { - return c.ListPagesByEngagementPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *SSMContacts) ListEngagementsPages(input *ListEngagementsInput, fn func(*ListEngagementsOutput, bool) bool) error { + return c.ListEngagementsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListPagesByEngagementPagesWithContext same as ListPagesByEngagementPages except +// ListEngagementsPagesWithContext same as ListEngagementsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) ListPagesByEngagementPagesWithContext(ctx aws.Context, input *ListPagesByEngagementInput, fn func(*ListPagesByEngagementOutput, bool) bool, opts ...request.Option) error { +func (c *SSMContacts) ListEngagementsPagesWithContext(ctx aws.Context, input *ListEngagementsInput, fn func(*ListEngagementsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListPagesByEngagementInput + var inCpy *ListEngagementsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListPagesByEngagementRequest(inCpy) + req, _ := c.ListEngagementsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2041,7 +2161,7 @@ func (c *SSMContacts) ListPagesByEngagementPagesWithContext(ctx aws.Context, inp } for p.Next() { - if !fn(p.Page().(*ListPagesByEngagementOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListEngagementsOutput), !p.HasNextPage()) { break } } @@ -2049,165 +2169,224 @@ func (c *SSMContacts) ListPagesByEngagementPagesWithContext(ctx aws.Context, inp return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opListPageReceipts = "ListPageReceipts" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// ListPageReceiptsRequest generates a "aws/request.Request" representing the +// client's request for the ListPageReceipts operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTagsForResource for more information on using the ListTagsForResource +// See ListPageReceipts for more information on using the ListPageReceipts // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the ListPageReceiptsRequest method. +// req, resp := client.ListPageReceiptsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListTagsForResource -func (c *SSMContacts) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPageReceipts +func (c *SSMContacts) ListPageReceiptsRequest(input *ListPageReceiptsInput) (req *request.Request, output *ListPageReceiptsOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opListPageReceipts, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListTagsForResourceInput{} + input = &ListPageReceiptsInput{} } - output = &ListTagsForResourceOutput{} + output = &ListPageReceiptsOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for AWS Systems Manager Incident Manager Contacts. +// ListPageReceipts API operation for AWS Systems Manager Incident Manager Contacts. // -// Lists the tags of an escalation plan or contact. +// Lists all of the engagements to contact channels that have been acknowledged. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation ListTagsForResource for usage and error information. +// API operation ListPageReceipts for usage and error information. // // Returned Error Types: // // - AccessDeniedException // You don't have sufficient access to perform this operation. // -// - ThrottlingException -// The request was denied due to request throttling. +// - InternalServerException +// Unexpected error occurred while processing the request. // // - ResourceNotFoundException // Request references a resource that doesn't exist. // +// - ThrottlingException +// The request was denied due to request throttling. +// // - ValidationException // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// - InternalServerException -// Unexpected error occurred while processing the request. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListTagsForResource -func (c *SSMContacts) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPageReceipts +func (c *SSMContacts) ListPageReceipts(input *ListPageReceiptsInput) (*ListPageReceiptsOutput, error) { + req, out := c.ListPageReceiptsRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// ListPageReceiptsWithContext is the same as ListPageReceipts with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See ListPageReceipts for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *SSMContacts) ListPageReceiptsWithContext(ctx aws.Context, input *ListPageReceiptsInput, opts ...request.Option) (*ListPageReceiptsOutput, error) { + req, out := c.ListPageReceiptsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutContactPolicy = "PutContactPolicy" +// ListPageReceiptsPages iterates over the pages of a ListPageReceipts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPageReceipts method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListPageReceipts operation. +// pageNum := 0 +// err := client.ListPageReceiptsPages(params, +// func(page *ssmcontacts.ListPageReceiptsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *SSMContacts) ListPageReceiptsPages(input *ListPageReceiptsInput, fn func(*ListPageReceiptsOutput, bool) bool) error { + return c.ListPageReceiptsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// PutContactPolicyRequest generates a "aws/request.Request" representing the -// client's request for the PutContactPolicy operation. The "output" return +// ListPageReceiptsPagesWithContext same as ListPageReceiptsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) ListPageReceiptsPagesWithContext(ctx aws.Context, input *ListPageReceiptsInput, fn func(*ListPageReceiptsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPageReceiptsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPageReceiptsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPageReceiptsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListPageResolutions = "ListPageResolutions" + +// ListPageResolutionsRequest generates a "aws/request.Request" representing the +// client's request for the ListPageResolutions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PutContactPolicy for more information on using the PutContactPolicy +// See ListPageResolutions for more information on using the ListPageResolutions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the PutContactPolicyRequest method. -// req, resp := client.PutContactPolicyRequest(params) +// // Example sending a request using the ListPageResolutionsRequest method. +// req, resp := client.ListPageResolutionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/PutContactPolicy -func (c *SSMContacts) PutContactPolicyRequest(input *PutContactPolicyInput) (req *request.Request, output *PutContactPolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPageResolutions +func (c *SSMContacts) ListPageResolutionsRequest(input *ListPageResolutionsInput) (req *request.Request, output *ListPageResolutionsOutput) { op := &request.Operation{ - Name: opPutContactPolicy, + Name: opListPageResolutions, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { - input = &PutContactPolicyInput{} + input = &ListPageResolutionsInput{} } - output = &PutContactPolicyOutput{} + output = &ListPageResolutionsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// PutContactPolicy API operation for AWS Systems Manager Incident Manager Contacts. +// ListPageResolutions API operation for AWS Systems Manager Incident Manager Contacts. // -// Adds a resource policy to the specified contact or escalation plan. The resource -// policy is used to share the contact or escalation plan using Resource Access -// Manager (RAM). For more information about cross-account sharing, see Setting -// up cross-account functionality (https://docs.aws.amazon.com/incident-manager/latest/userguide/xa.html). +// Returns the resolution path of an engagement. For example, the escalation +// plan engaged in an incident might target an on-call schedule that includes +// several contacts in a rotation, but just one contact on-call when the incident +// starts. The resolution path indicates the hierarchy of escalation plan > +// on-call schedule > contact. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation PutContactPolicy for usage and error information. +// API operation ListPageResolutions for usage and error information. // // Returned Error Types: // // - AccessDeniedException // You don't have sufficient access to perform this operation. // -// - ConflictException -// Updating or deleting a resource causes an inconsistent state. -// -// - ValidationException -// The input fails to satisfy the constraints specified by an Amazon Web Services -// service. +// - InternalServerException +// Unexpected error occurred while processing the request. // // - ResourceNotFoundException // Request references a resource that doesn't exist. @@ -2215,104 +2394,152 @@ func (c *SSMContacts) PutContactPolicyRequest(input *PutContactPolicyInput) (req // - ThrottlingException // The request was denied due to request throttling. // -// - InternalServerException -// Unexpected error occurred while processing the request. +// - ValidationException +// The input fails to satisfy the constraints specified by an Amazon Web Services +// service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/PutContactPolicy -func (c *SSMContacts) PutContactPolicy(input *PutContactPolicyInput) (*PutContactPolicyOutput, error) { - req, out := c.PutContactPolicyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPageResolutions +func (c *SSMContacts) ListPageResolutions(input *ListPageResolutionsInput) (*ListPageResolutionsOutput, error) { + req, out := c.ListPageResolutionsRequest(input) return out, req.Send() } -// PutContactPolicyWithContext is the same as PutContactPolicy with the addition of +// ListPageResolutionsWithContext is the same as ListPageResolutions with the addition of // the ability to pass a context and additional request options. // -// See PutContactPolicy for details on how to use this API operation. +// See ListPageResolutions for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) PutContactPolicyWithContext(ctx aws.Context, input *PutContactPolicyInput, opts ...request.Option) (*PutContactPolicyOutput, error) { - req, out := c.PutContactPolicyRequest(input) +func (c *SSMContacts) ListPageResolutionsWithContext(ctx aws.Context, input *ListPageResolutionsInput, opts ...request.Option) (*ListPageResolutionsOutput, error) { + req, out := c.ListPageResolutionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opSendActivationCode = "SendActivationCode" +// ListPageResolutionsPages iterates over the pages of a ListPageResolutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPageResolutions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListPageResolutions operation. +// pageNum := 0 +// err := client.ListPageResolutionsPages(params, +// func(page *ssmcontacts.ListPageResolutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *SSMContacts) ListPageResolutionsPages(input *ListPageResolutionsInput, fn func(*ListPageResolutionsOutput, bool) bool) error { + return c.ListPageResolutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// SendActivationCodeRequest generates a "aws/request.Request" representing the -// client's request for the SendActivationCode operation. The "output" return +// ListPageResolutionsPagesWithContext same as ListPageResolutionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) ListPageResolutionsPagesWithContext(ctx aws.Context, input *ListPageResolutionsInput, fn func(*ListPageResolutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPageResolutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPageResolutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPageResolutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListPagesByContact = "ListPagesByContact" + +// ListPagesByContactRequest generates a "aws/request.Request" representing the +// client's request for the ListPagesByContact operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See SendActivationCode for more information on using the SendActivationCode +// See ListPagesByContact for more information on using the ListPagesByContact // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the SendActivationCodeRequest method. -// req, resp := client.SendActivationCodeRequest(params) +// // Example sending a request using the ListPagesByContactRequest method. +// req, resp := client.ListPagesByContactRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/SendActivationCode -func (c *SSMContacts) SendActivationCodeRequest(input *SendActivationCodeInput) (req *request.Request, output *SendActivationCodeOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPagesByContact +func (c *SSMContacts) ListPagesByContactRequest(input *ListPagesByContactInput) (req *request.Request, output *ListPagesByContactOutput) { op := &request.Operation{ - Name: opSendActivationCode, + Name: opListPagesByContact, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &SendActivationCodeInput{} + input = &ListPagesByContactInput{} } - output = &SendActivationCodeOutput{} + output = &ListPagesByContactOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// SendActivationCode API operation for AWS Systems Manager Incident Manager Contacts. +// ListPagesByContact API operation for AWS Systems Manager Incident Manager Contacts. // -// Sends an activation code to a contact channel. The contact can use this code -// to activate the contact channel in the console or with the ActivateChannel -// operation. Incident Manager can't engage a contact channel until it has been -// activated. +// Lists the engagements to a contact's contact channels. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation SendActivationCode for usage and error information. +// API operation ListPagesByContact for usage and error information. // // Returned Error Types: // // - AccessDeniedException // You don't have sufficient access to perform this operation. // -// - DataEncryptionException -// The operation failed to due an encryption key error. -// // - InternalServerException // Unexpected error occurred while processing the request. // // - ResourceNotFoundException // Request references a resource that doesn't exist. // -// - ServiceQuotaExceededException -// Request would cause a service quota to be exceeded. -// // - ThrottlingException // The request was denied due to request throttling. // @@ -2320,89 +2547,142 @@ func (c *SSMContacts) SendActivationCodeRequest(input *SendActivationCodeInput) // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/SendActivationCode -func (c *SSMContacts) SendActivationCode(input *SendActivationCodeInput) (*SendActivationCodeOutput, error) { - req, out := c.SendActivationCodeRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPagesByContact +func (c *SSMContacts) ListPagesByContact(input *ListPagesByContactInput) (*ListPagesByContactOutput, error) { + req, out := c.ListPagesByContactRequest(input) return out, req.Send() } -// SendActivationCodeWithContext is the same as SendActivationCode with the addition of +// ListPagesByContactWithContext is the same as ListPagesByContact with the addition of // the ability to pass a context and additional request options. // -// See SendActivationCode for details on how to use this API operation. +// See ListPagesByContact for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) SendActivationCodeWithContext(ctx aws.Context, input *SendActivationCodeInput, opts ...request.Option) (*SendActivationCodeOutput, error) { - req, out := c.SendActivationCodeRequest(input) +func (c *SSMContacts) ListPagesByContactWithContext(ctx aws.Context, input *ListPagesByContactInput, opts ...request.Option) (*ListPagesByContactOutput, error) { + req, out := c.ListPagesByContactRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartEngagement = "StartEngagement" +// ListPagesByContactPages iterates over the pages of a ListPagesByContact operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPagesByContact method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListPagesByContact operation. +// pageNum := 0 +// err := client.ListPagesByContactPages(params, +// func(page *ssmcontacts.ListPagesByContactOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *SSMContacts) ListPagesByContactPages(input *ListPagesByContactInput, fn func(*ListPagesByContactOutput, bool) bool) error { + return c.ListPagesByContactPagesWithContext(aws.BackgroundContext(), input, fn) +} -// StartEngagementRequest generates a "aws/request.Request" representing the -// client's request for the StartEngagement operation. The "output" return +// ListPagesByContactPagesWithContext same as ListPagesByContactPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) ListPagesByContactPagesWithContext(ctx aws.Context, input *ListPagesByContactInput, fn func(*ListPagesByContactOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPagesByContactInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPagesByContactRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPagesByContactOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListPagesByEngagement = "ListPagesByEngagement" + +// ListPagesByEngagementRequest generates a "aws/request.Request" representing the +// client's request for the ListPagesByEngagement operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StartEngagement for more information on using the StartEngagement +// See ListPagesByEngagement for more information on using the ListPagesByEngagement // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the StartEngagementRequest method. -// req, resp := client.StartEngagementRequest(params) +// // Example sending a request using the ListPagesByEngagementRequest method. +// req, resp := client.ListPagesByEngagementRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/StartEngagement -func (c *SSMContacts) StartEngagementRequest(input *StartEngagementInput) (req *request.Request, output *StartEngagementOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPagesByEngagement +func (c *SSMContacts) ListPagesByEngagementRequest(input *ListPagesByEngagementInput) (req *request.Request, output *ListPagesByEngagementOutput) { op := &request.Operation{ - Name: opStartEngagement, + Name: opListPagesByEngagement, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &StartEngagementInput{} + input = &ListPagesByEngagementInput{} } - output = &StartEngagementOutput{} + output = &ListPagesByEngagementOutput{} req = c.newRequest(op, input, output) return } -// StartEngagement API operation for AWS Systems Manager Incident Manager Contacts. +// ListPagesByEngagement API operation for AWS Systems Manager Incident Manager Contacts. // -// Starts an engagement to a contact or escalation plan. The engagement engages -// each contact specified in the incident. +// Lists the engagements to contact channels that occurred by engaging a contact. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation StartEngagement for usage and error information. +// API operation ListPagesByEngagement for usage and error information. // // Returned Error Types: // // - AccessDeniedException // You don't have sufficient access to perform this operation. // -// - DataEncryptionException -// The operation failed to due an encryption key error. -// // - InternalServerException // Unexpected error occurred while processing the request. // @@ -2416,379 +2696,449 @@ func (c *SSMContacts) StartEngagementRequest(input *StartEngagementInput) (req * // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/StartEngagement -func (c *SSMContacts) StartEngagement(input *StartEngagementInput) (*StartEngagementOutput, error) { - req, out := c.StartEngagementRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPagesByEngagement +func (c *SSMContacts) ListPagesByEngagement(input *ListPagesByEngagementInput) (*ListPagesByEngagementOutput, error) { + req, out := c.ListPagesByEngagementRequest(input) return out, req.Send() } -// StartEngagementWithContext is the same as StartEngagement with the addition of +// ListPagesByEngagementWithContext is the same as ListPagesByEngagement with the addition of // the ability to pass a context and additional request options. // -// See StartEngagement for details on how to use this API operation. +// See ListPagesByEngagement for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) StartEngagementWithContext(ctx aws.Context, input *StartEngagementInput, opts ...request.Option) (*StartEngagementOutput, error) { - req, out := c.StartEngagementRequest(input) +func (c *SSMContacts) ListPagesByEngagementWithContext(ctx aws.Context, input *ListPagesByEngagementInput, opts ...request.Option) (*ListPagesByEngagementOutput, error) { + req, out := c.ListPagesByEngagementRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStopEngagement = "StopEngagement" - -// StopEngagementRequest generates a "aws/request.Request" representing the -// client's request for the StopEngagement operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See StopEngagement for more information on using the StopEngagement -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// ListPagesByEngagementPages iterates over the pages of a ListPagesByEngagement operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// // Example sending a request using the StopEngagementRequest method. -// req, resp := client.StopEngagementRequest(params) +// See ListPagesByEngagement method for more information on how to use this operation. // -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } +// Note: This operation can generate multiple requests to a service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/StopEngagement -func (c *SSMContacts) StopEngagementRequest(input *StopEngagementInput) (req *request.Request, output *StopEngagementOutput) { - op := &request.Operation{ - Name: opStopEngagement, - HTTPMethod: "POST", - HTTPPath: "/", - } - - if input == nil { - input = &StopEngagementInput{} - } +// // Example iterating over at most 3 pages of a ListPagesByEngagement operation. +// pageNum := 0 +// err := client.ListPagesByEngagementPages(params, +// func(page *ssmcontacts.ListPagesByEngagementOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *SSMContacts) ListPagesByEngagementPages(input *ListPagesByEngagementInput, fn func(*ListPagesByEngagementOutput, bool) bool) error { + return c.ListPagesByEngagementPagesWithContext(aws.BackgroundContext(), input, fn) +} - output = &StopEngagementOutput{} - req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) - return -} - -// StopEngagement API operation for AWS Systems Manager Incident Manager Contacts. -// -// Stops an engagement before it finishes the final stage of the escalation -// plan or engagement plan. Further contacts aren't engaged. -// -// Returns awserr.Error for service API and SDK errors. Use runtime type assertions -// with awserr.Error's Code and Message methods to get detailed information about -// the error. -// -// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation StopEngagement for usage and error information. -// -// Returned Error Types: -// -// - AccessDeniedException -// You don't have sufficient access to perform this operation. -// -// - ValidationException -// The input fails to satisfy the constraints specified by an Amazon Web Services -// service. -// -// - ResourceNotFoundException -// Request references a resource that doesn't exist. -// -// - ThrottlingException -// The request was denied due to request throttling. -// -// - InternalServerException -// Unexpected error occurred while processing the request. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/StopEngagement -func (c *SSMContacts) StopEngagement(input *StopEngagementInput) (*StopEngagementOutput, error) { - req, out := c.StopEngagementRequest(input) - return out, req.Send() -} - -// StopEngagementWithContext is the same as StopEngagement with the addition of -// the ability to pass a context and additional request options. -// -// See StopEngagement for details on how to use this API operation. +// ListPagesByEngagementPagesWithContext same as ListPagesByEngagementPages except +// it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) StopEngagementWithContext(ctx aws.Context, input *StopEngagementInput, opts ...request.Option) (*StopEngagementOutput, error) { - req, out := c.StopEngagementRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() +func (c *SSMContacts) ListPagesByEngagementPagesWithContext(ctx aws.Context, input *ListPagesByEngagementInput, fn func(*ListPagesByEngagementOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPagesByEngagementInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPagesByEngagementRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPagesByEngagementOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() } -const opTagResource = "TagResource" +const opListPreviewRotationShifts = "ListPreviewRotationShifts" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// ListPreviewRotationShiftsRequest generates a "aws/request.Request" representing the +// client's request for the ListPreviewRotationShifts operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TagResource for more information on using the TagResource +// See ListPreviewRotationShifts for more information on using the ListPreviewRotationShifts // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the ListPreviewRotationShiftsRequest method. +// req, resp := client.ListPreviewRotationShiftsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/TagResource -func (c *SSMContacts) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPreviewRotationShifts +func (c *SSMContacts) ListPreviewRotationShiftsRequest(input *ListPreviewRotationShiftsInput) (req *request.Request, output *ListPreviewRotationShiftsOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opListPreviewRotationShifts, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &TagResourceInput{} + input = &ListPreviewRotationShiftsInput{} } - output = &TagResourceOutput{} + output = &ListPreviewRotationShiftsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for AWS Systems Manager Incident Manager Contacts. +// ListPreviewRotationShifts API operation for AWS Systems Manager Incident Manager Contacts. // -// Tags a contact or escalation plan. You can tag only contacts and escalation -// plans in the first region of your replication set. +// Returns a list of shifts based on rotation configuration parameters. +// +// The Incident Manager primarily uses this operation to populate the Preview +// calendar. It is not typically run by end users. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation TagResource for usage and error information. +// API operation ListPreviewRotationShifts for usage and error information. // // Returned Error Types: // // - AccessDeniedException // You don't have sufficient access to perform this operation. // -// - ThrottlingException -// The request was denied due to request throttling. -// -// - ResourceNotFoundException -// Request references a resource that doesn't exist. -// // - InternalServerException // Unexpected error occurred while processing the request. // -// - ServiceQuotaExceededException -// Request would cause a service quota to be exceeded. +// - ThrottlingException +// The request was denied due to request throttling. // // - ValidationException // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/TagResource -func (c *SSMContacts) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPreviewRotationShifts +func (c *SSMContacts) ListPreviewRotationShifts(input *ListPreviewRotationShiftsInput) (*ListPreviewRotationShiftsOutput, error) { + req, out := c.ListPreviewRotationShiftsRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// ListPreviewRotationShiftsWithContext is the same as ListPreviewRotationShifts with the addition of // the ability to pass a context and additional request options. // -// See TagResource for details on how to use this API operation. +// See ListPreviewRotationShifts for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *SSMContacts) ListPreviewRotationShiftsWithContext(ctx aws.Context, input *ListPreviewRotationShiftsInput, opts ...request.Option) (*ListPreviewRotationShiftsOutput, error) { + req, out := c.ListPreviewRotationShiftsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +// ListPreviewRotationShiftsPages iterates over the pages of a ListPreviewRotationShifts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPreviewRotationShifts method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListPreviewRotationShifts operation. +// pageNum := 0 +// err := client.ListPreviewRotationShiftsPages(params, +// func(page *ssmcontacts.ListPreviewRotationShiftsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *SSMContacts) ListPreviewRotationShiftsPages(input *ListPreviewRotationShiftsInput, fn func(*ListPreviewRotationShiftsOutput, bool) bool) error { + return c.ListPreviewRotationShiftsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// ListPreviewRotationShiftsPagesWithContext same as ListPreviewRotationShiftsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) ListPreviewRotationShiftsPagesWithContext(ctx aws.Context, input *ListPreviewRotationShiftsInput, fn func(*ListPreviewRotationShiftsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPreviewRotationShiftsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPreviewRotationShiftsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPreviewRotationShiftsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListRotationOverrides = "ListRotationOverrides" + +// ListRotationOverridesRequest generates a "aws/request.Request" representing the +// client's request for the ListRotationOverrides operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UntagResource for more information on using the UntagResource +// See ListRotationOverrides for more information on using the ListRotationOverrides // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // Example sending a request using the ListRotationOverridesRequest method. +// req, resp := client.ListRotationOverridesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UntagResource -func (c *SSMContacts) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListRotationOverrides +func (c *SSMContacts) ListRotationOverridesRequest(input *ListRotationOverridesInput) (req *request.Request, output *ListRotationOverridesOutput) { op := &request.Operation{ - Name: opUntagResource, + Name: opListRotationOverrides, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UntagResourceInput{} + input = &ListRotationOverridesInput{} } - output = &UntagResourceOutput{} + output = &ListRotationOverridesOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UntagResource API operation for AWS Systems Manager Incident Manager Contacts. +// ListRotationOverrides API operation for AWS Systems Manager Incident Manager Contacts. // -// Removes tags from the specified resource. +// Retrieves a list of overrides currently specified for an on-call rotation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation UntagResource for usage and error information. +// API operation ListRotationOverrides for usage and error information. // // Returned Error Types: // // - AccessDeniedException // You don't have sufficient access to perform this operation. // -// - ThrottlingException -// The request was denied due to request throttling. +// - InternalServerException +// Unexpected error occurred while processing the request. // // - ResourceNotFoundException // Request references a resource that doesn't exist. // +// - ThrottlingException +// The request was denied due to request throttling. +// // - ValidationException // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// - InternalServerException -// Unexpected error occurred while processing the request. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UntagResource -func (c *SSMContacts) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListRotationOverrides +func (c *SSMContacts) ListRotationOverrides(input *ListRotationOverridesInput) (*ListRotationOverridesOutput, error) { + req, out := c.ListRotationOverridesRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// ListRotationOverridesWithContext is the same as ListRotationOverrides with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See ListRotationOverrides for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *SSMContacts) ListRotationOverridesWithContext(ctx aws.Context, input *ListRotationOverridesInput, opts ...request.Option) (*ListRotationOverridesOutput, error) { + req, out := c.ListRotationOverridesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateContact = "UpdateContact" +// ListRotationOverridesPages iterates over the pages of a ListRotationOverrides operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRotationOverrides method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListRotationOverrides operation. +// pageNum := 0 +// err := client.ListRotationOverridesPages(params, +// func(page *ssmcontacts.ListRotationOverridesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *SSMContacts) ListRotationOverridesPages(input *ListRotationOverridesInput, fn func(*ListRotationOverridesOutput, bool) bool) error { + return c.ListRotationOverridesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateContactRequest generates a "aws/request.Request" representing the -// client's request for the UpdateContact operation. The "output" return +// ListRotationOverridesPagesWithContext same as ListRotationOverridesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) ListRotationOverridesPagesWithContext(ctx aws.Context, input *ListRotationOverridesInput, fn func(*ListRotationOverridesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRotationOverridesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRotationOverridesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListRotationOverridesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListRotationShifts = "ListRotationShifts" + +// ListRotationShiftsRequest generates a "aws/request.Request" representing the +// client's request for the ListRotationShifts operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateContact for more information on using the UpdateContact +// See ListRotationShifts for more information on using the ListRotationShifts // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateContactRequest method. -// req, resp := client.UpdateContactRequest(params) +// // Example sending a request using the ListRotationShiftsRequest method. +// req, resp := client.ListRotationShiftsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateContact -func (c *SSMContacts) UpdateContactRequest(input *UpdateContactInput) (req *request.Request, output *UpdateContactOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListRotationShifts +func (c *SSMContacts) ListRotationShiftsRequest(input *ListRotationShiftsInput) (req *request.Request, output *ListRotationShiftsOutput) { op := &request.Operation{ - Name: opUpdateContact, + Name: opListRotationShifts, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateContactInput{} + input = &ListRotationShiftsInput{} } - output = &UpdateContactOutput{} + output = &ListRotationShiftsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateContact API operation for AWS Systems Manager Incident Manager Contacts. +// ListRotationShifts API operation for AWS Systems Manager Incident Manager Contacts. // -// Updates the contact or escalation plan specified. +// Returns a list of shifts generated by an existing rotation in the system. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation UpdateContact for usage and error information. +// API operation ListRotationShifts for usage and error information. // // Returned Error Types: // // - AccessDeniedException // You don't have sufficient access to perform this operation. // +// - ConflictException +// Updating or deleting a resource causes an inconsistent state. +// // - InternalServerException // Unexpected error occurred while processing the request. // // - ResourceNotFoundException // Request references a resource that doesn't exist. // -// - ServiceQuotaExceededException -// Request would cause a service quota to be exceeded. -// // - ThrottlingException // The request was denied due to request throttling. // @@ -2796,95 +3146,142 @@ func (c *SSMContacts) UpdateContactRequest(input *UpdateContactInput) (req *requ // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// - DataEncryptionException -// The operation failed to due an encryption key error. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateContact -func (c *SSMContacts) UpdateContact(input *UpdateContactInput) (*UpdateContactOutput, error) { - req, out := c.UpdateContactRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListRotationShifts +func (c *SSMContacts) ListRotationShifts(input *ListRotationShiftsInput) (*ListRotationShiftsOutput, error) { + req, out := c.ListRotationShiftsRequest(input) return out, req.Send() } -// UpdateContactWithContext is the same as UpdateContact with the addition of +// ListRotationShiftsWithContext is the same as ListRotationShifts with the addition of // the ability to pass a context and additional request options. // -// See UpdateContact for details on how to use this API operation. +// See ListRotationShifts for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) UpdateContactWithContext(ctx aws.Context, input *UpdateContactInput, opts ...request.Option) (*UpdateContactOutput, error) { - req, out := c.UpdateContactRequest(input) +func (c *SSMContacts) ListRotationShiftsWithContext(ctx aws.Context, input *ListRotationShiftsInput, opts ...request.Option) (*ListRotationShiftsOutput, error) { + req, out := c.ListRotationShiftsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateContactChannel = "UpdateContactChannel" +// ListRotationShiftsPages iterates over the pages of a ListRotationShifts operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRotationShifts method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListRotationShifts operation. +// pageNum := 0 +// err := client.ListRotationShiftsPages(params, +// func(page *ssmcontacts.ListRotationShiftsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *SSMContacts) ListRotationShiftsPages(input *ListRotationShiftsInput, fn func(*ListRotationShiftsOutput, bool) bool) error { + return c.ListRotationShiftsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateContactChannelRequest generates a "aws/request.Request" representing the -// client's request for the UpdateContactChannel operation. The "output" return +// ListRotationShiftsPagesWithContext same as ListRotationShiftsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) ListRotationShiftsPagesWithContext(ctx aws.Context, input *ListRotationShiftsInput, fn func(*ListRotationShiftsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRotationShiftsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRotationShiftsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListRotationShiftsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListRotations = "ListRotations" + +// ListRotationsRequest generates a "aws/request.Request" representing the +// client's request for the ListRotations operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateContactChannel for more information on using the UpdateContactChannel +// See ListRotations for more information on using the ListRotations // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateContactChannelRequest method. -// req, resp := client.UpdateContactChannelRequest(params) +// // Example sending a request using the ListRotationsRequest method. +// req, resp := client.ListRotationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateContactChannel -func (c *SSMContacts) UpdateContactChannelRequest(input *UpdateContactChannelInput) (req *request.Request, output *UpdateContactChannelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListRotations +func (c *SSMContacts) ListRotationsRequest(input *ListRotationsInput) (req *request.Request, output *ListRotationsOutput) { op := &request.Operation{ - Name: opUpdateContactChannel, + Name: opListRotations, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateContactChannelInput{} + input = &ListRotationsInput{} } - output = &UpdateContactChannelOutput{} + output = &ListRotationsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateContactChannel API operation for AWS Systems Manager Incident Manager Contacts. +// ListRotations API operation for AWS Systems Manager Incident Manager Contacts. // -// Updates a contact's contact channel. +// Retrieves a list of on-call rotations. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's -// API operation UpdateContactChannel for usage and error information. +// API operation ListRotations for usage and error information. // // Returned Error Types: // // - AccessDeniedException // You don't have sufficient access to perform this operation. // -// - ConflictException -// Updating or deleting a resource causes an inconsistent state. -// -// - DataEncryptionException -// The operation failed to due an encryption key error. -// // - InternalServerException // Unexpected error occurred while processing the request. // @@ -2898,158 +3295,2526 @@ func (c *SSMContacts) UpdateContactChannelRequest(input *UpdateContactChannelInp // The input fails to satisfy the constraints specified by an Amazon Web Services // service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateContactChannel -func (c *SSMContacts) UpdateContactChannel(input *UpdateContactChannelInput) (*UpdateContactChannelOutput, error) { - req, out := c.UpdateContactChannelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListRotations +func (c *SSMContacts) ListRotations(input *ListRotationsInput) (*ListRotationsOutput, error) { + req, out := c.ListRotationsRequest(input) return out, req.Send() } -// UpdateContactChannelWithContext is the same as UpdateContactChannel with the addition of +// ListRotationsWithContext is the same as ListRotations with the addition of // the ability to pass a context and additional request options. // -// See UpdateContactChannel for details on how to use this API operation. +// See ListRotations for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SSMContacts) UpdateContactChannelWithContext(ctx aws.Context, input *UpdateContactChannelInput, opts ...request.Option) (*UpdateContactChannelOutput, error) { - req, out := c.UpdateContactChannelRequest(input) +func (c *SSMContacts) ListRotationsWithContext(ctx aws.Context, input *ListRotationsInput, opts ...request.Option) (*ListRotationsOutput, error) { + req, out := c.ListRotationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -type AcceptPageInput struct { - _ struct{} `type:"structure"` - - // The accept code is a 6-digit code used to acknowledge the page. - // - // AcceptCode is a required field - AcceptCode *string `min:"6" type:"string" required:"true"` - - // An optional field that Incident Manager uses to ENFORCE AcceptCode validation - // when acknowledging an page. Acknowledgement can occur by replying to a page, - // or when entering the AcceptCode in the console. Enforcing AcceptCode validation - // causes Incident Manager to verify that the code entered by the user matches - // the code sent by Incident Manager with the page. - // - // Incident Manager can also IGNORE AcceptCode validation. Ignoring AcceptCode - // validation causes Incident Manager to accept any value entered for the AcceptCode. - AcceptCodeValidation *string `type:"string" enum:"AcceptCodeValidation"` - - // The type indicates if the page was DELIVERED or READ. - // - // AcceptType is a required field - AcceptType *string `type:"string" required:"true" enum:"AcceptType"` - - // The ARN of the contact channel. - ContactChannelId *string `min:"1" type:"string"` - - // Information provided by the user when the user acknowledges the page. - Note *string `min:"1" type:"string"` - - // The Amazon Resource Name (ARN) of the engagement to a contact channel. - // - // PageId is a required field - PageId *string `min:"1" type:"string" required:"true"` -} - -// String returns the string representation. +// ListRotationsPages iterates over the pages of a ListRotations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AcceptPageInput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// See ListRotations method for more information on how to use this operation. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AcceptPageInput) GoString() string { - return s.String() +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListRotations operation. +// pageNum := 0 +// err := client.ListRotationsPages(params, +// func(page *ssmcontacts.ListRotationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *SSMContacts) ListRotationsPages(input *ListRotationsInput, fn func(*ListRotationsOutput, bool) bool) error { + return c.ListRotationsPagesWithContext(aws.BackgroundContext(), input, fn) } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AcceptPageInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AcceptPageInput"} - if s.AcceptCode == nil { - invalidParams.Add(request.NewErrParamRequired("AcceptCode")) - } - if s.AcceptCode != nil && len(*s.AcceptCode) < 6 { - invalidParams.Add(request.NewErrParamMinLen("AcceptCode", 6)) - } - if s.AcceptType == nil { - invalidParams.Add(request.NewErrParamRequired("AcceptType")) - } - if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) - } - if s.Note != nil && len(*s.Note) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Note", 1)) - } - if s.PageId == nil { - invalidParams.Add(request.NewErrParamRequired("PageId")) - } - if s.PageId != nil && len(*s.PageId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PageId", 1)) +// ListRotationsPagesWithContext same as ListRotationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) ListRotationsPagesWithContext(ctx aws.Context, input *ListRotationsInput, fn func(*ListRotationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRotationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRotationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, } - if invalidParams.Len() > 0 { - return invalidParams + for p.Next() { + if !fn(p.Page().(*ListRotationsOutput), !p.HasNextPage()) { + break + } } - return nil -} - -// SetAcceptCode sets the AcceptCode field's value. -func (s *AcceptPageInput) SetAcceptCode(v string) *AcceptPageInput { - s.AcceptCode = &v - return s -} -// SetAcceptCodeValidation sets the AcceptCodeValidation field's value. -func (s *AcceptPageInput) SetAcceptCodeValidation(v string) *AcceptPageInput { - s.AcceptCodeValidation = &v - return s + return p.Err() } -// SetAcceptType sets the AcceptType field's value. -func (s *AcceptPageInput) SetAcceptType(v string) *AcceptPageInput { - s.AcceptType = &v - return s -} +const opListTagsForResource = "ListTagsForResource" -// SetContactChannelId sets the ContactChannelId field's value. -func (s *AcceptPageInput) SetContactChannelId(v string) *AcceptPageInput { - s.ContactChannelId = &v - return s -} +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListTagsForResource +func (c *SSMContacts) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } -// SetNote sets the Note field's value. -func (s *AcceptPageInput) SetNote(v string) *AcceptPageInput { - s.Note = &v - return s -} + if input == nil { + input = &ListTagsForResourceInput{} + } -// SetPageId sets the PageId field's value. -func (s *AcceptPageInput) SetPageId(v string) *AcceptPageInput { - s.PageId = &v - return s + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return } -type AcceptPageOutput struct { - _ struct{} `type:"structure"` -} +// ListTagsForResource API operation for AWS Systems Manager Incident Manager Contacts. +// +// Lists the tags of an escalation plan or contact. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have sufficient access to perform this operation. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an Amazon Web Services +// service. +// +// - InternalServerException +// Unexpected error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListTagsForResource +func (c *SSMContacts) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutContactPolicy = "PutContactPolicy" + +// PutContactPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutContactPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutContactPolicy for more information on using the PutContactPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the PutContactPolicyRequest method. +// req, resp := client.PutContactPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/PutContactPolicy +func (c *SSMContacts) PutContactPolicyRequest(input *PutContactPolicyInput) (req *request.Request, output *PutContactPolicyOutput) { + op := &request.Operation{ + Name: opPutContactPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutContactPolicyInput{} + } + + output = &PutContactPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutContactPolicy API operation for AWS Systems Manager Incident Manager Contacts. +// +// Adds a resource policy to the specified contact or escalation plan. The resource +// policy is used to share the contact or escalation plan using Resource Access +// Manager (RAM). For more information about cross-account sharing, see Setting +// up cross-account functionality (https://docs.aws.amazon.com/incident-manager/latest/userguide/xa.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's +// API operation PutContactPolicy for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have sufficient access to perform this operation. +// +// - ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an Amazon Web Services +// service. +// +// - ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - InternalServerException +// Unexpected error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/PutContactPolicy +func (c *SSMContacts) PutContactPolicy(input *PutContactPolicyInput) (*PutContactPolicyOutput, error) { + req, out := c.PutContactPolicyRequest(input) + return out, req.Send() +} + +// PutContactPolicyWithContext is the same as PutContactPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutContactPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) PutContactPolicyWithContext(ctx aws.Context, input *PutContactPolicyInput, opts ...request.Option) (*PutContactPolicyOutput, error) { + req, out := c.PutContactPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSendActivationCode = "SendActivationCode" + +// SendActivationCodeRequest generates a "aws/request.Request" representing the +// client's request for the SendActivationCode operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SendActivationCode for more information on using the SendActivationCode +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the SendActivationCodeRequest method. +// req, resp := client.SendActivationCodeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/SendActivationCode +func (c *SSMContacts) SendActivationCodeRequest(input *SendActivationCodeInput) (req *request.Request, output *SendActivationCodeOutput) { + op := &request.Operation{ + Name: opSendActivationCode, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SendActivationCodeInput{} + } + + output = &SendActivationCodeOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// SendActivationCode API operation for AWS Systems Manager Incident Manager Contacts. +// +// Sends an activation code to a contact channel. The contact can use this code +// to activate the contact channel in the console or with the ActivateChannel +// operation. Incident Manager can't engage a contact channel until it has been +// activated. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's +// API operation SendActivationCode for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have sufficient access to perform this operation. +// +// - DataEncryptionException +// The operation failed to due an encryption key error. +// +// - InternalServerException +// Unexpected error occurred while processing the request. +// +// - ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// - ServiceQuotaExceededException +// Request would cause a service quota to be exceeded. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an Amazon Web Services +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/SendActivationCode +func (c *SSMContacts) SendActivationCode(input *SendActivationCodeInput) (*SendActivationCodeOutput, error) { + req, out := c.SendActivationCodeRequest(input) + return out, req.Send() +} + +// SendActivationCodeWithContext is the same as SendActivationCode with the addition of +// the ability to pass a context and additional request options. +// +// See SendActivationCode for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) SendActivationCodeWithContext(ctx aws.Context, input *SendActivationCodeInput, opts ...request.Option) (*SendActivationCodeOutput, error) { + req, out := c.SendActivationCodeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartEngagement = "StartEngagement" + +// StartEngagementRequest generates a "aws/request.Request" representing the +// client's request for the StartEngagement operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartEngagement for more information on using the StartEngagement +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the StartEngagementRequest method. +// req, resp := client.StartEngagementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/StartEngagement +func (c *SSMContacts) StartEngagementRequest(input *StartEngagementInput) (req *request.Request, output *StartEngagementOutput) { + op := &request.Operation{ + Name: opStartEngagement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartEngagementInput{} + } + + output = &StartEngagementOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartEngagement API operation for AWS Systems Manager Incident Manager Contacts. +// +// Starts an engagement to a contact or escalation plan. The engagement engages +// each contact specified in the incident. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's +// API operation StartEngagement for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have sufficient access to perform this operation. +// +// - DataEncryptionException +// The operation failed to due an encryption key error. +// +// - InternalServerException +// Unexpected error occurred while processing the request. +// +// - ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an Amazon Web Services +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/StartEngagement +func (c *SSMContacts) StartEngagement(input *StartEngagementInput) (*StartEngagementOutput, error) { + req, out := c.StartEngagementRequest(input) + return out, req.Send() +} + +// StartEngagementWithContext is the same as StartEngagement with the addition of +// the ability to pass a context and additional request options. +// +// See StartEngagement for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) StartEngagementWithContext(ctx aws.Context, input *StartEngagementInput, opts ...request.Option) (*StartEngagementOutput, error) { + req, out := c.StartEngagementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopEngagement = "StopEngagement" + +// StopEngagementRequest generates a "aws/request.Request" representing the +// client's request for the StopEngagement operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopEngagement for more information on using the StopEngagement +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the StopEngagementRequest method. +// req, resp := client.StopEngagementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/StopEngagement +func (c *SSMContacts) StopEngagementRequest(input *StopEngagementInput) (req *request.Request, output *StopEngagementOutput) { + op := &request.Operation{ + Name: opStopEngagement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopEngagementInput{} + } + + output = &StopEngagementOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopEngagement API operation for AWS Systems Manager Incident Manager Contacts. +// +// Stops an engagement before it finishes the final stage of the escalation +// plan or engagement plan. Further contacts aren't engaged. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's +// API operation StopEngagement for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have sufficient access to perform this operation. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an Amazon Web Services +// service. +// +// - ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - InternalServerException +// Unexpected error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/StopEngagement +func (c *SSMContacts) StopEngagement(input *StopEngagementInput) (*StopEngagementOutput, error) { + req, out := c.StopEngagementRequest(input) + return out, req.Send() +} + +// StopEngagementWithContext is the same as StopEngagement with the addition of +// the ability to pass a context and additional request options. +// +// See StopEngagement for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) StopEngagementWithContext(ctx aws.Context, input *StopEngagementInput, opts ...request.Option) (*StopEngagementOutput, error) { + req, out := c.StopEngagementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/TagResource +func (c *SSMContacts) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS Systems Manager Incident Manager Contacts. +// +// Tags a contact or escalation plan. You can tag only contacts and escalation +// plans in the first region of your replication set. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have sufficient access to perform this operation. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// - InternalServerException +// Unexpected error occurred while processing the request. +// +// - ServiceQuotaExceededException +// Request would cause a service quota to be exceeded. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an Amazon Web Services +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/TagResource +func (c *SSMContacts) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UntagResource +func (c *SSMContacts) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS Systems Manager Incident Manager Contacts. +// +// Removes tags from the specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have sufficient access to perform this operation. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an Amazon Web Services +// service. +// +// - InternalServerException +// Unexpected error occurred while processing the request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UntagResource +func (c *SSMContacts) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateContact = "UpdateContact" + +// UpdateContactRequest generates a "aws/request.Request" representing the +// client's request for the UpdateContact operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateContact for more information on using the UpdateContact +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateContactRequest method. +// req, resp := client.UpdateContactRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateContact +func (c *SSMContacts) UpdateContactRequest(input *UpdateContactInput) (req *request.Request, output *UpdateContactOutput) { + op := &request.Operation{ + Name: opUpdateContact, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateContactInput{} + } + + output = &UpdateContactOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateContact API operation for AWS Systems Manager Incident Manager Contacts. +// +// Updates the contact or escalation plan specified. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's +// API operation UpdateContact for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have sufficient access to perform this operation. +// +// - InternalServerException +// Unexpected error occurred while processing the request. +// +// - ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// - ServiceQuotaExceededException +// Request would cause a service quota to be exceeded. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an Amazon Web Services +// service. +// +// - DataEncryptionException +// The operation failed to due an encryption key error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateContact +func (c *SSMContacts) UpdateContact(input *UpdateContactInput) (*UpdateContactOutput, error) { + req, out := c.UpdateContactRequest(input) + return out, req.Send() +} + +// UpdateContactWithContext is the same as UpdateContact with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateContact for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) UpdateContactWithContext(ctx aws.Context, input *UpdateContactInput, opts ...request.Option) (*UpdateContactOutput, error) { + req, out := c.UpdateContactRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateContactChannel = "UpdateContactChannel" + +// UpdateContactChannelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateContactChannel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateContactChannel for more information on using the UpdateContactChannel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateContactChannelRequest method. +// req, resp := client.UpdateContactChannelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateContactChannel +func (c *SSMContacts) UpdateContactChannelRequest(input *UpdateContactChannelInput) (req *request.Request, output *UpdateContactChannelOutput) { + op := &request.Operation{ + Name: opUpdateContactChannel, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateContactChannelInput{} + } + + output = &UpdateContactChannelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateContactChannel API operation for AWS Systems Manager Incident Manager Contacts. +// +// Updates a contact's contact channel. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's +// API operation UpdateContactChannel for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have sufficient access to perform this operation. +// +// - ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// - DataEncryptionException +// The operation failed to due an encryption key error. +// +// - InternalServerException +// Unexpected error occurred while processing the request. +// +// - ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an Amazon Web Services +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateContactChannel +func (c *SSMContacts) UpdateContactChannel(input *UpdateContactChannelInput) (*UpdateContactChannelOutput, error) { + req, out := c.UpdateContactChannelRequest(input) + return out, req.Send() +} + +// UpdateContactChannelWithContext is the same as UpdateContactChannel with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateContactChannel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) UpdateContactChannelWithContext(ctx aws.Context, input *UpdateContactChannelInput, opts ...request.Option) (*UpdateContactChannelOutput, error) { + req, out := c.UpdateContactChannelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRotation = "UpdateRotation" + +// UpdateRotationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRotation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateRotation for more information on using the UpdateRotation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateRotationRequest method. +// req, resp := client.UpdateRotationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateRotation +func (c *SSMContacts) UpdateRotationRequest(input *UpdateRotationInput) (req *request.Request, output *UpdateRotationOutput) { + op := &request.Operation{ + Name: opUpdateRotation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateRotationInput{} + } + + output = &UpdateRotationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateRotation API operation for AWS Systems Manager Incident Manager Contacts. +// +// Updates the information specified for an on-call rotation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Systems Manager Incident Manager Contacts's +// API operation UpdateRotation for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You don't have sufficient access to perform this operation. +// +// - ConflictException +// Updating or deleting a resource causes an inconsistent state. +// +// - InternalServerException +// Unexpected error occurred while processing the request. +// +// - ResourceNotFoundException +// Request references a resource that doesn't exist. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an Amazon Web Services +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateRotation +func (c *SSMContacts) UpdateRotation(input *UpdateRotationInput) (*UpdateRotationOutput, error) { + req, out := c.UpdateRotationRequest(input) + return out, req.Send() +} + +// UpdateRotationWithContext is the same as UpdateRotation with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRotation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SSMContacts) UpdateRotationWithContext(ctx aws.Context, input *UpdateRotationInput, opts ...request.Option) (*UpdateRotationOutput, error) { + req, out := c.UpdateRotationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type AcceptPageInput struct { + _ struct{} `type:"structure"` + + // A 6-digit code used to acknowledge the page. + // + // AcceptCode is a required field + AcceptCode *string `min:"6" type:"string" required:"true"` + + // An optional field that Incident Manager uses to ENFORCE AcceptCode validation + // when acknowledging an page. Acknowledgement can occur by replying to a page, + // or when entering the AcceptCode in the console. Enforcing AcceptCode validation + // causes Incident Manager to verify that the code entered by the user matches + // the code sent by Incident Manager with the page. + // + // Incident Manager can also IGNORE AcceptCode validation. Ignoring AcceptCode + // validation causes Incident Manager to accept any value entered for the AcceptCode. + AcceptCodeValidation *string `type:"string" enum:"AcceptCodeValidation"` + + // The type indicates if the page was DELIVERED or READ. + // + // AcceptType is a required field + AcceptType *string `type:"string" required:"true" enum:"AcceptType"` + + // The ARN of the contact channel. + ContactChannelId *string `min:"1" type:"string"` + + // Information provided by the user when the user acknowledges the page. + Note *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the engagement to a contact channel. + // + // PageId is a required field + PageId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceptPageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceptPageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AcceptPageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AcceptPageInput"} + if s.AcceptCode == nil { + invalidParams.Add(request.NewErrParamRequired("AcceptCode")) + } + if s.AcceptCode != nil && len(*s.AcceptCode) < 6 { + invalidParams.Add(request.NewErrParamMinLen("AcceptCode", 6)) + } + if s.AcceptType == nil { + invalidParams.Add(request.NewErrParamRequired("AcceptType")) + } + if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + } + if s.Note != nil && len(*s.Note) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Note", 1)) + } + if s.PageId == nil { + invalidParams.Add(request.NewErrParamRequired("PageId")) + } + if s.PageId != nil && len(*s.PageId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PageId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAcceptCode sets the AcceptCode field's value. +func (s *AcceptPageInput) SetAcceptCode(v string) *AcceptPageInput { + s.AcceptCode = &v + return s +} + +// SetAcceptCodeValidation sets the AcceptCodeValidation field's value. +func (s *AcceptPageInput) SetAcceptCodeValidation(v string) *AcceptPageInput { + s.AcceptCodeValidation = &v + return s +} + +// SetAcceptType sets the AcceptType field's value. +func (s *AcceptPageInput) SetAcceptType(v string) *AcceptPageInput { + s.AcceptType = &v + return s +} + +// SetContactChannelId sets the ContactChannelId field's value. +func (s *AcceptPageInput) SetContactChannelId(v string) *AcceptPageInput { + s.ContactChannelId = &v + return s +} + +// SetNote sets the Note field's value. +func (s *AcceptPageInput) SetNote(v string) *AcceptPageInput { + s.Note = &v + return s +} + +// SetPageId sets the PageId field's value. +func (s *AcceptPageInput) SetPageId(v string) *AcceptPageInput { + s.PageId = &v + return s +} + +type AcceptPageOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceptPageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceptPageOutput) GoString() string { + return s.String() +} + +// You don't have sufficient access to perform this operation. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ActivateContactChannelInput struct { + _ struct{} `type:"structure"` + + // The code sent to the contact channel when it was created in the contact. + // + // ActivationCode is a required field + ActivationCode *string `min:"6" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the contact channel. + // + // ContactChannelId is a required field + ContactChannelId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateContactChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateContactChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ActivateContactChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ActivateContactChannelInput"} + if s.ActivationCode == nil { + invalidParams.Add(request.NewErrParamRequired("ActivationCode")) + } + if s.ActivationCode != nil && len(*s.ActivationCode) < 6 { + invalidParams.Add(request.NewErrParamMinLen("ActivationCode", 6)) + } + if s.ContactChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) + } + if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActivationCode sets the ActivationCode field's value. +func (s *ActivateContactChannelInput) SetActivationCode(v string) *ActivateContactChannelInput { + s.ActivationCode = &v + return s +} + +// SetContactChannelId sets the ContactChannelId field's value. +func (s *ActivateContactChannelInput) SetContactChannelId(v string) *ActivateContactChannelInput { + s.ContactChannelId = &v + return s +} + +type ActivateContactChannelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateContactChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ActivateContactChannelOutput) GoString() string { + return s.String() +} + +// Information about the contact channel that Incident Manager uses to engage +// the contact. +type ChannelTargetInfo struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact channel. + // + // ContactChannelId is a required field + ContactChannelId *string `min:"1" type:"string" required:"true"` + + // The number of minutes to wait to retry sending engagement in the case the + // engagement initially fails. + RetryIntervalInMinutes *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ChannelTargetInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ChannelTargetInfo) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ChannelTargetInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ChannelTargetInfo"} + if s.ContactChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) + } + if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactChannelId sets the ContactChannelId field's value. +func (s *ChannelTargetInfo) SetContactChannelId(v string) *ChannelTargetInfo { + s.ContactChannelId = &v + return s +} + +// SetRetryIntervalInMinutes sets the RetryIntervalInMinutes field's value. +func (s *ChannelTargetInfo) SetRetryIntervalInMinutes(v int64) *ChannelTargetInfo { + s.RetryIntervalInMinutes = &v + return s +} + +// Updating or deleting a resource causes an inconsistent state. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // List of dependent entities containing information on relation type and resourceArns + // linked to the resource in use + DependentEntities []*DependentEntity `type:"list"` + + Message_ *string `locationName:"Message" type:"string"` + + // Identifier of the resource in use + // + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` + + // Type of the resource in use + // + // ResourceType is a required field + ResourceType *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A personal contact or escalation plan that Incident Manager engages during +// an incident. +type Contact struct { + _ struct{} `type:"structure"` + + // The unique and identifiable alias of the contact or escalation plan. + // + // Alias is a required field + Alias *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the contact or escalation plan. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` + + // The full name of the contact or escalation plan. + DisplayName *string `type:"string"` + + // Refers to the type of contact. A single contact is type PERSONAL and an escalation + // plan is type ESCALATION. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ContactType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Contact) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Contact) GoString() string { + return s.String() +} + +// SetAlias sets the Alias field's value. +func (s *Contact) SetAlias(v string) *Contact { + s.Alias = &v + return s +} + +// SetContactArn sets the ContactArn field's value. +func (s *Contact) SetContactArn(v string) *Contact { + s.ContactArn = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *Contact) SetDisplayName(v string) *Contact { + s.DisplayName = &v + return s +} + +// SetType sets the Type field's value. +func (s *Contact) SetType(v string) *Contact { + s.Type = &v + return s +} + +// The method that Incident Manager uses to engage a contact. +type ContactChannel struct { + _ struct{} `type:"structure"` + + // A Boolean value describing if the contact channel has been activated or not. + // If the contact channel isn't activated, Incident Manager can't engage the + // contact through it. + // + // ActivationStatus is a required field + ActivationStatus *string `type:"string" required:"true" enum:"ActivationStatus"` + + // The ARN of the contact that contains the contact channel. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the contact channel. + // + // ContactChannelArn is a required field + ContactChannelArn *string `min:"1" type:"string" required:"true"` + + // The details that Incident Manager uses when trying to engage the contact + // channel. + // + // DeliveryAddress is a required field + DeliveryAddress *ContactChannelAddress `type:"structure" required:"true"` + + // The name of the contact channel. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The type of the contact channel. Incident Manager supports three contact + // methods: + // + // * SMS + // + // * VOICE + // + // * EMAIL + Type *string `type:"string" enum:"ChannelType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContactChannel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContactChannel) GoString() string { + return s.String() +} + +// SetActivationStatus sets the ActivationStatus field's value. +func (s *ContactChannel) SetActivationStatus(v string) *ContactChannel { + s.ActivationStatus = &v + return s +} + +// SetContactArn sets the ContactArn field's value. +func (s *ContactChannel) SetContactArn(v string) *ContactChannel { + s.ContactArn = &v + return s +} + +// SetContactChannelArn sets the ContactChannelArn field's value. +func (s *ContactChannel) SetContactChannelArn(v string) *ContactChannel { + s.ContactChannelArn = &v + return s +} + +// SetDeliveryAddress sets the DeliveryAddress field's value. +func (s *ContactChannel) SetDeliveryAddress(v *ContactChannelAddress) *ContactChannel { + s.DeliveryAddress = v + return s +} + +// SetName sets the Name field's value. +func (s *ContactChannel) SetName(v string) *ContactChannel { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *ContactChannel) SetType(v string) *ContactChannel { + s.Type = &v + return s +} + +// The details that Incident Manager uses when trying to engage the contact +// channel. +type ContactChannelAddress struct { + _ struct{} `type:"structure"` + + // The format is dependent on the type of the contact channel. The following + // are the expected formats: + // + // * SMS - '+' followed by the country code and phone number + // + // * VOICE - '+' followed by the country code and phone number + // + // * EMAIL - any standard email format + SimpleAddress *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContactChannelAddress) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContactChannelAddress) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContactChannelAddress) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContactChannelAddress"} + if s.SimpleAddress != nil && len(*s.SimpleAddress) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SimpleAddress", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSimpleAddress sets the SimpleAddress field's value. +func (s *ContactChannelAddress) SetSimpleAddress(v string) *ContactChannelAddress { + s.SimpleAddress = &v + return s +} + +// The contact that Incident Manager is engaging during an incident. +type ContactTargetInfo struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact. + ContactId *string `min:"1" type:"string"` + + // A Boolean value determining if the contact's acknowledgement stops the progress + // of stages in the plan. + // + // IsEssential is a required field + IsEssential *bool `type:"boolean" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContactTargetInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContactTargetInfo) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContactTargetInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContactTargetInfo"} + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + if s.IsEssential == nil { + invalidParams.Add(request.NewErrParamRequired("IsEssential")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactId sets the ContactId field's value. +func (s *ContactTargetInfo) SetContactId(v string) *ContactTargetInfo { + s.ContactId = &v + return s +} + +// SetIsEssential sets the IsEssential field's value. +func (s *ContactTargetInfo) SetIsEssential(v bool) *ContactTargetInfo { + s.IsEssential = &v + return s +} + +// Information about when an on-call shift begins and ends. +type CoverageTime struct { + _ struct{} `type:"structure"` + + // Information about when the on-call rotation shift ends. + End *HandOffTime `type:"structure"` + + // Information about when the on-call rotation shift begins. + Start *HandOffTime `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CoverageTime) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CoverageTime) GoString() string { + return s.String() +} + +// SetEnd sets the End field's value. +func (s *CoverageTime) SetEnd(v *HandOffTime) *CoverageTime { + s.End = v + return s +} + +// SetStart sets the Start field's value. +func (s *CoverageTime) SetStart(v *HandOffTime) *CoverageTime { + s.Start = v + return s +} + +type CreateContactChannelInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact you are adding the contact + // channel to. + // + // ContactId is a required field + ContactId *string `min:"1" type:"string" required:"true"` + + // If you want to activate the channel at a later time, you can choose to defer + // activation. Incident Manager can't engage your contact channel until it has + // been activated. + DeferActivation *bool `type:"boolean"` + + // The details that Incident Manager uses when trying to engage the contact + // channel. The format is dependent on the type of the contact channel. The + // following are the expected formats: + // + // * SMS - '+' followed by the country code and phone number + // + // * VOICE - '+' followed by the country code and phone number + // + // * EMAIL - any standard email format + // + // DeliveryAddress is a required field + DeliveryAddress *ContactChannelAddress `type:"structure" required:"true"` + + // A token ensuring that the operation is called only once with the specified + // details. + IdempotencyToken *string `type:"string" idempotencyToken:"true"` + + // The name of the contact channel. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Incident Manager supports three types of contact channels: + // + // * SMS + // + // * VOICE + // + // * EMAIL + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ChannelType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateContactChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateContactChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateContactChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateContactChannelInput"} + if s.ContactId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactId")) + } + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + if s.DeliveryAddress == nil { + invalidParams.Add(request.NewErrParamRequired("DeliveryAddress")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.DeliveryAddress != nil { + if err := s.DeliveryAddress.Validate(); err != nil { + invalidParams.AddNested("DeliveryAddress", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactId sets the ContactId field's value. +func (s *CreateContactChannelInput) SetContactId(v string) *CreateContactChannelInput { + s.ContactId = &v + return s +} + +// SetDeferActivation sets the DeferActivation field's value. +func (s *CreateContactChannelInput) SetDeferActivation(v bool) *CreateContactChannelInput { + s.DeferActivation = &v + return s +} + +// SetDeliveryAddress sets the DeliveryAddress field's value. +func (s *CreateContactChannelInput) SetDeliveryAddress(v *ContactChannelAddress) *CreateContactChannelInput { + s.DeliveryAddress = v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateContactChannelInput) SetIdempotencyToken(v string) *CreateContactChannelInput { + s.IdempotencyToken = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateContactChannelInput) SetName(v string) *CreateContactChannelInput { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *CreateContactChannelInput) SetType(v string) *CreateContactChannelInput { + s.Type = &v + return s +} + +type CreateContactChannelOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact channel. + // + // ContactChannelArn is a required field + ContactChannelArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateContactChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateContactChannelOutput) GoString() string { + return s.String() +} + +// SetContactChannelArn sets the ContactChannelArn field's value. +func (s *CreateContactChannelOutput) SetContactChannelArn(v string) *CreateContactChannelOutput { + s.ContactChannelArn = &v + return s +} + +type CreateContactInput struct { + _ struct{} `type:"structure"` + + // The short name to quickly identify a contact or escalation plan. The contact + // alias must be unique and identifiable. + // + // Alias is a required field + Alias *string `min:"1" type:"string" required:"true"` + + // The full name of the contact or escalation plan. + DisplayName *string `type:"string"` + + // A token ensuring that the operation is called only once with the specified + // details. + IdempotencyToken *string `type:"string" idempotencyToken:"true"` + + // A list of stages. A contact has an engagement plan with stages that contact + // specified contact channels. An escalation plan uses stages that contact specified + // contacts. + // + // Plan is a required field + Plan *Plan `type:"structure" required:"true"` + + // Adds a tag to the target. You can only tag resources created in the first + // Region of your replication set. + Tags []*Tag `type:"list"` + + // To create an escalation plan use ESCALATION. To create a contact use PERSONAL. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ContactType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateContactInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateContactInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateContactInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateContactInput"} + if s.Alias == nil { + invalidParams.Add(request.NewErrParamRequired("Alias")) + } + if s.Alias != nil && len(*s.Alias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) + } + if s.Plan == nil { + invalidParams.Add(request.NewErrParamRequired("Plan")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Plan != nil { + if err := s.Plan.Validate(); err != nil { + invalidParams.AddNested("Plan", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAlias sets the Alias field's value. +func (s *CreateContactInput) SetAlias(v string) *CreateContactInput { + s.Alias = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *CreateContactInput) SetDisplayName(v string) *CreateContactInput { + s.DisplayName = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateContactInput) SetIdempotencyToken(v string) *CreateContactInput { + s.IdempotencyToken = &v + return s +} + +// SetPlan sets the Plan field's value. +func (s *CreateContactInput) SetPlan(v *Plan) *CreateContactInput { + s.Plan = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateContactInput) SetTags(v []*Tag) *CreateContactInput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *CreateContactInput) SetType(v string) *CreateContactInput { + s.Type = &v + return s +} + +type CreateContactOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the created contact or escalation plan. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateContactOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateContactOutput) GoString() string { + return s.String() +} + +// SetContactArn sets the ContactArn field's value. +func (s *CreateContactOutput) SetContactArn(v string) *CreateContactOutput { + s.ContactArn = &v + return s +} + +type CreateRotationInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Names (ARNs) of the contacts to add to the rotation. + // + // The order that you list the contacts in is their shift order in the rotation + // schedule. To change the order of the contact's shifts, use the UpdateRotation + // operation. + // + // ContactIds is a required field + ContactIds []*string `min:"1" type:"list" required:"true"` + + // A token that ensures that the operation is called only once with the specified + // details. + IdempotencyToken *string `type:"string"` + + // The name of the rotation. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Information about the rule that specifies when a shift's team members rotate. + // + // Recurrence is a required field + Recurrence *RecurrenceSettings `type:"structure" required:"true"` + + // The date and time that the rotation goes into effect. + StartTime *time.Time `type:"timestamp"` + + // Optional metadata to assign to the rotation. Tags enable you to categorize + // a resource in different ways, such as by purpose, owner, or environment. + // For more information, see Tagging Incident Manager resources (https://docs.aws.amazon.com/incident-manager/latest/userguide/tagging.html) + // in the Incident Manager User Guide. + Tags []*Tag `type:"list"` + + // The time zone to base the rotation’s activity on in Internet Assigned Numbers + // Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". + // For more information, see the Time Zone Database (https://www.iana.org/time-zones) + // on the IANA website. + // + // Designators for time zones that don’t support Daylight Savings Time rules, + // such as Pacific Standard Time (PST) and Pacific Daylight Time (PDT), are + // not supported. + // + // TimeZoneId is a required field + TimeZoneId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRotationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRotationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateRotationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRotationInput"} + if s.ContactIds == nil { + invalidParams.Add(request.NewErrParamRequired("ContactIds")) + } + if s.ContactIds != nil && len(s.ContactIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactIds", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Recurrence == nil { + invalidParams.Add(request.NewErrParamRequired("Recurrence")) + } + if s.TimeZoneId == nil { + invalidParams.Add(request.NewErrParamRequired("TimeZoneId")) + } + if s.TimeZoneId != nil && len(*s.TimeZoneId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TimeZoneId", 1)) + } + if s.Recurrence != nil { + if err := s.Recurrence.Validate(); err != nil { + invalidParams.AddNested("Recurrence", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactIds sets the ContactIds field's value. +func (s *CreateRotationInput) SetContactIds(v []*string) *CreateRotationInput { + s.ContactIds = v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateRotationInput) SetIdempotencyToken(v string) *CreateRotationInput { + s.IdempotencyToken = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateRotationInput) SetName(v string) *CreateRotationInput { + s.Name = &v + return s +} + +// SetRecurrence sets the Recurrence field's value. +func (s *CreateRotationInput) SetRecurrence(v *RecurrenceSettings) *CreateRotationInput { + s.Recurrence = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *CreateRotationInput) SetStartTime(v time.Time) *CreateRotationInput { + s.StartTime = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateRotationInput) SetTags(v []*Tag) *CreateRotationInput { + s.Tags = v + return s +} + +// SetTimeZoneId sets the TimeZoneId field's value. +func (s *CreateRotationInput) SetTimeZoneId(v string) *CreateRotationInput { + s.TimeZoneId = &v + return s +} + +type CreateRotationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the created rotation. + // + // RotationArn is a required field + RotationArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRotationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRotationOutput) GoString() string { + return s.String() +} + +// SetRotationArn sets the RotationArn field's value. +func (s *CreateRotationOutput) SetRotationArn(v string) *CreateRotationOutput { + s.RotationArn = &v + return s +} + +type CreateRotationOverrideInput struct { + _ struct{} `type:"structure"` + + // The date and time when the override ends. + // + // EndTime is a required field + EndTime *time.Time `type:"timestamp" required:"true"` + + // A token that ensures that the operation is called only once with the specified + // details. + IdempotencyToken *string `type:"string"` + + // The Amazon Resource Names (ARNs) of the contacts to replace those in the + // current on-call rotation with. + // + // If you want to include any current team members in the override shift, you + // must include their ARNs in the new contact ID list. + // + // NewContactIds is a required field + NewContactIds []*string `type:"list" required:"true"` + + // The Amazon Resource Name (ARN) of the rotation to create an override for. + // + // RotationId is a required field + RotationId *string `min:"1" type:"string" required:"true"` + + // The date and time when the override goes into effect. + // + // StartTime is a required field + StartTime *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRotationOverrideInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRotationOverrideInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateRotationOverrideInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRotationOverrideInput"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) + } + if s.NewContactIds == nil { + invalidParams.Add(request.NewErrParamRequired("NewContactIds")) + } + if s.RotationId == nil { + invalidParams.Add(request.NewErrParamRequired("RotationId")) + } + if s.RotationId != nil && len(*s.RotationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RotationId", 1)) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *CreateRotationOverrideInput) SetEndTime(v time.Time) *CreateRotationOverrideInput { + s.EndTime = &v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *CreateRotationOverrideInput) SetIdempotencyToken(v string) *CreateRotationOverrideInput { + s.IdempotencyToken = &v + return s +} + +// SetNewContactIds sets the NewContactIds field's value. +func (s *CreateRotationOverrideInput) SetNewContactIds(v []*string) *CreateRotationOverrideInput { + s.NewContactIds = v + return s +} + +// SetRotationId sets the RotationId field's value. +func (s *CreateRotationOverrideInput) SetRotationId(v string) *CreateRotationOverrideInput { + s.RotationId = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *CreateRotationOverrideInput) SetStartTime(v time.Time) *CreateRotationOverrideInput { + s.StartTime = &v + return s +} + +type CreateRotationOverrideOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the created rotation override. + // + // RotationOverrideId is a required field + RotationOverrideId *string `min:"36" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRotationOverrideOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRotationOverrideOutput) GoString() string { + return s.String() +} + +// SetRotationOverrideId sets the RotationOverrideId field's value. +func (s *CreateRotationOverrideOutput) SetRotationOverrideId(v string) *CreateRotationOverrideOutput { + s.RotationOverrideId = &v + return s +} + +// The operation failed to due an encryption key error. +type DataEncryptionException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataEncryptionException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataEncryptionException) GoString() string { + return s.String() +} + +func newErrorDataEncryptionException(v protocol.ResponseMetadata) error { + return &DataEncryptionException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DataEncryptionException) Code() string { + return "DataEncryptionException" +} + +// Message returns the exception's message. +func (s *DataEncryptionException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DataEncryptionException) OrigErr() error { + return nil +} + +func (s *DataEncryptionException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *DataEncryptionException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DataEncryptionException) RequestID() string { + return s.RespMetadata.RequestID +} + +type DeactivateContactChannelInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact channel you're deactivating. + // + // ContactChannelId is a required field + ContactChannelId *string `min:"1" type:"string" required:"true"` +} // String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AcceptPageOutput) String() string { +func (s DeactivateContactChannelInput) String() string { return awsutil.Prettify(s) } @@ -3058,16 +5823,34 @@ func (s AcceptPageOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AcceptPageOutput) GoString() string { +func (s DeactivateContactChannelInput) GoString() string { return s.String() } -// You don't have sufficient access to perform this operation. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeactivateContactChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeactivateContactChannelInput"} + if s.ContactChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) + } + if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + } - Message_ *string `locationName:"Message" type:"string"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactChannelId sets the ContactChannelId field's value. +func (s *DeactivateContactChannelInput) SetContactChannelId(v string) *DeactivateContactChannelInput { + s.ContactChannelId = &v + return s +} + +type DeactivateContactChannelOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation. @@ -3075,7 +5858,7 @@ type AccessDeniedException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AccessDeniedException) String() string { +func (s DeactivateContactChannelOutput) String() string { return awsutil.Prettify(s) } @@ -3084,60 +5867,235 @@ func (s AccessDeniedException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AccessDeniedException) GoString() string { +func (s DeactivateContactChannelOutput) GoString() string { return s.String() } -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, +type DeleteContactChannelInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact channel. + // + // ContactChannelId is a required field + ContactChannelId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContactChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContactChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteContactChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteContactChannelInput"} + if s.ContactChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) + } + if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" +// SetContactChannelId sets the ContactChannelId field's value. +func (s *DeleteContactChannelInput) SetContactChannelId(v string) *DeleteContactChannelInput { + s.ContactChannelId = &v + return s } -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ +type DeleteContactChannelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContactChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContactChannelOutput) GoString() string { + return s.String() +} + +type DeleteContactInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the contact that you're deleting. + // + // ContactId is a required field + ContactId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContactInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContactInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteContactInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteContactInput"} + if s.ContactId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactId")) } - return "" + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { +// SetContactId sets the ContactId field's value. +func (s *DeleteContactInput) SetContactId(v string) *DeleteContactInput { + s.ContactId = &v + return s +} + +type DeleteContactOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContactOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteContactOutput) GoString() string { + return s.String() +} + +type DeleteRotationInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the on-call rotation to delete. + // + // RotationId is a required field + RotationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRotationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRotationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRotationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRotationInput"} + if s.RotationId == nil { + invalidParams.Add(request.NewErrParamRequired("RotationId")) + } + if s.RotationId != nil && len(*s.RotationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RotationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetRotationId sets the RotationId field's value. +func (s *DeleteRotationInput) SetRotationId(v string) *DeleteRotationInput { + s.RotationId = &v + return s +} + +type DeleteRotationOutput struct { + _ struct{} `type:"structure"` } -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRotationOutput) String() string { + return awsutil.Prettify(s) } -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRotationOutput) GoString() string { + return s.String() } -type ActivateContactChannelInput struct { +type DeleteRotationOverrideInput struct { _ struct{} `type:"structure"` - // The code sent to the contact channel when it was created in the contact. + // The Amazon Resource Name (ARN) of the rotation that was overridden. // - // ActivationCode is a required field - ActivationCode *string `min:"6" type:"string" required:"true"` + // RotationId is a required field + RotationId *string `min:"1" type:"string" required:"true"` - // The Amazon Resource Name (ARN) of the contact channel. + // The Amazon Resource Name (ARN) of the on-call rotation override to delete. // - // ContactChannelId is a required field - ContactChannelId *string `min:"1" type:"string" required:"true"` + // RotationOverrideId is a required field + RotationOverrideId *string `min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -3145,7 +6103,7 @@ type ActivateContactChannelInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ActivateContactChannelInput) String() string { +func (s DeleteRotationOverrideInput) String() string { return awsutil.Prettify(s) } @@ -3154,24 +6112,24 @@ func (s ActivateContactChannelInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ActivateContactChannelInput) GoString() string { +func (s DeleteRotationOverrideInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ActivateContactChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ActivateContactChannelInput"} - if s.ActivationCode == nil { - invalidParams.Add(request.NewErrParamRequired("ActivationCode")) +func (s *DeleteRotationOverrideInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRotationOverrideInput"} + if s.RotationId == nil { + invalidParams.Add(request.NewErrParamRequired("RotationId")) } - if s.ActivationCode != nil && len(*s.ActivationCode) < 6 { - invalidParams.Add(request.NewErrParamMinLen("ActivationCode", 6)) + if s.RotationId != nil && len(*s.RotationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RotationId", 1)) } - if s.ContactChannelId == nil { - invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) + if s.RotationOverrideId == nil { + invalidParams.Add(request.NewErrParamRequired("RotationOverrideId")) } - if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + if s.RotationOverrideId != nil && len(*s.RotationOverrideId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("RotationOverrideId", 36)) } if invalidParams.Len() > 0 { @@ -3180,19 +6138,19 @@ func (s *ActivateContactChannelInput) Validate() error { return nil } -// SetActivationCode sets the ActivationCode field's value. -func (s *ActivateContactChannelInput) SetActivationCode(v string) *ActivateContactChannelInput { - s.ActivationCode = &v +// SetRotationId sets the RotationId field's value. +func (s *DeleteRotationOverrideInput) SetRotationId(v string) *DeleteRotationOverrideInput { + s.RotationId = &v return s } -// SetContactChannelId sets the ContactChannelId field's value. -func (s *ActivateContactChannelInput) SetContactChannelId(v string) *ActivateContactChannelInput { - s.ContactChannelId = &v +// SetRotationOverrideId sets the RotationOverrideId field's value. +func (s *DeleteRotationOverrideInput) SetRotationOverrideId(v string) *DeleteRotationOverrideInput { + s.RotationOverrideId = &v return s } -type ActivateContactChannelOutput struct { +type DeleteRotationOverrideOutput struct { _ struct{} `type:"structure"` } @@ -3201,7 +6159,7 @@ type ActivateContactChannelOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ActivateContactChannelOutput) String() string { +func (s DeleteRotationOverrideOutput) String() string { return awsutil.Prettify(s) } @@ -3210,23 +6168,28 @@ func (s ActivateContactChannelOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ActivateContactChannelOutput) GoString() string { +func (s DeleteRotationOverrideOutput) GoString() string { return s.String() } -// Information about the contact channel that Incident Manager uses to engage -// the contact. -type ChannelTargetInfo struct { +// Information about a resource that another resource is related to or depends +// on. +// +// For example, if a contact is a member of a rotation, the rotation is a dependent +// entity of the contact. +type DependentEntity struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the contact channel. + // The Amazon Resource Names (ARNs) of the dependent resources. // - // ContactChannelId is a required field - ContactChannelId *string `min:"1" type:"string" required:"true"` + // DependentResourceIds is a required field + DependentResourceIds []*string `type:"list" required:"true"` - // The number of minutes to wait to retry sending engagement in the case the - // engagement initially fails. - RetryIntervalInMinutes *int64 `type:"integer"` + // The type of relationship between one resource and the other resource that + // it is related to or depends on. + // + // RelationType is a required field + RelationType *string `type:"string" required:"true"` } // String returns the string representation. @@ -3234,7 +6197,7 @@ type ChannelTargetInfo struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ChannelTargetInfo) String() string { +func (s DependentEntity) String() string { return awsutil.Prettify(s) } @@ -3243,18 +6206,57 @@ func (s ChannelTargetInfo) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ChannelTargetInfo) GoString() string { +func (s DependentEntity) GoString() string { + return s.String() +} + +// SetDependentResourceIds sets the DependentResourceIds field's value. +func (s *DependentEntity) SetDependentResourceIds(v []*string) *DependentEntity { + s.DependentResourceIds = v + return s +} + +// SetRelationType sets the RelationType field's value. +func (s *DependentEntity) SetRelationType(v string) *DependentEntity { + s.RelationType = &v + return s +} + +type DescribeEngagementInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the engagement you want the details of. + // + // EngagementId is a required field + EngagementId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeEngagementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeEngagementInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ChannelTargetInfo) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ChannelTargetInfo"} - if s.ContactChannelId == nil { - invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) +func (s *DescribeEngagementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEngagementInput"} + if s.EngagementId == nil { + invalidParams.Add(request.NewErrParamRequired("EngagementId")) } - if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + if s.EngagementId != nil && len(*s.EngagementId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EngagementId", 1)) } if invalidParams.Len() > 0 { @@ -3263,34 +6265,58 @@ func (s *ChannelTargetInfo) Validate() error { return nil } -// SetContactChannelId sets the ContactChannelId field's value. -func (s *ChannelTargetInfo) SetContactChannelId(v string) *ChannelTargetInfo { - s.ContactChannelId = &v +// SetEngagementId sets the EngagementId field's value. +func (s *DescribeEngagementInput) SetEngagementId(v string) *DescribeEngagementInput { + s.EngagementId = &v return s } -// SetRetryIntervalInMinutes sets the RetryIntervalInMinutes field's value. -func (s *ChannelTargetInfo) SetRetryIntervalInMinutes(v int64) *ChannelTargetInfo { - s.RetryIntervalInMinutes = &v - return s -} +type DescribeEngagementOutput struct { + _ struct{} `type:"structure"` -// Updating or deleting a resource causes an inconsistent state. -type ConflictException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The ARN of the escalation plan or contacts involved in the engagement. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` - Message_ *string `locationName:"Message" type:"string"` + // The secure content of the message that was sent to the contact. Use this + // field for engagements to VOICE and EMAIL. + // + // Content is a required field + Content *string `min:"1" type:"string" required:"true"` - // Identifier of the resource in use + // The ARN of the engagement. // - // ResourceId is a required field - ResourceId *string `type:"string" required:"true"` + // EngagementArn is a required field + EngagementArn *string `min:"1" type:"string" required:"true"` + + // The ARN of the incident in which the engagement occurred. + IncidentId *string `type:"string"` + + // The insecure content of the message that was sent to the contact. Use this + // field for engagements to SMS. + PublicContent *string `min:"1" type:"string"` + + // The insecure subject of the message that was sent to the contact. Use this + // field for engagements to SMS. + PublicSubject *string `min:"1" type:"string"` - // ype of the resource in use + // The user that started the engagement. // - // ResourceType is a required field - ResourceType *string `type:"string" required:"true"` + // Sender is a required field + Sender *string `type:"string" required:"true"` + + // The time that the engagement started. + StartTime *time.Time `type:"timestamp"` + + // The time that the engagement ended. + StopTime *time.Time `type:"timestamp"` + + // The secure subject of the message that was sent to the contact. Use this + // field for engagements to VOICE and EMAIL. + // + // Subject is a required field + Subject *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -3298,7 +6324,7 @@ type ConflictException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) String() string { +func (s DescribeEngagementOutput) String() string { return awsutil.Prettify(s) } @@ -3307,71 +6333,77 @@ func (s ConflictException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) GoString() string { +func (s DescribeEngagementOutput) GoString() string { return s.String() } -func newErrorConflictException(v protocol.ResponseMetadata) error { - return &ConflictException{ - RespMetadata: v, - } +// SetContactArn sets the ContactArn field's value. +func (s *DescribeEngagementOutput) SetContactArn(v string) *DescribeEngagementOutput { + s.ContactArn = &v + return s } -// Code returns the exception type name. -func (s *ConflictException) Code() string { - return "ConflictException" +// SetContent sets the Content field's value. +func (s *DescribeEngagementOutput) SetContent(v string) *DescribeEngagementOutput { + s.Content = &v + return s } -// Message returns the exception's message. -func (s *ConflictException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetEngagementArn sets the EngagementArn field's value. +func (s *DescribeEngagementOutput) SetEngagementArn(v string) *DescribeEngagementOutput { + s.EngagementArn = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConflictException) OrigErr() error { - return nil +// SetIncidentId sets the IncidentId field's value. +func (s *DescribeEngagementOutput) SetIncidentId(v string) *DescribeEngagementOutput { + s.IncidentId = &v + return s } -func (s *ConflictException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetPublicContent sets the PublicContent field's value. +func (s *DescribeEngagementOutput) SetPublicContent(v string) *DescribeEngagementOutput { + s.PublicContent = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ConflictException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetPublicSubject sets the PublicSubject field's value. +func (s *DescribeEngagementOutput) SetPublicSubject(v string) *DescribeEngagementOutput { + s.PublicSubject = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ConflictException) RequestID() string { - return s.RespMetadata.RequestID +// SetSender sets the Sender field's value. +func (s *DescribeEngagementOutput) SetSender(v string) *DescribeEngagementOutput { + s.Sender = &v + return s } -// A personal contact or escalation plan that Incident Manager engages during -// an incident. -type Contact struct { - _ struct{} `type:"structure"` +// SetStartTime sets the StartTime field's value. +func (s *DescribeEngagementOutput) SetStartTime(v time.Time) *DescribeEngagementOutput { + s.StartTime = &v + return s +} - // The unique and identifiable alias of the contact or escalation plan. - // - // Alias is a required field - Alias *string `min:"1" type:"string" required:"true"` +// SetStopTime sets the StopTime field's value. +func (s *DescribeEngagementOutput) SetStopTime(v time.Time) *DescribeEngagementOutput { + s.StopTime = &v + return s +} - // The Amazon Resource Name (ARN) of the contact or escalation plan. - // - // ContactArn is a required field - ContactArn *string `min:"1" type:"string" required:"true"` +// SetSubject sets the Subject field's value. +func (s *DescribeEngagementOutput) SetSubject(v string) *DescribeEngagementOutput { + s.Subject = &v + return s +} - // The full name of the contact or escalation plan. - DisplayName *string `type:"string"` +type DescribePageInput struct { + _ struct{} `type:"structure"` - // Refers to the type of contact. A single contact is type PERSONAL and an escalation - // plan is type ESCALATION. + // The ID of the engagement to a contact channel. // - // Type is a required field - Type *string `type:"string" required:"true" enum:"ContactType"` + // PageId is a required field + PageId *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -3379,7 +6411,7 @@ type Contact struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Contact) String() string { +func (s DescribePageInput) String() string { return awsutil.Prettify(s) } @@ -3388,75 +6420,86 @@ func (s Contact) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Contact) GoString() string { +func (s DescribePageInput) GoString() string { return s.String() } -// SetAlias sets the Alias field's value. -func (s *Contact) SetAlias(v string) *Contact { - s.Alias = &v - return s -} - -// SetContactArn sets the ContactArn field's value. -func (s *Contact) SetContactArn(v string) *Contact { - s.ContactArn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribePageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribePageInput"} + if s.PageId == nil { + invalidParams.Add(request.NewErrParamRequired("PageId")) + } + if s.PageId != nil && len(*s.PageId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PageId", 1)) + } -// SetDisplayName sets the DisplayName field's value. -func (s *Contact) SetDisplayName(v string) *Contact { - s.DisplayName = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetType sets the Type field's value. -func (s *Contact) SetType(v string) *Contact { - s.Type = &v +// SetPageId sets the PageId field's value. +func (s *DescribePageInput) SetPageId(v string) *DescribePageInput { + s.PageId = &v return s } -// The method that Incident Manager uses to engage a contact. -type ContactChannel struct { +type DescribePageOutput struct { _ struct{} `type:"structure"` - // A Boolean value describing if the contact channel has been activated or not. - // If the contact channel isn't activated, Incident Manager can't engage the - // contact through it. - // - // ActivationStatus is a required field - ActivationStatus *string `type:"string" required:"true" enum:"ActivationStatus"` - - // The ARN of the contact that contains the contact channel. + // The ARN of the contact that was engaged. // // ContactArn is a required field ContactArn *string `min:"1" type:"string" required:"true"` - // The Amazon Resource Name (ARN) of the contact channel. + // The secure content of the message that was sent to the contact. Use this + // field for engagements to VOICE and EMAIL. // - // ContactChannelArn is a required field - ContactChannelArn *string `min:"1" type:"string" required:"true"` + // Content is a required field + Content *string `min:"1" type:"string" required:"true"` - // The details that Incident Manager uses when trying to engage the contact - // channel. - // - // DeliveryAddress is a required field - DeliveryAddress *ContactChannelAddress `type:"structure" required:"true"` + // The time that the contact channel received the engagement. + DeliveryTime *time.Time `type:"timestamp"` - // The name of the contact channel. + // The ARN of the engagement that engaged the contact channel. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // EngagementArn is a required field + EngagementArn *string `min:"1" type:"string" required:"true"` - // The type of the contact channel. Incident Manager supports three contact - // methods: + // The ARN of the incident that engaged the contact channel. + IncidentId *string `type:"string"` + + // The Amazon Resource Name (ARN) of the engagement to a contact channel. // - // * SMS + // PageArn is a required field + PageArn *string `min:"1" type:"string" required:"true"` + + // The insecure content of the message that was sent to the contact. Use this + // field for engagements to SMS. + PublicContent *string `min:"1" type:"string"` + + // The insecure subject of the message that was sent to the contact. Use this + // field for engagements to SMS. + PublicSubject *string `min:"1" type:"string"` + + // The time that the contact channel acknowledged the engagement. + ReadTime *time.Time `type:"timestamp"` + + // The user that started the engagement. // - // * VOICE + // Sender is a required field + Sender *string `type:"string" required:"true"` + + // The time the engagement was sent to the contact channel. + SentTime *time.Time `type:"timestamp"` + + // The secure subject of the message that was sent to the contact. Use this + // field for engagements to VOICE and EMAIL. // - // * EMAIL - Type *string `type:"string" enum:"ChannelType"` + // Subject is a required field + Subject *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -3464,7 +6507,7 @@ type ContactChannel struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContactChannel) String() string { +func (s DescribePageOutput) String() string { return awsutil.Prettify(s) } @@ -3473,60 +6516,110 @@ func (s ContactChannel) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContactChannel) GoString() string { +func (s DescribePageOutput) GoString() string { return s.String() } -// SetActivationStatus sets the ActivationStatus field's value. -func (s *ContactChannel) SetActivationStatus(v string) *ContactChannel { - s.ActivationStatus = &v +// SetContactArn sets the ContactArn field's value. +func (s *DescribePageOutput) SetContactArn(v string) *DescribePageOutput { + s.ContactArn = &v return s } -// SetContactArn sets the ContactArn field's value. -func (s *ContactChannel) SetContactArn(v string) *ContactChannel { - s.ContactArn = &v +// SetContent sets the Content field's value. +func (s *DescribePageOutput) SetContent(v string) *DescribePageOutput { + s.Content = &v return s } -// SetContactChannelArn sets the ContactChannelArn field's value. -func (s *ContactChannel) SetContactChannelArn(v string) *ContactChannel { - s.ContactChannelArn = &v +// SetDeliveryTime sets the DeliveryTime field's value. +func (s *DescribePageOutput) SetDeliveryTime(v time.Time) *DescribePageOutput { + s.DeliveryTime = &v return s } -// SetDeliveryAddress sets the DeliveryAddress field's value. -func (s *ContactChannel) SetDeliveryAddress(v *ContactChannelAddress) *ContactChannel { - s.DeliveryAddress = v +// SetEngagementArn sets the EngagementArn field's value. +func (s *DescribePageOutput) SetEngagementArn(v string) *DescribePageOutput { + s.EngagementArn = &v return s } -// SetName sets the Name field's value. -func (s *ContactChannel) SetName(v string) *ContactChannel { - s.Name = &v +// SetIncidentId sets the IncidentId field's value. +func (s *DescribePageOutput) SetIncidentId(v string) *DescribePageOutput { + s.IncidentId = &v return s } -// SetType sets the Type field's value. -func (s *ContactChannel) SetType(v string) *ContactChannel { - s.Type = &v +// SetPageArn sets the PageArn field's value. +func (s *DescribePageOutput) SetPageArn(v string) *DescribePageOutput { + s.PageArn = &v return s } -// The details that Incident Manager uses when trying to engage the contact -// channel. -type ContactChannelAddress struct { +// SetPublicContent sets the PublicContent field's value. +func (s *DescribePageOutput) SetPublicContent(v string) *DescribePageOutput { + s.PublicContent = &v + return s +} + +// SetPublicSubject sets the PublicSubject field's value. +func (s *DescribePageOutput) SetPublicSubject(v string) *DescribePageOutput { + s.PublicSubject = &v + return s +} + +// SetReadTime sets the ReadTime field's value. +func (s *DescribePageOutput) SetReadTime(v time.Time) *DescribePageOutput { + s.ReadTime = &v + return s +} + +// SetSender sets the Sender field's value. +func (s *DescribePageOutput) SetSender(v string) *DescribePageOutput { + s.Sender = &v + return s +} + +// SetSentTime sets the SentTime field's value. +func (s *DescribePageOutput) SetSentTime(v time.Time) *DescribePageOutput { + s.SentTime = &v + return s +} + +// SetSubject sets the Subject field's value. +func (s *DescribePageOutput) SetSubject(v string) *DescribePageOutput { + s.Subject = &v + return s +} + +// Incident Manager reaching out to a contact or escalation plan to engage contact +// during an incident. +type Engagement struct { _ struct{} `type:"structure"` - // The format is dependent on the type of the contact channel. The following - // are the expected formats: + // The ARN of the escalation plan or contact that Incident Manager is engaging. // - // * SMS - '+' followed by the country code and phone number + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the engagement. // - // * VOICE - '+' followed by the country code and phone number + // EngagementArn is a required field + EngagementArn *string `min:"1" type:"string" required:"true"` + + // The ARN of the incident that's engaging the contact. + IncidentId *string `type:"string"` + + // The user that started the engagement. // - // * EMAIL - any standard email format - SimpleAddress *string `min:"1" type:"string"` + // Sender is a required field + Sender *string `type:"string" required:"true"` + + // The time that the engagement began. + StartTime *time.Time `type:"timestamp"` + + // The time that the engagement ended. + StopTime *time.Time `type:"timestamp"` } // String returns the string representation. @@ -3534,7 +6627,7 @@ type ContactChannelAddress struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContactChannelAddress) String() string { +func (s Engagement) String() string { return awsutil.Prettify(s) } @@ -3543,41 +6636,54 @@ func (s ContactChannelAddress) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContactChannelAddress) GoString() string { +func (s Engagement) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ContactChannelAddress) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ContactChannelAddress"} - if s.SimpleAddress != nil && len(*s.SimpleAddress) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SimpleAddress", 1)) - } +// SetContactArn sets the ContactArn field's value. +func (s *Engagement) SetContactArn(v string) *Engagement { + s.ContactArn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetEngagementArn sets the EngagementArn field's value. +func (s *Engagement) SetEngagementArn(v string) *Engagement { + s.EngagementArn = &v + return s +} + +// SetIncidentId sets the IncidentId field's value. +func (s *Engagement) SetIncidentId(v string) *Engagement { + s.IncidentId = &v + return s +} + +// SetSender sets the Sender field's value. +func (s *Engagement) SetSender(v string) *Engagement { + s.Sender = &v + return s } -// SetSimpleAddress sets the SimpleAddress field's value. -func (s *ContactChannelAddress) SetSimpleAddress(v string) *ContactChannelAddress { - s.SimpleAddress = &v +// SetStartTime sets the StartTime field's value. +func (s *Engagement) SetStartTime(v time.Time) *Engagement { + s.StartTime = &v return s } -// The contact that Incident Manager is engaging during an incident. -type ContactTargetInfo struct { - _ struct{} `type:"structure"` +// SetStopTime sets the StopTime field's value. +func (s *Engagement) SetStopTime(v time.Time) *Engagement { + s.StopTime = &v + return s +} - // The Amazon Resource Name (ARN) of the contact. - ContactId *string `min:"1" type:"string"` +type GetContactChannelInput struct { + _ struct{} `type:"structure"` - // A Boolean value determining if the contact's acknowledgement stops the progress - // of stages in the plan. + // The Amazon Resource Name (ARN) of the contact channel you want information + // about. // - // IsEssential is a required field - IsEssential *bool `type:"boolean" required:"true"` + // ContactChannelId is a required field + ContactChannelId *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -3585,7 +6691,7 @@ type ContactTargetInfo struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContactTargetInfo) String() string { +func (s GetContactChannelInput) String() string { return awsutil.Prettify(s) } @@ -3594,18 +6700,18 @@ func (s ContactTargetInfo) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ContactTargetInfo) GoString() string { +func (s GetContactChannelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ContactTargetInfo) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ContactTargetInfo"} - if s.ContactId != nil && len(*s.ContactId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) +func (s *GetContactChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetContactChannelInput"} + if s.ContactChannelId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) } - if s.IsEssential == nil { - invalidParams.Add(request.NewErrParamRequired("IsEssential")) + if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) } if invalidParams.Len() > 0 { @@ -3614,61 +6720,40 @@ func (s *ContactTargetInfo) Validate() error { return nil } -// SetContactId sets the ContactId field's value. -func (s *ContactTargetInfo) SetContactId(v string) *ContactTargetInfo { - s.ContactId = &v - return s -} - -// SetIsEssential sets the IsEssential field's value. -func (s *ContactTargetInfo) SetIsEssential(v bool) *ContactTargetInfo { - s.IsEssential = &v +// SetContactChannelId sets the ContactChannelId field's value. +func (s *GetContactChannelInput) SetContactChannelId(v string) *GetContactChannelInput { + s.ContactChannelId = &v return s } -type CreateContactChannelInput struct { +type GetContactChannelOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the contact you are adding the contact - // channel to. + // A Boolean value indicating if the contact channel has been activated or not. + ActivationStatus *string `type:"string" enum:"ActivationStatus"` + + // The ARN of the contact that the channel belongs to. // - // ContactId is a required field - ContactId *string `min:"1" type:"string" required:"true"` + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` - // If you want to activate the channel at a later time, you can choose to defer - // activation. Incident Manager can't engage your contact channel until it has - // been activated. - DeferActivation *bool `type:"boolean"` + // The ARN of the contact channel. + // + // ContactChannelArn is a required field + ContactChannelArn *string `min:"1" type:"string" required:"true"` // The details that Incident Manager uses when trying to engage the contact - // channel. The format is dependent on the type of the contact channel. The - // following are the expected formats: - // - // * SMS - '+' followed by the country code and phone number - // - // * VOICE - '+' followed by the country code and phone number - // - // * EMAIL - any standard email format + // channel. // // DeliveryAddress is a required field DeliveryAddress *ContactChannelAddress `type:"structure" required:"true"` - // A token ensuring that the operation is called only once with the specified - // details. - IdempotencyToken *string `type:"string" idempotencyToken:"true"` - - // The name of the contact channel. + // The name of the contact channel // // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // Incident Manager supports three types of contact channels: - // - // * SMS - // - // * VOICE - // - // * EMAIL + // The type of contact channel. The type is SMS, VOICE, or EMAIL. // // Type is a required field Type *string `type:"string" required:"true" enum:"ChannelType"` @@ -3679,7 +6764,7 @@ type CreateContactChannelInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateContactChannelInput) String() string { +func (s GetContactChannelOutput) String() string { return awsutil.Prettify(s) } @@ -3688,86 +6773,53 @@ func (s CreateContactChannelInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateContactChannelInput) GoString() string { +func (s GetContactChannelOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateContactChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateContactChannelInput"} - if s.ContactId == nil { - invalidParams.Add(request.NewErrParamRequired("ContactId")) - } - if s.ContactId != nil && len(*s.ContactId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) - } - if s.DeliveryAddress == nil { - invalidParams.Add(request.NewErrParamRequired("DeliveryAddress")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - if s.DeliveryAddress != nil { - if err := s.DeliveryAddress.Validate(); err != nil { - invalidParams.AddNested("DeliveryAddress", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetActivationStatus sets the ActivationStatus field's value. +func (s *GetContactChannelOutput) SetActivationStatus(v string) *GetContactChannelOutput { + s.ActivationStatus = &v + return s } -// SetContactId sets the ContactId field's value. -func (s *CreateContactChannelInput) SetContactId(v string) *CreateContactChannelInput { - s.ContactId = &v +// SetContactArn sets the ContactArn field's value. +func (s *GetContactChannelOutput) SetContactArn(v string) *GetContactChannelOutput { + s.ContactArn = &v return s } -// SetDeferActivation sets the DeferActivation field's value. -func (s *CreateContactChannelInput) SetDeferActivation(v bool) *CreateContactChannelInput { - s.DeferActivation = &v +// SetContactChannelArn sets the ContactChannelArn field's value. +func (s *GetContactChannelOutput) SetContactChannelArn(v string) *GetContactChannelOutput { + s.ContactChannelArn = &v return s } // SetDeliveryAddress sets the DeliveryAddress field's value. -func (s *CreateContactChannelInput) SetDeliveryAddress(v *ContactChannelAddress) *CreateContactChannelInput { +func (s *GetContactChannelOutput) SetDeliveryAddress(v *ContactChannelAddress) *GetContactChannelOutput { s.DeliveryAddress = v return s } -// SetIdempotencyToken sets the IdempotencyToken field's value. -func (s *CreateContactChannelInput) SetIdempotencyToken(v string) *CreateContactChannelInput { - s.IdempotencyToken = &v - return s -} - // SetName sets the Name field's value. -func (s *CreateContactChannelInput) SetName(v string) *CreateContactChannelInput { +func (s *GetContactChannelOutput) SetName(v string) *GetContactChannelOutput { s.Name = &v return s } // SetType sets the Type field's value. -func (s *CreateContactChannelInput) SetType(v string) *CreateContactChannelInput { +func (s *GetContactChannelOutput) SetType(v string) *GetContactChannelOutput { s.Type = &v return s } -type CreateContactChannelOutput struct { +type GetContactInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the contact channel. + // The Amazon Resource Name (ARN) of the contact or escalation plan. // - // ContactChannelArn is a required field - ContactChannelArn *string `min:"1" type:"string" required:"true"` + // ContactId is a required field + ContactId *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -3775,7 +6827,7 @@ type CreateContactChannelOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateContactChannelOutput) String() string { +func (s GetContactInput) String() string { return awsutil.Prettify(s) } @@ -3784,47 +6836,115 @@ func (s CreateContactChannelOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateContactChannelOutput) GoString() string { +func (s GetContactInput) GoString() string { return s.String() } -// SetContactChannelArn sets the ContactChannelArn field's value. -func (s *CreateContactChannelOutput) SetContactChannelArn(v string) *CreateContactChannelOutput { - s.ContactChannelArn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetContactInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetContactInput"} + if s.ContactId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactId")) + } + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactId sets the ContactId field's value. +func (s *GetContactInput) SetContactId(v string) *GetContactInput { + s.ContactId = &v return s } -type CreateContactInput struct { +type GetContactOutput struct { _ struct{} `type:"structure"` - // The short name to quickly identify a contact or escalation plan. The contact - // alias must be unique and identifiable. + // The alias of the contact or escalation plan. The alias is unique and identifiable. // // Alias is a required field Alias *string `min:"1" type:"string" required:"true"` + // The ARN of the contact or escalation plan. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` + // The full name of the contact or escalation plan. DisplayName *string `type:"string"` - // A token ensuring that the operation is called only once with the specified - // details. - IdempotencyToken *string `type:"string" idempotencyToken:"true"` + // Details about the specific timing or stages and targets of the escalation + // plan or engagement plan. + // + // Plan is a required field + Plan *Plan `type:"structure" required:"true"` + + // The type of contact, either PERSONAL or ESCALATION. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ContactType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetContactOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetContactOutput) GoString() string { + return s.String() +} + +// SetAlias sets the Alias field's value. +func (s *GetContactOutput) SetAlias(v string) *GetContactOutput { + s.Alias = &v + return s +} + +// SetContactArn sets the ContactArn field's value. +func (s *GetContactOutput) SetContactArn(v string) *GetContactOutput { + s.ContactArn = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *GetContactOutput) SetDisplayName(v string) *GetContactOutput { + s.DisplayName = &v + return s +} + +// SetPlan sets the Plan field's value. +func (s *GetContactOutput) SetPlan(v *Plan) *GetContactOutput { + s.Plan = v + return s +} - // A list of stages. A contact has an engagement plan with stages that contact - // specified contact channels. An escalation plan uses stages that contact specified - // contacts. - // - // Plan is a required field - Plan *Plan `type:"structure" required:"true"` +// SetType sets the Type field's value. +func (s *GetContactOutput) SetType(v string) *GetContactOutput { + s.Type = &v + return s +} - // Adds a tag to the target. You can only tag resources created in the first - // Region of your replication set. - Tags []*Tag `type:"list"` +type GetContactPolicyInput struct { + _ struct{} `type:"structure"` - // To create an escalation plan use ESCALATION. To create a contact use PERSONAL. + // The Amazon Resource Name (ARN) of the contact or escalation plan. // - // Type is a required field - Type *string `type:"string" required:"true" enum:"ContactType"` + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -3832,7 +6952,7 @@ type CreateContactInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateContactInput) String() string { +func (s GetContactPolicyInput) String() string { return awsutil.Prettify(s) } @@ -3841,39 +6961,18 @@ func (s CreateContactInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateContactInput) GoString() string { +func (s GetContactPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateContactInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateContactInput"} - if s.Alias == nil { - invalidParams.Add(request.NewErrParamRequired("Alias")) - } - if s.Alias != nil && len(*s.Alias) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Alias", 1)) - } - if s.Plan == nil { - invalidParams.Add(request.NewErrParamRequired("Plan")) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - if s.Plan != nil { - if err := s.Plan.Validate(); err != nil { - invalidParams.AddNested("Plan", err.(request.ErrInvalidParams)) - } +func (s *GetContactPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetContactPolicyInput"} + if s.ContactArn == nil { + invalidParams.Add(request.NewErrParamRequired("ContactArn")) } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } + if s.ContactArn != nil && len(*s.ContactArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactArn", 1)) } if invalidParams.Len() > 0 { @@ -3882,49 +6981,60 @@ func (s *CreateContactInput) Validate() error { return nil } -// SetAlias sets the Alias field's value. -func (s *CreateContactInput) SetAlias(v string) *CreateContactInput { - s.Alias = &v +// SetContactArn sets the ContactArn field's value. +func (s *GetContactPolicyInput) SetContactArn(v string) *GetContactPolicyInput { + s.ContactArn = &v return s } -// SetDisplayName sets the DisplayName field's value. -func (s *CreateContactInput) SetDisplayName(v string) *CreateContactInput { - s.DisplayName = &v - return s +type GetContactPolicyOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the contact or escalation plan. + ContactArn *string `min:"1" type:"string"` + + // Details about the resource policy attached to the contact or escalation plan. + Policy *string `min:"1" type:"string"` } -// SetIdempotencyToken sets the IdempotencyToken field's value. -func (s *CreateContactInput) SetIdempotencyToken(v string) *CreateContactInput { - s.IdempotencyToken = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetContactPolicyOutput) String() string { + return awsutil.Prettify(s) } -// SetPlan sets the Plan field's value. -func (s *CreateContactInput) SetPlan(v *Plan) *CreateContactInput { - s.Plan = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetContactPolicyOutput) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *CreateContactInput) SetTags(v []*Tag) *CreateContactInput { - s.Tags = v +// SetContactArn sets the ContactArn field's value. +func (s *GetContactPolicyOutput) SetContactArn(v string) *GetContactPolicyOutput { + s.ContactArn = &v return s } -// SetType sets the Type field's value. -func (s *CreateContactInput) SetType(v string) *CreateContactInput { - s.Type = &v +// SetPolicy sets the Policy field's value. +func (s *GetContactPolicyOutput) SetPolicy(v string) *GetContactPolicyOutput { + s.Policy = &v return s } -type CreateContactOutput struct { +type GetRotationInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the created contact or escalation plan. + // The Amazon Resource Name (ARN) of the on-call rotation to retrieve information + // about. // - // ContactArn is a required field - ContactArn *string `min:"1" type:"string" required:"true"` + // RotationId is a required field + RotationId *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -3932,7 +7042,7 @@ type CreateContactOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateContactOutput) String() string { +func (s GetRotationInput) String() string { return awsutil.Prettify(s) } @@ -3941,22 +7051,67 @@ func (s CreateContactOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateContactOutput) GoString() string { +func (s GetRotationInput) GoString() string { return s.String() } -// SetContactArn sets the ContactArn field's value. -func (s *CreateContactOutput) SetContactArn(v string) *CreateContactOutput { - s.ContactArn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRotationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRotationInput"} + if s.RotationId == nil { + invalidParams.Add(request.NewErrParamRequired("RotationId")) + } + if s.RotationId != nil && len(*s.RotationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RotationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRotationId sets the RotationId field's value. +func (s *GetRotationInput) SetRotationId(v string) *GetRotationInput { + s.RotationId = &v return s } -// The operation failed to due an encryption key error. -type DataEncryptionException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type GetRotationOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The Amazon Resource Names (ARNs) of the contacts assigned to the on-call + // rotation team. + // + // ContactIds is a required field + ContactIds []*string `min:"1" type:"list" required:"true"` + + // The name of the on-call rotation. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Specifies how long a rotation lasts before restarting at the beginning of + // the shift order. + // + // Recurrence is a required field + Recurrence *RecurrenceSettings `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the on-call rotation. + // + // RotationArn is a required field + RotationArn *string `min:"1" type:"string" required:"true"` + + // The specified start time for the on-call rotation. + // + // StartTime is a required field + StartTime *time.Time `type:"timestamp" required:"true"` + + // The time zone that the rotation’s activity is based on, in Internet Assigned + // Numbers Authority (IANA) format. + // + // TimeZoneId is a required field + TimeZoneId *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -3964,7 +7119,7 @@ type DataEncryptionException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataEncryptionException) String() string { +func (s GetRotationOutput) String() string { return awsutil.Prettify(s) } @@ -3973,55 +7128,60 @@ func (s DataEncryptionException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataEncryptionException) GoString() string { +func (s GetRotationOutput) GoString() string { return s.String() } -func newErrorDataEncryptionException(v protocol.ResponseMetadata) error { - return &DataEncryptionException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *DataEncryptionException) Code() string { - return "DataEncryptionException" +// SetContactIds sets the ContactIds field's value. +func (s *GetRotationOutput) SetContactIds(v []*string) *GetRotationOutput { + s.ContactIds = v + return s } -// Message returns the exception's message. -func (s *DataEncryptionException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetName sets the Name field's value. +func (s *GetRotationOutput) SetName(v string) *GetRotationOutput { + s.Name = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *DataEncryptionException) OrigErr() error { - return nil +// SetRecurrence sets the Recurrence field's value. +func (s *GetRotationOutput) SetRecurrence(v *RecurrenceSettings) *GetRotationOutput { + s.Recurrence = v + return s } -func (s *DataEncryptionException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetRotationArn sets the RotationArn field's value. +func (s *GetRotationOutput) SetRotationArn(v string) *GetRotationOutput { + s.RotationArn = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *DataEncryptionException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetStartTime sets the StartTime field's value. +func (s *GetRotationOutput) SetStartTime(v time.Time) *GetRotationOutput { + s.StartTime = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *DataEncryptionException) RequestID() string { - return s.RespMetadata.RequestID +// SetTimeZoneId sets the TimeZoneId field's value. +func (s *GetRotationOutput) SetTimeZoneId(v string) *GetRotationOutput { + s.TimeZoneId = &v + return s } -type DeactivateContactChannelInput struct { +type GetRotationOverrideInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the contact channel you're deactivating. + // The Amazon Resource Name (ARN) of the overridden rotation to retrieve information + // about. // - // ContactChannelId is a required field - ContactChannelId *string `min:"1" type:"string" required:"true"` + // RotationId is a required field + RotationId *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the on-call rotation override to retrieve + // information about. + // + // RotationOverrideId is a required field + RotationOverrideId *string `min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -4029,7 +7189,7 @@ type DeactivateContactChannelInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeactivateContactChannelInput) String() string { +func (s GetRotationOverrideInput) String() string { return awsutil.Prettify(s) } @@ -4038,18 +7198,24 @@ func (s DeactivateContactChannelInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeactivateContactChannelInput) GoString() string { +func (s GetRotationOverrideInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeactivateContactChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeactivateContactChannelInput"} - if s.ContactChannelId == nil { - invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) +func (s *GetRotationOverrideInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRotationOverrideInput"} + if s.RotationId == nil { + invalidParams.Add(request.NewErrParamRequired("RotationId")) } - if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + if s.RotationId != nil && len(*s.RotationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RotationId", 1)) + } + if s.RotationOverrideId == nil { + invalidParams.Add(request.NewErrParamRequired("RotationOverrideId")) + } + if s.RotationOverrideId != nil && len(*s.RotationOverrideId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("RotationOverrideId", 36)) } if invalidParams.Len() > 0 { @@ -4058,14 +7224,39 @@ func (s *DeactivateContactChannelInput) Validate() error { return nil } -// SetContactChannelId sets the ContactChannelId field's value. -func (s *DeactivateContactChannelInput) SetContactChannelId(v string) *DeactivateContactChannelInput { - s.ContactChannelId = &v +// SetRotationId sets the RotationId field's value. +func (s *GetRotationOverrideInput) SetRotationId(v string) *GetRotationOverrideInput { + s.RotationId = &v return s } -type DeactivateContactChannelOutput struct { +// SetRotationOverrideId sets the RotationOverrideId field's value. +func (s *GetRotationOverrideInput) SetRotationOverrideId(v string) *GetRotationOverrideInput { + s.RotationOverrideId = &v + return s +} + +type GetRotationOverrideOutput struct { _ struct{} `type:"structure"` + + // The date and time when the override was created. + CreateTime *time.Time `type:"timestamp"` + + // The date and time when the override ends. + EndTime *time.Time `type:"timestamp"` + + // The Amazon Resource Names (ARNs) of the contacts assigned to the override + // of the on-call rotation. + NewContactIds []*string `type:"list"` + + // The Amazon Resource Name (ARN) of the on-call rotation that was overridden. + RotationArn *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the override to an on-call rotation. + RotationOverrideId *string `min:"36" type:"string"` + + // The date and time when the override goes into effect. + StartTime *time.Time `type:"timestamp"` } // String returns the string representation. @@ -4073,7 +7264,7 @@ type DeactivateContactChannelOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeactivateContactChannelOutput) String() string { +func (s GetRotationOverrideOutput) String() string { return awsutil.Prettify(s) } @@ -4082,17 +7273,59 @@ func (s DeactivateContactChannelOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeactivateContactChannelOutput) GoString() string { +func (s GetRotationOverrideOutput) GoString() string { return s.String() } -type DeleteContactChannelInput struct { +// SetCreateTime sets the CreateTime field's value. +func (s *GetRotationOverrideOutput) SetCreateTime(v time.Time) *GetRotationOverrideOutput { + s.CreateTime = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *GetRotationOverrideOutput) SetEndTime(v time.Time) *GetRotationOverrideOutput { + s.EndTime = &v + return s +} + +// SetNewContactIds sets the NewContactIds field's value. +func (s *GetRotationOverrideOutput) SetNewContactIds(v []*string) *GetRotationOverrideOutput { + s.NewContactIds = v + return s +} + +// SetRotationArn sets the RotationArn field's value. +func (s *GetRotationOverrideOutput) SetRotationArn(v string) *GetRotationOverrideOutput { + s.RotationArn = &v + return s +} + +// SetRotationOverrideId sets the RotationOverrideId field's value. +func (s *GetRotationOverrideOutput) SetRotationOverrideId(v string) *GetRotationOverrideOutput { + s.RotationOverrideId = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *GetRotationOverrideOutput) SetStartTime(v time.Time) *GetRotationOverrideOutput { + s.StartTime = &v + return s +} + +// Details about when an on-call rotation shift begins or ends. +type HandOffTime struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the contact channel. + // The hour when an on-call rotation shift begins or ends. // - // ContactChannelId is a required field - ContactChannelId *string `min:"1" type:"string" required:"true"` + // HourOfDay is a required field + HourOfDay *int64 `type:"integer" required:"true"` + + // The minute when an on-call rotation shift begins or ends. + // + // MinuteOfHour is a required field + MinuteOfHour *int64 `type:"integer" required:"true"` } // String returns the string representation. @@ -4100,7 +7333,7 @@ type DeleteContactChannelInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteContactChannelInput) String() string { +func (s HandOffTime) String() string { return awsutil.Prettify(s) } @@ -4109,18 +7342,18 @@ func (s DeleteContactChannelInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteContactChannelInput) GoString() string { +func (s HandOffTime) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteContactChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteContactChannelInput"} - if s.ContactChannelId == nil { - invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) +func (s *HandOffTime) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HandOffTime"} + if s.HourOfDay == nil { + invalidParams.Add(request.NewErrParamRequired("HourOfDay")) } - if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + if s.MinuteOfHour == nil { + invalidParams.Add(request.NewErrParamRequired("MinuteOfHour")) } if invalidParams.Len() > 0 { @@ -4129,14 +7362,27 @@ func (s *DeleteContactChannelInput) Validate() error { return nil } -// SetContactChannelId sets the ContactChannelId field's value. -func (s *DeleteContactChannelInput) SetContactChannelId(v string) *DeleteContactChannelInput { - s.ContactChannelId = &v +// SetHourOfDay sets the HourOfDay field's value. +func (s *HandOffTime) SetHourOfDay(v int64) *HandOffTime { + s.HourOfDay = &v return s } -type DeleteContactChannelOutput struct { - _ struct{} `type:"structure"` +// SetMinuteOfHour sets the MinuteOfHour field's value. +func (s *HandOffTime) SetMinuteOfHour(v int64) *HandOffTime { + s.MinuteOfHour = &v + return s +} + +// Unexpected error occurred while processing the request. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // Advice to clients on when the call can be safely retried + RetryAfterSeconds *int64 `type:"integer"` } // String returns the string representation. @@ -4144,7 +7390,7 @@ type DeleteContactChannelOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteContactChannelOutput) String() string { +func (s InternalServerException) String() string { return awsutil.Prettify(s) } @@ -4153,17 +7399,61 @@ func (s DeleteContactChannelOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteContactChannelOutput) GoString() string { +func (s InternalServerException) GoString() string { return s.String() } -type DeleteContactInput struct { +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListContactChannelsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the contact that you're deleting. + // The Amazon Resource Name (ARN) of the contact. // // ContactId is a required field ContactId *string `min:"1" type:"string" required:"true"` + + // The maximum number of contact channels per page. + MaxResults *int64 `type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` } // String returns the string representation. @@ -4171,7 +7461,7 @@ type DeleteContactInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteContactInput) String() string { +func (s ListContactChannelsInput) String() string { return awsutil.Prettify(s) } @@ -4180,13 +7470,13 @@ func (s DeleteContactInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteContactInput) GoString() string { +func (s ListContactChannelsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteContactInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteContactInput"} +func (s *ListContactChannelsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListContactChannelsInput"} if s.ContactId == nil { invalidParams.Add(request.NewErrParamRequired("ContactId")) } @@ -4201,13 +7491,33 @@ func (s *DeleteContactInput) Validate() error { } // SetContactId sets the ContactId field's value. -func (s *DeleteContactInput) SetContactId(v string) *DeleteContactInput { +func (s *ListContactChannelsInput) SetContactId(v string) *ListContactChannelsInput { s.ContactId = &v return s } -type DeleteContactOutput struct { +// SetMaxResults sets the MaxResults field's value. +func (s *ListContactChannelsInput) SetMaxResults(v int64) *ListContactChannelsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListContactChannelsInput) SetNextToken(v string) *ListContactChannelsInput { + s.NextToken = &v + return s +} + +type ListContactChannelsOutput struct { _ struct{} `type:"structure"` + + // A list of contact channels related to the specified contact. + // + // ContactChannels is a required field + ContactChannels []*ContactChannel `type:"list" required:"true"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` } // String returns the string representation. @@ -4215,7 +7525,7 @@ type DeleteContactOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteContactOutput) String() string { +func (s ListContactChannelsOutput) String() string { return awsutil.Prettify(s) } @@ -4224,17 +7534,37 @@ func (s DeleteContactOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteContactOutput) GoString() string { +func (s ListContactChannelsOutput) GoString() string { return s.String() } -type DescribeEngagementInput struct { +// SetContactChannels sets the ContactChannels field's value. +func (s *ListContactChannelsOutput) SetContactChannels(v []*ContactChannel) *ListContactChannelsOutput { + s.ContactChannels = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListContactChannelsOutput) SetNextToken(v string) *ListContactChannelsOutput { + s.NextToken = &v + return s +} + +type ListContactsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the engagement you want the details of. - // - // EngagementId is a required field - EngagementId *string `min:"1" type:"string" required:"true"` + // Used to list only contacts who's aliases start with the specified prefix. + AliasPrefix *string `min:"1" type:"string"` + + // The maximum number of contacts and escalation plans per page of results. + MaxResults *int64 `type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` + + // The type of contact. A contact is type PERSONAL and an escalation plan is + // type ESCALATION. + Type *string `type:"string" enum:"ContactType"` } // String returns the string representation. @@ -4242,7 +7572,7 @@ type DescribeEngagementInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeEngagementInput) String() string { +func (s ListContactsInput) String() string { return awsutil.Prettify(s) } @@ -4251,18 +7581,15 @@ func (s DescribeEngagementInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeEngagementInput) GoString() string { +func (s ListContactsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeEngagementInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeEngagementInput"} - if s.EngagementId == nil { - invalidParams.Add(request.NewErrParamRequired("EngagementId")) - } - if s.EngagementId != nil && len(*s.EngagementId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EngagementId", 1)) +func (s *ListContactsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListContactsInput"} + if s.AliasPrefix != nil && len(*s.AliasPrefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AliasPrefix", 1)) } if invalidParams.Len() > 0 { @@ -4271,58 +7598,85 @@ func (s *DescribeEngagementInput) Validate() error { return nil } -// SetEngagementId sets the EngagementId field's value. -func (s *DescribeEngagementInput) SetEngagementId(v string) *DescribeEngagementInput { - s.EngagementId = &v +// SetAliasPrefix sets the AliasPrefix field's value. +func (s *ListContactsInput) SetAliasPrefix(v string) *ListContactsInput { + s.AliasPrefix = &v return s } -type DescribeEngagementOutput struct { +// SetMaxResults sets the MaxResults field's value. +func (s *ListContactsInput) SetMaxResults(v int64) *ListContactsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListContactsInput) SetNextToken(v string) *ListContactsInput { + s.NextToken = &v + return s +} + +// SetType sets the Type field's value. +func (s *ListContactsInput) SetType(v string) *ListContactsInput { + s.Type = &v + return s +} + +type ListContactsOutput struct { _ struct{} `type:"structure"` - // The ARN of the escalation plan or contacts involved in the engagement. - // - // ContactArn is a required field - ContactArn *string `min:"1" type:"string" required:"true"` + // A list of the contacts and escalation plans in your Incident Manager account. + Contacts []*Contact `type:"list"` - // The secure content of the message that was sent to the contact. Use this - // field for engagements to VOICE and EMAIL. - // - // Content is a required field - Content *string `min:"1" type:"string" required:"true"` + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` +} - // The ARN of the engagement. - // - // EngagementArn is a required field - EngagementArn *string `min:"1" type:"string" required:"true"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListContactsOutput) String() string { + return awsutil.Prettify(s) +} - // The ARN of the incident in which the engagement occurred. - IncidentId *string `type:"string"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListContactsOutput) GoString() string { + return s.String() +} - // The insecure content of the message that was sent to the contact. Use this - // field for engagements to SMS. - PublicContent *string `min:"1" type:"string"` +// SetContacts sets the Contacts field's value. +func (s *ListContactsOutput) SetContacts(v []*Contact) *ListContactsOutput { + s.Contacts = v + return s +} - // The insecure subject of the message that was sent to the contact. Use this - // field for engagements to SMS. - PublicSubject *string `min:"1" type:"string"` +// SetNextToken sets the NextToken field's value. +func (s *ListContactsOutput) SetNextToken(v string) *ListContactsOutput { + s.NextToken = &v + return s +} - // The user that started the engagement. - // - // Sender is a required field - Sender *string `type:"string" required:"true"` +type ListEngagementsInput struct { + _ struct{} `type:"structure"` - // The time that the engagement started. - StartTime *time.Time `type:"timestamp"` + // The Amazon Resource Name (ARN) of the incident you're listing engagements + // for. + IncidentId *string `type:"string"` - // The time that the engagement ended. - StopTime *time.Time `type:"timestamp"` + // The maximum number of engagements per page of results. + MaxResults *int64 `type:"integer"` - // The secure subject of the message that was sent to the contact. Use this - // field for engagements to VOICE and EMAIL. - // - // Subject is a required field - Subject *string `min:"1" type:"string" required:"true"` + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` + + // The time range to lists engagements for an incident. + TimeRangeValue *TimeRange `type:"structure"` } // String returns the string representation. @@ -4330,7 +7684,7 @@ type DescribeEngagementOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeEngagementOutput) String() string { +func (s ListEngagementsInput) String() string { return awsutil.Prettify(s) } @@ -4339,74 +7693,87 @@ func (s DescribeEngagementOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeEngagementOutput) GoString() string { +func (s ListEngagementsInput) GoString() string { return s.String() } -// SetContactArn sets the ContactArn field's value. -func (s *DescribeEngagementOutput) SetContactArn(v string) *DescribeEngagementOutput { - s.ContactArn = &v +// SetIncidentId sets the IncidentId field's value. +func (s *ListEngagementsInput) SetIncidentId(v string) *ListEngagementsInput { + s.IncidentId = &v return s } -// SetContent sets the Content field's value. -func (s *DescribeEngagementOutput) SetContent(v string) *DescribeEngagementOutput { - s.Content = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListEngagementsInput) SetMaxResults(v int64) *ListEngagementsInput { + s.MaxResults = &v return s } -// SetEngagementArn sets the EngagementArn field's value. -func (s *DescribeEngagementOutput) SetEngagementArn(v string) *DescribeEngagementOutput { - s.EngagementArn = &v +// SetNextToken sets the NextToken field's value. +func (s *ListEngagementsInput) SetNextToken(v string) *ListEngagementsInput { + s.NextToken = &v return s } -// SetIncidentId sets the IncidentId field's value. -func (s *DescribeEngagementOutput) SetIncidentId(v string) *DescribeEngagementOutput { - s.IncidentId = &v +// SetTimeRangeValue sets the TimeRangeValue field's value. +func (s *ListEngagementsInput) SetTimeRangeValue(v *TimeRange) *ListEngagementsInput { + s.TimeRangeValue = v return s } -// SetPublicContent sets the PublicContent field's value. -func (s *DescribeEngagementOutput) SetPublicContent(v string) *DescribeEngagementOutput { - s.PublicContent = &v - return s -} +type ListEngagementsOutput struct { + _ struct{} `type:"structure"` -// SetPublicSubject sets the PublicSubject field's value. -func (s *DescribeEngagementOutput) SetPublicSubject(v string) *DescribeEngagementOutput { - s.PublicSubject = &v - return s + // A list of each engagement that occurred during the specified time range of + // an incident. + // + // Engagements is a required field + Engagements []*Engagement `type:"list" required:"true"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` } -// SetSender sets the Sender field's value. -func (s *DescribeEngagementOutput) SetSender(v string) *DescribeEngagementOutput { - s.Sender = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEngagementsOutput) String() string { + return awsutil.Prettify(s) } -// SetStartTime sets the StartTime field's value. -func (s *DescribeEngagementOutput) SetStartTime(v time.Time) *DescribeEngagementOutput { - s.StartTime = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEngagementsOutput) GoString() string { + return s.String() } -// SetStopTime sets the StopTime field's value. -func (s *DescribeEngagementOutput) SetStopTime(v time.Time) *DescribeEngagementOutput { - s.StopTime = &v +// SetEngagements sets the Engagements field's value. +func (s *ListEngagementsOutput) SetEngagements(v []*Engagement) *ListEngagementsOutput { + s.Engagements = v return s } -// SetSubject sets the Subject field's value. -func (s *DescribeEngagementOutput) SetSubject(v string) *DescribeEngagementOutput { - s.Subject = &v +// SetNextToken sets the NextToken field's value. +func (s *ListEngagementsOutput) SetNextToken(v string) *ListEngagementsOutput { + s.NextToken = &v return s } -type DescribePageInput struct { +type ListPageReceiptsInput struct { _ struct{} `type:"structure"` - // The ID of the engagement to a contact channel. + // The maximum number of acknowledgements per page of results. + MaxResults *int64 `type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` + + // The Amazon Resource Name (ARN) of the engagement to a specific contact channel. // // PageId is a required field PageId *string `min:"1" type:"string" required:"true"` @@ -4417,7 +7784,7 @@ type DescribePageInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribePageInput) String() string { +func (s ListPageReceiptsInput) String() string { return awsutil.Prettify(s) } @@ -4426,13 +7793,13 @@ func (s DescribePageInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribePageInput) GoString() string { +func (s ListPageReceiptsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribePageInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribePageInput"} +func (s *ListPageReceiptsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPageReceiptsInput"} if s.PageId == nil { invalidParams.Add(request.NewErrParamRequired("PageId")) } @@ -4446,66 +7813,74 @@ func (s *DescribePageInput) Validate() error { return nil } +// SetMaxResults sets the MaxResults field's value. +func (s *ListPageReceiptsInput) SetMaxResults(v int64) *ListPageReceiptsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPageReceiptsInput) SetNextToken(v string) *ListPageReceiptsInput { + s.NextToken = &v + return s +} + // SetPageId sets the PageId field's value. -func (s *DescribePageInput) SetPageId(v string) *DescribePageInput { +func (s *ListPageReceiptsInput) SetPageId(v string) *ListPageReceiptsInput { s.PageId = &v return s } -type DescribePageOutput struct { +type ListPageReceiptsOutput struct { _ struct{} `type:"structure"` - // The ARN of the contact that was engaged. - // - // ContactArn is a required field - ContactArn *string `min:"1" type:"string" required:"true"` - - // The secure content of the message that was sent to the contact. Use this - // field for engagements to VOICE and EMAIL. - // - // Content is a required field - Content *string `min:"1" type:"string" required:"true"` - - // The time that the contact channel received the engagement. - DeliveryTime *time.Time `type:"timestamp"` - - // The ARN of the engagement that engaged the contact channel. - // - // EngagementArn is a required field - EngagementArn *string `min:"1" type:"string" required:"true"` + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` - // The ARN of the incident that engaged the contact channel. - IncidentId *string `type:"string"` + // A list of each acknowledgement. + Receipts []*Receipt `type:"list"` +} - // The Amazon Resource Name (ARN) of the engagement to a contact channel. - // - // PageArn is a required field - PageArn *string `min:"1" type:"string" required:"true"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPageReceiptsOutput) String() string { + return awsutil.Prettify(s) +} - // The insecure content of the message that was sent to the contact. Use this - // field for engagements to SMS. - PublicContent *string `min:"1" type:"string"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPageReceiptsOutput) GoString() string { + return s.String() +} - // The insecure subject of the message that was sent to the contact. Use this - // field for engagements to SMS. - PublicSubject *string `min:"1" type:"string"` +// SetNextToken sets the NextToken field's value. +func (s *ListPageReceiptsOutput) SetNextToken(v string) *ListPageReceiptsOutput { + s.NextToken = &v + return s +} - // The time that the contact channel acknowledged the engagement. - ReadTime *time.Time `type:"timestamp"` +// SetReceipts sets the Receipts field's value. +func (s *ListPageReceiptsOutput) SetReceipts(v []*Receipt) *ListPageReceiptsOutput { + s.Receipts = v + return s +} - // The user that started the engagement. - // - // Sender is a required field - Sender *string `type:"string" required:"true"` +type ListPageResolutionsInput struct { + _ struct{} `type:"structure"` - // The time the engagement was sent to the contact channel. - SentTime *time.Time `type:"timestamp"` + // A token to start the list. Use this token to get the next set of results. + NextToken *string `type:"string"` - // The secure subject of the message that was sent to the contact. Use this - // field for engagements to VOICE and EMAIL. + // The Amazon Resource Name (ARN) of the contact engaged for the incident. // - // Subject is a required field - Subject *string `min:"1" type:"string" required:"true"` + // PageId is a required field + PageId *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -4513,7 +7888,7 @@ type DescribePageOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribePageOutput) String() string { +func (s ListPageResolutionsInput) String() string { return awsutil.Prettify(s) } @@ -4522,110 +7897,96 @@ func (s DescribePageOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribePageOutput) GoString() string { +func (s ListPageResolutionsInput) GoString() string { return s.String() } -// SetContactArn sets the ContactArn field's value. -func (s *DescribePageOutput) SetContactArn(v string) *DescribePageOutput { - s.ContactArn = &v - return s -} - -// SetContent sets the Content field's value. -func (s *DescribePageOutput) SetContent(v string) *DescribePageOutput { - s.Content = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPageResolutionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPageResolutionsInput"} + if s.PageId == nil { + invalidParams.Add(request.NewErrParamRequired("PageId")) + } + if s.PageId != nil && len(*s.PageId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PageId", 1)) + } -// SetDeliveryTime sets the DeliveryTime field's value. -func (s *DescribePageOutput) SetDeliveryTime(v time.Time) *DescribePageOutput { - s.DeliveryTime = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetEngagementArn sets the EngagementArn field's value. -func (s *DescribePageOutput) SetEngagementArn(v string) *DescribePageOutput { - s.EngagementArn = &v +// SetNextToken sets the NextToken field's value. +func (s *ListPageResolutionsInput) SetNextToken(v string) *ListPageResolutionsInput { + s.NextToken = &v return s } -// SetIncidentId sets the IncidentId field's value. -func (s *DescribePageOutput) SetIncidentId(v string) *DescribePageOutput { - s.IncidentId = &v +// SetPageId sets the PageId field's value. +func (s *ListPageResolutionsInput) SetPageId(v string) *ListPageResolutionsInput { + s.PageId = &v return s } -// SetPageArn sets the PageArn field's value. -func (s *DescribePageOutput) SetPageArn(v string) *DescribePageOutput { - s.PageArn = &v - return s -} +type ListPageResolutionsOutput struct { + _ struct{} `type:"structure"` -// SetPublicContent sets the PublicContent field's value. -func (s *DescribePageOutput) SetPublicContent(v string) *DescribePageOutput { - s.PublicContent = &v - return s -} + // The token for the next set of items to return. Use this token to get the + // next set of results. + NextToken *string `type:"string"` -// SetPublicSubject sets the PublicSubject field's value. -func (s *DescribePageOutput) SetPublicSubject(v string) *DescribePageOutput { - s.PublicSubject = &v - return s + // Information about the resolution for an engagement. + // + // PageResolutions is a required field + PageResolutions []*ResolutionContact `type:"list" required:"true"` } -// SetReadTime sets the ReadTime field's value. -func (s *DescribePageOutput) SetReadTime(v time.Time) *DescribePageOutput { - s.ReadTime = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPageResolutionsOutput) String() string { + return awsutil.Prettify(s) } -// SetSender sets the Sender field's value. -func (s *DescribePageOutput) SetSender(v string) *DescribePageOutput { - s.Sender = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPageResolutionsOutput) GoString() string { + return s.String() } -// SetSentTime sets the SentTime field's value. -func (s *DescribePageOutput) SetSentTime(v time.Time) *DescribePageOutput { - s.SentTime = &v +// SetNextToken sets the NextToken field's value. +func (s *ListPageResolutionsOutput) SetNextToken(v string) *ListPageResolutionsOutput { + s.NextToken = &v return s } -// SetSubject sets the Subject field's value. -func (s *DescribePageOutput) SetSubject(v string) *DescribePageOutput { - s.Subject = &v +// SetPageResolutions sets the PageResolutions field's value. +func (s *ListPageResolutionsOutput) SetPageResolutions(v []*ResolutionContact) *ListPageResolutionsOutput { + s.PageResolutions = v return s } -// Incident Manager reaching out to a contact or escalation plan to engage contact -// during an incident. -type Engagement struct { +type ListPagesByContactInput struct { _ struct{} `type:"structure"` - // The ARN of the escalation plan or contact that Incident Manager is engaging. - // - // ContactArn is a required field - ContactArn *string `min:"1" type:"string" required:"true"` - - // The Amazon Resource Name (ARN) of the engagement. - // - // EngagementArn is a required field - EngagementArn *string `min:"1" type:"string" required:"true"` - - // The ARN of the incident that's engaging the contact. - IncidentId *string `type:"string"` - - // The user that started the engagement. + // The Amazon Resource Name (ARN) of the contact you are retrieving engagements + // for. // - // Sender is a required field - Sender *string `type:"string" required:"true"` + // ContactId is a required field + ContactId *string `min:"1" type:"string" required:"true"` - // The time that the engagement began. - StartTime *time.Time `type:"timestamp"` + // The maximum number of engagements to contact channels to list per page of + // results. + MaxResults *int64 `type:"integer"` - // The time that the engagement ended. - StopTime *time.Time `type:"timestamp"` + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` } // String returns the string representation. @@ -4633,7 +7994,7 @@ type Engagement struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Engagement) String() string { +func (s ListPagesByContactInput) String() string { return awsutil.Prettify(s) } @@ -4642,54 +8003,100 @@ func (s Engagement) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Engagement) GoString() string { +func (s ListPagesByContactInput) GoString() string { return s.String() } -// SetContactArn sets the ContactArn field's value. -func (s *Engagement) SetContactArn(v string) *Engagement { - s.ContactArn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPagesByContactInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPagesByContactInput"} + if s.ContactId == nil { + invalidParams.Add(request.NewErrParamRequired("ContactId")) + } + if s.ContactId != nil && len(*s.ContactId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetEngagementArn sets the EngagementArn field's value. -func (s *Engagement) SetEngagementArn(v string) *Engagement { - s.EngagementArn = &v +// SetContactId sets the ContactId field's value. +func (s *ListPagesByContactInput) SetContactId(v string) *ListPagesByContactInput { + s.ContactId = &v return s } -// SetIncidentId sets the IncidentId field's value. -func (s *Engagement) SetIncidentId(v string) *Engagement { - s.IncidentId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListPagesByContactInput) SetMaxResults(v int64) *ListPagesByContactInput { + s.MaxResults = &v return s } -// SetSender sets the Sender field's value. -func (s *Engagement) SetSender(v string) *Engagement { - s.Sender = &v +// SetNextToken sets the NextToken field's value. +func (s *ListPagesByContactInput) SetNextToken(v string) *ListPagesByContactInput { + s.NextToken = &v return s } -// SetStartTime sets the StartTime field's value. -func (s *Engagement) SetStartTime(v time.Time) *Engagement { - s.StartTime = &v +type ListPagesByContactOutput struct { + _ struct{} `type:"structure"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` + + // The list of engagements to a contact's contact channel. + // + // Pages is a required field + Pages []*Page `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPagesByContactOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPagesByContactOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPagesByContactOutput) SetNextToken(v string) *ListPagesByContactOutput { + s.NextToken = &v return s } -// SetStopTime sets the StopTime field's value. -func (s *Engagement) SetStopTime(v time.Time) *Engagement { - s.StopTime = &v +// SetPages sets the Pages field's value. +func (s *ListPagesByContactOutput) SetPages(v []*Page) *ListPagesByContactOutput { + s.Pages = v return s } -type GetContactChannelInput struct { +type ListPagesByEngagementInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the contact channel you want information - // about. + // The Amazon Resource Name (ARN) of the engagement. // - // ContactChannelId is a required field - ContactChannelId *string `min:"1" type:"string" required:"true"` + // EngagementId is a required field + EngagementId *string `min:"1" type:"string" required:"true"` + + // The maximum number of engagements to contact channels to list per page of + // results. + MaxResults *int64 `type:"integer"` + + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` } // String returns the string representation. @@ -4697,7 +8104,7 @@ type GetContactChannelInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetContactChannelInput) String() string { +func (s ListPagesByEngagementInput) String() string { return awsutil.Prettify(s) } @@ -4706,18 +8113,18 @@ func (s GetContactChannelInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetContactChannelInput) GoString() string { +func (s ListPagesByEngagementInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetContactChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetContactChannelInput"} - if s.ContactChannelId == nil { - invalidParams.Add(request.NewErrParamRequired("ContactChannelId")) +func (s *ListPagesByEngagementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPagesByEngagementInput"} + if s.EngagementId == nil { + invalidParams.Add(request.NewErrParamRequired("EngagementId")) } - if s.ContactChannelId != nil && len(*s.ContactChannelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ContactChannelId", 1)) + if s.EngagementId != nil && len(*s.EngagementId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EngagementId", 1)) } if invalidParams.Len() > 0 { @@ -4726,43 +8133,34 @@ func (s *GetContactChannelInput) Validate() error { return nil } -// SetContactChannelId sets the ContactChannelId field's value. -func (s *GetContactChannelInput) SetContactChannelId(v string) *GetContactChannelInput { - s.ContactChannelId = &v +// SetEngagementId sets the EngagementId field's value. +func (s *ListPagesByEngagementInput) SetEngagementId(v string) *ListPagesByEngagementInput { + s.EngagementId = &v return s } -type GetContactChannelOutput struct { - _ struct{} `type:"structure"` - - // A Boolean value indicating if the contact channel has been activated or not. - ActivationStatus *string `type:"string" enum:"ActivationStatus"` - - // The ARN of the contact that the channel belongs to. - // - // ContactArn is a required field - ContactArn *string `min:"1" type:"string" required:"true"` +// SetMaxResults sets the MaxResults field's value. +func (s *ListPagesByEngagementInput) SetMaxResults(v int64) *ListPagesByEngagementInput { + s.MaxResults = &v + return s +} - // The ARN of the contact channel. - // - // ContactChannelArn is a required field - ContactChannelArn *string `min:"1" type:"string" required:"true"` +// SetNextToken sets the NextToken field's value. +func (s *ListPagesByEngagementInput) SetNextToken(v string) *ListPagesByEngagementInput { + s.NextToken = &v + return s +} - // The details that Incident Manager uses when trying to engage the contact - // channel. - // - // DeliveryAddress is a required field - DeliveryAddress *ContactChannelAddress `type:"structure" required:"true"` +type ListPagesByEngagementOutput struct { + _ struct{} `type:"structure"` - // The name of the contact channel - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // The pagination token to continue to the next page of results. + NextToken *string `type:"string"` - // The type of contact channel. The type is SMS, VOICE, or EMAIL. + // The list of engagements to contact channels. // - // Type is a required field - Type *string `type:"string" required:"true" enum:"ChannelType"` + // Pages is a required field + Pages []*Page `type:"list" required:"true"` } // String returns the string representation. @@ -4770,7 +8168,7 @@ type GetContactChannelOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetContactChannelOutput) String() string { +func (s ListPagesByEngagementOutput) String() string { return awsutil.Prettify(s) } @@ -4779,53 +8177,66 @@ func (s GetContactChannelOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetContactChannelOutput) GoString() string { +func (s ListPagesByEngagementOutput) GoString() string { return s.String() } -// SetActivationStatus sets the ActivationStatus field's value. -func (s *GetContactChannelOutput) SetActivationStatus(v string) *GetContactChannelOutput { - s.ActivationStatus = &v +// SetNextToken sets the NextToken field's value. +func (s *ListPagesByEngagementOutput) SetNextToken(v string) *ListPagesByEngagementOutput { + s.NextToken = &v return s } -// SetContactArn sets the ContactArn field's value. -func (s *GetContactChannelOutput) SetContactArn(v string) *GetContactChannelOutput { - s.ContactArn = &v +// SetPages sets the Pages field's value. +func (s *ListPagesByEngagementOutput) SetPages(v []*Page) *ListPagesByEngagementOutput { + s.Pages = v return s } -// SetContactChannelArn sets the ContactChannelArn field's value. -func (s *GetContactChannelOutput) SetContactChannelArn(v string) *GetContactChannelOutput { - s.ContactChannelArn = &v - return s -} +type ListPreviewRotationShiftsInput struct { + _ struct{} `type:"structure"` -// SetDeliveryAddress sets the DeliveryAddress field's value. -func (s *GetContactChannelOutput) SetDeliveryAddress(v *ContactChannelAddress) *GetContactChannelOutput { - s.DeliveryAddress = v - return s -} + // The date and time a rotation shift would end. + // + // EndTime is a required field + EndTime *time.Time `type:"timestamp" required:"true"` -// SetName sets the Name field's value. -func (s *GetContactChannelOutput) SetName(v string) *GetContactChannelOutput { - s.Name = &v - return s -} + // The maximum number of items to return for this call. The call also returns + // a token that can be specified in a subsequent call to get the next set of + // results. + MaxResults *int64 `type:"integer"` + + // The contacts that would be assigned to a rotation. + // + // Members is a required field + Members []*string `min:"1" type:"list" required:"true"` + + // A token to start the list. This token is used to get the next set of results. + NextToken *string `type:"string"` -// SetType sets the Type field's value. -func (s *GetContactChannelOutput) SetType(v string) *GetContactChannelOutput { - s.Type = &v - return s -} + // Information about changes that would be made in a rotation override. + Overrides []*PreviewOverride `type:"list"` -type GetContactInput struct { - _ struct{} `type:"structure"` + // Information about how long a rotation would last before restarting at the + // beginning of the shift order. + // + // Recurrence is a required field + Recurrence *RecurrenceSettings `type:"structure" required:"true"` - // The Amazon Resource Name (ARN) of the contact or escalation plan. + // The date and time a rotation would begin. The first shift is calculated from + // this date and time. + RotationStartTime *time.Time `type:"timestamp"` + + // Used to filter the range of calculated shifts before sending the response + // back to the user. + StartTime *time.Time `type:"timestamp"` + + // The time zone the rotation’s activity would be based on, in Internet Assigned + // Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", + // or "Asia/Seoul". // - // ContactId is a required field - ContactId *string `min:"1" type:"string" required:"true"` + // TimeZoneId is a required field + TimeZoneId *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -4833,7 +8244,7 @@ type GetContactInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetContactInput) String() string { +func (s ListPreviewRotationShiftsInput) String() string { return awsutil.Prettify(s) } @@ -4842,18 +8253,35 @@ func (s GetContactInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetContactInput) GoString() string { +func (s ListPreviewRotationShiftsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetContactInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetContactInput"} - if s.ContactId == nil { - invalidParams.Add(request.NewErrParamRequired("ContactId")) +func (s *ListPreviewRotationShiftsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPreviewRotationShiftsInput"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) } - if s.ContactId != nil && len(*s.ContactId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + if s.Members == nil { + invalidParams.Add(request.NewErrParamRequired("Members")) + } + if s.Members != nil && len(s.Members) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Members", 1)) + } + if s.Recurrence == nil { + invalidParams.Add(request.NewErrParamRequired("Recurrence")) + } + if s.TimeZoneId == nil { + invalidParams.Add(request.NewErrParamRequired("TimeZoneId")) + } + if s.TimeZoneId != nil && len(*s.TimeZoneId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TimeZoneId", 1)) + } + if s.Recurrence != nil { + if err := s.Recurrence.Validate(); err != nil { + invalidParams.AddNested("Recurrence", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -4862,38 +8290,69 @@ func (s *GetContactInput) Validate() error { return nil } -// SetContactId sets the ContactId field's value. -func (s *GetContactInput) SetContactId(v string) *GetContactInput { - s.ContactId = &v +// SetEndTime sets the EndTime field's value. +func (s *ListPreviewRotationShiftsInput) SetEndTime(v time.Time) *ListPreviewRotationShiftsInput { + s.EndTime = &v return s } -type GetContactOutput struct { - _ struct{} `type:"structure"` +// SetMaxResults sets the MaxResults field's value. +func (s *ListPreviewRotationShiftsInput) SetMaxResults(v int64) *ListPreviewRotationShiftsInput { + s.MaxResults = &v + return s +} - // The alias of the contact or escalation plan. The alias is unique and identifiable. - // - // Alias is a required field - Alias *string `min:"1" type:"string" required:"true"` +// SetMembers sets the Members field's value. +func (s *ListPreviewRotationShiftsInput) SetMembers(v []*string) *ListPreviewRotationShiftsInput { + s.Members = v + return s +} - // The ARN of the contact or escalation plan. - // - // ContactArn is a required field - ContactArn *string `min:"1" type:"string" required:"true"` +// SetNextToken sets the NextToken field's value. +func (s *ListPreviewRotationShiftsInput) SetNextToken(v string) *ListPreviewRotationShiftsInput { + s.NextToken = &v + return s +} - // The full name of the contact or escalation plan. - DisplayName *string `type:"string"` +// SetOverrides sets the Overrides field's value. +func (s *ListPreviewRotationShiftsInput) SetOverrides(v []*PreviewOverride) *ListPreviewRotationShiftsInput { + s.Overrides = v + return s +} - // Details about the specific timing or stages and targets of the escalation - // plan or engagement plan. - // - // Plan is a required field - Plan *Plan `type:"structure" required:"true"` +// SetRecurrence sets the Recurrence field's value. +func (s *ListPreviewRotationShiftsInput) SetRecurrence(v *RecurrenceSettings) *ListPreviewRotationShiftsInput { + s.Recurrence = v + return s +} - // The type of contact, either PERSONAL or ESCALATION. - // - // Type is a required field - Type *string `type:"string" required:"true" enum:"ContactType"` +// SetRotationStartTime sets the RotationStartTime field's value. +func (s *ListPreviewRotationShiftsInput) SetRotationStartTime(v time.Time) *ListPreviewRotationShiftsInput { + s.RotationStartTime = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ListPreviewRotationShiftsInput) SetStartTime(v time.Time) *ListPreviewRotationShiftsInput { + s.StartTime = &v + return s +} + +// SetTimeZoneId sets the TimeZoneId field's value. +func (s *ListPreviewRotationShiftsInput) SetTimeZoneId(v string) *ListPreviewRotationShiftsInput { + s.TimeZoneId = &v + return s +} + +type ListPreviewRotationShiftsOutput struct { + _ struct{} `type:"structure"` + + // The token for the next set of items to return. This token is used to get + // the next set of results. + NextToken *string `type:"string"` + + // Details about a rotation shift, including times, types, and contacts. + RotationShifts []*RotationShift `type:"list"` } // String returns the string representation. @@ -4901,7 +8360,7 @@ type GetContactOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetContactOutput) String() string { +func (s ListPreviewRotationShiftsOutput) String() string { return awsutil.Prettify(s) } @@ -4910,47 +8369,47 @@ func (s GetContactOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetContactOutput) GoString() string { +func (s ListPreviewRotationShiftsOutput) GoString() string { return s.String() } -// SetAlias sets the Alias field's value. -func (s *GetContactOutput) SetAlias(v string) *GetContactOutput { - s.Alias = &v +// SetNextToken sets the NextToken field's value. +func (s *ListPreviewRotationShiftsOutput) SetNextToken(v string) *ListPreviewRotationShiftsOutput { + s.NextToken = &v return s } -// SetContactArn sets the ContactArn field's value. -func (s *GetContactOutput) SetContactArn(v string) *GetContactOutput { - s.ContactArn = &v +// SetRotationShifts sets the RotationShifts field's value. +func (s *ListPreviewRotationShiftsOutput) SetRotationShifts(v []*RotationShift) *ListPreviewRotationShiftsOutput { + s.RotationShifts = v return s } -// SetDisplayName sets the DisplayName field's value. -func (s *GetContactOutput) SetDisplayName(v string) *GetContactOutput { - s.DisplayName = &v - return s -} +type ListRotationOverridesInput struct { + _ struct{} `type:"structure"` -// SetPlan sets the Plan field's value. -func (s *GetContactOutput) SetPlan(v *Plan) *GetContactOutput { - s.Plan = v - return s -} + // The date and time for the end of a time range for listing overrides. + // + // EndTime is a required field + EndTime *time.Time `type:"timestamp" required:"true"` -// SetType sets the Type field's value. -func (s *GetContactOutput) SetType(v string) *GetContactOutput { - s.Type = &v - return s -} + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. + MaxResults *int64 `type:"integer"` -type GetContactPolicyInput struct { - _ struct{} `type:"structure"` + // A token to start the list. Use this token to get the next set of results. + NextToken *string `type:"string"` - // The Amazon Resource Name (ARN) of the contact or escalation plan. + // The Amazon Resource Name (ARN) of the rotation to retrieve information about. // - // ContactArn is a required field - ContactArn *string `min:"1" type:"string" required:"true"` + // RotationId is a required field + RotationId *string `min:"1" type:"string" required:"true"` + + // The date and time for the beginning of a time range for listing overrides. + // + // StartTime is a required field + StartTime *time.Time `type:"timestamp" required:"true"` } // String returns the string representation. @@ -4958,7 +8417,7 @@ type GetContactPolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetContactPolicyInput) String() string { +func (s ListRotationOverridesInput) String() string { return awsutil.Prettify(s) } @@ -4967,18 +8426,24 @@ func (s GetContactPolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetContactPolicyInput) GoString() string { +func (s ListRotationOverridesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetContactPolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetContactPolicyInput"} - if s.ContactArn == nil { - invalidParams.Add(request.NewErrParamRequired("ContactArn")) +func (s *ListRotationOverridesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRotationOverridesInput"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) } - if s.ContactArn != nil && len(*s.ContactArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ContactArn", 1)) + if s.RotationId == nil { + invalidParams.Add(request.NewErrParamRequired("RotationId")) + } + if s.RotationId != nil && len(*s.RotationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RotationId", 1)) + } + if s.StartTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartTime")) } if invalidParams.Len() > 0 { @@ -4987,61 +8452,45 @@ func (s *GetContactPolicyInput) Validate() error { return nil } -// SetContactArn sets the ContactArn field's value. -func (s *GetContactPolicyInput) SetContactArn(v string) *GetContactPolicyInput { - s.ContactArn = &v +// SetEndTime sets the EndTime field's value. +func (s *ListRotationOverridesInput) SetEndTime(v time.Time) *ListRotationOverridesInput { + s.EndTime = &v return s } -type GetContactPolicyOutput struct { - _ struct{} `type:"structure"` - - // The ARN of the contact or escalation plan. - ContactArn *string `min:"1" type:"string"` - - // Details about the resource policy attached to the contact or escalation plan. - Policy *string `min:"1" type:"string"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s GetContactPolicyOutput) String() string { - return awsutil.Prettify(s) +// SetMaxResults sets the MaxResults field's value. +func (s *ListRotationOverridesInput) SetMaxResults(v int64) *ListRotationOverridesInput { + s.MaxResults = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s GetContactPolicyOutput) GoString() string { - return s.String() +// SetNextToken sets the NextToken field's value. +func (s *ListRotationOverridesInput) SetNextToken(v string) *ListRotationOverridesInput { + s.NextToken = &v + return s } -// SetContactArn sets the ContactArn field's value. -func (s *GetContactPolicyOutput) SetContactArn(v string) *GetContactPolicyOutput { - s.ContactArn = &v +// SetRotationId sets the RotationId field's value. +func (s *ListRotationOverridesInput) SetRotationId(v string) *ListRotationOverridesInput { + s.RotationId = &v return s } -// SetPolicy sets the Policy field's value. -func (s *GetContactPolicyOutput) SetPolicy(v string) *GetContactPolicyOutput { - s.Policy = &v +// SetStartTime sets the StartTime field's value. +func (s *ListRotationOverridesInput) SetStartTime(v time.Time) *ListRotationOverridesInput { + s.StartTime = &v return s } -// Unexpected error occurred while processing the request. -type InternalServerException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListRotationOverridesOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The token for the next set of items to return. Use this token to get the + // next set of results. + NextToken *string `type:"string"` - // Advice to clients on when the call can be safely retried - RetryAfterSeconds *int64 `type:"integer"` + // A list of rotation overrides in the specified time range. + RotationOverrides []*RotationOverride `type:"list"` } // String returns the string representation. @@ -5049,7 +8498,7 @@ type InternalServerException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InternalServerException) String() string { +func (s ListRotationOverridesOutput) String() string { return awsutil.Prettify(s) } @@ -5058,61 +8507,46 @@ func (s InternalServerException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InternalServerException) GoString() string { +func (s ListRotationOverridesOutput) GoString() string { return s.String() } -func newErrorInternalServerException(v protocol.ResponseMetadata) error { - return &InternalServerException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *InternalServerException) Code() string { - return "InternalServerException" -} - -// Message returns the exception's message. -func (s *InternalServerException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalServerException) OrigErr() error { - return nil -} - -func (s *InternalServerException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *InternalServerException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetNextToken sets the NextToken field's value. +func (s *ListRotationOverridesOutput) SetNextToken(v string) *ListRotationOverridesOutput { + s.NextToken = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InternalServerException) RequestID() string { - return s.RespMetadata.RequestID +// SetRotationOverrides sets the RotationOverrides field's value. +func (s *ListRotationOverridesOutput) SetRotationOverrides(v []*RotationOverride) *ListRotationOverridesOutput { + s.RotationOverrides = v + return s } -type ListContactChannelsInput struct { +type ListRotationShiftsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the contact. + // The date and time for the end of the time range to list shifts for. // - // ContactId is a required field - ContactId *string `min:"1" type:"string" required:"true"` + // EndTime is a required field + EndTime *time.Time `type:"timestamp" required:"true"` - // The maximum number of contact channels per page. + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. MaxResults *int64 `type:"integer"` - // The pagination token to continue to the next page of results. + // A token to start the list. Use this token to get the next set of results. NextToken *string `type:"string"` + + // The Amazon Resource Name (ARN) of the rotation to retrieve shift information + // about. + // + // RotationId is a required field + RotationId *string `min:"1" type:"string" required:"true"` + + // The date and time for the beginning of the time range to list shifts for. + StartTime *time.Time `type:"timestamp"` } // String returns the string representation. @@ -5120,7 +8554,7 @@ type ListContactChannelsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListContactChannelsInput) String() string { +func (s ListRotationShiftsInput) String() string { return awsutil.Prettify(s) } @@ -5129,18 +8563,21 @@ func (s ListContactChannelsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListContactChannelsInput) GoString() string { +func (s ListRotationShiftsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListContactChannelsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListContactChannelsInput"} - if s.ContactId == nil { - invalidParams.Add(request.NewErrParamRequired("ContactId")) +func (s *ListRotationShiftsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRotationShiftsInput"} + if s.EndTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndTime")) } - if s.ContactId != nil && len(*s.ContactId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) + if s.RotationId == nil { + invalidParams.Add(request.NewErrParamRequired("RotationId")) + } + if s.RotationId != nil && len(*s.RotationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RotationId", 1)) } if invalidParams.Len() > 0 { @@ -5149,34 +8586,45 @@ func (s *ListContactChannelsInput) Validate() error { return nil } -// SetContactId sets the ContactId field's value. -func (s *ListContactChannelsInput) SetContactId(v string) *ListContactChannelsInput { - s.ContactId = &v +// SetEndTime sets the EndTime field's value. +func (s *ListRotationShiftsInput) SetEndTime(v time.Time) *ListRotationShiftsInput { + s.EndTime = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListContactChannelsInput) SetMaxResults(v int64) *ListContactChannelsInput { +func (s *ListRotationShiftsInput) SetMaxResults(v int64) *ListRotationShiftsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListContactChannelsInput) SetNextToken(v string) *ListContactChannelsInput { +func (s *ListRotationShiftsInput) SetNextToken(v string) *ListRotationShiftsInput { s.NextToken = &v return s } -type ListContactChannelsOutput struct { +// SetRotationId sets the RotationId field's value. +func (s *ListRotationShiftsInput) SetRotationId(v string) *ListRotationShiftsInput { + s.RotationId = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ListRotationShiftsInput) SetStartTime(v time.Time) *ListRotationShiftsInput { + s.StartTime = &v + return s +} + +type ListRotationShiftsOutput struct { _ struct{} `type:"structure"` - // A list of contact channels related to the specified contact. - // - // ContactChannels is a required field - ContactChannels []*ContactChannel `type:"list" required:"true"` - - // The pagination token to continue to the next page of results. + // The token for the next set of items to return. Use this token to get the + // next set of results. NextToken *string `type:"string"` + + // Information about shifts that meet the filter criteria. + RotationShifts []*RotationShift `type:"list"` } // String returns the string representation. @@ -5184,7 +8632,7 @@ type ListContactChannelsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListContactChannelsOutput) String() string { +func (s ListRotationShiftsOutput) String() string { return awsutil.Prettify(s) } @@ -5193,37 +8641,37 @@ func (s ListContactChannelsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListContactChannelsOutput) GoString() string { +func (s ListRotationShiftsOutput) GoString() string { return s.String() } -// SetContactChannels sets the ContactChannels field's value. -func (s *ListContactChannelsOutput) SetContactChannels(v []*ContactChannel) *ListContactChannelsOutput { - s.ContactChannels = v +// SetNextToken sets the NextToken field's value. +func (s *ListRotationShiftsOutput) SetNextToken(v string) *ListRotationShiftsOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListContactChannelsOutput) SetNextToken(v string) *ListContactChannelsOutput { - s.NextToken = &v +// SetRotationShifts sets the RotationShifts field's value. +func (s *ListRotationShiftsOutput) SetRotationShifts(v []*RotationShift) *ListRotationShiftsOutput { + s.RotationShifts = v return s } -type ListContactsInput struct { +type ListRotationsInput struct { _ struct{} `type:"structure"` - // Used to list only contacts who's aliases start with the specified prefix. - AliasPrefix *string `min:"1" type:"string"` - - // The maximum number of contacts and escalation plans per page of results. + // The maximum number of items to return for this call. The call also returns + // a token that you can specify in a subsequent call to get the next set of + // results. MaxResults *int64 `type:"integer"` - // The pagination token to continue to the next page of results. + // A token to start the list. Use this token to get the next set of results. NextToken *string `type:"string"` - // The type of contact. A contact is type PERSONAL and an escalation plan is - // type ESCALATION. - Type *string `type:"string" enum:"ContactType"` + // A filter to include rotations in list results based on their common prefix. + // For example, entering prod returns a list of all rotation names that begin + // with prod, such as production and prod-1. + RotationNamePrefix *string `min:"1" type:"string"` } // String returns the string representation. @@ -5231,7 +8679,7 @@ type ListContactsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListContactsInput) String() string { +func (s ListRotationsInput) String() string { return awsutil.Prettify(s) } @@ -5240,15 +8688,15 @@ func (s ListContactsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListContactsInput) GoString() string { +func (s ListRotationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListContactsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListContactsInput"} - if s.AliasPrefix != nil && len(*s.AliasPrefix) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AliasPrefix", 1)) +func (s *ListRotationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRotationsInput"} + if s.RotationNamePrefix != nil && len(*s.RotationNamePrefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RotationNamePrefix", 1)) } if invalidParams.Len() > 0 { @@ -5257,38 +8705,35 @@ func (s *ListContactsInput) Validate() error { return nil } -// SetAliasPrefix sets the AliasPrefix field's value. -func (s *ListContactsInput) SetAliasPrefix(v string) *ListContactsInput { - s.AliasPrefix = &v - return s -} - // SetMaxResults sets the MaxResults field's value. -func (s *ListContactsInput) SetMaxResults(v int64) *ListContactsInput { +func (s *ListRotationsInput) SetMaxResults(v int64) *ListRotationsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListContactsInput) SetNextToken(v string) *ListContactsInput { +func (s *ListRotationsInput) SetNextToken(v string) *ListRotationsInput { s.NextToken = &v return s } -// SetType sets the Type field's value. -func (s *ListContactsInput) SetType(v string) *ListContactsInput { - s.Type = &v +// SetRotationNamePrefix sets the RotationNamePrefix field's value. +func (s *ListRotationsInput) SetRotationNamePrefix(v string) *ListRotationsInput { + s.RotationNamePrefix = &v return s } -type ListContactsOutput struct { +type ListRotationsOutput struct { _ struct{} `type:"structure"` - // A list of the contacts and escalation plans in your Incident Manager account. - Contacts []*Contact `type:"list"` - - // The pagination token to continue to the next page of results. + // The token for the next set of items to return. Use this token to get the + // next set of results. NextToken *string `type:"string"` + + // Information about rotations that meet the filter criteria. + // + // Rotations is a required field + Rotations []*Rotation `type:"list" required:"true"` } // String returns the string representation. @@ -5296,7 +8741,7 @@ type ListContactsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListContactsOutput) String() string { +func (s ListRotationsOutput) String() string { return awsutil.Prettify(s) } @@ -5305,37 +8750,29 @@ func (s ListContactsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListContactsOutput) GoString() string { +func (s ListRotationsOutput) GoString() string { return s.String() } -// SetContacts sets the Contacts field's value. -func (s *ListContactsOutput) SetContacts(v []*Contact) *ListContactsOutput { - s.Contacts = v +// SetNextToken sets the NextToken field's value. +func (s *ListRotationsOutput) SetNextToken(v string) *ListRotationsOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListContactsOutput) SetNextToken(v string) *ListContactsOutput { - s.NextToken = &v +// SetRotations sets the Rotations field's value. +func (s *ListRotationsOutput) SetRotations(v []*Rotation) *ListRotationsOutput { + s.Rotations = v return s } -type ListEngagementsInput struct { +type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the incident you're listing engagements - // for. - IncidentId *string `type:"string"` - - // The maximum number of engagements per page of results. - MaxResults *int64 `type:"integer"` - - // The pagination token to continue to the next page of results. - NextToken *string `type:"string"` - - // The time range to lists engagements for an incident. - TimeRangeValue *TimeRange `type:"structure"` + // The Amazon Resource Name (ARN) of the contact or escalation plan. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -5343,7 +8780,7 @@ type ListEngagementsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEngagementsInput) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } @@ -5352,45 +8789,37 @@ func (s ListEngagementsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEngagementsInput) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } -// SetIncidentId sets the IncidentId field's value. -func (s *ListEngagementsInput) SetIncidentId(v string) *ListEngagementsInput { - s.IncidentId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListEngagementsInput) SetMaxResults(v int64) *ListEngagementsInput { - s.MaxResults = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } -// SetNextToken sets the NextToken field's value. -func (s *ListEngagementsInput) SetNextToken(v string) *ListEngagementsInput { - s.NextToken = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTimeRangeValue sets the TimeRangeValue field's value. -func (s *ListEngagementsInput) SetTimeRangeValue(v *TimeRange) *ListEngagementsInput { - s.TimeRangeValue = v +// SetResourceARN sets the ResourceARN field's value. +func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { + s.ResourceARN = &v return s } -type ListEngagementsOutput struct { +type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // A list of each engagement that occurred during the specified time range of - // an incident. - // - // Engagements is a required field - Engagements []*Engagement `type:"list" required:"true"` - - // The pagination token to continue to the next page of results. - NextToken *string `type:"string"` + // The tags related to the contact or escalation plan. + Tags []*Tag `type:"list"` } // String returns the string representation. @@ -5398,7 +8827,7 @@ type ListEngagementsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEngagementsOutput) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } @@ -5407,35 +8836,29 @@ func (s ListEngagementsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEngagementsOutput) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { return s.String() } -// SetEngagements sets the Engagements field's value. -func (s *ListEngagementsOutput) SetEngagements(v []*Engagement) *ListEngagementsOutput { - s.Engagements = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListEngagementsOutput) SetNextToken(v string) *ListEngagementsOutput { - s.NextToken = &v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v return s } -type ListPageReceiptsInput struct { +// Information about on-call rotations that recur monthly. +type MonthlySetting struct { _ struct{} `type:"structure"` - // The maximum number of acknowledgements per page of results. - MaxResults *int64 `type:"integer"` - - // The pagination token to continue to the next page of results. - NextToken *string `type:"string"` + // The day of the month when monthly recurring on-call rotations begin. + // + // DayOfMonth is a required field + DayOfMonth *int64 `min:"1" type:"integer" required:"true"` - // The Amazon Resource Name (ARN) of the engagement to a specific contact channel. + // The time of day when a monthly recurring on-call shift rotation begins. // - // PageId is a required field - PageId *string `min:"1" type:"string" required:"true"` + // HandOffTime is a required field + HandOffTime *HandOffTime `type:"structure" required:"true"` } // String returns the string representation. @@ -5443,7 +8866,7 @@ type ListPageReceiptsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListPageReceiptsInput) String() string { +func (s MonthlySetting) String() string { return awsutil.Prettify(s) } @@ -5452,18 +8875,26 @@ func (s ListPageReceiptsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListPageReceiptsInput) GoString() string { +func (s MonthlySetting) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListPageReceiptsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListPageReceiptsInput"} - if s.PageId == nil { - invalidParams.Add(request.NewErrParamRequired("PageId")) +func (s *MonthlySetting) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MonthlySetting"} + if s.DayOfMonth == nil { + invalidParams.Add(request.NewErrParamRequired("DayOfMonth")) } - if s.PageId != nil && len(*s.PageId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PageId", 1)) + if s.DayOfMonth != nil && *s.DayOfMonth < 1 { + invalidParams.Add(request.NewErrParamMinValue("DayOfMonth", 1)) + } + if s.HandOffTime == nil { + invalidParams.Add(request.NewErrParamRequired("HandOffTime")) + } + if s.HandOffTime != nil { + if err := s.HandOffTime.Validate(); err != nil { + invalidParams.AddNested("HandOffTime", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -5472,32 +8903,53 @@ func (s *ListPageReceiptsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListPageReceiptsInput) SetMaxResults(v int64) *ListPageReceiptsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListPageReceiptsInput) SetNextToken(v string) *ListPageReceiptsInput { - s.NextToken = &v +// SetDayOfMonth sets the DayOfMonth field's value. +func (s *MonthlySetting) SetDayOfMonth(v int64) *MonthlySetting { + s.DayOfMonth = &v return s } -// SetPageId sets the PageId field's value. -func (s *ListPageReceiptsInput) SetPageId(v string) *ListPageReceiptsInput { - s.PageId = &v +// SetHandOffTime sets the HandOffTime field's value. +func (s *MonthlySetting) SetHandOffTime(v *HandOffTime) *MonthlySetting { + s.HandOffTime = v return s } -type ListPageReceiptsOutput struct { +// Incident Manager engaging a contact's contact channel. +type Page struct { _ struct{} `type:"structure"` - // The pagination token to continue to the next page of results. - NextToken *string `type:"string"` + // The ARN of the contact that Incident Manager is engaging. + // + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` - // A list of each acknowledgement. - Receipts []*Receipt `type:"list"` + // The time the message was delivered to the contact channel. + DeliveryTime *time.Time `type:"timestamp"` + + // The ARN of the engagement that this page is part of. + // + // EngagementArn is a required field + EngagementArn *string `min:"1" type:"string" required:"true"` + + // The ARN of the incident that's engaging the contact channel. + IncidentId *string `type:"string"` + + // The Amazon Resource Name (ARN) of the page to the contact channel. + // + // PageArn is a required field + PageArn *string `min:"1" type:"string" required:"true"` + + // The time that the contact channel acknowledged engagement. + ReadTime *time.Time `type:"timestamp"` + + // The user that started the engagement. + // + // Sender is a required field + Sender *string `type:"string" required:"true"` + + // The time that Incident Manager engaged the contact channel. + SentTime *time.Time `type:"timestamp"` } // String returns the string representation. @@ -5505,46 +8957,79 @@ type ListPageReceiptsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListPageReceiptsOutput) String() string { +func (s Page) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListPageReceiptsOutput) GoString() string { - return s.String() +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Page) GoString() string { + return s.String() +} + +// SetContactArn sets the ContactArn field's value. +func (s *Page) SetContactArn(v string) *Page { + s.ContactArn = &v + return s +} + +// SetDeliveryTime sets the DeliveryTime field's value. +func (s *Page) SetDeliveryTime(v time.Time) *Page { + s.DeliveryTime = &v + return s +} + +// SetEngagementArn sets the EngagementArn field's value. +func (s *Page) SetEngagementArn(v string) *Page { + s.EngagementArn = &v + return s +} + +// SetIncidentId sets the IncidentId field's value. +func (s *Page) SetIncidentId(v string) *Page { + s.IncidentId = &v + return s +} + +// SetPageArn sets the PageArn field's value. +func (s *Page) SetPageArn(v string) *Page { + s.PageArn = &v + return s +} + +// SetReadTime sets the ReadTime field's value. +func (s *Page) SetReadTime(v time.Time) *Page { + s.ReadTime = &v + return s } -// SetNextToken sets the NextToken field's value. -func (s *ListPageReceiptsOutput) SetNextToken(v string) *ListPageReceiptsOutput { - s.NextToken = &v +// SetSender sets the Sender field's value. +func (s *Page) SetSender(v string) *Page { + s.Sender = &v return s } -// SetReceipts sets the Receipts field's value. -func (s *ListPageReceiptsOutput) SetReceipts(v []*Receipt) *ListPageReceiptsOutput { - s.Receipts = v +// SetSentTime sets the SentTime field's value. +func (s *Page) SetSentTime(v time.Time) *Page { + s.SentTime = &v return s } -type ListPagesByContactInput struct { +// Information about the stages and on-call rotation teams associated with an +// escalation plan or engagement plan. +type Plan struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the contact you are retrieving engagements - // for. - // - // ContactId is a required field - ContactId *string `min:"1" type:"string" required:"true"` - - // The maximum number of engagements to contact channels to list per page of - // results. - MaxResults *int64 `type:"integer"` + // The Amazon Resource Names (ARNs) of the on-call rotations associated with + // the plan. + RotationIds []*string `type:"list"` - // The pagination token to continue to the next page of results. - NextToken *string `type:"string"` + // A list of stages that the escalation plan or engagement plan uses to engage + // contacts and contact methods. + Stages []*Stage `type:"list"` } // String returns the string representation. @@ -5552,7 +9037,7 @@ type ListPagesByContactInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListPagesByContactInput) String() string { +func (s Plan) String() string { return awsutil.Prettify(s) } @@ -5561,18 +9046,22 @@ func (s ListPagesByContactInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListPagesByContactInput) GoString() string { +func (s Plan) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListPagesByContactInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListPagesByContactInput"} - if s.ContactId == nil { - invalidParams.Add(request.NewErrParamRequired("ContactId")) - } - if s.ContactId != nil && len(*s.ContactId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ContactId", 1)) +func (s *Plan) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Plan"} + if s.Stages != nil { + for i, v := range s.Stages { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Stages", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -5581,34 +9070,30 @@ func (s *ListPagesByContactInput) Validate() error { return nil } -// SetContactId sets the ContactId field's value. -func (s *ListPagesByContactInput) SetContactId(v string) *ListPagesByContactInput { - s.ContactId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListPagesByContactInput) SetMaxResults(v int64) *ListPagesByContactInput { - s.MaxResults = &v +// SetRotationIds sets the RotationIds field's value. +func (s *Plan) SetRotationIds(v []*string) *Plan { + s.RotationIds = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListPagesByContactInput) SetNextToken(v string) *ListPagesByContactInput { - s.NextToken = &v +// SetStages sets the Stages field's value. +func (s *Plan) SetStages(v []*Stage) *Plan { + s.Stages = v return s } -type ListPagesByContactOutput struct { +// Information about contacts and times that an on-call override replaces. +type PreviewOverride struct { _ struct{} `type:"structure"` - // The pagination token to continue to the next page of results. - NextToken *string `type:"string"` + // Information about the time a rotation override would end. + EndTime *time.Time `type:"timestamp"` - // The list of engagements to a contact's contact channel. - // - // Pages is a required field - Pages []*Page `type:"list" required:"true"` + // Information about contacts to add to an on-call rotation override. + NewMembers []*string `type:"list"` + + // Information about the time a rotation override would begin. + StartTime *time.Time `type:"timestamp"` } // String returns the string representation. @@ -5616,7 +9101,7 @@ type ListPagesByContactOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListPagesByContactOutput) String() string { +func (s PreviewOverride) String() string { return awsutil.Prettify(s) } @@ -5625,36 +9110,40 @@ func (s ListPagesByContactOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListPagesByContactOutput) GoString() string { +func (s PreviewOverride) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListPagesByContactOutput) SetNextToken(v string) *ListPagesByContactOutput { - s.NextToken = &v +// SetEndTime sets the EndTime field's value. +func (s *PreviewOverride) SetEndTime(v time.Time) *PreviewOverride { + s.EndTime = &v return s } -// SetPages sets the Pages field's value. -func (s *ListPagesByContactOutput) SetPages(v []*Page) *ListPagesByContactOutput { - s.Pages = v +// SetNewMembers sets the NewMembers field's value. +func (s *PreviewOverride) SetNewMembers(v []*string) *PreviewOverride { + s.NewMembers = v return s } -type ListPagesByEngagementInput struct { +// SetStartTime sets the StartTime field's value. +func (s *PreviewOverride) SetStartTime(v time.Time) *PreviewOverride { + s.StartTime = &v + return s +} + +type PutContactPolicyInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the engagement. + // The Amazon Resource Name (ARN) of the contact or escalation plan. // - // EngagementId is a required field - EngagementId *string `min:"1" type:"string" required:"true"` - - // The maximum number of engagements to contact channels to list per page of - // results. - MaxResults *int64 `type:"integer"` + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` - // The pagination token to continue to the next page of results. - NextToken *string `type:"string"` + // Details of the resource policy. + // + // Policy is a required field + Policy *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -5662,7 +9151,7 @@ type ListPagesByEngagementInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListPagesByEngagementInput) String() string { +func (s PutContactPolicyInput) String() string { return awsutil.Prettify(s) } @@ -5671,18 +9160,24 @@ func (s ListPagesByEngagementInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListPagesByEngagementInput) GoString() string { +func (s PutContactPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListPagesByEngagementInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListPagesByEngagementInput"} - if s.EngagementId == nil { - invalidParams.Add(request.NewErrParamRequired("EngagementId")) +func (s *PutContactPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutContactPolicyInput"} + if s.ContactArn == nil { + invalidParams.Add(request.NewErrParamRequired("ContactArn")) } - if s.EngagementId != nil && len(*s.EngagementId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EngagementId", 1)) + if s.ContactArn != nil && len(*s.ContactArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactArn", 1)) + } + if s.Policy == nil { + invalidParams.Add(request.NewErrParamRequired("Policy")) + } + if s.Policy != nil && len(*s.Policy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) } if invalidParams.Len() > 0 { @@ -5691,34 +9186,20 @@ func (s *ListPagesByEngagementInput) Validate() error { return nil } -// SetEngagementId sets the EngagementId field's value. -func (s *ListPagesByEngagementInput) SetEngagementId(v string) *ListPagesByEngagementInput { - s.EngagementId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListPagesByEngagementInput) SetMaxResults(v int64) *ListPagesByEngagementInput { - s.MaxResults = &v +// SetContactArn sets the ContactArn field's value. +func (s *PutContactPolicyInput) SetContactArn(v string) *PutContactPolicyInput { + s.ContactArn = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListPagesByEngagementInput) SetNextToken(v string) *ListPagesByEngagementInput { - s.NextToken = &v +// SetPolicy sets the Policy field's value. +func (s *PutContactPolicyInput) SetPolicy(v string) *PutContactPolicyInput { + s.Policy = &v return s } -type ListPagesByEngagementOutput struct { +type PutContactPolicyOutput struct { _ struct{} `type:"structure"` - - // The pagination token to continue to the next page of results. - NextToken *string `type:"string"` - - // The list of engagements to contact channels. - // - // Pages is a required field - Pages []*Page `type:"list" required:"true"` } // String returns the string representation. @@ -5726,7 +9207,7 @@ type ListPagesByEngagementOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListPagesByEngagementOutput) String() string { +func (s PutContactPolicyOutput) String() string { return awsutil.Prettify(s) } @@ -5735,29 +9216,29 @@ func (s ListPagesByEngagementOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListPagesByEngagementOutput) GoString() string { +func (s PutContactPolicyOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListPagesByEngagementOutput) SetNextToken(v string) *ListPagesByEngagementOutput { - s.NextToken = &v - return s -} +// Records events during an engagement. +type Receipt struct { + _ struct{} `type:"structure"` -// SetPages sets the Pages field's value. -func (s *ListPagesByEngagementOutput) SetPages(v []*Page) *ListPagesByEngagementOutput { - s.Pages = v - return s -} + // The Amazon Resource Name (ARN) of the contact channel Incident Manager engaged. + ContactChannelArn *string `min:"1" type:"string"` -type ListTagsForResourceInput struct { - _ struct{} `type:"structure"` + // Information provided during the page acknowledgement. + ReceiptInfo *string `min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the contact or escalation plan. + // The time receipt was SENT, DELIVERED, or READ. // - // ResourceARN is a required field - ResourceARN *string `min:"1" type:"string" required:"true"` + // ReceiptTime is a required field + ReceiptTime *time.Time `type:"timestamp" required:"true"` + + // The type follows the engagement cycle, SENT, DELIVERED, and READ. + // + // ReceiptType is a required field + ReceiptType *string `type:"string" required:"true" enum:"ReceiptType"` } // String returns the string representation. @@ -5765,7 +9246,7 @@ type ListTagsForResourceInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceInput) String() string { +func (s Receipt) String() string { return awsutil.Prettify(s) } @@ -5774,98 +9255,62 @@ func (s ListTagsForResourceInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceInput) GoString() string { +func (s Receipt) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListTagsForResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} - if s.ResourceARN == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceARN")) - } - if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetResourceARN sets the ResourceARN field's value. -func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { - s.ResourceARN = &v +// SetContactChannelArn sets the ContactChannelArn field's value. +func (s *Receipt) SetContactChannelArn(v string) *Receipt { + s.ContactChannelArn = &v return s } -type ListTagsForResourceOutput struct { - _ struct{} `type:"structure"` - - // The tags related to the contact or escalation plan. - Tags []*Tag `type:"list"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) GoString() string { - return s.String() +// SetReceiptInfo sets the ReceiptInfo field's value. +func (s *Receipt) SetReceiptInfo(v string) *Receipt { + s.ReceiptInfo = &v + return s } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { - s.Tags = v +// SetReceiptTime sets the ReceiptTime field's value. +func (s *Receipt) SetReceiptTime(v time.Time) *Receipt { + s.ReceiptTime = &v return s } -// Incident Manager engaging a contact's contact channel. -type Page struct { +// SetReceiptType sets the ReceiptType field's value. +func (s *Receipt) SetReceiptType(v string) *Receipt { + s.ReceiptType = &v + return s +} + +// Information about when an on-call rotation is in effect and how long the +// rotation period lasts. +type RecurrenceSettings struct { _ struct{} `type:"structure"` - // The ARN of the contact that Incident Manager is engaging. - // - // ContactArn is a required field - ContactArn *string `min:"1" type:"string" required:"true"` + // Information about on-call rotations that recur daily. + DailySettings []*HandOffTime `type:"list"` - // The time the message was delivered to the contact channel. - DeliveryTime *time.Time `type:"timestamp"` + // Information about on-call rotations that recur monthly. + MonthlySettings []*MonthlySetting `type:"list"` - // The ARN of the engagement that this page is part of. + // The number of contacts, or shift team members designated to be on call concurrently + // during a shift. For example, in an on-call schedule containing ten contacts, + // a value of 2 designates that two of them are on call at any given time. // - // EngagementArn is a required field - EngagementArn *string `min:"1" type:"string" required:"true"` - - // The ARN of the incident that's engaging the contact channel. - IncidentId *string `type:"string"` + // NumberOfOnCalls is a required field + NumberOfOnCalls *int64 `min:"1" type:"integer" required:"true"` - // The Amazon Resource Name (ARN) of the page to the contact channel. + // The number of days, weeks, or months a single rotation lasts. // - // PageArn is a required field - PageArn *string `min:"1" type:"string" required:"true"` + // RecurrenceMultiplier is a required field + RecurrenceMultiplier *int64 `min:"1" type:"integer" required:"true"` - // The time that the contact channel acknowledged engagement. - ReadTime *time.Time `type:"timestamp"` - - // The user that started the engagement. - // - // Sender is a required field - Sender *string `type:"string" required:"true"` + // Information about the days of the week included in on-call rotation coverage. + ShiftCoverages map[string][]*CoverageTime `type:"map"` - // The time that Incident Manager engaged the contact channel. - SentTime *time.Time `type:"timestamp"` + // Information about on-call rotations that recur weekly. + WeeklySettings []*WeeklySetting `type:"list"` } // String returns the string representation. @@ -5873,7 +9318,7 @@ type Page struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Page) String() string { +func (s RecurrenceSettings) String() string { return awsutil.Prettify(s) } @@ -5882,68 +9327,121 @@ func (s Page) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Page) GoString() string { +func (s RecurrenceSettings) GoString() string { return s.String() } -// SetContactArn sets the ContactArn field's value. -func (s *Page) SetContactArn(v string) *Page { - s.ContactArn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *RecurrenceSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RecurrenceSettings"} + if s.NumberOfOnCalls == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfOnCalls")) + } + if s.NumberOfOnCalls != nil && *s.NumberOfOnCalls < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumberOfOnCalls", 1)) + } + if s.RecurrenceMultiplier == nil { + invalidParams.Add(request.NewErrParamRequired("RecurrenceMultiplier")) + } + if s.RecurrenceMultiplier != nil && *s.RecurrenceMultiplier < 1 { + invalidParams.Add(request.NewErrParamMinValue("RecurrenceMultiplier", 1)) + } + if s.DailySettings != nil { + for i, v := range s.DailySettings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DailySettings", i), err.(request.ErrInvalidParams)) + } + } + } + if s.MonthlySettings != nil { + for i, v := range s.MonthlySettings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MonthlySettings", i), err.(request.ErrInvalidParams)) + } + } + } + if s.WeeklySettings != nil { + for i, v := range s.WeeklySettings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WeeklySettings", i), err.(request.ErrInvalidParams)) + } + } + } -// SetDeliveryTime sets the DeliveryTime field's value. -func (s *Page) SetDeliveryTime(v time.Time) *Page { - s.DeliveryTime = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetEngagementArn sets the EngagementArn field's value. -func (s *Page) SetEngagementArn(v string) *Page { - s.EngagementArn = &v +// SetDailySettings sets the DailySettings field's value. +func (s *RecurrenceSettings) SetDailySettings(v []*HandOffTime) *RecurrenceSettings { + s.DailySettings = v return s } -// SetIncidentId sets the IncidentId field's value. -func (s *Page) SetIncidentId(v string) *Page { - s.IncidentId = &v +// SetMonthlySettings sets the MonthlySettings field's value. +func (s *RecurrenceSettings) SetMonthlySettings(v []*MonthlySetting) *RecurrenceSettings { + s.MonthlySettings = v return s } -// SetPageArn sets the PageArn field's value. -func (s *Page) SetPageArn(v string) *Page { - s.PageArn = &v +// SetNumberOfOnCalls sets the NumberOfOnCalls field's value. +func (s *RecurrenceSettings) SetNumberOfOnCalls(v int64) *RecurrenceSettings { + s.NumberOfOnCalls = &v return s } -// SetReadTime sets the ReadTime field's value. -func (s *Page) SetReadTime(v time.Time) *Page { - s.ReadTime = &v +// SetRecurrenceMultiplier sets the RecurrenceMultiplier field's value. +func (s *RecurrenceSettings) SetRecurrenceMultiplier(v int64) *RecurrenceSettings { + s.RecurrenceMultiplier = &v return s } -// SetSender sets the Sender field's value. -func (s *Page) SetSender(v string) *Page { - s.Sender = &v +// SetShiftCoverages sets the ShiftCoverages field's value. +func (s *RecurrenceSettings) SetShiftCoverages(v map[string][]*CoverageTime) *RecurrenceSettings { + s.ShiftCoverages = v return s } -// SetSentTime sets the SentTime field's value. -func (s *Page) SetSentTime(v time.Time) *Page { - s.SentTime = &v +// SetWeeklySettings sets the WeeklySettings field's value. +func (s *RecurrenceSettings) SetWeeklySettings(v []*WeeklySetting) *RecurrenceSettings { + s.WeeklySettings = v return s } -// The stages that an escalation plan or engagement plan engages contacts and -// contact methods in. -type Plan struct { +// Information about the engagement resolution steps. The resolution starts +// from the first contact, which can be an escalation plan, then resolves to +// an on-call rotation, and finally to a personal contact. +// +// The ResolutionContact structure describes the information for each node or +// step in that process. It contains information about different contact types, +// such as the escalation, rotation, and personal contacts. +type ResolutionContact struct { _ struct{} `type:"structure"` - // A list of stages that the escalation plan or engagement plan uses to engage - // contacts and contact methods. + // The Amazon Resource Name (ARN) of a contact in the engagement resolution + // process. // - // Stages is a required field - Stages []*Stage `type:"list" required:"true"` + // ContactArn is a required field + ContactArn *string `min:"1" type:"string" required:"true"` + + // The stage in the escalation plan that resolves to this contact. + StageIndex *int64 `type:"integer"` + + // The type of contact for a resolution step. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"ContactType"` } // String returns the string representation. @@ -5951,7 +9449,7 @@ type Plan struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Plan) String() string { +func (s ResolutionContact) String() string { return awsutil.Prettify(s) } @@ -5960,51 +9458,44 @@ func (s Plan) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Plan) GoString() string { +func (s ResolutionContact) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Plan) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Plan"} - if s.Stages == nil { - invalidParams.Add(request.NewErrParamRequired("Stages")) - } - if s.Stages != nil { - for i, v := range s.Stages { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Stages", i), err.(request.ErrInvalidParams)) - } - } - } +// SetContactArn sets the ContactArn field's value. +func (s *ResolutionContact) SetContactArn(v string) *ResolutionContact { + s.ContactArn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetStageIndex sets the StageIndex field's value. +func (s *ResolutionContact) SetStageIndex(v int64) *ResolutionContact { + s.StageIndex = &v + return s } -// SetStages sets the Stages field's value. -func (s *Plan) SetStages(v []*Stage) *Plan { - s.Stages = v +// SetType sets the Type field's value. +func (s *ResolutionContact) SetType(v string) *ResolutionContact { + s.Type = &v return s } -type PutContactPolicyInput struct { - _ struct{} `type:"structure"` +// Request references a resource that doesn't exist. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The Amazon Resource Name (ARN) of the contact or escalation plan. + Message_ *string `locationName:"Message" type:"string"` + + // Hypothetical resource identifier that was not found // - // ContactArn is a required field - ContactArn *string `min:"1" type:"string" required:"true"` + // ResourceId is a required field + ResourceId *string `type:"string" required:"true"` - // Details of the resource policy. + // Hypothetical resource type that was not found // - // Policy is a required field - Policy *string `min:"1" type:"string" required:"true"` + // ResourceType is a required field + ResourceType *string `type:"string" required:"true"` } // String returns the string representation. @@ -6012,7 +9503,7 @@ type PutContactPolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutContactPolicyInput) String() string { +func (s ResourceNotFoundException) String() string { return awsutil.Prettify(s) } @@ -6021,46 +9512,77 @@ func (s PutContactPolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutContactPolicyInput) GoString() string { +func (s ResourceNotFoundException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *PutContactPolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PutContactPolicyInput"} - if s.ContactArn == nil { - invalidParams.Add(request.NewErrParamRequired("ContactArn")) - } - if s.ContactArn != nil && len(*s.ContactArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ContactArn", 1)) - } - if s.Policy == nil { - invalidParams.Add(request.NewErrParamRequired("Policy")) - } - if s.Policy != nil && len(*s.Policy) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { return nil } -// SetContactArn sets the ContactArn field's value. -func (s *PutContactPolicyInput) SetContactArn(v string) *PutContactPolicyInput { - s.ContactArn = &v - return s +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetPolicy sets the Policy field's value. -func (s *PutContactPolicyInput) SetPolicy(v string) *PutContactPolicyInput { - s.Policy = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode } -type PutContactPolicyOutput struct { +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Information about a rotation in an on-call schedule. +type Rotation struct { _ struct{} `type:"structure"` + + // The Amazon Resource Names (ARNs) of the contacts assigned to the rotation + // team. + ContactIds []*string `type:"list"` + + // The name of the rotation. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Information about when an on-call rotation is in effect and how long the + // rotation period lasts. + Recurrence *RecurrenceSettings `type:"structure"` + + // The Amazon Resource Name (ARN) of the rotation. + // + // RotationArn is a required field + RotationArn *string `min:"1" type:"string" required:"true"` + + // The date and time the rotation becomes active. + StartTime *time.Time `type:"timestamp"` + + // The time zone the rotation’s activity is based on, in Internet Assigned + // Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", + // or "Asia/Seoul". + TimeZoneId *string `min:"1" type:"string"` } // String returns the string representation. @@ -6068,7 +9590,7 @@ type PutContactPolicyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutContactPolicyOutput) String() string { +func (s Rotation) String() string { return awsutil.Prettify(s) } @@ -6077,29 +9599,75 @@ func (s PutContactPolicyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutContactPolicyOutput) GoString() string { +func (s Rotation) GoString() string { return s.String() } -// Records events during an engagement. -type Receipt struct { +// SetContactIds sets the ContactIds field's value. +func (s *Rotation) SetContactIds(v []*string) *Rotation { + s.ContactIds = v + return s +} + +// SetName sets the Name field's value. +func (s *Rotation) SetName(v string) *Rotation { + s.Name = &v + return s +} + +// SetRecurrence sets the Recurrence field's value. +func (s *Rotation) SetRecurrence(v *RecurrenceSettings) *Rotation { + s.Recurrence = v + return s +} + +// SetRotationArn sets the RotationArn field's value. +func (s *Rotation) SetRotationArn(v string) *Rotation { + s.RotationArn = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *Rotation) SetStartTime(v time.Time) *Rotation { + s.StartTime = &v + return s +} + +// SetTimeZoneId sets the TimeZoneId field's value. +func (s *Rotation) SetTimeZoneId(v string) *Rotation { + s.TimeZoneId = &v + return s +} + +// Information about an override specified for an on-call rotation. +type RotationOverride struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the contact channel Incident Manager engaged. - ContactChannelArn *string `min:"1" type:"string"` + // The time a rotation override was created. + // + // CreateTime is a required field + CreateTime *time.Time `type:"timestamp" required:"true"` + + // The time a rotation override ends. + // + // EndTime is a required field + EndTime *time.Time `type:"timestamp" required:"true"` - // Information provided during the page acknowledgement. - ReceiptInfo *string `min:"1" type:"string"` + // The Amazon Resource Names (ARNs) of the contacts assigned to the override + // of the on-call rotation. + // + // NewContactIds is a required field + NewContactIds []*string `type:"list" required:"true"` - // The time receipt was SENT, DELIVERED, or READ. + // The Amazon Resource Name (ARN) of the override to an on-call rotation. // - // ReceiptTime is a required field - ReceiptTime *time.Time `type:"timestamp" required:"true"` + // RotationOverrideId is a required field + RotationOverrideId *string `min:"36" type:"string" required:"true"` - // The type follows the engagement cycle, SENT, DELIVERED, and READ. + // The time a rotation override begins. // - // ReceiptType is a required field - ReceiptType *string `type:"string" required:"true" enum:"ReceiptType"` + // StartTime is a required field + StartTime *time.Time `type:"timestamp" required:"true"` } // String returns the string representation. @@ -6107,7 +9675,7 @@ type Receipt struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Receipt) String() string { +func (s RotationOverride) String() string { return awsutil.Prettify(s) } @@ -6116,50 +9684,63 @@ func (s Receipt) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Receipt) GoString() string { +func (s RotationOverride) GoString() string { return s.String() } -// SetContactChannelArn sets the ContactChannelArn field's value. -func (s *Receipt) SetContactChannelArn(v string) *Receipt { - s.ContactChannelArn = &v +// SetCreateTime sets the CreateTime field's value. +func (s *RotationOverride) SetCreateTime(v time.Time) *RotationOverride { + s.CreateTime = &v return s } -// SetReceiptInfo sets the ReceiptInfo field's value. -func (s *Receipt) SetReceiptInfo(v string) *Receipt { - s.ReceiptInfo = &v +// SetEndTime sets the EndTime field's value. +func (s *RotationOverride) SetEndTime(v time.Time) *RotationOverride { + s.EndTime = &v return s } -// SetReceiptTime sets the ReceiptTime field's value. -func (s *Receipt) SetReceiptTime(v time.Time) *Receipt { - s.ReceiptTime = &v +// SetNewContactIds sets the NewContactIds field's value. +func (s *RotationOverride) SetNewContactIds(v []*string) *RotationOverride { + s.NewContactIds = v return s } -// SetReceiptType sets the ReceiptType field's value. -func (s *Receipt) SetReceiptType(v string) *Receipt { - s.ReceiptType = &v +// SetRotationOverrideId sets the RotationOverrideId field's value. +func (s *RotationOverride) SetRotationOverrideId(v string) *RotationOverride { + s.RotationOverrideId = &v return s } -// Request references a resource that doesn't exist. -type ResourceNotFoundException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetStartTime sets the StartTime field's value. +func (s *RotationOverride) SetStartTime(v time.Time) *RotationOverride { + s.StartTime = &v + return s +} - Message_ *string `locationName:"Message" type:"string"` +// Information about a shift that belongs to an on-call rotation. +type RotationShift struct { + _ struct{} `type:"structure"` - // Hypothetical resource identifier that was not found + // The Amazon Resource Names (ARNs) of the contacts who are part of the shift + // rotation. + ContactIds []*string `type:"list"` + + // The time a shift rotation ends. // - // ResourceId is a required field - ResourceId *string `type:"string" required:"true"` + // EndTime is a required field + EndTime *time.Time `type:"timestamp" required:"true"` - // Hypothetical resource type that was not found + // Additional information about an on-call rotation shift. + ShiftDetails *ShiftDetails `type:"structure"` + + // The time a shift rotation begins. // - // ResourceType is a required field - ResourceType *string `type:"string" required:"true"` + // StartTime is a required field + StartTime *time.Time `type:"timestamp" required:"true"` + + // The type of shift rotation. + Type *string `type:"string" enum:"ShiftType"` } // String returns the string representation. @@ -6167,7 +9748,7 @@ type ResourceNotFoundException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceNotFoundException) String() string { +func (s RotationShift) String() string { return awsutil.Prettify(s) } @@ -6176,46 +9757,38 @@ func (s ResourceNotFoundException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceNotFoundException) GoString() string { +func (s RotationShift) GoString() string { return s.String() } -func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { - return &ResourceNotFoundException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *ResourceNotFoundException) Code() string { - return "ResourceNotFoundException" -} - -// Message returns the exception's message. -func (s *ResourceNotFoundException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetContactIds sets the ContactIds field's value. +func (s *RotationShift) SetContactIds(v []*string) *RotationShift { + s.ContactIds = v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFoundException) OrigErr() error { - return nil +// SetEndTime sets the EndTime field's value. +func (s *RotationShift) SetEndTime(v time.Time) *RotationShift { + s.EndTime = &v + return s } -func (s *ResourceNotFoundException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetShiftDetails sets the ShiftDetails field's value. +func (s *RotationShift) SetShiftDetails(v *ShiftDetails) *RotationShift { + s.ShiftDetails = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceNotFoundException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetStartTime sets the StartTime field's value. +func (s *RotationShift) SetStartTime(v time.Time) *RotationShift { + s.StartTime = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceNotFoundException) RequestID() string { - return s.RespMetadata.RequestID +// SetType sets the Type field's value. +func (s *RotationShift) SetType(v string) *RotationShift { + s.Type = &v + return s } type SendActivationCodeInput struct { @@ -6369,6 +9942,42 @@ func (s *ServiceQuotaExceededException) RequestID() string { return s.RespMetadata.RequestID } +// Information about overrides to an on-call rotation shift. +type ShiftDetails struct { + _ struct{} `type:"structure"` + + // The Amazon Resources Names (ARNs) of the contacts who were replaced in a + // shift when an override was created. If the override is deleted, these contacts + // are restored to the shift. + // + // OverriddenContactIds is a required field + OverriddenContactIds []*string `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ShiftDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ShiftDetails) GoString() string { + return s.String() +} + +// SetOverriddenContactIds sets the OverriddenContactIds field's value. +func (s *ShiftDetails) SetOverriddenContactIds(v []*string) *ShiftDetails { + s.OverriddenContactIds = v + return s +} + // A set amount of time that an escalation plan or engagement plan engages the // specified contacts or contact methods. type Stage struct { @@ -7306,6 +10915,141 @@ func (s UpdateContactOutput) GoString() string { return s.String() } +type UpdateRotationInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Names (ARNs) of the contacts to include in the updated + // rotation. + // + // The order in which you list the contacts is their shift order in the rotation + // schedule. + ContactIds []*string `min:"1" type:"list"` + + // Information about how long the updated rotation lasts before restarting at + // the beginning of the shift order. + // + // Recurrence is a required field + Recurrence *RecurrenceSettings `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the rotation to update. + // + // RotationId is a required field + RotationId *string `min:"1" type:"string" required:"true"` + + // The date and time the rotation goes into effect. + StartTime *time.Time `type:"timestamp"` + + // The time zone to base the updated rotation’s activity on, in Internet Assigned + // Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", + // or "Asia/Seoul". For more information, see the Time Zone Database (https://www.iana.org/time-zones) + // on the IANA website. + // + // Designators for time zones that don’t support Daylight Savings Time Rules, + // such as Pacific Standard Time (PST) and Pacific Daylight Time (PDT), aren't + // supported. + TimeZoneId *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRotationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRotationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRotationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRotationInput"} + if s.ContactIds != nil && len(s.ContactIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ContactIds", 1)) + } + if s.Recurrence == nil { + invalidParams.Add(request.NewErrParamRequired("Recurrence")) + } + if s.RotationId == nil { + invalidParams.Add(request.NewErrParamRequired("RotationId")) + } + if s.RotationId != nil && len(*s.RotationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RotationId", 1)) + } + if s.TimeZoneId != nil && len(*s.TimeZoneId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TimeZoneId", 1)) + } + if s.Recurrence != nil { + if err := s.Recurrence.Validate(); err != nil { + invalidParams.AddNested("Recurrence", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContactIds sets the ContactIds field's value. +func (s *UpdateRotationInput) SetContactIds(v []*string) *UpdateRotationInput { + s.ContactIds = v + return s +} + +// SetRecurrence sets the Recurrence field's value. +func (s *UpdateRotationInput) SetRecurrence(v *RecurrenceSettings) *UpdateRotationInput { + s.Recurrence = v + return s +} + +// SetRotationId sets the RotationId field's value. +func (s *UpdateRotationInput) SetRotationId(v string) *UpdateRotationInput { + s.RotationId = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *UpdateRotationInput) SetStartTime(v time.Time) *UpdateRotationInput { + s.StartTime = &v + return s +} + +// SetTimeZoneId sets the TimeZoneId field's value. +func (s *UpdateRotationInput) SetTimeZoneId(v string) *UpdateRotationInput { + s.TimeZoneId = &v + return s +} + +type UpdateRotationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRotationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRotationOutput) GoString() string { + return s.String() +} + // The input fails to satisfy the constraints specified by an Amazon Web Services // service. type ValidationException struct { @@ -7422,6 +11166,72 @@ func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField { return s } +// Information about rotations that recur weekly. +type WeeklySetting struct { + _ struct{} `type:"structure"` + + // The day of the week when weekly recurring on-call shift rotations begins. + // + // DayOfWeek is a required field + DayOfWeek *string `type:"string" required:"true" enum:"DayOfWeek"` + + // The time of day when a weekly recurring on-call shift rotation begins. + // + // HandOffTime is a required field + HandOffTime *HandOffTime `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WeeklySetting) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WeeklySetting) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *WeeklySetting) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WeeklySetting"} + if s.DayOfWeek == nil { + invalidParams.Add(request.NewErrParamRequired("DayOfWeek")) + } + if s.HandOffTime == nil { + invalidParams.Add(request.NewErrParamRequired("HandOffTime")) + } + if s.HandOffTime != nil { + if err := s.HandOffTime.Validate(); err != nil { + invalidParams.AddNested("HandOffTime", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDayOfWeek sets the DayOfWeek field's value. +func (s *WeeklySetting) SetDayOfWeek(v string) *WeeklySetting { + s.DayOfWeek = &v + return s +} + +// SetHandOffTime sets the HandOffTime field's value. +func (s *WeeklySetting) SetHandOffTime(v *HandOffTime) *WeeklySetting { + s.HandOffTime = v + return s +} + const ( // AcceptCodeValidationIgnore is a AcceptCodeValidation enum value AcceptCodeValidationIgnore = "IGNORE" @@ -7496,6 +11306,9 @@ const ( // ContactTypeEscalation is a ContactType enum value ContactTypeEscalation = "ESCALATION" + + // ContactTypeOncallSchedule is a ContactType enum value + ContactTypeOncallSchedule = "ONCALL_SCHEDULE" ) // ContactType_Values returns all elements of the ContactType enum @@ -7503,6 +11316,43 @@ func ContactType_Values() []string { return []string{ ContactTypePersonal, ContactTypeEscalation, + ContactTypeOncallSchedule, + } +} + +const ( + // DayOfWeekMon is a DayOfWeek enum value + DayOfWeekMon = "MON" + + // DayOfWeekTue is a DayOfWeek enum value + DayOfWeekTue = "TUE" + + // DayOfWeekWed is a DayOfWeek enum value + DayOfWeekWed = "WED" + + // DayOfWeekThu is a DayOfWeek enum value + DayOfWeekThu = "THU" + + // DayOfWeekFri is a DayOfWeek enum value + DayOfWeekFri = "FRI" + + // DayOfWeekSat is a DayOfWeek enum value + DayOfWeekSat = "SAT" + + // DayOfWeekSun is a DayOfWeek enum value + DayOfWeekSun = "SUN" +) + +// DayOfWeek_Values returns all elements of the DayOfWeek enum +func DayOfWeek_Values() []string { + return []string{ + DayOfWeekMon, + DayOfWeekTue, + DayOfWeekWed, + DayOfWeekThu, + DayOfWeekFri, + DayOfWeekSat, + DayOfWeekSun, } } @@ -7534,6 +11384,22 @@ func ReceiptType_Values() []string { } } +const ( + // ShiftTypeRegular is a ShiftType enum value + ShiftTypeRegular = "REGULAR" + + // ShiftTypeOverridden is a ShiftType enum value + ShiftTypeOverridden = "OVERRIDDEN" +) + +// ShiftType_Values returns all elements of the ShiftType enum +func ShiftType_Values() []string { + return []string{ + ShiftTypeRegular, + ShiftTypeOverridden, + } +} + const ( // ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value ValidationExceptionReasonUnknownOperation = "UNKNOWN_OPERATION" diff --git a/service/ssmcontacts/ssmcontactsiface/interface.go b/service/ssmcontacts/ssmcontactsiface/interface.go index 3b150d9f7aa..39cb30675cf 100644 --- a/service/ssmcontacts/ssmcontactsiface/interface.go +++ b/service/ssmcontacts/ssmcontactsiface/interface.go @@ -76,6 +76,14 @@ type SSMContactsAPI interface { CreateContactChannelWithContext(aws.Context, *ssmcontacts.CreateContactChannelInput, ...request.Option) (*ssmcontacts.CreateContactChannelOutput, error) CreateContactChannelRequest(*ssmcontacts.CreateContactChannelInput) (*request.Request, *ssmcontacts.CreateContactChannelOutput) + CreateRotation(*ssmcontacts.CreateRotationInput) (*ssmcontacts.CreateRotationOutput, error) + CreateRotationWithContext(aws.Context, *ssmcontacts.CreateRotationInput, ...request.Option) (*ssmcontacts.CreateRotationOutput, error) + CreateRotationRequest(*ssmcontacts.CreateRotationInput) (*request.Request, *ssmcontacts.CreateRotationOutput) + + CreateRotationOverride(*ssmcontacts.CreateRotationOverrideInput) (*ssmcontacts.CreateRotationOverrideOutput, error) + CreateRotationOverrideWithContext(aws.Context, *ssmcontacts.CreateRotationOverrideInput, ...request.Option) (*ssmcontacts.CreateRotationOverrideOutput, error) + CreateRotationOverrideRequest(*ssmcontacts.CreateRotationOverrideInput) (*request.Request, *ssmcontacts.CreateRotationOverrideOutput) + DeactivateContactChannel(*ssmcontacts.DeactivateContactChannelInput) (*ssmcontacts.DeactivateContactChannelOutput, error) DeactivateContactChannelWithContext(aws.Context, *ssmcontacts.DeactivateContactChannelInput, ...request.Option) (*ssmcontacts.DeactivateContactChannelOutput, error) DeactivateContactChannelRequest(*ssmcontacts.DeactivateContactChannelInput) (*request.Request, *ssmcontacts.DeactivateContactChannelOutput) @@ -88,6 +96,14 @@ type SSMContactsAPI interface { DeleteContactChannelWithContext(aws.Context, *ssmcontacts.DeleteContactChannelInput, ...request.Option) (*ssmcontacts.DeleteContactChannelOutput, error) DeleteContactChannelRequest(*ssmcontacts.DeleteContactChannelInput) (*request.Request, *ssmcontacts.DeleteContactChannelOutput) + DeleteRotation(*ssmcontacts.DeleteRotationInput) (*ssmcontacts.DeleteRotationOutput, error) + DeleteRotationWithContext(aws.Context, *ssmcontacts.DeleteRotationInput, ...request.Option) (*ssmcontacts.DeleteRotationOutput, error) + DeleteRotationRequest(*ssmcontacts.DeleteRotationInput) (*request.Request, *ssmcontacts.DeleteRotationOutput) + + DeleteRotationOverride(*ssmcontacts.DeleteRotationOverrideInput) (*ssmcontacts.DeleteRotationOverrideOutput, error) + DeleteRotationOverrideWithContext(aws.Context, *ssmcontacts.DeleteRotationOverrideInput, ...request.Option) (*ssmcontacts.DeleteRotationOverrideOutput, error) + DeleteRotationOverrideRequest(*ssmcontacts.DeleteRotationOverrideInput) (*request.Request, *ssmcontacts.DeleteRotationOverrideOutput) + DescribeEngagement(*ssmcontacts.DescribeEngagementInput) (*ssmcontacts.DescribeEngagementOutput, error) DescribeEngagementWithContext(aws.Context, *ssmcontacts.DescribeEngagementInput, ...request.Option) (*ssmcontacts.DescribeEngagementOutput, error) DescribeEngagementRequest(*ssmcontacts.DescribeEngagementInput) (*request.Request, *ssmcontacts.DescribeEngagementOutput) @@ -108,6 +124,14 @@ type SSMContactsAPI interface { GetContactPolicyWithContext(aws.Context, *ssmcontacts.GetContactPolicyInput, ...request.Option) (*ssmcontacts.GetContactPolicyOutput, error) GetContactPolicyRequest(*ssmcontacts.GetContactPolicyInput) (*request.Request, *ssmcontacts.GetContactPolicyOutput) + GetRotation(*ssmcontacts.GetRotationInput) (*ssmcontacts.GetRotationOutput, error) + GetRotationWithContext(aws.Context, *ssmcontacts.GetRotationInput, ...request.Option) (*ssmcontacts.GetRotationOutput, error) + GetRotationRequest(*ssmcontacts.GetRotationInput) (*request.Request, *ssmcontacts.GetRotationOutput) + + GetRotationOverride(*ssmcontacts.GetRotationOverrideInput) (*ssmcontacts.GetRotationOverrideOutput, error) + GetRotationOverrideWithContext(aws.Context, *ssmcontacts.GetRotationOverrideInput, ...request.Option) (*ssmcontacts.GetRotationOverrideOutput, error) + GetRotationOverrideRequest(*ssmcontacts.GetRotationOverrideInput) (*request.Request, *ssmcontacts.GetRotationOverrideOutput) + ListContactChannels(*ssmcontacts.ListContactChannelsInput) (*ssmcontacts.ListContactChannelsOutput, error) ListContactChannelsWithContext(aws.Context, *ssmcontacts.ListContactChannelsInput, ...request.Option) (*ssmcontacts.ListContactChannelsOutput, error) ListContactChannelsRequest(*ssmcontacts.ListContactChannelsInput) (*request.Request, *ssmcontacts.ListContactChannelsOutput) @@ -136,6 +160,13 @@ type SSMContactsAPI interface { ListPageReceiptsPages(*ssmcontacts.ListPageReceiptsInput, func(*ssmcontacts.ListPageReceiptsOutput, bool) bool) error ListPageReceiptsPagesWithContext(aws.Context, *ssmcontacts.ListPageReceiptsInput, func(*ssmcontacts.ListPageReceiptsOutput, bool) bool, ...request.Option) error + ListPageResolutions(*ssmcontacts.ListPageResolutionsInput) (*ssmcontacts.ListPageResolutionsOutput, error) + ListPageResolutionsWithContext(aws.Context, *ssmcontacts.ListPageResolutionsInput, ...request.Option) (*ssmcontacts.ListPageResolutionsOutput, error) + ListPageResolutionsRequest(*ssmcontacts.ListPageResolutionsInput) (*request.Request, *ssmcontacts.ListPageResolutionsOutput) + + ListPageResolutionsPages(*ssmcontacts.ListPageResolutionsInput, func(*ssmcontacts.ListPageResolutionsOutput, bool) bool) error + ListPageResolutionsPagesWithContext(aws.Context, *ssmcontacts.ListPageResolutionsInput, func(*ssmcontacts.ListPageResolutionsOutput, bool) bool, ...request.Option) error + ListPagesByContact(*ssmcontacts.ListPagesByContactInput) (*ssmcontacts.ListPagesByContactOutput, error) ListPagesByContactWithContext(aws.Context, *ssmcontacts.ListPagesByContactInput, ...request.Option) (*ssmcontacts.ListPagesByContactOutput, error) ListPagesByContactRequest(*ssmcontacts.ListPagesByContactInput) (*request.Request, *ssmcontacts.ListPagesByContactOutput) @@ -150,6 +181,34 @@ type SSMContactsAPI interface { ListPagesByEngagementPages(*ssmcontacts.ListPagesByEngagementInput, func(*ssmcontacts.ListPagesByEngagementOutput, bool) bool) error ListPagesByEngagementPagesWithContext(aws.Context, *ssmcontacts.ListPagesByEngagementInput, func(*ssmcontacts.ListPagesByEngagementOutput, bool) bool, ...request.Option) error + ListPreviewRotationShifts(*ssmcontacts.ListPreviewRotationShiftsInput) (*ssmcontacts.ListPreviewRotationShiftsOutput, error) + ListPreviewRotationShiftsWithContext(aws.Context, *ssmcontacts.ListPreviewRotationShiftsInput, ...request.Option) (*ssmcontacts.ListPreviewRotationShiftsOutput, error) + ListPreviewRotationShiftsRequest(*ssmcontacts.ListPreviewRotationShiftsInput) (*request.Request, *ssmcontacts.ListPreviewRotationShiftsOutput) + + ListPreviewRotationShiftsPages(*ssmcontacts.ListPreviewRotationShiftsInput, func(*ssmcontacts.ListPreviewRotationShiftsOutput, bool) bool) error + ListPreviewRotationShiftsPagesWithContext(aws.Context, *ssmcontacts.ListPreviewRotationShiftsInput, func(*ssmcontacts.ListPreviewRotationShiftsOutput, bool) bool, ...request.Option) error + + ListRotationOverrides(*ssmcontacts.ListRotationOverridesInput) (*ssmcontacts.ListRotationOverridesOutput, error) + ListRotationOverridesWithContext(aws.Context, *ssmcontacts.ListRotationOverridesInput, ...request.Option) (*ssmcontacts.ListRotationOverridesOutput, error) + ListRotationOverridesRequest(*ssmcontacts.ListRotationOverridesInput) (*request.Request, *ssmcontacts.ListRotationOverridesOutput) + + ListRotationOverridesPages(*ssmcontacts.ListRotationOverridesInput, func(*ssmcontacts.ListRotationOverridesOutput, bool) bool) error + ListRotationOverridesPagesWithContext(aws.Context, *ssmcontacts.ListRotationOverridesInput, func(*ssmcontacts.ListRotationOverridesOutput, bool) bool, ...request.Option) error + + ListRotationShifts(*ssmcontacts.ListRotationShiftsInput) (*ssmcontacts.ListRotationShiftsOutput, error) + ListRotationShiftsWithContext(aws.Context, *ssmcontacts.ListRotationShiftsInput, ...request.Option) (*ssmcontacts.ListRotationShiftsOutput, error) + ListRotationShiftsRequest(*ssmcontacts.ListRotationShiftsInput) (*request.Request, *ssmcontacts.ListRotationShiftsOutput) + + ListRotationShiftsPages(*ssmcontacts.ListRotationShiftsInput, func(*ssmcontacts.ListRotationShiftsOutput, bool) bool) error + ListRotationShiftsPagesWithContext(aws.Context, *ssmcontacts.ListRotationShiftsInput, func(*ssmcontacts.ListRotationShiftsOutput, bool) bool, ...request.Option) error + + ListRotations(*ssmcontacts.ListRotationsInput) (*ssmcontacts.ListRotationsOutput, error) + ListRotationsWithContext(aws.Context, *ssmcontacts.ListRotationsInput, ...request.Option) (*ssmcontacts.ListRotationsOutput, error) + ListRotationsRequest(*ssmcontacts.ListRotationsInput) (*request.Request, *ssmcontacts.ListRotationsOutput) + + ListRotationsPages(*ssmcontacts.ListRotationsInput, func(*ssmcontacts.ListRotationsOutput, bool) bool) error + ListRotationsPagesWithContext(aws.Context, *ssmcontacts.ListRotationsInput, func(*ssmcontacts.ListRotationsOutput, bool) bool, ...request.Option) error + ListTagsForResource(*ssmcontacts.ListTagsForResourceInput) (*ssmcontacts.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *ssmcontacts.ListTagsForResourceInput, ...request.Option) (*ssmcontacts.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*ssmcontacts.ListTagsForResourceInput) (*request.Request, *ssmcontacts.ListTagsForResourceOutput) @@ -185,6 +244,10 @@ type SSMContactsAPI interface { UpdateContactChannel(*ssmcontacts.UpdateContactChannelInput) (*ssmcontacts.UpdateContactChannelOutput, error) UpdateContactChannelWithContext(aws.Context, *ssmcontacts.UpdateContactChannelInput, ...request.Option) (*ssmcontacts.UpdateContactChannelOutput, error) UpdateContactChannelRequest(*ssmcontacts.UpdateContactChannelInput) (*request.Request, *ssmcontacts.UpdateContactChannelOutput) + + UpdateRotation(*ssmcontacts.UpdateRotationInput) (*ssmcontacts.UpdateRotationOutput, error) + UpdateRotationWithContext(aws.Context, *ssmcontacts.UpdateRotationInput, ...request.Option) (*ssmcontacts.UpdateRotationOutput, error) + UpdateRotationRequest(*ssmcontacts.UpdateRotationInput) (*request.Request, *ssmcontacts.UpdateRotationOutput) } var _ SSMContactsAPI = (*ssmcontacts.SSMContacts)(nil) diff --git a/service/ssmincidents/api.go b/service/ssmincidents/api.go index 6c8ef2612a8..2416400b8c9 100644 --- a/service/ssmincidents/api.go +++ b/service/ssmincidents/api.go @@ -252,9 +252,9 @@ func (c *SSMIncidents) CreateTimelineEventRequest(input *CreateTimelineEventInpu // CreateTimelineEvent API operation for AWS Systems Manager Incident Manager. // // Creates a custom timeline event on the incident details page of an incident -// record. Timeline events are automatically created by Incident Manager, marking -// key moment during an incident. You can create custom timeline events to mark -// important events that are automatically detected by Incident Manager. +// record. Incident Manager automatically creates timeline events that mark +// key moments during an incident. You can create custom timeline events to +// mark important events that Incident Manager can detect automatically. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3823,7 +3823,8 @@ func (s *CreateResponsePlanOutput) SetArn(v string) *CreateResponsePlanOutput { type CreateTimelineEventInput struct { _ struct{} `type:"structure"` - // A token ensuring that the action is called only once with the specified details. + // A token that ensures that a client calls the action only once with the specified + // details. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // A short description of the event. @@ -3831,13 +3832,13 @@ type CreateTimelineEventInput struct { // EventData is a required field EventData *string `locationName:"eventData" type:"string" required:"true"` - // Adds one or more references to the TimelineEvent. A reference can be an Amazon - // Web Services resource involved in the incident or in some way associated - // with it. When you specify a reference, you enter the Amazon Resource Name - // (ARN) of the resource. You can also specify a related item. As an example, - // you could specify the ARN of an Amazon DynamoDB (DynamoDB) table. The table - // for this example is the resource. You could also specify a Amazon CloudWatch - // metric for that table. The metric is the related item. + // Adds one or more references to the TimelineEvent. A reference is an Amazon + // Web Services resource involved or associated with the incident. To specify + // a reference, enter its Amazon Resource Name (ARN). You can also specify a + // related item associated with a resource. For example, to specify an Amazon + // DynamoDB (DynamoDB) table as a resource, use the table's ARN. You can also + // specify an Amazon CloudWatch metric associated with the DynamoDB table as + // a related item. EventReferences []*EventReference `locationName:"eventReferences" type:"list"` // The time that the event occurred. @@ -3845,13 +3846,13 @@ type CreateTimelineEventInput struct { // EventTime is a required field EventTime *time.Time `locationName:"eventTime" type:"timestamp" required:"true"` - // The type of the event. You can create timeline events of type Custom Event. + // The type of event. You can create timeline events of type Custom Event. // // EventType is a required field EventType *string `locationName:"eventType" type:"string" required:"true"` - // The Amazon Resource Name (ARN) of the incident record to which the event - // will be added. + // The Amazon Resource Name (ARN) of the incident record that the action adds + // the incident to. // // IncidentRecordArn is a required field IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"` @@ -4316,7 +4317,8 @@ func (s DeleteResponsePlanOutput) GoString() string { type DeleteTimelineEventInput struct { _ struct{} `type:"structure"` - // The ID of the event you are updating. You can find this by using ListTimelineEvents. + // The ID of the event to update. You can use ListTimelineEvents to find an + // event's ID. // // EventId is a required field EventId *string `locationName:"eventId" type:"string" required:"true"` @@ -5854,8 +5856,8 @@ func (s *ItemValue) SetUrl(v string) *ItemValue { type ListIncidentRecordsInput struct { _ struct{} `type:"structure"` - // Filters the list of incident records through which you are searching. You - // can filter on the following keys: + // Filters the list of incident records you want to search through. You can + // filter on the following keys: // // * creationTime // @@ -5865,7 +5867,7 @@ type ListIncidentRecordsInput struct { // // * createdBy // - // Note the following when deciding how to use Filters: + // Note the following when when you use Filters: // // * If you don't specify a Filter, the response includes all incident records. // @@ -6370,7 +6372,7 @@ type ListTimelineEventsInput struct { _ struct{} `type:"structure"` // Filters the timeline events based on the provided conditional values. You - // can filter timeline events using the following keys: + // can filter timeline events with the following keys: // // * eventTime // @@ -6399,7 +6401,7 @@ type ListTimelineEventsInput struct { // The pagination token to continue to the next page of results. NextToken *string `locationName:"nextToken" type:"string"` - // Sort by the specified key value pair. + // Sort timeline events by the specified key value pair. SortBy *string `locationName:"sortBy" type:"string" enum:"TimelineEventSort"` // Sorts the order of timeline events by the value specified in the sortBy field. @@ -7609,7 +7611,8 @@ type StartIncidentInput struct { Impact *int64 `locationName:"impact" min:"1" type:"integer"` // Add related items to the incident for other responders to use. Related items - // are AWS resources, external links, or files uploaded to an Amazon S3 bucket. + // are Amazon Web Services resources, external links, or files uploaded to an + // Amazon S3 bucket. RelatedItems []*RelatedItem `locationName:"relatedItems" type:"list"` // The Amazon Resource Name (ARN) of the response plan that pre-defines summary, @@ -8281,12 +8284,13 @@ type UpdateIncidentRecordInput struct { // The Chatbot chat channel where responders can collaborate. ChatChannel *ChatChannel `locationName:"chatChannel" type:"structure"` - // A token that ensures that the operation is called only once with the specified - // details. + // A token that ensures that a client calls the operation only once with the + // specified details. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - // Defines the impact of the incident to customers and applications. Providing - // an impact overwrites the impact provided by the response plan. + // Defines the impact of the incident to customers and applications. If you + // provide an impact for an incident, it overwrites the impact provided by the + // response plan. // // Possible impacts: // @@ -8303,13 +8307,14 @@ type UpdateIncidentRecordInput struct { // is needed to avoid impact. Impact *int64 `locationName:"impact" min:"1" type:"integer"` - // The Amazon SNS targets that are notified when updates are made to an incident. + // The Amazon SNS targets that Incident Manager notifies when a client updates + // an incident. // // Using multiple SNS topics creates redundancy in the event that a Region is // down during the incident. NotificationTargets []*NotificationTargetItem `locationName:"notificationTargets" type:"list"` - // The status of the incident. An incident can be Open or Resolved. + // The status of the incident. Possible statuses are Open or Resolved. Status *string `locationName:"status" type:"string" enum:"IncidentRecordStatus"` // A longer description of what occurred during the incident. @@ -8431,17 +8436,17 @@ func (s UpdateIncidentRecordOutput) GoString() string { type UpdateRelatedItemsInput struct { _ struct{} `type:"structure"` - // A token ensuring that the operation is called only once with the specified - // details. + // A token that ensures that a client calls the operation only once with the + // specified details. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` - // The Amazon Resource Name (ARN) of the incident record containing the related - // items you are updating. + // The Amazon Resource Name (ARN) of the incident record that contains the related + // items that you update. // // IncidentRecordArn is a required field IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"` - // Details about the item you are adding or deleting. + // Details about the item that you are add to, or delete from, an incident. // // RelatedItemsUpdate is a required field RelatedItemsUpdate *RelatedItemsUpdate `locationName:"relatedItemsUpdate" type:"structure" required:"true"` @@ -8924,35 +8929,36 @@ func (s UpdateResponsePlanOutput) GoString() string { type UpdateTimelineEventInput struct { _ struct{} `type:"structure"` - // A token ensuring that the operation is called only once with the specified - // details. + // A token that ensures that a client calls the operation only once with the + // specified details. ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"` // A short description of the event. EventData *string `locationName:"eventData" type:"string"` - // The ID of the event you are updating. You can find this by using ListTimelineEvents. + // The ID of the event to update. You can use ListTimelineEvents to find an + // event's ID. // // EventId is a required field EventId *string `locationName:"eventId" type:"string" required:"true"` - // Updates all existing references in a TimelineEvent. A reference can be an - // Amazon Web Services resource involved in the incident or in some way associated - // with it. When you specify a reference, you enter the Amazon Resource Name - // (ARN) of the resource. You can also specify a related item. As an example, - // you could specify the ARN of an Amazon DynamoDB (DynamoDB) table. The table - // for this example is the resource. You could also specify a Amazon CloudWatch - // metric for that table. The metric is the related item. + // Updates all existing references in a TimelineEvent. A reference is an Amazon + // Web Services resource involved or associated with the incident. To specify + // a reference, enter its Amazon Resource Name (ARN). You can also specify a + // related item associated with that resource. For example, to specify an Amazon + // DynamoDB (DynamoDB) table as a resource, use its ARN. You can also specify + // an Amazon CloudWatch metric associated with the DynamoDB table as a related + // item. // // This update action overrides all existing references. If you want to keep // existing references, you must specify them in the call. If you don't, this - // action removes them and enters only new references. + // action removes any existing references and enters only new references. EventReferences []*EventReference `locationName:"eventReferences" type:"list"` // The time that the event occurred. EventTime *time.Time `locationName:"eventTime" type:"timestamp"` - // The type of the event. You can update events of type Custom Event. + // The type of event. You can update events of type Custom Event. EventType *string `locationName:"eventType" type:"string"` // The Amazon Resource Name (ARN) of the incident that includes the timeline