From 93ed3ee62605d8af3021010c5ddbf2141574af00 Mon Sep 17 00:00:00 2001 From: AWS SDK for Go v2 automation user Date: Thu, 20 Oct 2022 18:44:18 +0000 Subject: [PATCH] Update API model --- .../sdk-codegen/aws-models/devops-guru.json | 1389 ++++++++++- .../aws-models/global-accelerator.json | 951 ++++++-- .../sdk-codegen/aws-models/resiliencehub.json | 1444 +++++++++++- codegen/sdk-codegen/aws-models/rum.json | 2071 ++++++++++++++++- 4 files changed, 5516 insertions(+), 339 deletions(-) diff --git a/codegen/sdk-codegen/aws-models/devops-guru.json b/codegen/sdk-codegen/aws-models/devops-guru.json index 754cacfde2d..8c933564d45 100644 --- a/codegen/sdk-codegen/aws-models/devops-guru.json +++ b/codegen/sdk-codegen/aws-models/devops-guru.json @@ -183,6 +183,9 @@ "smithy.api#documentation": "

Information about your account's integration with Amazon CodeGuru Profiler. This\n\t\t\treturns whether DevOps Guru is configured to consume recommendations generated from Amazon\n\t\t\tCodeGuru Profiler.

" } }, + "com.amazonaws.devopsguru#AnalyzedResourceCount": { + "type": "long" + }, "com.amazonaws.devopsguru#AnomalousLogGroup": { "type": "structure", "members": { @@ -558,7 +561,1197 @@ }, "aws.protocols#restJson1": {}, "smithy.api#documentation": "

Amazon DevOps Guru is a fully managed service that helps you identify anomalous behavior in\n\t\t\tbusiness critical operational applications. You specify the Amazon Web Services resources that you\n\t\t\twant DevOps Guru to cover, then the Amazon CloudWatch metrics and Amazon Web Services CloudTrail events related to those\n\t\t\tresources are analyzed. When anomalous behavior is detected, DevOps Guru creates an\n\t\t\t\tinsight that includes recommendations, related events, and\n\t\t\trelated metrics that can help you improve your operational applications. For more\n\t\t\tinformation, see What is Amazon DevOps Guru.

\n\n\t\t

You can specify 1 or 2 Amazon Simple Notification Service topics so you are notified every time a new insight\n\t\t\tis created. You can also enable DevOps Guru to generate an OpsItem in Amazon Web Services Systems Manager for each\n\t\t\tinsight to help you manage and track your work addressing insights.

\n\n\t\t

To learn about the DevOps Guru workflow, see How DevOps Guru works. To\n\t\t\tlearn about DevOps Guru concepts, see Concepts in DevOps Guru.

", - "smithy.api#title": "Amazon DevOps Guru" + "smithy.api#title": "Amazon DevOps Guru", + "smithy.rules#endpointRuleSet": { + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "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": [ + { + "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": [], + "endpoint": { + "url": "https://devops-guru-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://devops-guru-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": [], + "endpoint": { + "url": "https://devops-guru.{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://devops-guru.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devops-guru-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://devops-guru-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://devops-guru.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://devops-guru.ap-south-1.amazonaws.com" + } + }, + "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://devops-guru-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://devops-guru-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://devops-guru.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://devops-guru.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://devops-guru-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://devops-guru-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://devops-guru.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://devops-guru.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://devops-guru-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://devops-guru-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://devops-guru.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://devops-guru.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://devops-guru-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://devops-guru-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://devops-guru.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://devops-guru.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://devops-guru-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://devops-guru-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://devops-guru.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://devops-guru.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://devops-guru-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://devops-guru-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://devops-guru.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://devops-guru.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://devops-guru-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://devops-guru-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://devops-guru.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://devops-guru.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://devops-guru-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://devops-guru-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://devops-guru.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://devops-guru.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://devops-guru-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://devops-guru-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://devops-guru.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://devops-guru.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://devops-guru-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://devops-guru-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://devops-guru.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://devops-guru.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devops-guru-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devops-guru-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devops-guru.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devops-guru.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devops-guru-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devops-guru-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devops-guru.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devops-guru.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devops-guru-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devops-guru-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devops-guru.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devops-guru.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devops-guru-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devops-guru-fips.us-east-1.amazonaws.com" + } + }, + "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://devops-guru.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devops-guru.us-east-1.amazonaws.com" + } + }, + "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://devops-guru-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://devops-guru-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devops-guru.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devops-guru.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": 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": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false, + "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": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" + } } }, "com.amazonaws.devopsguru#Channels": { @@ -633,6 +1826,12 @@ "traits": { "smithy.api#documentation": "

Information about the health of the Amazon Web Services resources in your account that are\n\t\t\tspecified by an Amazon Web Services CloudFormation stack, including the number of open proactive, open reactive\n\t\t\tinsights, and the Mean Time to Recover (MTTR) of closed insights.

" } + }, + "AnalyzedResourceCount": { + "target": "com.amazonaws.devopsguru#AnalyzedResourceCount", + "traits": { + "smithy.api#documentation": "

\n\t\t\tNumber of resources that DevOps Guru is monitoring in your account that are specified by an Amazon Web Services CloudFormation stack.\n\t\t

" + } } }, "traits": { @@ -1107,6 +2306,12 @@ "smithy.api#documentation": "

The number of Amazon DevOps Guru resource analysis hours billed to the current Amazon Web Services account in\n\t\t\tthe last hour.

", "smithy.api#required": {} } + }, + "AnalyzedResourceCount": { + "target": "com.amazonaws.devopsguru#AnalyzedResourceCount", + "traits": { + "smithy.api#documentation": "

\n\t\t\tNumber of resources that DevOps Guru is monitoring in your Amazon Web Services account.\n\t\t

" + } } } }, @@ -3135,8 +4340,7 @@ "Filters": { "target": "com.amazonaws.devopsguru#ListMonitoredResourcesFilters", "traits": { - "smithy.api#documentation": "

\n\t\t\tFilters to determine which monitored resources you want to retrieve. You can filter by resource type or resource permission status.\n\t\t

", - "smithy.api#required": {} + "smithy.api#documentation": "

\n\t\t\tFilters to determine which monitored resources you want to retrieve. You can filter by resource type or resource permission status.\n\t\t

" } }, "MaxResults": { @@ -3718,6 +4922,15 @@ "traits": { "smithy.api#documentation": "

\n\t\t\tThe permission status of a resource.\n\t\t

" } + }, + "LastUpdated": { + "target": "com.amazonaws.devopsguru#Timestamp", + "traits": { + "smithy.api#documentation": "

\n\t\t\tThe time at which DevOps Guru last updated this resource.\n\t\t

" + } + }, + "ResourceCollection": { + "target": "com.amazonaws.devopsguru#ResourceCollection" } }, "traits": { @@ -5459,6 +6672,162 @@ "traits": { "smithy.api#enumValue": "LOG_GROUPS" } + }, + "CLOUDFRONT_DISTRIBUTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLOUDFRONT_DISTRIBUTION" + } + }, + "DYNAMODB_TABLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DYNAMODB_TABLE" + } + }, + "EC2_NAT_GATEWAY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EC2_NAT_GATEWAY" + } + }, + "ECS_CLUSTER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECS_CLUSTER" + } + }, + "ECS_SERVICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ECS_SERVICE" + } + }, + "EKS_CLUSTER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EKS_CLUSTER" + } + }, + "ELASTIC_BEANSTALK_ENVIRONMENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ELASTIC_BEANSTALK_ENVIRONMENT" + } + }, + "ELASTIC_LOAD_BALANCER_LOAD_BALANCER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ELASTIC_LOAD_BALANCER_LOAD_BALANCER" + } + }, + "ELASTIC_LOAD_BALANCING_V2_LOAD_BALANCER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ELASTIC_LOAD_BALANCING_V2_LOAD_BALANCER" + } + }, + "ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP" + } + }, + "ELASTICACHE_CACHE_CLUSTER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ELASTICACHE_CACHE_CLUSTER" + } + }, + "ELASTICSEARCH_DOMAIN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ELASTICSEARCH_DOMAIN" + } + }, + "KINESIS_STREAM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "KINESIS_STREAM" + } + }, + "LAMBDA_FUNCTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LAMBDA_FUNCTION" + } + }, + "OPEN_SEARCH_SERVICE_DOMAIN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OPEN_SEARCH_SERVICE_DOMAIN" + } + }, + "RDS_DB_INSTANCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RDS_DB_INSTANCE" + } + }, + "RDS_DB_CLUSTER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RDS_DB_CLUSTER" + } + }, + "REDSHIFT_CLUSTER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REDSHIFT_CLUSTER" + } + }, + "ROUTE53_HOSTED_ZONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ROUTE53_HOSTED_ZONE" + } + }, + "ROUTE53_HEALTH_CHECK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ROUTE53_HEALTH_CHECK" + } + }, + "S3_BUCKET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "S3_BUCKET" + } + }, + "SAGEMAKER_ENDPOINT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SAGEMAKER_ENDPOINT" + } + }, + "SNS_TOPIC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SNS_TOPIC" + } + }, + "SQS_QUEUE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SQS_QUEUE" + } + }, + "STEP_FUNCTIONS_ACTIVITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STEP_FUNCTIONS_ACTIVITY" + } + }, + "STEP_FUNCTIONS_STATE_MACHINE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STEP_FUNCTIONS_STATE_MACHINE" + } } } }, @@ -5497,7 +6866,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of insights in your Amazon Web Services account. You can specify which insights are\n\t\t\treturned by their start time, one or more statuses (ONGOING,\n\t\t\t\tCLOSED, and CLOSED), one or more severities\n\t\t\t\t(LOW, MEDIUM, and HIGH), and type\n\t\t\t\t(REACTIVE or PROACTIVE).

\n\t\t

Use the Filters parameter to specify status and severity search\n\t\t\tparameters. Use the Type parameter to specify REACTIVE or\n\t\t\t\tPROACTIVE in your search.

", + "smithy.api#documentation": "

Returns a list of insights in your Amazon Web Services account. You can specify which insights are\n\t\t\treturned by their start time, one or more statuses (ONGOING or CLOSED), one or more severities\n\t\t\t\t(LOW, MEDIUM, and HIGH), and type\n\t\t\t\t(REACTIVE or PROACTIVE).

\n\t\t

Use the Filters parameter to specify status and severity search\n\t\t\tparameters. Use the Type parameter to specify REACTIVE or\n\t\t\t\tPROACTIVE in your search.

", "smithy.api#http": { "method": "POST", "uri": "/insights/search", @@ -5785,6 +7154,12 @@ "traits": { "smithy.api#documentation": "

Represents the health of an Amazon Web Services service. This is a ServiceInsightHealth\n\t\t\tthat contains the number of open proactive and reactive insights for this\n\t\t\tservice.

" } + }, + "AnalyzedResourceCount": { + "target": "com.amazonaws.devopsguru#AnalyzedResourceCount", + "traits": { + "smithy.api#documentation": "

\n\t\t\tNumber of resources that DevOps Guru is monitoring in an analyzed Amazon Web Services service.\n\t\t

" + } } }, "traits": { @@ -6284,6 +7659,12 @@ "traits": { "smithy.api#documentation": "

Information about the health of the Amazon Web Services resources in your account that are specified\n\t\t\tby an Amazon Web Services tag, including the number of open proactive, open reactive insights, and the\n\t\t\tMean Time to Recover (MTTR) of closed insights.

" } + }, + "AnalyzedResourceCount": { + "target": "com.amazonaws.devopsguru#AnalyzedResourceCount", + "traits": { + "smithy.api#documentation": "

