From eee2b1105ebe299ad8f002c227c61b4c1fb9aa57 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Mon, 11 Sep 2023 11:25:26 -0700 Subject: [PATCH] Release v1.45.7 (2023-09-11) (#4982) Release v1.45.7 (2023-09-11) === ### Service Client Updates * `service/ecr`: Updates service API, documentation, and examples * This release will have ValidationException be thrown from ECR LifecyclePolicy APIs in regions LifecyclePolicy is not supported, this includes existing Amazon Dedicated Cloud (ADC) regions. This release will also change Tag: TagValue and Tag: TagKey to required. * `service/medialive`: Updates service API and documentation * AWS Elemental Link now supports attaching a Link UHD device to a MediaConnect flow. * `service/quicksight`: Updates service API and documentation * This release launches new updates to QuickSight KPI visuals - support for sparklines, new templated layout and new targets for conditional formatting rules. --- CHANGELOG.md | 11 + aws/version.go | 2 +- models/apis/ecr/2015-09-21/api-2.json | 19 +- models/apis/ecr/2015-09-21/docs-2.json | 8 +- .../ecr/2015-09-21/endpoint-rule-set-1.json | 364 ++++++++++ .../apis/ecr/2015-09-21/endpoint-tests-1.json | 678 ++++++++++++++++++ models/apis/ecr/2015-09-21/examples-1.json | 4 +- models/apis/medialive/2017-10-14/api-2.json | 221 ++++++ models/apis/medialive/2017-10-14/docs-2.json | 38 + models/apis/quicksight/2018-04-01/api-2.json | 61 +- models/apis/quicksight/2018-04-01/docs-2.json | 49 ++ service/ecr/api.go | 71 +- service/medialive/api.go | 583 +++++++++++++++ service/medialive/medialiveiface/interface.go | 8 + service/quicksight/api.go | 380 ++++++++++ 15 files changed, 2476 insertions(+), 21 deletions(-) create mode 100644 models/apis/ecr/2015-09-21/endpoint-rule-set-1.json create mode 100644 models/apis/ecr/2015-09-21/endpoint-tests-1.json diff --git a/CHANGELOG.md b/CHANGELOG.md index bdc46b89e54..382ef057bae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +Release v1.45.7 (2023-09-11) +=== + +### Service Client Updates +* `service/ecr`: Updates service API, documentation, and examples + * This release will have ValidationException be thrown from ECR LifecyclePolicy APIs in regions LifecyclePolicy is not supported, this includes existing Amazon Dedicated Cloud (ADC) regions. This release will also change Tag: TagValue and Tag: TagKey to required. +* `service/medialive`: Updates service API and documentation + * AWS Elemental Link now supports attaching a Link UHD device to a MediaConnect flow. +* `service/quicksight`: Updates service API and documentation + * This release launches new updates to QuickSight KPI visuals - support for sparklines, new templated layout and new targets for conditional formatting rules. + Release v1.45.6 (2023-09-08) === diff --git a/aws/version.go b/aws/version.go index b063d7929eb..46f1b00617d 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.45.6" +const SDKVersion = "1.45.7" diff --git a/models/apis/ecr/2015-09-21/api-2.json b/models/apis/ecr/2015-09-21/api-2.json index d38e9abd177..a88c000c138 100644 --- a/models/apis/ecr/2015-09-21/api-2.json +++ b/models/apis/ecr/2015-09-21/api-2.json @@ -138,7 +138,8 @@ {"shape":"ServerException"}, {"shape":"InvalidParameterException"}, {"shape":"RepositoryNotFoundException"}, - {"shape":"LifecyclePolicyNotFoundException"} + {"shape":"LifecyclePolicyNotFoundException"}, + {"shape":"ValidationException"} ] }, "DeletePullThroughCacheRule":{ @@ -334,7 +335,8 @@ {"shape":"ServerException"}, {"shape":"InvalidParameterException"}, {"shape":"RepositoryNotFoundException"}, - {"shape":"LifecyclePolicyNotFoundException"} + {"shape":"LifecyclePolicyNotFoundException"}, + {"shape":"ValidationException"} ] }, "GetLifecyclePolicyPreview":{ @@ -349,7 +351,8 @@ {"shape":"ServerException"}, {"shape":"InvalidParameterException"}, {"shape":"RepositoryNotFoundException"}, - {"shape":"LifecyclePolicyPreviewNotFoundException"} + {"shape":"LifecyclePolicyPreviewNotFoundException"}, + {"shape":"ValidationException"} ] }, "GetRegistryPolicy":{ @@ -500,7 +503,8 @@ "errors":[ {"shape":"ServerException"}, {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"} + {"shape":"RepositoryNotFoundException"}, + {"shape":"ValidationException"} ] }, "PutRegistryPolicy":{ @@ -590,7 +594,8 @@ {"shape":"InvalidParameterException"}, {"shape":"RepositoryNotFoundException"}, {"shape":"LifecyclePolicyNotFoundException"}, - {"shape":"LifecyclePolicyPreviewInProgressException"} + {"shape":"LifecyclePolicyPreviewInProgressException"}, + {"shape":"ValidationException"} ] }, "TagResource":{ @@ -2345,6 +2350,10 @@ "Status":{"type":"string"}, "Tag":{ "type":"structure", + "required":[ + "Key", + "Value" + ], "members":{ "Key":{"shape":"TagKey"}, "Value":{"shape":"TagValue"} diff --git a/models/apis/ecr/2015-09-21/docs-2.json b/models/apis/ecr/2015-09-21/docs-2.json index 00962daf066..da085deee18 100644 --- a/models/apis/ecr/2015-09-21/docs-2.json +++ b/models/apis/ecr/2015-09-21/docs-2.json @@ -56,7 +56,7 @@ "base": null, "refs": { "ListTagsForResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the only supported resource is an Amazon ECR repository.

", - "Repository$repositoryArn": "

The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the arn:aws:ecr namespace, followed by the region of the repository, Amazon Web Services account ID of the repository owner, repository namespace, and repository name. For example, arn:aws:ecr:region:012345678910:repository/test.

", + "Repository$repositoryArn": "

The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the arn:aws:ecr namespace, followed by the region of the repository, Amazon Web Services account ID of the repository owner, repository namespace, and repository name. For example, arn:aws:ecr:region:012345678910:repository-namespace/repository-name.

", "RepositoryScanningConfiguration$repositoryArn": "

The ARN of the repository.

", "TagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the the resource to which to add tags. Currently, the only supported resource is an Amazon ECR repository.

", "UntagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource from which to remove tags. Currently, the only supported resource is an Amazon ECR repository.

" @@ -1461,7 +1461,7 @@ } }, "RepositoryFilter": { - "base": "

The filter settings used with image replication. Specifying a repository filter to a replication rule provides a method for controlling which repositories in a private registry are replicated. If no repository filter is specified, all images in the repository are replicated.

", + "base": "

The filter settings used with image replication. Specifying a repository filter to a replication rule provides a method for controlling which repositories in a private registry are replicated. If no filters are added, the contents of all repositories are replicated.

", "refs": { "RepositoryFilterList$member": null } @@ -1499,7 +1499,7 @@ "BatchGetImageRequest$repositoryName": "

The repository that contains the images to describe.

", "CompleteLayerUploadRequest$repositoryName": "

The name of the repository to associate with the image layer.

", "CompleteLayerUploadResponse$repositoryName": "

The repository name associated with the request.

", - "CreateRepositoryRequest$repositoryName": "

The name to use for the repository. The repository name may be specified on its own (such as nginx-web-app) or it can be prepended with a namespace to group the repository into a category (such as project-a/nginx-web-app).

", + "CreateRepositoryRequest$repositoryName": "

The name to use for the repository. The repository name may be specified on its own (such as nginx-web-app) or it can be prepended with a namespace to group the repository into a category (such as project-a/nginx-web-app).

The repository name must start with a letter and can only contain lowercase letters, numbers, hyphens, underscores, and forward slashes.

", "DeleteLifecyclePolicyRequest$repositoryName": "

The name of the repository.

", "DeleteLifecyclePolicyResponse$repositoryName": "

The repository name associated with the request.

", "DeleteRepositoryPolicyRequest$repositoryName": "

The name of the repository that is associated with the repository policy to delete.

", @@ -1625,7 +1625,7 @@ "ScanFrequency": { "base": null, "refs": { - "RegistryScanningRule$scanFrequency": "

The frequency that scans are performed at for a private registry. When the ENHANCED scan type is specified, the supported scan frequencies are CONTINUOUS_SCAN and SCAN_ON_PUSH. When the BASIC scan type is specified, the SCAN_ON_PUSH and MANUAL scan frequencies are supported.

", + "RegistryScanningRule$scanFrequency": "

The frequency that scans are performed at for a private registry. When the ENHANCED scan type is specified, the supported scan frequencies are CONTINUOUS_SCAN and SCAN_ON_PUSH. When the BASIC scan type is specified, the SCAN_ON_PUSH scan frequency is supported. If scan on push is not specified, then the MANUAL scan frequency is set by default.

", "RepositoryScanningConfiguration$scanFrequency": "

The scan frequency for the repository.

" } }, diff --git a/models/apis/ecr/2015-09-21/endpoint-rule-set-1.json b/models/apis/ecr/2015-09-21/endpoint-rule-set-1.json new file mode 100644 index 00000000000..722e1b81239 --- /dev/null +++ b/models/apis/ecr/2015-09-21/endpoint-rule-set-1.json @@ -0,0 +1,364 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "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": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://api.ecr-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": [ + { + "fn": "stringEquals", + "argv": [ + "aws", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://ecr-fips.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://ecr-fips.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://api.ecr-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://api.ecr.{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://api.ecr.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] +} \ No newline at end of file diff --git a/models/apis/ecr/2015-09-21/endpoint-tests-1.json b/models/apis/ecr/2015-09-21/endpoint-tests-1.json new file mode 100644 index 00000000000..9e2aafff9c7 --- /dev/null +++ b/models/apis/ecr/2015-09-21/endpoint-tests-1.json @@ -0,0 +1,678 @@ +{ + "testCases": [ + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.af-south-1.amazonaws.com" + } + }, + "params": { + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.ap-east-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.ap-northeast-3.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.ap-south-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.ap-southeast-3.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-3", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.ca-central-1.amazonaws.com" + } + }, + "params": { + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.eu-central-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.eu-north-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.eu-south-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.eu-west-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.eu-west-2.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.eu-west-3.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.me-south-1.amazonaws.com" + } + }, + "params": { + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.sa-east-1.amazonaws.com" + } + }, + "params": { + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ecr-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.us-east-2.amazonaws.com" + } + }, + "params": { + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ecr-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.us-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ecr-fips.us-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ecr-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://api.ecr-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://api.ecr-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ecr-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ecr-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://api.ecr-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.ecr-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "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": { + "Region": "us-east-1", + "UseFIPS": true, + "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": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/ecr/2015-09-21/examples-1.json b/models/apis/ecr/2015-09-21/examples-1.json index d11aa8dd9ff..fa1a309ac6f 100644 --- a/models/apis/ecr/2015-09-21/examples-1.json +++ b/models/apis/ecr/2015-09-21/examples-1.json @@ -161,8 +161,8 @@ "output": { "authorizationData": [ { - "authorizationToken": "QVdTOkN...", - "expiresAt": "1470951892432", + "authorizationToken": "QVdTOkNEXAMPLE", + "expiresAt": "2022-05-17T06:56:13.652000+00:00", "proxyEndpoint": "https://012345678901.dkr.ecr.us-west-2.amazonaws.com" } ] diff --git a/models/apis/medialive/2017-10-14/api-2.json b/models/apis/medialive/2017-10-14/api-2.json index 5877a7c1133..3900ff2a147 100644 --- a/models/apis/medialive/2017-10-14/api-2.json +++ b/models/apis/medialive/2017-10-14/api-2.json @@ -1828,6 +1828,46 @@ } ] }, + "StartInputDevice": { + "name": "StartInputDevice", + "http": { + "method": "POST", + "requestUri": "/prod/inputDevices/{inputDeviceId}/start", + "responseCode": 200 + }, + "input": { + "shape": "StartInputDeviceRequest" + }, + "output": { + "shape": "StartInputDeviceResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, "StartInputDeviceMaintenanceWindow": { "name": "StartInputDeviceMaintenanceWindow", "http": { @@ -1948,6 +1988,46 @@ } ] }, + "StopInputDevice": { + "name": "StopInputDevice", + "http": { + "method": "POST", + "requestUri": "/prod/inputDevices/{inputDeviceId}/stop", + "responseCode": 200 + }, + "input": { + "shape": "StopInputDeviceRequest" + }, + "output": { + "shape": "StopInputDeviceResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "BadGatewayException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "GatewayTimeoutException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, "StopMultiplex": { "name": "StopMultiplex", "http": { @@ -5085,6 +5165,14 @@ "AvailabilityZone": { "shape": "__string", "locationName": "availabilityZone" + }, + "MedialiveInputArns": { + "shape": "__listOf__string", + "locationName": "medialiveInputArns" + }, + "OutputType": { + "shape": "InputDeviceOutputType", + "locationName": "outputType" } } }, @@ -8189,6 +8277,14 @@ "AvailabilityZone": { "shape": "__string", "locationName": "availabilityZone" + }, + "MedialiveInputArns": { + "shape": "__listOf__string", + "locationName": "medialiveInputArns" + }, + "OutputType": { + "shape": "InputDeviceOutputType", + "locationName": "outputType" } } }, @@ -8199,6 +8295,13 @@ "SDI" ] }, + "InputDeviceCodec": { + "type": "string", + "enum": [ + "HEVC", + "AVC" + ] + }, "InputDeviceConfigurableSettings": { "type": "structure", "members": { @@ -8213,6 +8316,14 @@ "LatencyMs": { "shape": "__integer", "locationName": "latencyMs" + }, + "Codec": { + "shape": "InputDeviceCodec", + "locationName": "codec" + }, + "MediaconnectSettings": { + "shape": "InputDeviceMediaConnectConfigurableSettings", + "locationName": "mediaconnectSettings" } } }, @@ -8292,6 +8403,48 @@ "DHCP" ] }, + "InputDeviceMediaConnectConfigurableSettings": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn" + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn" + }, + "SecretArn": { + "shape": "__string", + "locationName": "secretArn" + }, + "SourceName": { + "shape": "__string", + "locationName": "sourceName" + } + } + }, + "InputDeviceMediaConnectSettings": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn" + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn" + }, + "SecretArn": { + "shape": "__string", + "locationName": "secretArn" + }, + "SourceName": { + "shape": "__string", + "locationName": "sourceName" + } + } + }, "InputDeviceNetworkSettings": { "type": "structure", "members": { @@ -8317,6 +8470,14 @@ } } }, + "InputDeviceOutputType": { + "type": "string", + "enum": [ + "NONE", + "MEDIALIVE_INPUT", + "MEDIACONNECT_FLOW" + ] + }, "InputDeviceRequest": { "type": "structure", "members": { @@ -8407,6 +8568,14 @@ "AvailabilityZone": { "shape": "__string", "locationName": "availabilityZone" + }, + "MedialiveInputArns": { + "shape": "__listOf__string", + "locationName": "medialiveInputArns" + }, + "OutputType": { + "shape": "InputDeviceOutputType", + "locationName": "outputType" } } }, @@ -8462,6 +8631,14 @@ "LatencyMs": { "shape": "__integer", "locationName": "latencyMs" + }, + "Codec": { + "shape": "InputDeviceCodec", + "locationName": "codec" + }, + "MediaconnectSettings": { + "shape": "InputDeviceMediaConnectSettings", + "locationName": "mediaconnectSettings" } } }, @@ -12322,6 +12499,24 @@ "members": { } }, + "StartInputDeviceRequest": { + "type": "structure", + "members": { + "InputDeviceId": { + "shape": "__string", + "location": "uri", + "locationName": "inputDeviceId" + } + }, + "required": [ + "InputDeviceId" + ] + }, + "StartInputDeviceResponse": { + "type": "structure", + "members": { + } + }, "StartMultiplexRequest": { "type": "structure", "members": { @@ -12556,6 +12751,24 @@ } } }, + "StopInputDeviceRequest": { + "type": "structure", + "members": { + "InputDeviceId": { + "shape": "__string", + "location": "uri", + "locationName": "inputDeviceId" + } + }, + "required": [ + "InputDeviceId" + ] + }, + "StopInputDeviceResponse": { + "type": "structure", + "members": { + } + }, "StopMultiplexRequest": { "type": "structure", "members": { @@ -13317,6 +13530,14 @@ "AvailabilityZone": { "shape": "__string", "locationName": "availabilityZone" + }, + "MedialiveInputArns": { + "shape": "__listOf__string", + "locationName": "medialiveInputArns" + }, + "OutputType": { + "shape": "InputDeviceOutputType", + "locationName": "outputType" } } }, diff --git a/models/apis/medialive/2017-10-14/docs-2.json b/models/apis/medialive/2017-10-14/docs-2.json index 4c2bfe8bbfc..56b2fcdd787 100644 --- a/models/apis/medialive/2017-10-14/docs-2.json +++ b/models/apis/medialive/2017-10-14/docs-2.json @@ -51,9 +51,11 @@ "RejectInputDeviceTransfer": "Reject the transfer of the specified input device to your AWS account.", "UpdateAccountConfiguration": "Update account configuration", "StartChannel": "Starts an existing channel", + "StartInputDevice": "Start an input device that is attached to a MediaConnect flow. (There is no need to start a device that is attached to a MediaLive input; MediaLive starts the device when the channel starts.)", "StartInputDeviceMaintenanceWindow": "Start a maintenance window for the specified input device. Starting a maintenance window will give the device up to two hours to install software. If the device was streaming prior to the maintenance, it will resume streaming when the software is fully installed. Devices automatically install updates while they are powered on and their MediaLive channels are stopped. A maintenance window allows you to update a device without having to stop MediaLive channels that use the device. The device must remain powered on and connected to the internet for the duration of the maintenance.", "StartMultiplex": "Start (run) the multiplex. Starting the multiplex does not start the channels. You must explicitly start each channel.", "StopChannel": "Stops a running channel", + "StopInputDevice": "Stop an input device that is attached to a MediaConnect flow. (There is no need to stop a device that is attached to a MediaLive input; MediaLive automatically stops the device when the channel stops.)", "StopMultiplex": "Stops a running multiplex. If the multiplex isn't running, this action has no effect.", "TransferInputDevice": "Start an input device transfer to another AWS account. After you make the request, the other account must accept or reject the transfer.", "UpdateChannel": "Updates a channel.", @@ -1783,6 +1785,13 @@ "InputDeviceUhdSettings$ActiveInput": "If you specified Auto as the configured input, specifies which of the sources is currently active (SDI or HDMI)." } }, + "InputDeviceCodec": { + "base": "The codec to use on the video that the device produces.", + "refs": { + "InputDeviceConfigurableSettings$Codec": "Choose the codec for the video that the device produces. Only UHD devices can specify this parameter.", + "InputDeviceUhdSettings$Codec": "The codec for the video that the device produces." + } + }, "InputDeviceConfigurableSettings": { "base": "Configurable settings for the input device.", "refs": { @@ -1823,6 +1832,18 @@ "InputDeviceNetworkSettings$IpScheme": "Specifies whether the input device has been configured (outside of MediaLive) to use a dynamic IP address assignment (DHCP) or a static IP address." } }, + "InputDeviceMediaConnectConfigurableSettings": { + "base": "Parameters required to attach a MediaConnect flow to the device.", + "refs": { + "InputDeviceConfigurableSettings$MediaconnectSettings": "To attach this device to a MediaConnect flow, specify these parameters. To detach an existing flow, enter {} for the value of mediaconnectSettings. Only UHD devices can specify this parameter." + } + }, + "InputDeviceMediaConnectSettings": { + "base": "Information about the MediaConnect flow attached to the device.", + "refs": { + "InputDeviceUhdSettings$MediaconnectSettings": "Information about the MediaConnect flow attached to the device. Returned only if the outputType is MEDIACONNECT_FLOW." + } + }, "InputDeviceNetworkSettings": { "base": "The network settings for the input device.", "refs": { @@ -1830,6 +1851,13 @@ "InputDeviceSummary$NetworkSettings": "Network settings for the input device." } }, + "InputDeviceOutputType": { + "base": "The output attachment type of the input device.", + "refs": { + "InputDevice$OutputType": "The output attachment type of the input device. Specifies MEDIACONNECT_FLOW if this device is the source for a MediaConnect flow. Specifies MEDIALIVE_INPUT if this device is the source for a MediaLive input.", + "InputDeviceSummary$OutputType": "The output attachment type of the input device. Specifies MEDIACONNECT_FLOW if this device is the source for a MediaConnect flow. Specifies MEDIALIVE_INPUT if this device is the source for a MediaLive input." + } + }, "InputDeviceRequest": { "base": "Settings for an input device.", "refs": { @@ -4519,7 +4547,9 @@ "Input$AttachedChannels": "A list of channel IDs that that input is attached to (currently an input can only be attached to one channel).", "Input$InputPartnerIds": "A list of IDs for all Inputs which are partners of this one.", "Input$SecurityGroups": "A list of IDs for all the Input Security Groups attached to the input.", + "InputDevice$MedialiveInputArns": "An array of the ARNs for the MediaLive inputs attached to the device. Returned only if the outputType is MEDIALIVE_INPUT.", "InputDeviceNetworkSettings$DnsAddresses": "The DNS addresses of the input device.", + "InputDeviceSummary$MedialiveInputArns": "An array of the ARNs for the MediaLive inputs attached to the device. Returned only if the outputType is MEDIALIVE_INPUT.", "InputPrepareScheduleActionSettings$UrlPath": "The value for the variable portion of the URL for the dynamic input, for this instance of the input. Each time you use the same dynamic input in an input switch action, you can provide a different value, in order to connect the input to a different content source.", "InputSecurityGroup$Inputs": "The list of inputs currently using this Input Security Group.", "InputSwitchScheduleActionSettings$UrlPath": "The value for the variable portion of the URL for the dynamic input, for this instance of the input. Each time you use the same dynamic input in an input switch action, you can provide a different value, in order to connect the input to a different content source.", @@ -4659,6 +4689,14 @@ "InputDevice$Name": "A name that you specify for the input device.", "InputDevice$SerialNumber": "The unique serial number of the input device.", "InputDeviceConfigurationValidationError$Message": "The error message.", + "InputDeviceMediaConnectConfigurableSettings$FlowArn": "The ARN of the MediaConnect flow to attach this device to.", + "InputDeviceMediaConnectConfigurableSettings$RoleArn": "The ARN for the role that MediaLive assumes to access the attached flow and secret. For more information about how to create this role, see the MediaLive user guide.", + "InputDeviceMediaConnectConfigurableSettings$SecretArn": "The ARN for the secret that holds the encryption key to encrypt the content output by the device.", + "InputDeviceMediaConnectConfigurableSettings$SourceName": "The name of the MediaConnect Flow source to stream to.", + "InputDeviceMediaConnectSettings$FlowArn": "The ARN of the MediaConnect flow.", + "InputDeviceMediaConnectSettings$RoleArn": "The ARN for the role that MediaLive assumes to access the attached flow and secret.", + "InputDeviceMediaConnectSettings$SecretArn": "The ARN of the secret used to encrypt the stream.", + "InputDeviceMediaConnectSettings$SourceName": "The name of the MediaConnect flow source.", "InputDeviceNetworkSettings$Gateway": "The network gateway IP address.", "InputDeviceNetworkSettings$IpAddress": "The IP address of the input device.", "InputDeviceNetworkSettings$SubnetMask": "The subnet mask of the input device.", diff --git a/models/apis/quicksight/2018-04-01/api-2.json b/models/apis/quicksight/2018-04-01/api-2.json index 0040f6ab19f..b1fc52f582b 100644 --- a/models/apis/quicksight/2018-04-01/api-2.json +++ b/models/apis/quicksight/2018-04-01/api-2.json @@ -2920,7 +2920,7 @@ "ActionList":{ "type":"list", "member":{"shape":"String"}, - "max":16, + "max":20, "min":1 }, "ActiveIAMPolicyAssignment":{ @@ -11497,6 +11497,20 @@ "RIGHT" ] }, + "KPIActualValueConditionalFormatting":{ + "type":"structure", + "members":{ + "TextColor":{"shape":"ConditionalFormattingColor"}, + "Icon":{"shape":"ConditionalFormattingIcon"} + } + }, + "KPIComparisonValueConditionalFormatting":{ + "type":"structure", + "members":{ + "TextColor":{"shape":"ConditionalFormattingColor"}, + "Icon":{"shape":"ConditionalFormattingIcon"} + } + }, "KPIConditionalFormatting":{ "type":"structure", "members":{ @@ -11507,7 +11521,9 @@ "type":"structure", "members":{ "PrimaryValue":{"shape":"KPIPrimaryValueConditionalFormatting"}, - "ProgressBar":{"shape":"KPIProgressBarConditionalFormatting"} + "ProgressBar":{"shape":"KPIProgressBarConditionalFormatting"}, + "ActualValue":{"shape":"KPIActualValueConditionalFormatting"}, + "ComparisonValue":{"shape":"KPIComparisonValueConditionalFormatting"} } }, "KPIConditionalFormattingOptionList":{ @@ -11540,7 +11556,9 @@ "Comparison":{"shape":"ComparisonConfiguration"}, "PrimaryValueDisplayType":{"shape":"PrimaryValueDisplayType"}, "PrimaryValueFontConfiguration":{"shape":"FontConfiguration"}, - "SecondaryValueFontConfiguration":{"shape":"FontConfiguration"} + "SecondaryValueFontConfiguration":{"shape":"FontConfiguration"}, + "Sparkline":{"shape":"KPISparklineOptions"}, + "VisualLayoutOptions":{"shape":"KPIVisualLayoutOptions"} } }, "KPIPrimaryValueConditionalFormatting":{ @@ -11562,6 +11580,23 @@ "TrendGroupSort":{"shape":"FieldSortOptionsList"} } }, + "KPISparklineOptions":{ + "type":"structure", + "required":["Type"], + "members":{ + "Visibility":{"shape":"Visibility"}, + "Type":{"shape":"KPISparklineType"}, + "Color":{"shape":"HexColor"}, + "TooltipVisibility":{"shape":"Visibility"} + } + }, + "KPISparklineType":{ + "type":"string", + "enum":[ + "LINE", + "AREA" + ] + }, "KPIVisual":{ "type":"structure", "required":["VisualId"], @@ -11575,6 +11610,26 @@ "ColumnHierarchies":{"shape":"ColumnHierarchyList"} } }, + "KPIVisualLayoutOptions":{ + "type":"structure", + "members":{ + "StandardLayout":{"shape":"KPIVisualStandardLayout"} + } + }, + "KPIVisualStandardLayout":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{"shape":"KPIVisualStandardLayoutType"} + } + }, + "KPIVisualStandardLayoutType":{ + "type":"string", + "enum":[ + "CLASSIC", + "VERTICAL" + ] + }, "LabelOptions":{ "type":"structure", "members":{ diff --git a/models/apis/quicksight/2018-04-01/docs-2.json b/models/apis/quicksight/2018-04-01/docs-2.json index 69222950048..25c04e5a8da 100644 --- a/models/apis/quicksight/2018-04-01/docs-2.json +++ b/models/apis/quicksight/2018-04-01/docs-2.json @@ -2221,6 +2221,8 @@ "refs": { "GaugeChartArcConditionalFormatting$ForegroundColor": "

The conditional formatting of the arc foreground color.

", "GaugeChartPrimaryValueConditionalFormatting$TextColor": "

The conditional formatting of the primary value text color.

", + "KPIActualValueConditionalFormatting$TextColor": "

The conditional formatting of the actual value's text color.

", + "KPIComparisonValueConditionalFormatting$TextColor": "

The conditional formatting of the comparison value's text color.

", "KPIPrimaryValueConditionalFormatting$TextColor": "

The conditional formatting of the primary value's text color.

", "KPIProgressBarConditionalFormatting$ForegroundColor": "

The conditional formatting of the progress bar's foreground color.

", "ShapeConditionalFormat$BackgroundColor": "

The conditional formatting for the shape background color of a filled map visual.

", @@ -2252,6 +2254,8 @@ "base": "

The formatting configuration for the icon.

", "refs": { "GaugeChartPrimaryValueConditionalFormatting$Icon": "

The conditional formatting of the primary value icon.

", + "KPIActualValueConditionalFormatting$Icon": "

The conditional formatting of the actual value's icon.

", + "KPIComparisonValueConditionalFormatting$Icon": "

The conditional formatting of the comparison value's icon.

", "KPIPrimaryValueConditionalFormatting$Icon": "

The conditional formatting of the primary value's icon.

", "TextConditionalFormat$Icon": "

The conditional formatting for the icon.

" } @@ -5560,6 +5564,7 @@ "FunnelChartDataLabelOptions$LabelColor": "

The color of the data label text.

", "GeospatialHeatmapDataColor$Color": "

The hex color to be used in the heatmap point style.

", "GradientStop$Color": "

Determines the color.

", + "KPISparklineOptions$Color": "

The color of the sparkline.

", "LineChartMarkerStyleSettings$MarkerColor": "

Color of marker in the series.

", "RadarChartConfiguration$AlternateBandEvenColor": "

The color of the even-numbered alternate bands of a radar chart.

", "RadarChartConfiguration$AlternateBandOddColor": "

The color of the odd-numbered alternate bands of a radar chart.

", @@ -6025,6 +6030,18 @@ "JoinInstruction$Type": "

The type of join that it is.

" } }, + "KPIActualValueConditionalFormatting": { + "base": "

The conditional formatting for the actual value of a KPI visual.

", + "refs": { + "KPIConditionalFormattingOption$ActualValue": "

The conditional formatting for the actual value of a KPI visual.

" + } + }, + "KPIComparisonValueConditionalFormatting": { + "base": "

The conditional formatting for the comparison value of a KPI visual.

", + "refs": { + "KPIConditionalFormattingOption$ComparisonValue": "

The conditional formatting for the comparison value of a KPI visual.

" + } + }, "KPIConditionalFormatting": { "base": "

The conditional formatting of a KPI visual.

", "refs": { @@ -6079,12 +6096,42 @@ "KPIConfiguration$SortConfiguration": "

The sort configuration of a KPI visual.

" } }, + "KPISparklineOptions": { + "base": "

The options that determine the visibility, color, type, and tooltip visibility of the sparkline of a KPI visual.

", + "refs": { + "KPIOptions$Sparkline": "

The options that determine the visibility, color, type, and tooltip visibility of the sparkline of a KPI visual.

" + } + }, + "KPISparklineType": { + "base": null, + "refs": { + "KPISparklineOptions$Type": "

The type of the sparkline.

" + } + }, "KPIVisual": { "base": "

A key performance indicator (KPI).

For more information, see Using KPIs in the Amazon QuickSight User Guide.

", "refs": { "Visual$KPIVisual": "

A key performance indicator (KPI).

For more information, see Using KPIs in the Amazon QuickSight User Guide.

" } }, + "KPIVisualLayoutOptions": { + "base": "

The options that determine the layout a KPI visual.

", + "refs": { + "KPIOptions$VisualLayoutOptions": "

The options that determine the layout a KPI visual.

" + } + }, + "KPIVisualStandardLayout": { + "base": "

The standard layout of the KPI visual.

", + "refs": { + "KPIVisualLayoutOptions$StandardLayout": "

The standard layout of the KPI visual.

" + } + }, + "KPIVisualStandardLayoutType": { + "base": null, + "refs": { + "KPIVisualStandardLayout$Type": "

The standard layout type.

" + } + }, "LabelOptions": { "base": "

The share label options for the labels.

", "refs": { @@ -12200,6 +12247,8 @@ "FunnelChartDataLabelOptions$Visibility": "

The visibility option that determines if data labels are displayed.

", "FunnelChartDataLabelOptions$CategoryLabelVisibility": "

The visibility of the category labels within the data labels.

", "FunnelChartDataLabelOptions$MeasureLabelVisibility": "

The visibility of the measure labels within the data labels.

", + "KPISparklineOptions$Visibility": "

The visibility of the sparkline.

", + "KPISparklineOptions$TooltipVisibility": "

The tooltip visibility of the sparkline.

", "LabelOptions$Visibility": "

Determines whether or not the label is visible.

", "LegendOptions$Visibility": "

Determines whether or not the legend is visible.

", "LineChartLineStyleSettings$LineVisibility": "

Configuration option that determines whether to show the line for the series.

", diff --git a/service/ecr/api.go b/service/ecr/api.go index d8813a8af4d..9f0a75ec36e 100644 --- a/service/ecr/api.go +++ b/service/ecr/api.go @@ -772,6 +772,9 @@ func (c *ECR) DeleteLifecyclePolicyRequest(input *DeleteLifecyclePolicyInput) (r // - LifecyclePolicyNotFoundException // The lifecycle policy could not be found, and no policy is set to the repository. // +// - ValidationException +// There was an exception validating this request. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/DeleteLifecyclePolicy func (c *ECR) DeleteLifecyclePolicy(input *DeleteLifecyclePolicyInput) (*DeleteLifecyclePolicyOutput, error) { req, out := c.DeleteLifecyclePolicyRequest(input) @@ -2201,6 +2204,9 @@ func (c *ECR) GetLifecyclePolicyRequest(input *GetLifecyclePolicyInput) (req *re // - LifecyclePolicyNotFoundException // The lifecycle policy could not be found, and no policy is set to the repository. // +// - ValidationException +// There was an exception validating this request. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetLifecyclePolicy func (c *ECR) GetLifecyclePolicy(input *GetLifecyclePolicyInput) (*GetLifecyclePolicyOutput, error) { req, out := c.GetLifecyclePolicyRequest(input) @@ -2298,6 +2304,9 @@ func (c *ECR) GetLifecyclePolicyPreviewRequest(input *GetLifecyclePolicyPreviewI // - LifecyclePolicyPreviewNotFoundException // There is no dry run for this repository. // +// - ValidationException +// There was an exception validating this request. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/GetLifecyclePolicyPreview func (c *ECR) GetLifecyclePolicyPreview(input *GetLifecyclePolicyPreviewInput) (*GetLifecyclePolicyPreviewOutput, error) { req, out := c.GetLifecyclePolicyPreviewRequest(input) @@ -3344,6 +3353,9 @@ func (c *ECR) PutLifecyclePolicyRequest(input *PutLifecyclePolicyInput) (req *re // The specified repository could not be found. Check the spelling of the specified // repository and ensure that you are performing operations on the correct registry. // +// - ValidationException +// There was an exception validating this request. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/PutLifecyclePolicy func (c *ECR) PutLifecyclePolicy(input *PutLifecyclePolicyInput) (*PutLifecyclePolicyOutput, error) { req, out := c.PutLifecyclePolicyRequest(input) @@ -3906,6 +3918,9 @@ func (c *ECR) StartLifecyclePolicyPreviewRequest(input *StartLifecyclePolicyPrev // The previous lifecycle policy preview request has not completed. Wait and // try again. // +// - ValidationException +// There was an exception validating this request. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/ecr-2015-09-21/StartLifecyclePolicyPreview func (c *ECR) StartLifecyclePolicyPreview(input *StartLifecyclePolicyPreviewInput) (*StartLifecyclePolicyPreviewOutput, error) { req, out := c.StartLifecyclePolicyPreviewRequest(input) @@ -5217,6 +5232,9 @@ type CreateRepositoryInput struct { // on its own (such as nginx-web-app) or it can be prepended with a namespace // to group the repository into a category (such as project-a/nginx-web-app). // + // The repository name must start with a letter and can only contain lowercase + // letters, numbers, hyphens, underscores, and forward slashes. + // // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"2" type:"string" required:"true"` @@ -5259,6 +5277,16 @@ func (s *CreateRepositoryInput) Validate() error { invalidParams.AddNested("EncryptionConfiguration", err.(request.ErrInvalidParams)) } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -11644,7 +11672,8 @@ type RegistryScanningRule struct { // The frequency that scans are performed at for a private registry. When the // ENHANCED scan type is specified, the supported scan frequencies are CONTINUOUS_SCAN // and SCAN_ON_PUSH. When the BASIC scan type is specified, the SCAN_ON_PUSH - // and MANUAL scan frequencies are supported. + // scan frequency is supported. If scan on push is not specified, then the MANUAL + // scan frequency is set by default. // // ScanFrequency is a required field ScanFrequency *string `locationName:"scanFrequency" type:"string" required:"true" enum:"ScanFrequency"` @@ -11969,7 +11998,7 @@ type Repository struct { // The Amazon Resource Name (ARN) that identifies the repository. The ARN contains // the arn:aws:ecr namespace, followed by the region of the repository, Amazon // Web Services account ID of the repository owner, repository namespace, and - // repository name. For example, arn:aws:ecr:region:012345678910:repository/test. + // repository name. For example, arn:aws:ecr:region:012345678910:repository-namespace/repository-name. RepositoryArn *string `locationName:"repositoryArn" type:"string"` // The name of the repository. @@ -12113,8 +12142,8 @@ func (s *RepositoryAlreadyExistsException) RequestID() string { // The filter settings used with image replication. Specifying a repository // filter to a replication rule provides a method for controlling which repositories -// in a private registry are replicated. If no repository filter is specified, -// all images in the repository are replicated. +// in a private registry are replicated. If no filters are added, the contents +// of all repositories are replicated. type RepositoryFilter struct { _ struct{} `type:"structure"` @@ -13231,10 +13260,14 @@ type Tag struct { // One part of a key-value pair that make up a tag. A key is a general label // that acts like a category for more specific tag values. - Key *string `type:"string"` + // + // Key is a required field + Key *string `type:"string" required:"true"` // A value acts as a descriptor within a tag category (key). - Value *string `type:"string"` + // + // Value is a required field + Value *string `type:"string" required:"true"` } // String returns the string representation. @@ -13255,6 +13288,22 @@ func (s Tag) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetKey sets the Key field's value. func (s *Tag) SetKey(v string) *Tag { s.Key = &v @@ -13311,6 +13360,16 @@ func (s *TagResourceInput) Validate() error { if s.Tags == nil { invalidParams.Add(request.NewErrParamRequired("Tags")) } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams diff --git a/service/medialive/api.go b/service/medialive/api.go index db854ced6d5..e26492be580 100644 --- a/service/medialive/api.go +++ b/service/medialive/api.go @@ -4926,6 +4926,101 @@ func (c *MediaLive) StartChannelWithContext(ctx aws.Context, input *StartChannel return out, req.Send() } +const opStartInputDevice = "StartInputDevice" + +// StartInputDeviceRequest generates a "aws/request.Request" representing the +// client's request for the StartInputDevice operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartInputDevice for more information on using the StartInputDevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the StartInputDeviceRequest method. +// req, resp := client.StartInputDeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartInputDevice +func (c *MediaLive) StartInputDeviceRequest(input *StartInputDeviceInput) (req *request.Request, output *StartInputDeviceOutput) { + op := &request.Operation{ + Name: opStartInputDevice, + HTTPMethod: "POST", + HTTPPath: "/prod/inputDevices/{inputDeviceId}/start", + } + + if input == nil { + input = &StartInputDeviceInput{} + } + + output = &StartInputDeviceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StartInputDevice API operation for AWS Elemental MediaLive. +// +// Start an input device that is attached to a MediaConnect flow. (There is +// no need to start a device that is attached to a MediaLive input; MediaLive +// starts the device when the channel starts.) +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation StartInputDevice for usage and error information. +// +// Returned Error Types: +// +// - BadRequestException +// +// - UnprocessableEntityException +// +// - InternalServerErrorException +// +// - ForbiddenException +// +// - BadGatewayException +// +// - NotFoundException +// +// - GatewayTimeoutException +// +// - TooManyRequestsException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StartInputDevice +func (c *MediaLive) StartInputDevice(input *StartInputDeviceInput) (*StartInputDeviceOutput, error) { + req, out := c.StartInputDeviceRequest(input) + return out, req.Send() +} + +// StartInputDeviceWithContext is the same as StartInputDevice with the addition of +// the ability to pass a context and additional request options. +// +// See StartInputDevice for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) StartInputDeviceWithContext(ctx aws.Context, input *StartInputDeviceInput, opts ...request.Option) (*StartInputDeviceOutput, error) { + req, out := c.StartInputDeviceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStartInputDeviceMaintenanceWindow = "StartInputDeviceMaintenanceWindow" // StartInputDeviceMaintenanceWindowRequest generates a "aws/request.Request" representing the @@ -5211,6 +5306,101 @@ func (c *MediaLive) StopChannelWithContext(ctx aws.Context, input *StopChannelIn return out, req.Send() } +const opStopInputDevice = "StopInputDevice" + +// StopInputDeviceRequest generates a "aws/request.Request" representing the +// client's request for the StopInputDevice operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopInputDevice for more information on using the StopInputDevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the StopInputDeviceRequest method. +// req, resp := client.StopInputDeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopInputDevice +func (c *MediaLive) StopInputDeviceRequest(input *StopInputDeviceInput) (req *request.Request, output *StopInputDeviceOutput) { + op := &request.Operation{ + Name: opStopInputDevice, + HTTPMethod: "POST", + HTTPPath: "/prod/inputDevices/{inputDeviceId}/stop", + } + + if input == nil { + input = &StopInputDeviceInput{} + } + + output = &StopInputDeviceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopInputDevice API operation for AWS Elemental MediaLive. +// +// Stop an input device that is attached to a MediaConnect flow. (There is no +// need to stop a device that is attached to a MediaLive input; MediaLive automatically +// stops the device when the channel stops.) +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Elemental MediaLive's +// API operation StopInputDevice for usage and error information. +// +// Returned Error Types: +// +// - BadRequestException +// +// - UnprocessableEntityException +// +// - InternalServerErrorException +// +// - ForbiddenException +// +// - BadGatewayException +// +// - NotFoundException +// +// - GatewayTimeoutException +// +// - TooManyRequestsException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/StopInputDevice +func (c *MediaLive) StopInputDevice(input *StopInputDeviceInput) (*StopInputDeviceOutput, error) { + req, out := c.StopInputDeviceRequest(input) + return out, req.Send() +} + +// StopInputDeviceWithContext is the same as StopInputDevice with the addition of +// the ability to pass a context and additional request options. +// +// See StopInputDevice for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MediaLive) StopInputDeviceWithContext(ctx aws.Context, input *StopInputDeviceInput, opts ...request.Option) (*StopInputDeviceOutput, error) { + req, out := c.StopInputDeviceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStopMultiplex = "StopMultiplex" // StopMultiplexRequest generates a "aws/request.Request" representing the @@ -12902,11 +13092,16 @@ type DescribeInputDeviceOutput struct { MacAddress *string `locationName:"macAddress" type:"string"` + MedialiveInputArns []*string `locationName:"medialiveInputArns" type:"list"` + Name *string `locationName:"name" type:"string"` // The network settings for the input device. NetworkSettings *InputDeviceNetworkSettings `locationName:"networkSettings" type:"structure"` + // The output attachment type of the input device. + OutputType *string `locationName:"outputType" type:"string" enum:"InputDeviceOutputType"` + SerialNumber *string `locationName:"serialNumber" type:"string"` Tags map[string]*string `locationName:"tags" type:"map"` @@ -12986,6 +13181,12 @@ func (s *DescribeInputDeviceOutput) SetMacAddress(v string) *DescribeInputDevice return s } +// SetMedialiveInputArns sets the MedialiveInputArns field's value. +func (s *DescribeInputDeviceOutput) SetMedialiveInputArns(v []*string) *DescribeInputDeviceOutput { + s.MedialiveInputArns = v + return s +} + // SetName sets the Name field's value. func (s *DescribeInputDeviceOutput) SetName(v string) *DescribeInputDeviceOutput { s.Name = &v @@ -12998,6 +13199,12 @@ func (s *DescribeInputDeviceOutput) SetNetworkSettings(v *InputDeviceNetworkSett return s } +// SetOutputType sets the OutputType field's value. +func (s *DescribeInputDeviceOutput) SetOutputType(v string) *DescribeInputDeviceOutput { + s.OutputType = &v + return s +} + // SetSerialNumber sets the SerialNumber field's value. func (s *DescribeInputDeviceOutput) SetSerialNumber(v string) *DescribeInputDeviceOutput { s.SerialNumber = &v @@ -19710,6 +19917,10 @@ func (s *InputDestinationVpc) SetNetworkInterfaceId(v string) *InputDestinationV type InputDeviceConfigurableSettings struct { _ struct{} `type:"structure"` + // Choose the codec for the video that the device produces. Only UHD devices + // can specify this parameter. + Codec *string `locationName:"codec" type:"string" enum:"InputDeviceCodec"` + // The input source that you want to use. If the device has a source connected // to only one of its input ports, or if you don't care which source the device // sends, specify Auto. If the device has sources connected to both its input @@ -19722,6 +19933,11 @@ type InputDeviceConfigurableSettings struct { // The maximum bitrate in bits per second. Set a value here to throttle the // bitrate of the source video. MaxBitrate *int64 `locationName:"maxBitrate" type:"integer"` + + // To attach this device to a MediaConnect flow, specify these parameters. To + // detach an existing flow, enter {} for the value of mediaconnectSettings. + // Only UHD devices can specify this parameter. + MediaconnectSettings *InputDeviceMediaConnectConfigurableSettings `locationName:"mediaconnectSettings" type:"structure"` } // String returns the string representation. @@ -19742,6 +19958,12 @@ func (s InputDeviceConfigurableSettings) GoString() string { return s.String() } +// SetCodec sets the Codec field's value. +func (s *InputDeviceConfigurableSettings) SetCodec(v string) *InputDeviceConfigurableSettings { + s.Codec = &v + return s +} + // SetConfiguredInput sets the ConfiguredInput field's value. func (s *InputDeviceConfigurableSettings) SetConfiguredInput(v string) *InputDeviceConfigurableSettings { s.ConfiguredInput = &v @@ -19760,6 +19982,12 @@ func (s *InputDeviceConfigurableSettings) SetMaxBitrate(v int64) *InputDeviceCon return s } +// SetMediaconnectSettings sets the MediaconnectSettings field's value. +func (s *InputDeviceConfigurableSettings) SetMediaconnectSettings(v *InputDeviceMediaConnectConfigurableSettings) *InputDeviceConfigurableSettings { + s.MediaconnectSettings = v + return s +} + // Settings that describe the active source from the input device, and the video // characteristics of that source. type InputDeviceHdSettings struct { @@ -19869,6 +20097,128 @@ func (s *InputDeviceHdSettings) SetWidth(v int64) *InputDeviceHdSettings { return s } +// Parameters required to attach a MediaConnect flow to the device. +type InputDeviceMediaConnectConfigurableSettings struct { + _ struct{} `type:"structure"` + + // The ARN of the MediaConnect flow to attach this device to. + FlowArn *string `locationName:"flowArn" type:"string"` + + // The ARN for the role that MediaLive assumes to access the attached flow and + // secret. For more information about how to create this role, see the MediaLive + // user guide. + RoleArn *string `locationName:"roleArn" type:"string"` + + // The ARN for the secret that holds the encryption key to encrypt the content + // output by the device. + SecretArn *string `locationName:"secretArn" type:"string"` + + // The name of the MediaConnect Flow source to stream to. + SourceName *string `locationName:"sourceName" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InputDeviceMediaConnectConfigurableSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InputDeviceMediaConnectConfigurableSettings) GoString() string { + return s.String() +} + +// SetFlowArn sets the FlowArn field's value. +func (s *InputDeviceMediaConnectConfigurableSettings) SetFlowArn(v string) *InputDeviceMediaConnectConfigurableSettings { + s.FlowArn = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *InputDeviceMediaConnectConfigurableSettings) SetRoleArn(v string) *InputDeviceMediaConnectConfigurableSettings { + s.RoleArn = &v + return s +} + +// SetSecretArn sets the SecretArn field's value. +func (s *InputDeviceMediaConnectConfigurableSettings) SetSecretArn(v string) *InputDeviceMediaConnectConfigurableSettings { + s.SecretArn = &v + return s +} + +// SetSourceName sets the SourceName field's value. +func (s *InputDeviceMediaConnectConfigurableSettings) SetSourceName(v string) *InputDeviceMediaConnectConfigurableSettings { + s.SourceName = &v + return s +} + +// Information about the MediaConnect flow attached to the device. +type InputDeviceMediaConnectSettings struct { + _ struct{} `type:"structure"` + + // The ARN of the MediaConnect flow. + FlowArn *string `locationName:"flowArn" type:"string"` + + // The ARN for the role that MediaLive assumes to access the attached flow and + // secret. + RoleArn *string `locationName:"roleArn" type:"string"` + + // The ARN of the secret used to encrypt the stream. + SecretArn *string `locationName:"secretArn" type:"string"` + + // The name of the MediaConnect flow source. + SourceName *string `locationName:"sourceName" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InputDeviceMediaConnectSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InputDeviceMediaConnectSettings) GoString() string { + return s.String() +} + +// SetFlowArn sets the FlowArn field's value. +func (s *InputDeviceMediaConnectSettings) SetFlowArn(v string) *InputDeviceMediaConnectSettings { + s.FlowArn = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *InputDeviceMediaConnectSettings) SetRoleArn(v string) *InputDeviceMediaConnectSettings { + s.RoleArn = &v + return s +} + +// SetSecretArn sets the SecretArn field's value. +func (s *InputDeviceMediaConnectSettings) SetSecretArn(v string) *InputDeviceMediaConnectSettings { + s.SecretArn = &v + return s +} + +// SetSourceName sets the SourceName field's value. +func (s *InputDeviceMediaConnectSettings) SetSourceName(v string) *InputDeviceMediaConnectSettings { + s.SourceName = &v + return s +} + // The network settings for the input device. type InputDeviceNetworkSettings struct { _ struct{} `type:"structure"` @@ -20034,12 +20384,21 @@ type InputDeviceSummary struct { // The network MAC address of the input device. MacAddress *string `locationName:"macAddress" type:"string"` + // An array of the ARNs for the MediaLive inputs attached to the device. Returned + // only if the outputType is MEDIALIVE_INPUT. + MedialiveInputArns []*string `locationName:"medialiveInputArns" type:"list"` + // A name that you specify for the input device. Name *string `locationName:"name" type:"string"` // Network settings for the input device. NetworkSettings *InputDeviceNetworkSettings `locationName:"networkSettings" type:"structure"` + // The output attachment type of the input device. Specifies MEDIACONNECT_FLOW + // if this device is the source for a MediaConnect flow. Specifies MEDIALIVE_INPUT + // if this device is the source for a MediaLive input. + OutputType *string `locationName:"outputType" type:"string" enum:"InputDeviceOutputType"` + // The unique serial number of the input device. SerialNumber *string `locationName:"serialNumber" type:"string"` @@ -20119,6 +20478,12 @@ func (s *InputDeviceSummary) SetMacAddress(v string) *InputDeviceSummary { return s } +// SetMedialiveInputArns sets the MedialiveInputArns field's value. +func (s *InputDeviceSummary) SetMedialiveInputArns(v []*string) *InputDeviceSummary { + s.MedialiveInputArns = v + return s +} + // SetName sets the Name field's value. func (s *InputDeviceSummary) SetName(v string) *InputDeviceSummary { s.Name = &v @@ -20131,6 +20496,12 @@ func (s *InputDeviceSummary) SetNetworkSettings(v *InputDeviceNetworkSettings) * return s } +// SetOutputType sets the OutputType field's value. +func (s *InputDeviceSummary) SetOutputType(v string) *InputDeviceSummary { + s.OutputType = &v + return s +} + // SetSerialNumber sets the SerialNumber field's value. func (s *InputDeviceSummary) SetSerialNumber(v string) *InputDeviceSummary { s.SerialNumber = &v @@ -20164,6 +20535,9 @@ type InputDeviceUhdSettings struct { // is currently active (SDI or HDMI). ActiveInput *string `locationName:"activeInput" type:"string" enum:"InputDeviceActiveInput"` + // The codec for the video that the device produces. + Codec *string `locationName:"codec" type:"string" enum:"InputDeviceCodec"` + // The source at the input device that is currently active. You can specify // this source. ConfiguredInput *string `locationName:"configuredInput" type:"string" enum:"InputDeviceConfiguredInput"` @@ -20185,6 +20559,10 @@ type InputDeviceUhdSettings struct { // You can specify this maximum. MaxBitrate *int64 `locationName:"maxBitrate" type:"integer"` + // Information about the MediaConnect flow attached to the device. Returned + // only if the outputType is MEDIACONNECT_FLOW. + MediaconnectSettings *InputDeviceMediaConnectSettings `locationName:"mediaconnectSettings" type:"structure"` + // The scan type of the video source. ScanType *string `locationName:"scanType" type:"string" enum:"InputDeviceScanType"` @@ -20216,6 +20594,12 @@ func (s *InputDeviceUhdSettings) SetActiveInput(v string) *InputDeviceUhdSetting return s } +// SetCodec sets the Codec field's value. +func (s *InputDeviceUhdSettings) SetCodec(v string) *InputDeviceUhdSettings { + s.Codec = &v + return s +} + // SetConfiguredInput sets the ConfiguredInput field's value. func (s *InputDeviceUhdSettings) SetConfiguredInput(v string) *InputDeviceUhdSettings { s.ConfiguredInput = &v @@ -20252,6 +20636,12 @@ func (s *InputDeviceUhdSettings) SetMaxBitrate(v int64) *InputDeviceUhdSettings return s } +// SetMediaconnectSettings sets the MediaconnectSettings field's value. +func (s *InputDeviceUhdSettings) SetMediaconnectSettings(v *InputDeviceMediaConnectSettings) *InputDeviceUhdSettings { + s.MediaconnectSettings = v + return s +} + // SetScanType sets the ScanType field's value. func (s *InputDeviceUhdSettings) SetScanType(v string) *InputDeviceUhdSettings { s.ScanType = &v @@ -29222,6 +29612,53 @@ func (s *StartChannelOutput) SetVpc(v *VpcOutputSettingsDescription) *StartChann return s } +type StartInputDeviceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // InputDeviceId is a required field + InputDeviceId *string `location:"uri" locationName:"inputDeviceId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartInputDeviceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartInputDeviceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartInputDeviceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartInputDeviceInput"} + if s.InputDeviceId == nil { + invalidParams.Add(request.NewErrParamRequired("InputDeviceId")) + } + if s.InputDeviceId != nil && len(*s.InputDeviceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputDeviceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputDeviceId sets the InputDeviceId field's value. +func (s *StartInputDeviceInput) SetInputDeviceId(v string) *StartInputDeviceInput { + s.InputDeviceId = &v + return s +} + type StartInputDeviceMaintenanceWindowInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -29291,6 +29728,28 @@ func (s StartInputDeviceMaintenanceWindowOutput) GoString() string { return s.String() } +type StartInputDeviceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartInputDeviceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartInputDeviceOutput) GoString() string { + return s.String() +} + type StartMultiplexInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -29959,6 +30418,75 @@ func (s *StopChannelOutput) SetVpc(v *VpcOutputSettingsDescription) *StopChannel return s } +type StopInputDeviceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // InputDeviceId is a required field + InputDeviceId *string `location:"uri" locationName:"inputDeviceId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopInputDeviceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopInputDeviceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopInputDeviceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopInputDeviceInput"} + if s.InputDeviceId == nil { + invalidParams.Add(request.NewErrParamRequired("InputDeviceId")) + } + if s.InputDeviceId != nil && len(*s.InputDeviceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InputDeviceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputDeviceId sets the InputDeviceId field's value. +func (s *StopInputDeviceInput) SetInputDeviceId(v string) *StopInputDeviceInput { + s.InputDeviceId = &v + return s +} + +type StopInputDeviceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopInputDeviceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopInputDeviceOutput) GoString() string { + return s.String() +} + type StopMultiplexInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -31530,11 +32058,16 @@ type UpdateInputDeviceOutput struct { MacAddress *string `locationName:"macAddress" type:"string"` + MedialiveInputArns []*string `locationName:"medialiveInputArns" type:"list"` + Name *string `locationName:"name" type:"string"` // The network settings for the input device. NetworkSettings *InputDeviceNetworkSettings `locationName:"networkSettings" type:"structure"` + // The output attachment type of the input device. + OutputType *string `locationName:"outputType" type:"string" enum:"InputDeviceOutputType"` + SerialNumber *string `locationName:"serialNumber" type:"string"` Tags map[string]*string `locationName:"tags" type:"map"` @@ -31614,6 +32147,12 @@ func (s *UpdateInputDeviceOutput) SetMacAddress(v string) *UpdateInputDeviceOutp return s } +// SetMedialiveInputArns sets the MedialiveInputArns field's value. +func (s *UpdateInputDeviceOutput) SetMedialiveInputArns(v []*string) *UpdateInputDeviceOutput { + s.MedialiveInputArns = v + return s +} + // SetName sets the Name field's value. func (s *UpdateInputDeviceOutput) SetName(v string) *UpdateInputDeviceOutput { s.Name = &v @@ -31626,6 +32165,12 @@ func (s *UpdateInputDeviceOutput) SetNetworkSettings(v *InputDeviceNetworkSettin return s } +// SetOutputType sets the OutputType field's value. +func (s *UpdateInputDeviceOutput) SetOutputType(v string) *UpdateInputDeviceOutput { + s.OutputType = &v + return s +} + // SetSerialNumber sets the SerialNumber field's value. func (s *UpdateInputDeviceOutput) SetSerialNumber(v string) *UpdateInputDeviceOutput { s.SerialNumber = &v @@ -36023,6 +36568,23 @@ func InputDeviceActiveInput_Values() []string { } } +// The codec to use on the video that the device produces. +const ( + // InputDeviceCodecHevc is a InputDeviceCodec enum value + InputDeviceCodecHevc = "HEVC" + + // InputDeviceCodecAvc is a InputDeviceCodec enum value + InputDeviceCodecAvc = "AVC" +) + +// InputDeviceCodec_Values returns all elements of the InputDeviceCodec enum +func InputDeviceCodec_Values() []string { + return []string{ + InputDeviceCodecHevc, + InputDeviceCodecAvc, + } +} + // The source to activate (use) from the input device. const ( // InputDeviceConfiguredInputAuto is a InputDeviceConfiguredInput enum value @@ -36079,6 +36641,27 @@ func InputDeviceIpScheme_Values() []string { } } +// The output attachment type of the input device. +const ( + // InputDeviceOutputTypeNone is a InputDeviceOutputType enum value + InputDeviceOutputTypeNone = "NONE" + + // InputDeviceOutputTypeMedialiveInput is a InputDeviceOutputType enum value + InputDeviceOutputTypeMedialiveInput = "MEDIALIVE_INPUT" + + // InputDeviceOutputTypeMediaconnectFlow is a InputDeviceOutputType enum value + InputDeviceOutputTypeMediaconnectFlow = "MEDIACONNECT_FLOW" +) + +// InputDeviceOutputType_Values returns all elements of the InputDeviceOutputType enum +func InputDeviceOutputType_Values() []string { + return []string{ + InputDeviceOutputTypeNone, + InputDeviceOutputTypeMedialiveInput, + InputDeviceOutputTypeMediaconnectFlow, + } +} + // The scan type of the video source. const ( // InputDeviceScanTypeInterlaced is a InputDeviceScanType enum value diff --git a/service/medialive/medialiveiface/interface.go b/service/medialive/medialiveiface/interface.go index bdb76fa1f97..c73a26220d1 100644 --- a/service/medialive/medialiveiface/interface.go +++ b/service/medialive/medialiveiface/interface.go @@ -282,6 +282,10 @@ type MediaLiveAPI interface { StartChannelWithContext(aws.Context, *medialive.StartChannelInput, ...request.Option) (*medialive.StartChannelOutput, error) StartChannelRequest(*medialive.StartChannelInput) (*request.Request, *medialive.StartChannelOutput) + StartInputDevice(*medialive.StartInputDeviceInput) (*medialive.StartInputDeviceOutput, error) + StartInputDeviceWithContext(aws.Context, *medialive.StartInputDeviceInput, ...request.Option) (*medialive.StartInputDeviceOutput, error) + StartInputDeviceRequest(*medialive.StartInputDeviceInput) (*request.Request, *medialive.StartInputDeviceOutput) + StartInputDeviceMaintenanceWindow(*medialive.StartInputDeviceMaintenanceWindowInput) (*medialive.StartInputDeviceMaintenanceWindowOutput, error) StartInputDeviceMaintenanceWindowWithContext(aws.Context, *medialive.StartInputDeviceMaintenanceWindowInput, ...request.Option) (*medialive.StartInputDeviceMaintenanceWindowOutput, error) StartInputDeviceMaintenanceWindowRequest(*medialive.StartInputDeviceMaintenanceWindowInput) (*request.Request, *medialive.StartInputDeviceMaintenanceWindowOutput) @@ -294,6 +298,10 @@ type MediaLiveAPI interface { StopChannelWithContext(aws.Context, *medialive.StopChannelInput, ...request.Option) (*medialive.StopChannelOutput, error) StopChannelRequest(*medialive.StopChannelInput) (*request.Request, *medialive.StopChannelOutput) + StopInputDevice(*medialive.StopInputDeviceInput) (*medialive.StopInputDeviceOutput, error) + StopInputDeviceWithContext(aws.Context, *medialive.StopInputDeviceInput, ...request.Option) (*medialive.StopInputDeviceOutput, error) + StopInputDeviceRequest(*medialive.StopInputDeviceInput) (*request.Request, *medialive.StopInputDeviceOutput) + StopMultiplex(*medialive.StopMultiplexInput) (*medialive.StopMultiplexOutput, error) StopMultiplexWithContext(aws.Context, *medialive.StopMultiplexInput, ...request.Option) (*medialive.StopMultiplexOutput, error) StopMultiplexRequest(*medialive.StopMultiplexInput) (*request.Request, *medialive.StopMultiplexOutput) diff --git a/service/quicksight/api.go b/service/quicksight/api.go index 026881c2a03..20256904c2a 100644 --- a/service/quicksight/api.go +++ b/service/quicksight/api.go @@ -60153,6 +60153,128 @@ func (s *JoinKeyProperties) SetUniqueKey(v bool) *JoinKeyProperties { return s } +// The conditional formatting for the actual value of a KPI visual. +type KPIActualValueConditionalFormatting struct { + _ struct{} `type:"structure"` + + // The conditional formatting of the actual value's icon. + Icon *ConditionalFormattingIcon `type:"structure"` + + // The conditional formatting of the actual value's text color. + TextColor *ConditionalFormattingColor `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KPIActualValueConditionalFormatting) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KPIActualValueConditionalFormatting) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KPIActualValueConditionalFormatting) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KPIActualValueConditionalFormatting"} + if s.Icon != nil { + if err := s.Icon.Validate(); err != nil { + invalidParams.AddNested("Icon", err.(request.ErrInvalidParams)) + } + } + if s.TextColor != nil { + if err := s.TextColor.Validate(); err != nil { + invalidParams.AddNested("TextColor", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIcon sets the Icon field's value. +func (s *KPIActualValueConditionalFormatting) SetIcon(v *ConditionalFormattingIcon) *KPIActualValueConditionalFormatting { + s.Icon = v + return s +} + +// SetTextColor sets the TextColor field's value. +func (s *KPIActualValueConditionalFormatting) SetTextColor(v *ConditionalFormattingColor) *KPIActualValueConditionalFormatting { + s.TextColor = v + return s +} + +// The conditional formatting for the comparison value of a KPI visual. +type KPIComparisonValueConditionalFormatting struct { + _ struct{} `type:"structure"` + + // The conditional formatting of the comparison value's icon. + Icon *ConditionalFormattingIcon `type:"structure"` + + // The conditional formatting of the comparison value's text color. + TextColor *ConditionalFormattingColor `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KPIComparisonValueConditionalFormatting) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KPIComparisonValueConditionalFormatting) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KPIComparisonValueConditionalFormatting) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KPIComparisonValueConditionalFormatting"} + if s.Icon != nil { + if err := s.Icon.Validate(); err != nil { + invalidParams.AddNested("Icon", err.(request.ErrInvalidParams)) + } + } + if s.TextColor != nil { + if err := s.TextColor.Validate(); err != nil { + invalidParams.AddNested("TextColor", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIcon sets the Icon field's value. +func (s *KPIComparisonValueConditionalFormatting) SetIcon(v *ConditionalFormattingIcon) *KPIComparisonValueConditionalFormatting { + s.Icon = v + return s +} + +// SetTextColor sets the TextColor field's value. +func (s *KPIComparisonValueConditionalFormatting) SetTextColor(v *ConditionalFormattingColor) *KPIComparisonValueConditionalFormatting { + s.TextColor = v + return s +} + // The conditional formatting of a KPI visual. type KPIConditionalFormatting struct { _ struct{} `type:"structure"` @@ -60209,6 +60331,12 @@ func (s *KPIConditionalFormatting) SetConditionalFormattingOptions(v []*KPICondi type KPIConditionalFormattingOption struct { _ struct{} `type:"structure"` + // The conditional formatting for the actual value of a KPI visual. + ActualValue *KPIActualValueConditionalFormatting `type:"structure"` + + // The conditional formatting for the comparison value of a KPI visual. + ComparisonValue *KPIComparisonValueConditionalFormatting `type:"structure"` + // The conditional formatting for the primary value of a KPI visual. PrimaryValue *KPIPrimaryValueConditionalFormatting `type:"structure"` @@ -60237,6 +60365,16 @@ func (s KPIConditionalFormattingOption) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *KPIConditionalFormattingOption) Validate() error { invalidParams := request.ErrInvalidParams{Context: "KPIConditionalFormattingOption"} + if s.ActualValue != nil { + if err := s.ActualValue.Validate(); err != nil { + invalidParams.AddNested("ActualValue", err.(request.ErrInvalidParams)) + } + } + if s.ComparisonValue != nil { + if err := s.ComparisonValue.Validate(); err != nil { + invalidParams.AddNested("ComparisonValue", err.(request.ErrInvalidParams)) + } + } if s.PrimaryValue != nil { if err := s.PrimaryValue.Validate(); err != nil { invalidParams.AddNested("PrimaryValue", err.(request.ErrInvalidParams)) @@ -60254,6 +60392,18 @@ func (s *KPIConditionalFormattingOption) Validate() error { return nil } +// SetActualValue sets the ActualValue field's value. +func (s *KPIConditionalFormattingOption) SetActualValue(v *KPIActualValueConditionalFormatting) *KPIConditionalFormattingOption { + s.ActualValue = v + return s +} + +// SetComparisonValue sets the ComparisonValue field's value. +func (s *KPIConditionalFormattingOption) SetComparisonValue(v *KPIComparisonValueConditionalFormatting) *KPIConditionalFormattingOption { + s.ComparisonValue = v + return s +} + // SetPrimaryValue sets the PrimaryValue field's value. func (s *KPIConditionalFormattingOption) SetPrimaryValue(v *KPIPrimaryValueConditionalFormatting) *KPIConditionalFormattingOption { s.PrimaryValue = v @@ -60455,8 +60605,15 @@ type KPIOptions struct { // The options that determine the secondary value font configuration. SecondaryValueFontConfiguration *FontConfiguration `type:"structure"` + // The options that determine the visibility, color, type, and tooltip visibility + // of the sparkline of a KPI visual. + Sparkline *KPISparklineOptions `type:"structure"` + // The options that determine the presentation of trend arrows in a KPI visual. TrendArrows *TrendArrowOptions `type:"structure"` + + // The options that determine the layout a KPI visual. + VisualLayoutOptions *KPIVisualLayoutOptions `type:"structure"` } // String returns the string representation. @@ -60485,6 +60642,16 @@ func (s *KPIOptions) Validate() error { invalidParams.AddNested("Comparison", err.(request.ErrInvalidParams)) } } + if s.Sparkline != nil { + if err := s.Sparkline.Validate(); err != nil { + invalidParams.AddNested("Sparkline", err.(request.ErrInvalidParams)) + } + } + if s.VisualLayoutOptions != nil { + if err := s.VisualLayoutOptions.Validate(); err != nil { + invalidParams.AddNested("VisualLayoutOptions", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -60528,12 +60695,24 @@ func (s *KPIOptions) SetSecondaryValueFontConfiguration(v *FontConfiguration) *K return s } +// SetSparkline sets the Sparkline field's value. +func (s *KPIOptions) SetSparkline(v *KPISparklineOptions) *KPIOptions { + s.Sparkline = v + return s +} + // SetTrendArrows sets the TrendArrows field's value. func (s *KPIOptions) SetTrendArrows(v *TrendArrowOptions) *KPIOptions { s.TrendArrows = v return s } +// SetVisualLayoutOptions sets the VisualLayoutOptions field's value. +func (s *KPIOptions) SetVisualLayoutOptions(v *KPIVisualLayoutOptions) *KPIOptions { + s.VisualLayoutOptions = v + return s +} + // The conditional formatting for the primary value of a KPI visual. type KPIPrimaryValueConditionalFormatting struct { _ struct{} `type:"structure"` @@ -60694,6 +60873,81 @@ func (s *KPISortConfiguration) SetTrendGroupSort(v []*FieldSortOptions) *KPISort return s } +// The options that determine the visibility, color, type, and tooltip visibility +// of the sparkline of a KPI visual. +type KPISparklineOptions struct { + _ struct{} `type:"structure"` + + // The color of the sparkline. + Color *string `type:"string"` + + // The tooltip visibility of the sparkline. + TooltipVisibility *string `type:"string" enum:"Visibility"` + + // The type of the sparkline. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"KPISparklineType"` + + // The visibility of the sparkline. + Visibility *string `type:"string" enum:"Visibility"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KPISparklineOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KPISparklineOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KPISparklineOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KPISparklineOptions"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColor sets the Color field's value. +func (s *KPISparklineOptions) SetColor(v string) *KPISparklineOptions { + s.Color = &v + return s +} + +// SetTooltipVisibility sets the TooltipVisibility field's value. +func (s *KPISparklineOptions) SetTooltipVisibility(v string) *KPISparklineOptions { + s.TooltipVisibility = &v + return s +} + +// SetType sets the Type field's value. +func (s *KPISparklineOptions) SetType(v string) *KPISparklineOptions { + s.Type = &v + return s +} + +// SetVisibility sets the Visibility field's value. +func (s *KPISparklineOptions) SetVisibility(v string) *KPISparklineOptions { + s.Visibility = &v + return s +} + // A key performance indicator (KPI). // // For more information, see Using KPIs (https://docs.aws.amazon.com/quicksight/latest/user/kpi.html) @@ -60843,6 +61097,100 @@ func (s *KPIVisual) SetVisualId(v string) *KPIVisual { return s } +// The options that determine the layout a KPI visual. +type KPIVisualLayoutOptions struct { + _ struct{} `type:"structure"` + + // The standard layout of the KPI visual. + StandardLayout *KPIVisualStandardLayout `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KPIVisualLayoutOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KPIVisualLayoutOptions) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KPIVisualLayoutOptions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KPIVisualLayoutOptions"} + if s.StandardLayout != nil { + if err := s.StandardLayout.Validate(); err != nil { + invalidParams.AddNested("StandardLayout", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStandardLayout sets the StandardLayout field's value. +func (s *KPIVisualLayoutOptions) SetStandardLayout(v *KPIVisualStandardLayout) *KPIVisualLayoutOptions { + s.StandardLayout = v + return s +} + +// The standard layout of the KPI visual. +type KPIVisualStandardLayout struct { + _ struct{} `type:"structure"` + + // The standard layout type. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"KPIVisualStandardLayoutType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KPIVisualStandardLayout) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KPIVisualStandardLayout) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KPIVisualStandardLayout) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KPIVisualStandardLayout"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetType sets the Type field's value. +func (s *KPIVisualStandardLayout) SetType(v string) *KPIVisualStandardLayout { + s.Type = &v + return s +} + // The share label options for the labels. type LabelOptions struct { _ struct{} `type:"structure"` @@ -102537,6 +102885,38 @@ func JoinType_Values() []string { } } +const ( + // KPISparklineTypeLine is a KPISparklineType enum value + KPISparklineTypeLine = "LINE" + + // KPISparklineTypeArea is a KPISparklineType enum value + KPISparklineTypeArea = "AREA" +) + +// KPISparklineType_Values returns all elements of the KPISparklineType enum +func KPISparklineType_Values() []string { + return []string{ + KPISparklineTypeLine, + KPISparklineTypeArea, + } +} + +const ( + // KPIVisualStandardLayoutTypeClassic is a KPIVisualStandardLayoutType enum value + KPIVisualStandardLayoutTypeClassic = "CLASSIC" + + // KPIVisualStandardLayoutTypeVertical is a KPIVisualStandardLayoutType enum value + KPIVisualStandardLayoutTypeVertical = "VERTICAL" +) + +// KPIVisualStandardLayoutType_Values returns all elements of the KPIVisualStandardLayoutType enum +func KPIVisualStandardLayoutType_Values() []string { + return []string{ + KPIVisualStandardLayoutTypeClassic, + KPIVisualStandardLayoutTypeVertical, + } +} + const ( // LayoutElementTypeVisual is a LayoutElementType enum value LayoutElementTypeVisual = "VISUAL"