\n\t\t\tNumber of resources that DevOps Guru is monitoring in your account that are specified by an Amazon Web Services tag.\n\t\t

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/global-accelerator.json b/codegen/sdk-codegen/aws-models/global-accelerator.json index 49902d97403..0061e397397 100644 --- a/codegen/sdk-codegen/aws-models/global-accelerator.json +++ b/codegen/sdk-codegen/aws-models/global-accelerator.json @@ -1,5 +1,5 @@ { - "smithy": "1.0", + "smithy": "2.0", "metadata": { "suppressions": [ { @@ -65,7 +65,7 @@ "DnsName": { "target": "com.amazonaws.globalaccelerator#GenericString", "traits": { - "smithy.api#documentation": "

The Domain Name System (DNS) name that Global Accelerator creates that points to an accelerator's static IPv4 addresses.

\n\t\t

The naming convention for the DNS name for an accelerator is the following: A lowercase letter a,\n\t\t\tfollowed by a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example:\n\t\t\ta1234567890abcdef.awsglobalaccelerator.com.

\n

If you have a dual-stack accelerator, you also have a second DNS name, DualStackDnsName, that points to both the A record and the AAAA record for all four \n\t\t\tstatic addresses for the accelerator (two IPv4 addresses and two IPv6 addresses).

\n\t\t

For more information about the default DNS name, see \n\t\t\tSupport for DNS Addressing in Global Accelerator in the Global Accelerator Developer Guide.

" + "smithy.api#documentation": "

The Domain Name System (DNS) name that Global Accelerator creates that points to an accelerator's static IPv4 addresses.

\n\t\t

The naming convention for the DNS name for an accelerator is the following: A lowercase letter a,\n\t\t\tfollowed by a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example:\n\t\t\ta1234567890abcdef.awsglobalaccelerator.com.

\n

If you have a dual-stack accelerator, you also have a second DNS name, DualStackDnsName, that points to both \n \t\t\tthe A record and the AAAA record for all four static addresses for the accelerator: two IPv4 addresses and two IPv6 addresses.

\n\t\t

For more information about the default DNS name, see \n\t\t\tSupport for DNS addressing in Global Accelerator in the Global Accelerator Developer Guide.

" } }, "Status": { @@ -89,7 +89,7 @@ "DualStackDnsName": { "target": "com.amazonaws.globalaccelerator#GenericString", "traits": { - "smithy.api#documentation": "

The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses:\n\t\t\ttwo IPv4 addresses and two IPv6 addresses.

\n\t\t

The naming convention for the dual-stack DNS name is the following: A lowercase letter a,\n\t\t\tfollowed by a 16-bit random hex string, followed by .dualstack.awsglobalaccelerator.com. For example:\n\t\t\ta1234567890abcdef.dualstack.awsglobalaccelerator.com.

\n\t\t

Note: Global Accelerator also assigns a default DNS name, DnsName, to your accelerator that points just to the static IPv4 addresses.

\n\t\t

For more information, see \n\t\t\tSupport for DNS Addressing in Global Accelerator in the Global Accelerator Developer Guide.

" + "smithy.api#documentation": "

The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses:\n\t\t\ttwo IPv4 addresses and two IPv6 addresses.

\n\t\t

The naming convention for the dual-stack DNS name is the following: A lowercase letter a,\n\t\t\tfollowed by a 16-bit random hex string, followed by .dualstack.awsglobalaccelerator.com. For example:\n\t\t\ta1234567890abcdef.dualstack.awsglobalaccelerator.com.

\n\t\t

Note: Global Accelerator also assigns a default DNS name, DnsName, to your accelerator that points just to the static IPv4 addresses.

\n\t\t

For more information, see \n\t\t\tSupport for DNS addressing in Global Accelerator in the Global Accelerator Developer Guide.

" } }, "Events": { @@ -182,18 +182,20 @@ } }, "com.amazonaws.globalaccelerator#AcceleratorStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "DEPLOYED", - "name": "DEPLOYED" - }, - { - "value": "IN_PROGRESS", - "name": "IN_PROGRESS" + "type": "enum", + "members": { + "DEPLOYED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEPLOYED" } - ] + }, + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + } } }, "com.amazonaws.globalaccelerator#Accelerators": { @@ -286,6 +288,74 @@ } } }, + "com.amazonaws.globalaccelerator#AddEndpoints": { + "type": "operation", + "input": { + "target": "com.amazonaws.globalaccelerator#AddEndpointsRequest" + }, + "output": { + "target": "com.amazonaws.globalaccelerator#AddEndpointsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.globalaccelerator#AccessDeniedException" + }, + { + "target": "com.amazonaws.globalaccelerator#EndpointGroupNotFoundException" + }, + { + "target": "com.amazonaws.globalaccelerator#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.globalaccelerator#InvalidArgumentException" + }, + { + "target": "com.amazonaws.globalaccelerator#LimitExceededException" + }, + { + "target": "com.amazonaws.globalaccelerator#TransactionInProgressException" + } + ], + "traits": { + "smithy.api#documentation": "

Add endpoints to an endpoint group. The AddEndpoints API operation is the recommended option for adding endpoints. The\n\t\t\talternative options are to add endpoints when you create an endpoint group (with the\n\t\t\tCreateEndpointGroup API) \n\t\t\tor when you update an endpoint group (with the \n\t\t\tUpdateEndpointGroup API).

\n\t\t

There are two advantages to using AddEndpoints to add endpoints:

\n\t\t\t " + } + }, + "com.amazonaws.globalaccelerator#AddEndpointsRequest": { + "type": "structure", + "members": { + "EndpointConfigurations": { + "target": "com.amazonaws.globalaccelerator#EndpointConfigurations", + "traits": { + "smithy.api#documentation": "

The list of endpoint objects.

", + "smithy.api#required": {} + } + }, + "EndpointGroupArn": { + "target": "com.amazonaws.globalaccelerator#GenericString", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the endpoint group.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.globalaccelerator#AddEndpointsResponse": { + "type": "structure", + "members": { + "EndpointDescriptions": { + "target": "com.amazonaws.globalaccelerator#EndpointDescriptions", + "traits": { + "smithy.api#documentation": "

The list of endpoint objects.

" + } + }, + "EndpointGroupArn": { + "target": "com.amazonaws.globalaccelerator#GenericString", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the endpoint group.

" + } + } + } + }, "com.amazonaws.globalaccelerator#AdvertiseByoipCidr": { "type": "operation", "input": { @@ -490,54 +560,74 @@ } }, "com.amazonaws.globalaccelerator#ByoipCidrState": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "PENDING_PROVISIONING", - "name": "PENDING_PROVISIONING" - }, - { - "value": "READY", - "name": "READY" - }, - { - "value": "PENDING_ADVERTISING", - "name": "PENDING_ADVERTISING" - }, - { - "value": "ADVERTISING", - "name": "ADVERTISING" - }, - { - "value": "PENDING_WITHDRAWING", - "name": "PENDING_WITHDRAWING" - }, - { - "value": "PENDING_DEPROVISIONING", - "name": "PENDING_DEPROVISIONING" - }, - { - "value": "DEPROVISIONED", - "name": "DEPROVISIONED" - }, - { - "value": "FAILED_PROVISION", - "name": "FAILED_PROVISION" - }, - { - "value": "FAILED_ADVERTISING", - "name": "FAILED_ADVERTISING" - }, - { - "value": "FAILED_WITHDRAW", - "name": "FAILED_WITHDRAW" - }, - { - "value": "FAILED_DEPROVISION", - "name": "FAILED_DEPROVISION" + "type": "enum", + "members": { + "PENDING_PROVISIONING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_PROVISIONING" + } + }, + "READY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "READY" + } + }, + "PENDING_ADVERTISING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_ADVERTISING" + } + }, + "ADVERTISING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ADVERTISING" } - ] + }, + "PENDING_WITHDRAWING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_WITHDRAWING" + } + }, + "PENDING_DEPROVISIONING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_DEPROVISIONING" + } + }, + "DEPROVISIONED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEPROVISIONED" + } + }, + "FAILED_PROVISION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_PROVISION" + } + }, + "FAILED_ADVERTISING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_ADVERTISING" + } + }, + "FAILED_WITHDRAW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_WITHDRAW" + } + }, + "FAILED_DEPROVISION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_DEPROVISION" + } + } } }, "com.amazonaws.globalaccelerator#ByoipCidrs": { @@ -569,18 +659,20 @@ } }, "com.amazonaws.globalaccelerator#ClientAffinity": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "NONE", - "name": "NONE" - }, - { - "value": "SOURCE_IP", - "name": "SOURCE_IP" + "type": "enum", + "members": { + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE" + } + }, + "SOURCE_IP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SOURCE_IP" } - ] + } } }, "com.amazonaws.globalaccelerator#ConflictException": { @@ -1142,7 +1234,7 @@ "DnsName": { "target": "com.amazonaws.globalaccelerator#GenericString", "traits": { - "smithy.api#documentation": "

The Domain Name System (DNS) name that Global Accelerator creates that points to an accelerator's static IPv4 addresses.

\n\t\t

The naming convention for the DNS name is the following: A lowercase letter a,\n\t\t\tfollowed by a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example:\n\t\t\ta1234567890abcdef.awsglobalaccelerator.com.

\n\t\t

If you have a dual-stack accelerator, you also have a second DNS name, DualStackDnsName, that points to both the A record and the AAAA record for all four \n\t\t\tstatic addresses for the accelerator (two IPv4 addresses and two IPv6 addresses).

\n\t\t

For more information about the default DNS name, see \n\t\t\tSupport for DNS Addressing in Global Accelerator in the Global Accelerator Developer Guide.

" + "smithy.api#documentation": "

The Domain Name System (DNS) name that Global Accelerator creates that points to an accelerator's static IPv4 addresses.

\n\t\t

The naming convention for the DNS name is the following: A lowercase letter a,\n\t\t\tfollowed by a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example:\n\t\t\ta1234567890abcdef.awsglobalaccelerator.com.

\n\n\t\t

If you have a dual-stack accelerator, you also have a second DNS name, DualStackDnsName, that points to both the A record \n\t\t\tand the AAAA record for all four static addresses for the accelerator: two IPv4 addresses and two IPv6 addresses.

\n\t\t

For more information about the default DNS name, see \n\t\t\tSupport for DNS addressing in Global Accelerator in the Global Accelerator Developer Guide.

" } }, "Status": { @@ -1195,18 +1287,20 @@ } }, "com.amazonaws.globalaccelerator#CustomRoutingAcceleratorStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "DEPLOYED", - "name": "DEPLOYED" - }, - { - "value": "IN_PROGRESS", - "name": "IN_PROGRESS" + "type": "enum", + "members": { + "DEPLOYED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DEPLOYED" } - ] + }, + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + } } }, "com.amazonaws.globalaccelerator#CustomRoutingAccelerators": { @@ -1289,18 +1383,20 @@ } }, "com.amazonaws.globalaccelerator#CustomRoutingDestinationTrafficState": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ALLOW", - "name": "ALLOW" - }, - { - "value": "DENY", - "name": "DENY" + "type": "enum", + "members": { + "ALLOW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ALLOW" } - ] + }, + "DENY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DENY" + } + } } }, "com.amazonaws.globalaccelerator#CustomRoutingEndpointConfiguration": { @@ -1414,18 +1510,20 @@ } }, "com.amazonaws.globalaccelerator#CustomRoutingProtocol": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "TCP", - "name": "TCP" - }, - { - "value": "UDP", - "name": "UDP" + "type": "enum", + "members": { + "TCP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TCP" + } + }, + "UDP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UDP" } - ] + } } }, "com.amazonaws.globalaccelerator#CustomRoutingProtocols": { @@ -2265,7 +2363,7 @@ "ClientIPPreservationEnabled": { "target": "com.amazonaws.globalaccelerator#GenericBoolean", "traits": { - "smithy.api#documentation": "

Indicates whether client IP address preservation is enabled for an endpoint. \n\t\t\tThe value is true or false. The default value is true for new accelerators.

\n\t\t

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as \n\t\t\ttraffic travels to applications on the endpoint fronted by the accelerator.

\n\t\t\n\t\t

Client IP address preservation is supported, in specific Amazon Web Services Regions, for endpoints that are Application Load \n\t\t\tBalancers and Amazon EC2 instances.

\n\t\t

For more information, see \n\t\t\tPreserve client IP addresses in Global Accelerator in the Global Accelerator Developer Guide.

" + "smithy.api#documentation": "

Indicates whether client IP address preservation is enabled for an endpoint. \n\t\t\tThe value is true or false. The default value is true for new accelerators.

\n\t\t

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as \n\t\t\ttraffic travels to applications on the endpoint fronted by the accelerator.

\n\n\t\t\n\t\t

Client IP address preservation is supported, in specific Amazon Web Services Regions, for endpoints that are Application Load \n\t\t\tBalancers and Amazon EC2 instances.

\n\n\t\t

For more information, see \n\t\t\tPreserve client IP addresses in Global Accelerator in the Global Accelerator Developer Guide.

" } } }, @@ -2315,7 +2413,7 @@ "ClientIPPreservationEnabled": { "target": "com.amazonaws.globalaccelerator#GenericBoolean", "traits": { - "smithy.api#documentation": "

Indicates whether client IP address preservation is enabled for an endpoint. \n\t\t\tThe value is true or false. The default value is true for new accelerators.

\n\t\t

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as \n\t\t\ttraffic travels to applications on the endpoint fronted by the accelerator.

\n\n\t\t

Client IP address preservation is supported, in specific Amazon Web Services Regions, for endpoints that are Application Load \n\t\t\tBalancers and Amazon EC2 instances.

\n\t\t

For more information, see \n\t\t\tPreserve client IP addresses in Global Accelerator in the Global Accelerator Developer Guide.

" + "smithy.api#documentation": "

Indicates whether client IP address preservation is enabled for an endpoint. \n\t\t\tThe value is true or false. The default value is true for new accelerators.

\n\t\t

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as \n\t\t\ttraffic travels to applications on the endpoint fronted by the accelerator.

\n\n\t\t

Client IP address preservation is supported, in specific Amazon Web Services Regions, for endpoints that are Application Load \n\t\t\tBalancers and Amazon EC2 instances.

\n\n\t\t

For more information, see \n\t\t\tPreserve client IP addresses in Global Accelerator in the Global Accelerator Developer Guide.

" } } }, @@ -2429,6 +2527,39 @@ "target": "com.amazonaws.globalaccelerator#EndpointGroup" } }, + "com.amazonaws.globalaccelerator#EndpointIdentifier": { + "type": "structure", + "members": { + "EndpointId": { + "target": "com.amazonaws.globalaccelerator#GenericString", + "traits": { + "smithy.api#documentation": "

An ID for the endpoint. If the endpoint is a Network Load Balancer or Application Load Balancer, this is the Amazon\n\t\t\tResource Name (ARN) of the resource. If the endpoint is an Elastic IP address, this is the Elastic IP address\n\t\t\tallocation ID. For Amazon EC2 instances, this is the EC2 instance ID.

\n\t\t

An Application Load Balancer can be either internal or internet-facing.

", + "smithy.api#required": {} + } + }, + "ClientIPPreservationEnabled": { + "target": "com.amazonaws.globalaccelerator#GenericBoolean", + "traits": { + "smithy.api#documentation": "

Indicates whether client IP address preservation is enabled for an endpoint. The value is true or false.

\n\t\t

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as \n\t\t\ttraffic travels to applications on the endpoint fronted by the accelerator.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A complex type for an endpoint. Specifies information about the endpoint to remove from the endpoint group.

" + } + }, + "com.amazonaws.globalaccelerator#EndpointIdentifiers": { + "type": "list", + "member": { + "target": "com.amazonaws.globalaccelerator#EndpointIdentifier" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + } + } + }, "com.amazonaws.globalaccelerator#EndpointIds": { "type": "list", "member": { @@ -2451,7 +2582,6 @@ "com.amazonaws.globalaccelerator#EndpointWeight": { "type": "integer", "traits": { - "smithy.api#box": {}, "smithy.api#range": { "min": 0, "max": 255 @@ -2462,10 +2592,7 @@ "type": "string" }, "com.amazonaws.globalaccelerator#GenericBoolean": { - "type": "boolean", - "traits": { - "smithy.api#box": {} - } + "type": "boolean" }, "com.amazonaws.globalaccelerator#GenericString": { "type": "string", @@ -2478,26 +2605,14 @@ }, "com.amazonaws.globalaccelerator#GlobalAccelerator_V20180706": { "type": "service", - "traits": { - "aws.api#service": { - "sdkId": "Global Accelerator", - "arnNamespace": "globalaccelerator", - "cloudFormationName": "GlobalAccelerator", - "cloudTrailEventSource": "globalaccelerator.amazonaws.com", - "endpointPrefix": "globalaccelerator" - }, - "aws.auth#sigv4": { - "name": "globalaccelerator" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "Global Accelerator\n\t

This is the Global Accelerator API Reference. This guide is for developers who need detailed information about\n\t\t Global Accelerator API actions, data types, and errors. For more information about Global Accelerator features, see the \n\t \tGlobal Accelerator Developer Guide.

\n\t

Global Accelerator is a service in which you create accelerators to improve the performance \n\t\t\tof your applications for local and global users. Depending on the type of accelerator you choose, you can\n\t\t\tgain additional benefits.

\n\t\t \n\t\t \n\t\t

Global Accelerator is a global service that supports endpoints in multiple Amazon Web Services Regions but you must specify the \n\t\t \tUS West (Oregon) Region to create, update, or otherwise work with accelerators. That is, for example, specify --region us-west-2\n\t\t \ton AWS CLI commands.

\n\t\t
\n\t\t\n\t\t\n\t\t

By default, Global Accelerator provides you with static IP addresses that you associate with your accelerator. The static IP addresses \n\t\t\tare anycast from the Amazon Web Services edge network. For IPv4, Global Accelerator provides two static IPv4 addresses. For dual-stack,\n\t\t\tGlobal Accelerator provides a total of four addresses: two static IPv4 addresses and two static IPv6 addresses. \n\t\t\tWith a standard accelerator for IPv4, instead of using the addresses that Global Accelerator provides, you can configure \n\t\t\tthese entry points to be IPv4 addresses from your own IP address ranges that you bring toGlobal Accelerator (BYOIP).

\n\t\t\n\t\t\n\t

For a standard accelerator, \n\t they distribute incoming application traffic across multiple endpoint resources in multiple Amazon Web Services Regions , which increases \n\t\t\tthe availability of your applications. Endpoints for standard accelerators can be Network Load Balancers, Application Load Balancers, \n\t \tAmazon EC2 instances, or Elastic IP addresses that are located in one Amazon Web Services Region or multiple Amazon Web Services Regions. For custom routing\n\t accelerators, you map traffic that arrives to the static IP addresses to specific Amazon EC2 servers in endpoints that\n\t\t\tare virtual private cloud (VPC) subnets.

\n\t\t\n\t\t \n

The static IP addresses remain assigned to your accelerator for as long as it exists, even if you\n\t\t\t\tdisable the accelerator and it no longer accepts or routes traffic. However, when you\n\t\t\t\t\tdelete an accelerator, you lose the static IP addresses that\n\t\t\t\tare assigned to it, so you can no longer route traffic by using them. You can use\n\t\t\t\tIAM policies like tag-based permissions with Global Accelerator to limit the users who have\n\t\t\t\tpermissions to delete an accelerator. For more information, see Tag-based policies.

\n
\n\t

For standard accelerators, Global Accelerator uses the Amazon Web Services global network to route traffic to the optimal regional endpoint based\n\t\t\ton health, client location, and policies that you configure. The service reacts instantly to\n\t\t\tchanges in health or configuration to ensure that internet traffic from clients is always\n\t\t\tdirected to healthy endpoints.

\n\t\t

For more information about understanding and using Global Accelerator, see the\n\t\t\tGlobal Accelerator Developer Guide.

", - "smithy.api#title": "AWS Global Accelerator" - }, "version": "2018-08-08", "operations": [ { "target": "com.amazonaws.globalaccelerator#AddCustomRoutingEndpoints" }, + { + "target": "com.amazonaws.globalaccelerator#AddEndpoints" + }, { "target": "com.amazonaws.globalaccelerator#AdvertiseByoipCidr" }, @@ -2606,6 +2721,9 @@ { "target": "com.amazonaws.globalaccelerator#RemoveCustomRoutingEndpoints" }, + { + "target": "com.amazonaws.globalaccelerator#RemoveEndpoints" + }, { "target": "com.amazonaws.globalaccelerator#TagResource" }, @@ -2636,12 +2754,378 @@ { "target": "com.amazonaws.globalaccelerator#WithdrawByoipCidr" } - ] + ], + "traits": { + "aws.api#service": { + "sdkId": "Global Accelerator", + "arnNamespace": "globalaccelerator", + "cloudFormationName": "GlobalAccelerator", + "cloudTrailEventSource": "globalaccelerator.amazonaws.com", + "endpointPrefix": "globalaccelerator" + }, + "aws.auth#sigv4": { + "name": "globalaccelerator" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "Global Accelerator\n\t

This is the Global Accelerator API Reference. This guide is for developers who need detailed information about\n\t\t Global Accelerator API actions, data types, and errors. For more information about Global Accelerator features, see the \n\t \tGlobal Accelerator Developer Guide.

\n\t

Global Accelerator is a service in which you create accelerators to improve the performance \n\t\t\tof your applications for local and global users. Depending on the type of accelerator you choose, you can\n\t\t\tgain additional benefits.

\n\t\t \n\t\t \n\t\t

Global Accelerator is a global service that supports endpoints in multiple Amazon Web Services Regions but you must specify the \n\t\t \tUS West (Oregon) Region to create, update, or otherwise work with accelerators. That is, for example, specify --region us-west-2\n\t\t \ton AWS CLI commands.

\n\t\t
\n\t\t\n\t\t\n\t\t

By default, Global Accelerator provides you with static IP addresses that you associate with your accelerator. The static IP addresses \n\t\t\tare anycast from the Amazon Web Services edge network. For IPv4, Global Accelerator provides two static IPv4 addresses. For dual-stack,\n\t\t\tGlobal Accelerator provides a total of four addresses: two static IPv4 addresses and two static IPv6 addresses. \n\t\t\tWith a standard accelerator for IPv4, instead of using the addresses that Global Accelerator provides, you can configure \n\t\t\tthese entry points to be IPv4 addresses from your own IP address ranges that you bring toGlobal Accelerator (BYOIP).

\n\t\t\n\t\t\n\t

For a standard accelerator, \n\t they distribute incoming application traffic across multiple endpoint resources in multiple Amazon Web Services Regions , which increases \n\t\t\tthe availability of your applications. Endpoints for standard accelerators can be Network Load Balancers, Application Load Balancers, \n\t \tAmazon EC2 instances, or Elastic IP addresses that are located in one Amazon Web Services Region or multiple Amazon Web Services Regions. For custom routing\n\t accelerators, you map traffic that arrives to the static IP addresses to specific Amazon EC2 servers in endpoints that\n\t\t\tare virtual private cloud (VPC) subnets.

\n\t\t\n\t\t \n

The static IP addresses remain assigned to your accelerator for as long as it exists, even if you\n\t\t\t\tdisable the accelerator and it no longer accepts or routes traffic. However, when you\n\t\t\t\t\tdelete an accelerator, you lose the static IP addresses that\n\t\t\t\tare assigned to it, so you can no longer route traffic by using them. You can use\n\t\t\t\tIAM policies like tag-based permissions with Global Accelerator to limit the users who have\n\t\t\t\tpermissions to delete an accelerator. For more information, see Tag-based policies.

\n
\n\t

For standard accelerators, Global Accelerator uses the Amazon Web Services global network to route traffic to the optimal regional endpoint based\n\t\t\ton health, client location, and policies that you configure. The service reacts instantly to\n\t\t\tchanges in health or configuration to ensure that internet traffic from clients is always\n\t\t\tdirected to healthy endpoints.

\n\t\t

For more information about understanding and using Global Accelerator, see the\n\t\t\tGlobal Accelerator Developer Guide.

", + "smithy.api#title": "AWS Global Accelerator", + "smithy.rules#endpointRuleSet": { + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "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": [ + { + "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": [], + "endpoint": { + "url": "https://globalaccelerator-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": [], + "endpoint": { + "url": "https://globalaccelerator-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": [], + "endpoint": { + "url": "https://globalaccelerator.{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://globalaccelerator.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": 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": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false, + "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": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" + } + } }, "com.amazonaws.globalaccelerator#HealthCheckIntervalSeconds": { "type": "integer", "traits": { - "smithy.api#box": {}, "smithy.api#range": { "min": 10, "max": 30 @@ -2661,7 +3145,6 @@ "com.amazonaws.globalaccelerator#HealthCheckPort": { "type": "integer", "traits": { - "smithy.api#box": {}, "smithy.api#range": { "min": 1, "max": 65535 @@ -2669,41 +3152,49 @@ } }, "com.amazonaws.globalaccelerator#HealthCheckProtocol": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "TCP", - "name": "TCP" - }, - { - "value": "HTTP", - "name": "HTTP" - }, - { - "value": "HTTPS", - "name": "HTTPS" + "type": "enum", + "members": { + "TCP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TCP" + } + }, + "HTTP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HTTP" } - ] + }, + "HTTPS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HTTPS" + } + } } }, "com.amazonaws.globalaccelerator#HealthState": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "INITIAL", - "name": "INITIAL" - }, - { - "value": "HEALTHY", - "name": "HEALTHY" - }, - { - "value": "UNHEALTHY", - "name": "UNHEALTHY" + "type": "enum", + "members": { + "INITIAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INITIAL" } - ] + }, + "HEALTHY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HEALTHY" + } + }, + "UNHEALTHY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNHEALTHY" + } + } } }, "com.amazonaws.globalaccelerator#IdempotencyToken": { @@ -2790,33 +3281,37 @@ } }, "com.amazonaws.globalaccelerator#IpAddressFamily": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "IPv4", - "name": "IPv4" - }, - { - "value": "IPv6", - "name": "IPv6" + "type": "enum", + "members": { + "IPv4": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IPv4" + } + }, + "IPv6": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IPv6" } - ] + } } }, "com.amazonaws.globalaccelerator#IpAddressType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "IPV4", - "name": "IPV4" - }, - { - "value": "DUAL_STACK", - "name": "DUAL_STACK" + "type": "enum", + "members": { + "IPV4": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IPV4" } - ] + }, + "DUAL_STACK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DUAL_STACK" + } + } } }, "com.amazonaws.globalaccelerator#IpAddresses": { @@ -3624,7 +4119,6 @@ "com.amazonaws.globalaccelerator#MaxResults": { "type": "integer", "traits": { - "smithy.api#box": {}, "smithy.api#range": { "min": 1, "max": 100 @@ -3684,7 +4178,6 @@ "com.amazonaws.globalaccelerator#PortMappingsMaxResults": { "type": "integer", "traits": { - "smithy.api#box": {}, "smithy.api#range": { "min": 1, "max": 20000 @@ -3694,7 +4187,6 @@ "com.amazonaws.globalaccelerator#PortNumber": { "type": "integer", "traits": { - "smithy.api#box": {}, "smithy.api#range": { "min": 1, "max": 65535 @@ -3766,18 +4258,20 @@ } }, "com.amazonaws.globalaccelerator#Protocol": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "TCP", - "name": "TCP" - }, - { - "value": "UDP", - "name": "UDP" + "type": "enum", + "members": { + "TCP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TCP" } - ] + }, + "UDP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UDP" + } + } } }, "com.amazonaws.globalaccelerator#Protocols": { @@ -3896,6 +4390,54 @@ } } }, + "com.amazonaws.globalaccelerator#RemoveEndpoints": { + "type": "operation", + "input": { + "target": "com.amazonaws.globalaccelerator#RemoveEndpointsRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.globalaccelerator#AccessDeniedException" + }, + { + "target": "com.amazonaws.globalaccelerator#EndpointGroupNotFoundException" + }, + { + "target": "com.amazonaws.globalaccelerator#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.globalaccelerator#InvalidArgumentException" + }, + { + "target": "com.amazonaws.globalaccelerator#TransactionInProgressException" + } + ], + "traits": { + "smithy.api#documentation": "

Remove endpoints from an endpoint group.

\n\t\t

The RemoveEndpoints API operation is the recommended option for removing endpoints. The alternative is to remove\n\t\t\tendpoints by updating an endpoint group by using the \n\t\t\tUpdateEndpointGroup\n\t\t\tAPI operation. There are two advantages to using AddEndpoints to remove endpoints instead:

\n\t\t " + } + }, + "com.amazonaws.globalaccelerator#RemoveEndpointsRequest": { + "type": "structure", + "members": { + "EndpointIdentifiers": { + "target": "com.amazonaws.globalaccelerator#EndpointIdentifiers", + "traits": { + "smithy.api#documentation": "

The identifiers of the endpoints that you want to remove.

", + "smithy.api#required": {} + } + }, + "EndpointGroupArn": { + "target": "com.amazonaws.globalaccelerator#GenericString", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the endpoint group.

", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.globalaccelerator#ResourceArn": { "type": "string", "traits": { @@ -4038,7 +4580,6 @@ "com.amazonaws.globalaccelerator#ThresholdCount": { "type": "integer", "traits": { - "smithy.api#box": {}, "smithy.api#range": { "min": 1, "max": 10 @@ -4051,13 +4592,25 @@ "com.amazonaws.globalaccelerator#TrafficDialPercentage": { "type": "float", "traits": { - "smithy.api#box": {}, "smithy.api#range": { "min": 0, "max": 100 } } }, + "com.amazonaws.globalaccelerator#TransactionInProgressException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.globalaccelerator#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

There's already a transaction in progress. Another transaction can't be processed.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, "com.amazonaws.globalaccelerator#UntagResource": { "type": "operation", "input": { diff --git a/codegen/sdk-codegen/aws-models/resiliencehub.json b/codegen/sdk-codegen/aws-models/resiliencehub.json index 1812e6128bf..f44dcab9dbf 100644 --- a/codegen/sdk-codegen/aws-models/resiliencehub.json +++ b/codegen/sdk-codegen/aws-models/resiliencehub.json @@ -240,7 +240,7 @@ "status": { "target": "com.amazonaws.resiliencehub#AppStatusType", "traits": { - "smithy.api#documentation": "

The status of the action.

" + "smithy.api#documentation": "

The status of the application.

" } }, "complianceStatus": { @@ -654,6 +654,12 @@ "traits": { "smithy.api#documentation": "

\n Assessment execution schedule with 'Daily' or 'Disabled' values.\n

" } + }, + "status": { + "target": "com.amazonaws.resiliencehub#AppStatusType", + "traits": { + "smithy.api#documentation": "

The status of the application.

" + } } }, "traits": { @@ -671,7 +677,7 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 51200 + "max": 204800 }, "smithy.api#pattern": "^[\\w\\s:,-\\.'{}\\[\\]:\"]+$" } @@ -913,7 +919,1405 @@ ] }, "smithy.api#documentation": "

AWS Resilience Hub helps you proactively prepare and protect your Amazon Web Services applications from\n disruptions. Resilience Hub offers continuous resiliency assessment and validation that integrates\n into your software development lifecycle. This enables you to uncover resiliency weaknesses,\n ensure recovery time objective (RTO) and recovery point objective (RPO) targets for your\n applications are met, and resolve issues before they are released into production.

", - "smithy.api#title": "AWS Resilience Hub" + "smithy.api#title": "AWS Resilience Hub", + "smithy.rules#endpointRuleSet": { + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "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": [ + { + "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": [], + "endpoint": { + "url": "https://resiliencehub-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://resiliencehub-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": [], + "endpoint": { + "url": "https://resiliencehub.{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://resiliencehub.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-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://resiliencehub-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://resiliencehub.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://resiliencehub.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-fips.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-fips.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "eu-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.eu-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.eu-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-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://resiliencehub-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://resiliencehub.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://resiliencehub.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://resiliencehub-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://resiliencehub-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://resiliencehub.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://resiliencehub.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://resiliencehub-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://resiliencehub-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://resiliencehub.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://resiliencehub.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://resiliencehub-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://resiliencehub-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://resiliencehub.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://resiliencehub.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-west-2", + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-fips.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "af-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "af-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "af-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "af-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-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://resiliencehub-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://resiliencehub.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://resiliencehub.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://resiliencehub-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://resiliencehub-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://resiliencehub.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://resiliencehub.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://resiliencehub-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://resiliencehub-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://resiliencehub.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://resiliencehub.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://resiliencehub-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://resiliencehub-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://resiliencehub.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://resiliencehub.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://resiliencehub-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://resiliencehub-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://resiliencehub.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://resiliencehub.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://resiliencehub-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://resiliencehub-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://resiliencehub.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://resiliencehub.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://resiliencehub-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", + "expect": { + "endpoint": { + "url": "https://resiliencehub-fips.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "me-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-south-1", + "UseDualStack": true + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "me-south-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "sa-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-fips.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-fips.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub-fips.us-east-1.amazonaws.com" + } + }, + "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://resiliencehub.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.us-east-1.amazonaws.com" + } + }, + "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://resiliencehub-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://resiliencehub-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://resiliencehub.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": 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": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false, + "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": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" + } } }, "com.amazonaws.resiliencehub#BooleanOptional": { @@ -1085,6 +2489,10 @@ { "value": "BestAttainable", "name": "BEST_ATTAINABLE" + }, + { + "value": "BestRegionRecovery", + "name": "BEST_REGION_RECOVERY" } ] } @@ -2614,7 +4022,7 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "maxResults": "maxResults" + "pageSize": "maxResults" } } }, @@ -2695,7 +4103,7 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "maxResults": "maxResults" + "pageSize": "maxResults" }, "smithy.api#readonly": {} } @@ -2814,7 +4222,7 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "maxResults": "maxResults" + "pageSize": "maxResults" } } }, @@ -2895,7 +4303,7 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "maxResults": "maxResults" + "pageSize": "maxResults" } } }, @@ -2976,7 +4384,7 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "maxResults": "maxResults" + "pageSize": "maxResults" } } }, @@ -3067,7 +4475,7 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "maxResults": "maxResults" + "pageSize": "maxResults" } } }, @@ -3165,7 +4573,7 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "maxResults": "maxResults" + "pageSize": "maxResults" } } }, @@ -3243,7 +4651,7 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "maxResults": "maxResults" + "pageSize": "maxResults" }, "smithy.api#readonly": {} } @@ -3331,7 +4739,7 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "maxResults": "maxResults" + "pageSize": "maxResults" }, "smithy.api#readonly": {} } @@ -3443,7 +4851,7 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "maxResults": "maxResults" + "pageSize": "maxResults" }, "smithy.api#readonly": {} } @@ -3530,7 +4938,7 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "maxResults": "maxResults" + "pageSize": "maxResults" } } }, @@ -3611,7 +5019,7 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "maxResults": "maxResults" + "pageSize": "maxResults" }, "smithy.api#readonly": {} } @@ -3750,7 +5158,7 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "maxResults": "maxResults" + "pageSize": "maxResults" } } }, @@ -3834,7 +5242,7 @@ "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", - "maxResults": "maxResults" + "pageSize": "maxResults" } } }, @@ -5797,7 +7205,7 @@ "policy": { "target": "com.amazonaws.resiliencehub#DisruptionPolicy", "traits": { - "smithy.api#documentation": "

The type of resiliency policy to be created, including the recovery time objective (RTO)\n and recovery point objective (RPO) in seconds.

\n \n

If you do not want to specify regional targets for a regional policy, you must set the\n values of rpoInSecs and rtoInSecs to -1.

\n
" + "smithy.api#documentation": "

The type of resiliency policy to be created, including the recovery time objective (RTO)\n and recovery point objective (RPO) in seconds.

" } } } diff --git a/codegen/sdk-codegen/aws-models/rum.json b/codegen/sdk-codegen/aws-models/rum.json index fa772c360eb..5756921c290 100644 --- a/codegen/sdk-codegen/aws-models/rum.json +++ b/codegen/sdk-codegen/aws-models/rum.json @@ -1,5 +1,5 @@ { - "smithy": "1.0", + "smithy": "2.0", "shapes": { "com.amazonaws.rum#AccessDeniedException": { "type": "structure", @@ -103,13 +103,14 @@ "FavoritePages": { "target": "com.amazonaws.rum#FavoritePages", "traits": { - "smithy.api#documentation": "

A list of pages in the CloudWatch RUM console that are to be displayed with a \"favorite\" icon.

" + "smithy.api#documentation": "

A list of pages in your application that are to be displayed with a \"favorite\" icon\n in the CloudWatch RUM console.

" } }, "SessionSampleRate": { "target": "com.amazonaws.rum#SessionSampleRate", "traits": { - "smithy.api#documentation": "

Specifies the percentage of user sessions to use for RUM data collection. Choosing a higher percentage gives you\n more data but also incurs more costs.

\n

The number you specify is the percentage of user sessions that will be used.

\n

If you omit this parameter, the default of 10 is used.

" + "smithy.api#default": 0, + "smithy.api#documentation": "

Specifies the portion of user sessions to use for RUM data collection. Choosing a higher portion gives you\n more data but also incurs more costs.

\n

The range for this value is 0 to 1 inclusive. Setting this to 1 means that 100% of user sessions are sampled, and setting\n it to 0.1 means that 10% of user sessions are sampled.

\n

If you omit this parameter, the default of 0.1 is used, and 10% of sessions will be sampled.

" } }, "GuestRoleArn": { @@ -217,19 +218,37 @@ "target": "com.amazonaws.rum#ListAppMonitors" }, "operations": [ + { + "target": "com.amazonaws.rum#BatchCreateRumMetricDefinitions" + }, + { + "target": "com.amazonaws.rum#BatchDeleteRumMetricDefinitions" + }, + { + "target": "com.amazonaws.rum#BatchGetRumMetricDefinitions" + }, { "target": "com.amazonaws.rum#CreateAppMonitor" }, + { + "target": "com.amazonaws.rum#DeleteRumMetricsDestination" + }, { "target": "com.amazonaws.rum#GetAppMonitorData" + }, + { + "target": "com.amazonaws.rum#ListRumMetricsDestinations" + }, + { + "target": "com.amazonaws.rum#PutRumMetricsDestination" + }, + { + "target": "com.amazonaws.rum#UpdateRumMetricDefinition" } ], "traits": { "aws.api#arn": { - "template": "appmonitor/{Name}", - "absolute": false, - "noAccount": false, - "noRegion": false + "template": "appmonitor/{Name}" } } }, @@ -283,6 +302,369 @@ "smithy.api#pattern": "arn:[^:]*:[^:]*:[^:]*:[^:]*:.*" } }, + "com.amazonaws.rum#BatchCreateRumMetricDefinitions": { + "type": "operation", + "input": { + "target": "com.amazonaws.rum#BatchCreateRumMetricDefinitionsRequest" + }, + "output": { + "target": "com.amazonaws.rum#BatchCreateRumMetricDefinitionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rum#AccessDeniedException" + }, + { + "target": "com.amazonaws.rum#ConflictException" + }, + { + "target": "com.amazonaws.rum#InternalServerException" + }, + { + "target": "com.amazonaws.rum#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rum#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.rum#ThrottlingException" + }, + { + "target": "com.amazonaws.rum#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Specifies the extended metrics that you want a CloudWatch RUM app monitor to send to a destination. Valid\n destinations include CloudWatch and Evidently.

\n

By default, RUM app monitors send some metrics to CloudWatch. These default metrics\n are listed in CloudWatch metrics that you can collect \n with CloudWatch RUM.

\n

If you also send extended metrics, you can send metrics to Evidently as well as CloudWatch, and you can also \n optionally\n send the metrics with additional dimensions. The valid dimension names for the additional dimensions are\n BrowserName, CountryCode, DeviceType,\n FileType, OSName, and PageId. For more information, see \n \n Extended metrics that you can send to CloudWatch and CloudWatch Evidently.

\n

The maximum number of metric definitions that you can specify in one \n BatchCreateRumMetricDefinitions operation is 200.

\n \n

The maximum number of metric definitions that one destination can contain is 2000.

\n

Extended metrics sent are charged as CloudWatch custom metrics. Each combination of additional dimension name and dimension\n value counts as a custom metric. For more information, see \n Amazon CloudWatch Pricing.

\n

You must have\n already created a destination for the metrics before you send them. For more information, see \n PutRumMetricsDestination.

\n

If some metric definitions specified in a BatchCreateRumMetricDefinitions operations are not valid,\n those metric definitions fail and return errors, but all valid metric definitions in the same operation still succeed.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/rum/latest/developerguide/BatchCreateRumMetricDefinitions.html" + }, + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/rummetrics/{AppMonitorName}/metrics" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.rum#BatchCreateRumMetricDefinitionsError": { + "type": "structure", + "members": { + "MetricDefinition": { + "target": "com.amazonaws.rum#MetricDefinitionRequest", + "traits": { + "smithy.api#documentation": "

The metric definition that caused this error.

", + "smithy.api#required": {} + } + }, + "ErrorCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The error code.

", + "smithy.api#required": {} + } + }, + "ErrorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The error message for this metric definition.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that defines one error caused by a \n BatchCreateRumMetricsDefinitions\n operation.

" + } + }, + "com.amazonaws.rum#BatchCreateRumMetricDefinitionsErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.rum#BatchCreateRumMetricDefinitionsError" + } + }, + "com.amazonaws.rum#BatchCreateRumMetricDefinitionsRequest": { + "type": "structure", + "members": { + "AppMonitorName": { + "target": "com.amazonaws.rum#AppMonitorName", + "traits": { + "smithy.api#documentation": "

The name of the CloudWatch RUM app monitor that is to send the metrics.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "Name" + } + }, + "Destination": { + "target": "com.amazonaws.rum#MetricDestination", + "traits": { + "smithy.api#documentation": "

The destination to send the metrics to. Valid values are CloudWatch and Evidently. If\n you specify Evidently, you must also specify the ARN of the CloudWatchEvidently experiment \n that will receive\n the metrics and an IAM role that has permission to write to the experiment.

", + "smithy.api#required": {} + } + }, + "DestinationArn": { + "target": "com.amazonaws.rum#DestinationArn", + "traits": { + "smithy.api#documentation": "

This parameter is required if Destination is Evidently. If Destination is \n CloudWatch, do not use this parameter.

\n

This parameter specifies the ARN of the Evidently experiment that is to receive the metrics. You must have already defined this \n experiment as a valid destination. For more information, see PutRumMetricsDestination.

" + } + }, + "MetricDefinitions": { + "target": "com.amazonaws.rum#MetricDefinitionsRequest", + "traits": { + "smithy.api#documentation": "

An array of structures which define the metrics that you want to send.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.rum#BatchCreateRumMetricDefinitionsResponse": { + "type": "structure", + "members": { + "Errors": { + "target": "com.amazonaws.rum#BatchCreateRumMetricDefinitionsErrors", + "traits": { + "smithy.api#documentation": "

An array of error objects, if the operation caused any errors.

", + "smithy.api#required": {} + } + }, + "MetricDefinitions": { + "target": "com.amazonaws.rum#MetricDefinitions", + "traits": { + "smithy.api#documentation": "

An array of structures that define the extended metrics.

" + } + } + } + }, + "com.amazonaws.rum#BatchDeleteRumMetricDefinitions": { + "type": "operation", + "input": { + "target": "com.amazonaws.rum#BatchDeleteRumMetricDefinitionsRequest" + }, + "output": { + "target": "com.amazonaws.rum#BatchDeleteRumMetricDefinitionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rum#AccessDeniedException" + }, + { + "target": "com.amazonaws.rum#ConflictException" + }, + { + "target": "com.amazonaws.rum#InternalServerException" + }, + { + "target": "com.amazonaws.rum#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rum#ThrottlingException" + }, + { + "target": "com.amazonaws.rum#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Removes the specified metrics from being sent to an extended metrics destination.

\n

If some metric definition IDs specified in a BatchDeleteRumMetricDefinitions operations are not valid,\n those metric definitions fail and return errors, but all valid metric definition IDs in the same operation are still \n deleted.

\n

The maximum number of metric definitions that you can specify in one \n BatchDeleteRumMetricDefinitions operation is 200.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/rum/latest/developerguide/BatchDeleteRumMetricDefinitions.html" + }, + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/rummetrics/{AppMonitorName}/metrics" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.rum#BatchDeleteRumMetricDefinitionsError": { + "type": "structure", + "members": { + "MetricDefinitionId": { + "target": "com.amazonaws.rum#MetricDefinitionId", + "traits": { + "smithy.api#documentation": "

The ID of the metric definition that caused this error.

", + "smithy.api#required": {} + } + }, + "ErrorCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The error code.

", + "smithy.api#required": {} + } + }, + "ErrorMessage": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The error message for this metric definition.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that defines one error caused by a \n BatchCreateRumMetricsDefinitions\n operation.

" + } + }, + "com.amazonaws.rum#BatchDeleteRumMetricDefinitionsErrors": { + "type": "list", + "member": { + "target": "com.amazonaws.rum#BatchDeleteRumMetricDefinitionsError" + } + }, + "com.amazonaws.rum#BatchDeleteRumMetricDefinitionsRequest": { + "type": "structure", + "members": { + "AppMonitorName": { + "target": "com.amazonaws.rum#AppMonitorName", + "traits": { + "smithy.api#documentation": "

The name of the CloudWatch RUM app monitor that is sending these metrics.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "Name" + } + }, + "Destination": { + "target": "com.amazonaws.rum#MetricDestination", + "traits": { + "smithy.api#documentation": "

Defines the destination where you want to stop sending the specified metrics. Valid values are CloudWatch and\n Evidently. If\n you specify Evidently, you must also specify the ARN of the CloudWatchEvidently experiment that is to \n be the destination and an IAM role that has permission to write to the experiment.

", + "smithy.api#httpQuery": "destination", + "smithy.api#required": {} + } + }, + "DestinationArn": { + "target": "com.amazonaws.rum#DestinationArn", + "traits": { + "smithy.api#documentation": "

This parameter is required if Destination is Evidently. If Destination is \n CloudWatch, do not use this parameter.

\n

This parameter specifies\n the ARN of the Evidently experiment that was receiving the metrics that are being deleted.

", + "smithy.api#httpQuery": "destinationArn" + } + }, + "MetricDefinitionIds": { + "target": "com.amazonaws.rum#MetricDefinitionIds", + "traits": { + "smithy.api#documentation": "

An array of structures which define the metrics that you want to stop sending.

", + "smithy.api#httpQuery": "metricDefinitionIds", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.rum#BatchDeleteRumMetricDefinitionsResponse": { + "type": "structure", + "members": { + "Errors": { + "target": "com.amazonaws.rum#BatchDeleteRumMetricDefinitionsErrors", + "traits": { + "smithy.api#documentation": "

An array of error objects, if the operation caused any errors.

", + "smithy.api#required": {} + } + }, + "MetricDefinitionIds": { + "target": "com.amazonaws.rum#MetricDefinitionIds", + "traits": { + "smithy.api#documentation": "

The IDs of the metric definitions that were deleted.

" + } + } + } + }, + "com.amazonaws.rum#BatchGetRumMetricDefinitions": { + "type": "operation", + "input": { + "target": "com.amazonaws.rum#BatchGetRumMetricDefinitionsRequest" + }, + "output": { + "target": "com.amazonaws.rum#BatchGetRumMetricDefinitionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rum#AccessDeniedException" + }, + { + "target": "com.amazonaws.rum#InternalServerException" + }, + { + "target": "com.amazonaws.rum#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rum#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the list of metrics and dimensions that a RUM app monitor is sending to a single destination.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/rum/latest/developerguide/BatchGetRumMetricDefinitions.html" + }, + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/rummetrics/{AppMonitorName}/metrics" + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "MetricDefinitions" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.rum#BatchGetRumMetricDefinitionsRequest": { + "type": "structure", + "members": { + "AppMonitorName": { + "target": "com.amazonaws.rum#AppMonitorName", + "traits": { + "smithy.api#documentation": "

The name of the CloudWatch RUM app monitor that is sending the metrics.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "Name" + } + }, + "Destination": { + "target": "com.amazonaws.rum#MetricDestination", + "traits": { + "smithy.api#documentation": "

The type of destination that you want to view metrics for. Valid values are CloudWatch \n and Evidently.

", + "smithy.api#httpQuery": "destination", + "smithy.api#required": {} + } + }, + "DestinationArn": { + "target": "com.amazonaws.rum#DestinationArn", + "traits": { + "smithy.api#documentation": "

This parameter is required if Destination is Evidently. If Destination is \n CloudWatch, do not use this parameter.

\n

This parameter\n specifies the ARN of the Evidently experiment that corresponds to the destination.

", + "smithy.api#httpQuery": "destinationArn" + } + }, + "MaxResults": { + "target": "com.amazonaws.rum#MaxResultsInteger", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return in one operation. The default is 50. The maximum that you can \n specify is 100.

\n

To retrieve the remaining results, make another call with the returned \n NextToken value.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Use the token returned by the previous operation to request the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.rum#BatchGetRumMetricDefinitionsResponse": { + "type": "structure", + "members": { + "MetricDefinitions": { + "target": "com.amazonaws.rum#MetricDefinitions", + "traits": { + "smithy.api#documentation": "

An array of structures that display information about the metrics that are sent by the specified\n app monitor to the specified destination.

" + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

A token that you can use in a subsequent operation to \n retrieve the next set of results.

" + } + } + } + }, "com.amazonaws.rum#ConflictException": { "type": "structure", "members": { @@ -330,6 +712,9 @@ { "target": "com.amazonaws.rum#InternalServerException" }, + { + "target": "com.amazonaws.rum#ResourceNotFoundException" + }, { "target": "com.amazonaws.rum#ServiceQuotaExceededException" }, @@ -346,9 +731,9 @@ "API Reference": "https://docs.aws.amazon.com/rum/latest/developerguide/CreateAppMonitor.html" }, "smithy.api#http": { + "code": 200, "method": "POST", - "uri": "/appmonitor", - "code": 200 + "uri": "/appmonitor" }, "smithy.api#idempotent": {} } @@ -424,24 +809,79 @@ "com.amazonaws.rum#DataStorage": { "type": "structure", "members": { - "CwLog": { - "target": "com.amazonaws.rum#CwLog", + "CwLog": { + "target": "com.amazonaws.rum#CwLog", + "traits": { + "smithy.api#documentation": "

A structure that contains the information about whether the app monitor stores copies of the data\n that RUM collects in CloudWatch Logs. If it does, this structure also contains the name of the log group.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that contains information about whether this app monitor stores a copy of\n the telemetry data that RUM collects using CloudWatch Logs.

" + } + }, + "com.amazonaws.rum#DeleteAppMonitor": { + "type": "operation", + "input": { + "target": "com.amazonaws.rum#DeleteAppMonitorRequest" + }, + "output": { + "target": "com.amazonaws.rum#DeleteAppMonitorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rum#AccessDeniedException" + }, + { + "target": "com.amazonaws.rum#ConflictException" + }, + { + "target": "com.amazonaws.rum#InternalServerException" + }, + { + "target": "com.amazonaws.rum#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rum#ThrottlingException" + }, + { + "target": "com.amazonaws.rum#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an existing app monitor. This immediately stops the collection of data.

", + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/appmonitor/{Name}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.rum#DeleteAppMonitorRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.rum#AppMonitorName", "traits": { - "smithy.api#documentation": "

A structure that contains the information about whether the app monitor stores copies of the data\n that RUM collects in CloudWatch Logs. If it does, this structure also contains the name of the log group.

" + "smithy.api#documentation": "

The name of the app monitor to delete.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } } - }, - "traits": { - "smithy.api#documentation": "

A structure that contains information about whether this app monitor stores a copy of\n the telemetry data that RUM collects using CloudWatch Logs.

" } }, - "com.amazonaws.rum#DeleteAppMonitor": { + "com.amazonaws.rum#DeleteAppMonitorResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.rum#DeleteRumMetricsDestination": { "type": "operation", "input": { - "target": "com.amazonaws.rum#DeleteAppMonitorRequest" + "target": "com.amazonaws.rum#DeleteRumMetricsDestinationRequest" }, "output": { - "target": "com.amazonaws.rum#DeleteAppMonitorResponse" + "target": "com.amazonaws.rum#DeleteRumMetricsDestinationResponse" }, "errors": [ { @@ -464,32 +904,86 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes an existing app monitor. This immediately stops the collection of data.

", + "smithy.api#documentation": "

Deletes a destination for CloudWatch RUM extended metrics, so that the specified app monitor stops\n sending extended metrics to that destination.

", "smithy.api#http": { + "code": 200, "method": "DELETE", - "uri": "/appmonitor/{Name}", - "code": 200 + "uri": "/rummetrics/{AppMonitorName}/metricsdestination" }, "smithy.api#idempotent": {} } }, - "com.amazonaws.rum#DeleteAppMonitorRequest": { + "com.amazonaws.rum#DeleteRumMetricsDestinationRequest": { "type": "structure", "members": { - "Name": { + "AppMonitorName": { "target": "com.amazonaws.rum#AppMonitorName", "traits": { - "smithy.api#documentation": "

The name of the app monitor to delete.

", + "smithy.api#documentation": "

The name of the app monitor that is sending metrics to the destination that you want to delete.

", "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "Name" + } + }, + "Destination": { + "target": "com.amazonaws.rum#MetricDestination", + "traits": { + "smithy.api#documentation": "

The type of destination to delete. Valid values are CloudWatch and Evidently.

", + "smithy.api#httpQuery": "destination", "smithy.api#required": {} } + }, + "DestinationArn": { + "target": "com.amazonaws.rum#DestinationArn", + "traits": { + "smithy.api#documentation": "

This parameter is required if Destination is Evidently. If Destination is \n CloudWatch, do not use this parameter. This parameter\n specifies the ARN of the Evidently experiment that corresponds to the destination to delete.

", + "smithy.api#httpQuery": "destinationArn" + } } } }, - "com.amazonaws.rum#DeleteAppMonitorResponse": { + "com.amazonaws.rum#DeleteRumMetricsDestinationResponse": { "type": "structure", "members": {} }, + "com.amazonaws.rum#DestinationArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + }, + "smithy.api#pattern": "arn:[^:]*:[^:]*:[^:]*:[^:]*:.*" + } + }, + "com.amazonaws.rum#DimensionKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 280 + } + } + }, + "com.amazonaws.rum#DimensionKeysMap": { + "type": "map", + "key": { + "target": "com.amazonaws.rum#DimensionKey" + }, + "value": { + "target": "com.amazonaws.rum#DimensionName" + } + }, + "com.amazonaws.rum#DimensionName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^(?!:).*[^\\s].*" + } + }, "com.amazonaws.rum#EventData": { "type": "string" }, @@ -499,6 +993,15 @@ "target": "com.amazonaws.rum#EventData" } }, + "com.amazonaws.rum#EventPattern": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 4000 + } + } + }, "com.amazonaws.rum#FavoritePages": { "type": "list", "member": { @@ -539,9 +1042,9 @@ "traits": { "smithy.api#documentation": "

Retrieves the complete configuration information for one app monitor.

", "smithy.api#http": { + "code": 200, "method": "GET", - "uri": "/appmonitor/{Name}", - "code": 200 + "uri": "/appmonitor/{Name}" }, "smithy.api#readonly": {} } @@ -574,15 +1077,15 @@ "traits": { "smithy.api#documentation": "

Retrieves the raw performance events that RUM has collected from your web application,\n so that you can do your own processing or analysis of this data.

", "smithy.api#http": { + "code": 200, "method": "POST", - "uri": "/appmonitor/{Name}/data", - "code": 200 + "uri": "/appmonitor/{Name}/data" }, "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "Events", - "pageSize": "MaxResults" + "pageSize": "MaxResults", + "items": "Events" }, "smithy.api#readonly": {} } @@ -614,6 +1117,7 @@ "MaxResults": { "target": "com.amazonaws.rum#MaxQueryResults", "traits": { + "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of results to return in one operation.

" } }, @@ -672,8 +1176,13 @@ "smithy.api#length": { "min": 19, "max": 19 - }, - "smithy.api#pattern": "/d{4}-[01]/d-[0-3]/dT[0-2]/d:[0-5]/d:[0-5]/d/./d+([+-][0-2]/d:[0-5]/d|Z)" + } + } + }, + "com.amazonaws.rum#IamRoleArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "arn:[^:]*:[^:]*:[^:]*:[^:]*:.*" } }, "com.amazonaws.rum#IdentityPoolId": { @@ -741,15 +1250,15 @@ "traits": { "smithy.api#documentation": "

Returns a list of the Amazon CloudWatch RUM app monitors in the account.

", "smithy.api#http": { + "code": 200, "method": "POST", - "uri": "/appmonitors", - "code": 200 + "uri": "/appmonitors" }, "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", - "items": "AppMonitorSummaries", - "pageSize": "MaxResults" + "pageSize": "MaxResults", + "items": "AppMonitorSummaries" }, "smithy.api#readonly": {} } @@ -758,9 +1267,9 @@ "type": "structure", "members": { "MaxResults": { - "target": "smithy.api#Integer", + "target": "com.amazonaws.rum#MaxResultsInteger", "traits": { - "smithy.api#documentation": "

The maximum number of results to return in one operation.

", + "smithy.api#documentation": "

The maximum number of results to return in one operation. The default is 50. The maximum that you can \n specify is 100.

", "smithy.api#httpQuery": "maxResults" } }, @@ -790,6 +1299,89 @@ } } }, + "com.amazonaws.rum#ListRumMetricsDestinations": { + "type": "operation", + "input": { + "target": "com.amazonaws.rum#ListRumMetricsDestinationsRequest" + }, + "output": { + "target": "com.amazonaws.rum#ListRumMetricsDestinationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rum#AccessDeniedException" + }, + { + "target": "com.amazonaws.rum#InternalServerException" + }, + { + "target": "com.amazonaws.rum#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rum#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of destinations that you have created to receive RUM extended metrics, \n for the specified app monitor.

\n

For more information about extended metrics, see AddRumMetrics.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/rummetrics/{AppMonitorName}/metricsdestination" + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults", + "items": "Destinations" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.rum#ListRumMetricsDestinationsRequest": { + "type": "structure", + "members": { + "AppMonitorName": { + "target": "com.amazonaws.rum#AppMonitorName", + "traits": { + "smithy.api#documentation": "

The name of the app monitor associated with the destinations that you want to retrieve.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "Name" + } + }, + "MaxResults": { + "target": "com.amazonaws.rum#MaxResultsInteger", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return in one operation. The default is 50. The maximum that you can \n specify is 100.

\n

To retrieve the remaining results, make another call with the returned \n NextToken value.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Use the token returned by the previous operation to request the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.rum#ListRumMetricsDestinationsResponse": { + "type": "structure", + "members": { + "Destinations": { + "target": "com.amazonaws.rum#MetricDestinationSummaryList", + "traits": { + "smithy.api#documentation": "

The list of CloudWatch RUM extended metrics destinations associated with the app monitor that \n you specified.

" + } + }, + "NextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

A token that you can use in a subsequent operation to \n retrieve the next set of results.

" + } + } + } + }, "com.amazonaws.rum#ListTagsForResource": { "type": "operation", "input": { @@ -808,55 +1400,232 @@ { "target": "com.amazonaws.rum#ValidationException" } - ], + ], + "traits": { + "smithy.api#documentation": "

Displays the tags associated with a CloudWatch RUM resource.

", + "smithy.api#http": { + "method": "GET", + "uri": "/tags/{ResourceArn}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.rum#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.rum#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the resource that you want to see the tags of.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.rum#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.rum#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the resource that you are viewing.

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.rum#TagMap", + "traits": { + "smithy.api#documentation": "

The list of tag keys and values associated with the resource you specified.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.rum#MaxQueryResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 100 + } + } + }, + "com.amazonaws.rum#MaxResultsInteger": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.rum#MetricDefinition": { + "type": "structure", + "members": { + "MetricDefinitionId": { + "target": "com.amazonaws.rum#MetricDefinitionId", + "traits": { + "smithy.api#documentation": "

The ID of this metric definition.

", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.rum#MetricName", + "traits": { + "smithy.api#documentation": "

The name of the metric that is defined in this structure.

", + "smithy.api#required": {} + } + }, + "ValueKey": { + "target": "com.amazonaws.rum#ValueKey", + "traits": { + "smithy.api#documentation": "

The field within the event object that the metric value is sourced from.

" + } + }, + "UnitLabel": { + "target": "com.amazonaws.rum#UnitLabel", + "traits": { + "smithy.api#documentation": "

Use this field only if you are sending this metric to CloudWatch. It defines\n the CloudWatch metric unit that this metric is measured in.

" + } + }, + "DimensionKeys": { + "target": "com.amazonaws.rum#DimensionKeysMap", + "traits": { + "smithy.api#documentation": "

This field is a map of field paths to dimension names. It defines the dimensions to associate with this\n metric in CloudWatch The value of this field is used only if the metric destination is CloudWatch.\n If the metric destination is Evidently, the value of DimensionKeys is ignored.

" + } + }, + "EventPattern": { + "target": "com.amazonaws.rum#EventPattern", + "traits": { + "smithy.api#documentation": "

The pattern that defines the metric. RUM checks events that happen in a user's session\n against the pattern, and events that match the pattern are sent to the metric destination.

\n

If the metrics destination\n is CloudWatch and the event\n also matches a value in DimensionKeys, then the metric is published with the specified dimensions.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A structure that displays the definition of one extended metric that RUM sends\n to CloudWatch or CloudWatch Evidently. For more information, see \n \n Additional metrics that you can send to CloudWatch and CloudWatch Evidently.

" + } + }, + "com.amazonaws.rum#MetricDefinitionId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + } + } + }, + "com.amazonaws.rum#MetricDefinitionIds": { + "type": "list", + "member": { + "target": "com.amazonaws.rum#MetricDefinitionId" + } + }, + "com.amazonaws.rum#MetricDefinitionRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.rum#MetricName", + "traits": { + "smithy.api#documentation": "

The name for the metric that is defined in this structure. Valid values are the following:

\n ", + "smithy.api#required": {} + } + }, + "ValueKey": { + "target": "com.amazonaws.rum#ValueKey", + "traits": { + "smithy.api#documentation": "

The field within the event object that the metric value is sourced from.

\n

If you omit this field, a hardcoded value of 1 is pushed as the metric value. This is useful if you\n just want to count the number of events that the filter catches.

\n

If this metric is sent to CloudWatch Evidently, this field will be passed to Evidently raw and Evidently \n will handle data extraction from the event.

" + } + }, + "UnitLabel": { + "target": "com.amazonaws.rum#UnitLabel", + "traits": { + "smithy.api#documentation": "

The CloudWatch metric unit to use for this metric. If you omit this field, the metric\n is recorded with no unit.

" + } + }, + "DimensionKeys": { + "target": "com.amazonaws.rum#DimensionKeysMap", + "traits": { + "smithy.api#documentation": "

Use this field only if you are sending the metric to CloudWatch.

\n

This field is a map of field paths to dimension names. It defines the dimensions to associate with this\n metric in CloudWatch. Valid values for the entries in this field are the following:

\n \n \n

All dimensions listed in this field\n must also be included in EventPattern.

" + } + }, + "EventPattern": { + "target": "com.amazonaws.rum#EventPattern", + "traits": { + "smithy.api#documentation": "

The pattern that defines the metric, specified as a JSON object. RUM checks events that happen in a user's session\n against the pattern, and events that match the pattern are sent to the metric destination.

\n

When you define extended metrics, the metric definition is not valid if EventPattern\n is omitted.

\n

Example event patterns:

\n \n

If the metrics destination'\n is CloudWatch and the event\n also matches a value in DimensionKeys, then the metric is published with the specified dimensions.

" + } + } + }, "traits": { - "smithy.api#documentation": "

Displays the tags associated with a CloudWatch RUM resource.

", - "smithy.api#http": { - "method": "GET", - "uri": "/tags/{ResourceArn}", - "code": 200 - }, - "smithy.api#readonly": {} + "smithy.api#documentation": "

Use this structure to define one extended metric that RUM will send\n to CloudWatch or CloudWatch Evidently. For more information, see \n \n Additional metrics that you can send to CloudWatch and CloudWatch Evidently.

\n

Only certain combinations of values for Name, ValueKey, and EventPattern\n are valid. In addition to what is displayed in the list below, the EventPattern can also include information\n used by the DimensionKeys field.

\n " } }, - "com.amazonaws.rum#ListTagsForResourceRequest": { - "type": "structure", - "members": { - "ResourceArn": { - "target": "com.amazonaws.rum#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the resource that you want to see the tags of.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "com.amazonaws.rum#MetricDefinitions": { + "type": "list", + "member": { + "target": "com.amazonaws.rum#MetricDefinition" + } + }, + "com.amazonaws.rum#MetricDefinitionsRequest": { + "type": "list", + "member": { + "target": "com.amazonaws.rum#MetricDefinitionRequest" + } + }, + "com.amazonaws.rum#MetricDestination": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "CloudWatch", + "value": "CloudWatch" + }, + { + "name": "Evidently", + "value": "Evidently" } - } + ] } }, - "com.amazonaws.rum#ListTagsForResourceResponse": { + "com.amazonaws.rum#MetricDestinationSummary": { "type": "structure", "members": { - "ResourceArn": { - "target": "com.amazonaws.rum#Arn", + "Destination": { + "target": "com.amazonaws.rum#MetricDestination", "traits": { - "smithy.api#documentation": "

The ARN of the resource that you are viewing.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Specifies whether the destination is CloudWatch or Evidently.

" } }, - "Tags": { - "target": "com.amazonaws.rum#TagMap", + "DestinationArn": { + "target": "com.amazonaws.rum#DestinationArn", "traits": { - "smithy.api#documentation": "

The list of tag keys and values associated with the resource you specified.

", - "smithy.api#required": {} + "smithy.api#documentation": "

If the destination is Evidently, this specifies the ARN of the Evidently experiment that receives\n the metrics.

" + } + }, + "IamRoleArn": { + "target": "com.amazonaws.rum#IamRoleArn", + "traits": { + "smithy.api#documentation": "

This field appears only when the destination is Evidently. It specifies\n the ARN of the IAM role that is used to write to the Evidently experiment that receives the metrics.

" } } + }, + "traits": { + "smithy.api#documentation": "

A structure that displays information about one destination that CloudWatch RUM sends\n extended metrics to.

" } }, - "com.amazonaws.rum#MaxQueryResults": { - "type": "integer", + "com.amazonaws.rum#MetricDestinationSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.rum#MetricDestinationSummary" + } + }, + "com.amazonaws.rum#MetricName": { + "type": "string", "traits": { - "smithy.api#range": { - "min": 0, - "max": 100 + "smithy.api#length": { + "min": 1, + "max": 255 } } }, @@ -954,6 +1723,84 @@ "type": "structure", "members": {} }, + "com.amazonaws.rum#PutRumMetricsDestination": { + "type": "operation", + "input": { + "target": "com.amazonaws.rum#PutRumMetricsDestinationRequest" + }, + "output": { + "target": "com.amazonaws.rum#PutRumMetricsDestinationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rum#AccessDeniedException" + }, + { + "target": "com.amazonaws.rum#ConflictException" + }, + { + "target": "com.amazonaws.rum#InternalServerException" + }, + { + "target": "com.amazonaws.rum#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rum#ThrottlingException" + }, + { + "target": "com.amazonaws.rum#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates or updates a destination to receive extended metrics from CloudWatch RUM. You can send\n extended metrics to CloudWatch or to a CloudWatch Evidently experiment.

\n

For more information about extended metrics, see AddRumMetrics.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/rum/latest/developerguide/PutRumMetricsDestination.html" + }, + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/rummetrics/{AppMonitorName}/metricsdestination" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.rum#PutRumMetricsDestinationRequest": { + "type": "structure", + "members": { + "AppMonitorName": { + "target": "com.amazonaws.rum#AppMonitorName", + "traits": { + "smithy.api#documentation": "

The name of the CloudWatch RUM app monitor that will send the metrics.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "Name" + } + }, + "Destination": { + "target": "com.amazonaws.rum#MetricDestination", + "traits": { + "smithy.api#documentation": "

Defines the destination to send the metrics to. Valid values are CloudWatch and\n Evidently. If\n you specify Evidently, you must also specify the ARN of the CloudWatchEvidently experiment that is to \n be the destination and an IAM role that has permission to write to the experiment.

", + "smithy.api#required": {} + } + }, + "DestinationArn": { + "target": "com.amazonaws.rum#DestinationArn", + "traits": { + "smithy.api#documentation": "

Use this parameter only if Destination is Evidently. This parameter specifies\n the ARN of the Evidently experiment that will receive the extended metrics.

" + } + }, + "IamRoleArn": { + "target": "com.amazonaws.rum#IamRoleArn", + "traits": { + "smithy.api#documentation": "

This parameter is required if Destination is Evidently. If Destination is \n CloudWatch, do not use this parameter.

\n

This parameter specifies\n the ARN of an IAM role that RUM will assume to write to the Evidently \n experiment that you are sending metrics to. This role must have permission to write to that experiment.

" + } + } + } + }, + "com.amazonaws.rum#PutRumMetricsDestinationResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.rum#QueryFilter": { "type": "structure", "members": { @@ -993,17 +1840,38 @@ } }, "com.amazonaws.rum#QueryTimestamp": { - "type": "long" + "type": "long", + "traits": { + "smithy.api#default": 0 + } }, "com.amazonaws.rum#RUM": { "type": "service", + "version": "2018-05-10", + "operations": [ + { + "target": "com.amazonaws.rum#ListTagsForResource" + }, + { + "target": "com.amazonaws.rum#PutRumEvents" + }, + { + "target": "com.amazonaws.rum#TagResource" + }, + { + "target": "com.amazonaws.rum#UntagResource" + } + ], + "resources": [ + { + "target": "com.amazonaws.rum#AppMonitorResource" + } + ], "traits": { "aws.api#service": { "sdkId": "RUM", "arnNamespace": "rum", - "cloudFormationName": "RUM", - "cloudTrailEventSource": "rum.amazonaws.com", - "endpointPrefix": "rum" + "serviceName": "rum" }, "aws.auth#sigv4": { "name": "rum" @@ -1011,50 +1879,908 @@ "aws.protocols#restJson1": {}, "smithy.api#cors": { "additionalAllowedHeaders": [ - "Authorization", - "x-amz-content-sha256", + "*", + "content-type", "X-Amz-Date", - "x-amzn-trace-id", + "Authorization", + "Date", "X-Amz-Security-Token", "X-Amz-Targe", + "x-amz-content-sha256", "x-amz-user-agent", - "*", - "content-type", "x-amzn-platform-id", - "Date" + "x-amzn-trace-id" ], "additionalExposedHeaders": [ - "date", - "x-amz-apigw-id", - "x-amzn-trace-id", "x-amzn-errortype", "x-amzn-requestid", - "x-amzn-errormessage" + "x-amzn-trace-id", + "x-amzn-errormessage", + "x-amz-apigw-id", + "date" ] }, "smithy.api#documentation": "

With Amazon CloudWatch RUM, you can perform real-user monitoring to collect client-side data about \n your web application performance from actual user sessions in real time. The data collected includes page load \n times, client-side errors, and user behavior. When you view this data, you can see it all aggregated together and \n also see breakdowns by the browsers and devices that your customers use.

\n \n

You can use the collected data to quickly identify and debug client-side performance issues. CloudWatch \n RUM helps you visualize anomalies in your application performance and find relevant debugging data such as error \n messages, stack traces, and user sessions. You can also use RUM to \n understand the range of end-user impact including the number of users, geolocations, and browsers used.

", - "smithy.api#title": "CloudWatch RUM" - }, - "version": "2018-05-10", - "operations": [ - { - "target": "com.amazonaws.rum#ListTagsForResource" - }, - { - "target": "com.amazonaws.rum#PutRumEvents" - }, - { - "target": "com.amazonaws.rum#TagResource" + "smithy.api#title": "CloudWatch RUM", + "smithy.rules#endpointRuleSet": { + "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": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "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": [ + { + "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": [], + "endpoint": { + "url": "https://rum-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://rum-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": [], + "endpoint": { + "url": "https://rum.{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://rum.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] }, - { - "target": "com.amazonaws.rum#UntagResource" - } - ], - "resources": [ - { - "target": "com.amazonaws.rum#AppMonitorResource" + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rum-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://rum-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://rum.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://rum.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-central-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rum-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://rum-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://rum.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://rum.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://rum-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://rum-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://rum.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://rum.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-north-1", + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rum-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://rum-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://rum.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://rum.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://rum-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://rum-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://rum.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://rum.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "eu-west-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rum-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://rum-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://rum.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://rum.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-northeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rum-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rum-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rum.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rum.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-1", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rum-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rum-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rum.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": true + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rum.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "ap-southeast-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rum-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rum-fips.us-east-1.amazonaws.com" + } + }, + "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://rum.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rum.us-east-1.amazonaws.com" + } + }, + "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://rum-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://rum-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rum.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rum.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-2", + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": 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": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false, + "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": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" } - ] + } }, "com.amazonaws.rum#ResourceNotFoundException": { "type": "structure", @@ -1152,6 +2878,7 @@ "com.amazonaws.rum#SessionSampleRate": { "type": "double", "traits": { + "smithy.api#default": 0, "smithy.api#range": { "min": 0, "max": 1 @@ -1163,16 +2890,16 @@ "traits": { "smithy.api#enum": [ { - "value": "CREATED", - "name": "CREATED" + "name": "CREATED", + "value": "CREATED" }, { - "value": "DELETING", - "name": "DELETING" + "name": "DELETING", + "value": "DELETING" }, { - "value": "ACTIVE", - "name": "ACTIVE" + "name": "ACTIVE", + "value": "ACTIVE" } ] } @@ -1231,8 +2958,7 @@ "smithy.api#documentation": "

Assigns one or more tags (key-value pairs) to the specified CloudWatch RUM resource. Currently, \n the only resources that \n can be tagged app monitors.

\n

Tags can help you organize and categorize your resources. You can also use them to scope user\n permissions by granting a user\n permission to access or change only resources with certain tag values.

\n

Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.

\n

You can use the TagResource action with a resource that already has tags. \n If you specify a new tag key for the resource, \n this tag is appended to the list of tags associated\n with the alarm. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces\n the previous value for that tag.

\n

You can associate as many as 50 tags with a resource.

\n

For more information, see Tagging Amazon Web Services resources.

", "smithy.api#http": { "method": "POST", - "uri": "/tags/{ResourceArn}", - "code": 200 + "uri": "/tags/{ResourceArn}" }, "smithy.api#idempotent": {} } @@ -1342,6 +3068,7 @@ "After": { "target": "com.amazonaws.rum#QueryTimestamp", "traits": { + "smithy.api#default": 0, "smithy.api#documentation": "

The beginning of the time range to retrieve performance events from.

", "smithy.api#required": {} } @@ -1349,6 +3076,7 @@ "Before": { "target": "com.amazonaws.rum#QueryTimestamp", "traits": { + "smithy.api#default": 0, "smithy.api#documentation": "

The end of the time range to retrieve performance events from. If you omit this, the time \n range extends to the time that this operation is performed.

" } } @@ -1360,6 +3088,15 @@ "com.amazonaws.rum#Token": { "type": "string" }, + "com.amazonaws.rum#UnitLabel": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, "com.amazonaws.rum#UntagResource": { "type": "operation", "input": { @@ -1382,9 +3119,9 @@ "traits": { "smithy.api#documentation": "

Removes one or more tags from the specified resource.

", "smithy.api#http": { + "code": 200, "method": "DELETE", - "uri": "/tags/{ResourceArn}", - "code": 200 + "uri": "/tags/{ResourceArn}" }, "smithy.api#idempotent": {} } @@ -1445,9 +3182,9 @@ "traits": { "smithy.api#documentation": "

Updates the configuration of an existing app monitor. When you use this operation, only the parts of the app monitor\n configuration that you specify in this operation are changed. For any parameters that you omit, the existing\n values are kept.

\n

You can't use this operation to change the tags of an existing app monitor. To change the tags of an existing app monitor, use\n TagResource.

\n

To create a new app monitor, use CreateAppMonitor.

\n

After you update an app monitor, sign in to the CloudWatch RUM console to get \n the updated JavaScript code snippet to add to your web application. For more information, see\n How do I find a code snippet\n that I've already generated?\n

", "smithy.api#http": { + "code": 200, "method": "PATCH", - "uri": "/appmonitor/{Name}", - "code": 200 + "uri": "/appmonitor/{Name}" } } }, @@ -1486,6 +3223,95 @@ "type": "structure", "members": {} }, + "com.amazonaws.rum#UpdateRumMetricDefinition": { + "type": "operation", + "input": { + "target": "com.amazonaws.rum#UpdateRumMetricDefinitionRequest" + }, + "output": { + "target": "com.amazonaws.rum#UpdateRumMetricDefinitionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rum#AccessDeniedException" + }, + { + "target": "com.amazonaws.rum#ConflictException" + }, + { + "target": "com.amazonaws.rum#InternalServerException" + }, + { + "target": "com.amazonaws.rum#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rum#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.rum#ThrottlingException" + }, + { + "target": "com.amazonaws.rum#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Modifies one existing metric definition for CloudWatch RUM extended metrics. For \n more information about extended metrics, see BatchCreateRumMetricsDefinitions.

", + "smithy.api#externalDocumentation": { + "API Reference": "https://docs.aws.amazon.com/rum/latest/developerguide/UpdateRumMetricDefinitions.html" + }, + "smithy.api#http": { + "code": 200, + "method": "PATCH", + "uri": "/rummetrics/{AppMonitorName}/metrics" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.rum#UpdateRumMetricDefinitionRequest": { + "type": "structure", + "members": { + "AppMonitorName": { + "target": "com.amazonaws.rum#AppMonitorName", + "traits": { + "smithy.api#documentation": "

The name of the CloudWatch RUM app monitor that sends these metrics.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {}, + "smithy.api#resourceIdentifier": "Name" + } + }, + "Destination": { + "target": "com.amazonaws.rum#MetricDestination", + "traits": { + "smithy.api#documentation": "

The destination to send the metrics to. Valid values are CloudWatch and Evidently. If\n you specify Evidently, you must also specify the ARN of the CloudWatchEvidently experiment \n that will receive\n the metrics and an IAM role that has permission to write to the experiment.

", + "smithy.api#required": {} + } + }, + "DestinationArn": { + "target": "com.amazonaws.rum#DestinationArn", + "traits": { + "smithy.api#documentation": "

This parameter is required if Destination is Evidently. If Destination is \n CloudWatch, do not use this parameter.

\n

This parameter specifies the ARN of the Evidently experiment that is to receive the metrics. You must have already defined this \n experiment as a valid destination. For more information, see PutRumMetricsDestination.

" + } + }, + "MetricDefinition": { + "target": "com.amazonaws.rum#MetricDefinitionRequest", + "traits": { + "smithy.api#documentation": "

A structure that contains the new definition that you want to use for this metric.

", + "smithy.api#required": {} + } + }, + "MetricDefinitionId": { + "target": "com.amazonaws.rum#MetricDefinitionId", + "traits": { + "smithy.api#documentation": "

The ID of the metric definition to update.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.rum#UpdateRumMetricDefinitionResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.rum#Url": { "type": "string", "traits": { @@ -1493,7 +3319,7 @@ "min": 1, "max": 1260 }, - "smithy.api#pattern": "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)" + "smithy.api#pattern": "https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&*//=]*)" } }, "com.amazonaws.rum#UserDetails": { @@ -1531,6 +3357,15 @@ "smithy.api#error": "client", "smithy.api#httpError": 400 } + }, + "com.amazonaws.rum#ValueKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 280 + } + } } } } \ No newline at end of file