diff --git a/.changes/1.35.33.json b/.changes/1.35.33.json new file mode 100644 index 0000000000..6414008560 --- /dev/null +++ b/.changes/1.35.33.json @@ -0,0 +1,42 @@ +[ + { + "category": "``codepipeline``", + "description": "AWS CodePipeline introduces Commands action that enables you to easily run shell commands as part of your pipeline execution.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "Public GetMetricDataV2 Grouping increase from 3 to 4", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release includes a new API for modifying instance cpu-options after launch.", + "type": "api-change" + }, + { + "category": "``iot``", + "description": "This release adds support for Custom Authentication with X.509 Client Certificates, support for Custom Client Certificate validation, and support for selecting application protocol and authentication type without requiring TLS ALPN for customer's AWS IoT Domain Configurations.", + "type": "api-change" + }, + { + "category": "``marketplace-reporting``", + "description": "The AWS Marketplace Reporting service introduces the GetBuyerDashboard API. This API returns a dashboard that provides visibility into your organization's AWS Marketplace agreements and associated spend across the AWS accounts in your organization.", + "type": "api-change" + }, + { + "category": "``mediapackagev2``", + "description": "Added support for ClipStartTime on the FilterConfiguration object on OriginEndpoint manifest settings objects. Added support for EXT-X-START tags on produced HLS child playlists.", + "type": "api-change" + }, + { + "category": "``quicksight``", + "description": "QuickSight: Add support for exporting and importing folders in AssetBundle APIs", + "type": "api-change" + }, + { + "category": "AWSCRT", + "description": "Update awscrt version to 0.22.0", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 767de1b85c..0d5d19b976 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,19 @@ CHANGELOG ========= +1.35.33 +======= + +* api-change:``codepipeline``: AWS CodePipeline introduces Commands action that enables you to easily run shell commands as part of your pipeline execution. +* api-change:``connect``: Public GetMetricDataV2 Grouping increase from 3 to 4 +* api-change:``ec2``: This release includes a new API for modifying instance cpu-options after launch. +* api-change:``iot``: This release adds support for Custom Authentication with X.509 Client Certificates, support for Custom Client Certificate validation, and support for selecting application protocol and authentication type without requiring TLS ALPN for customer's AWS IoT Domain Configurations. +* api-change:``marketplace-reporting``: The AWS Marketplace Reporting service introduces the GetBuyerDashboard API. This API returns a dashboard that provides visibility into your organization's AWS Marketplace agreements and associated spend across the AWS accounts in your organization. +* api-change:``mediapackagev2``: Added support for ClipStartTime on the FilterConfiguration object on OriginEndpoint manifest settings objects. Added support for EXT-X-START tags on produced HLS child playlists. +* api-change:``quicksight``: QuickSight: Add support for exporting and importing folders in AssetBundle APIs +* enhancement:AWSCRT: Update awscrt version to 0.22.0 + + 1.35.32 ======= diff --git a/botocore/__init__.py b/botocore/__init__.py index de4327ba86..869e1b25c4 100644 --- a/botocore/__init__.py +++ b/botocore/__init__.py @@ -16,7 +16,7 @@ import os import re -__version__ = '1.35.32' +__version__ = '1.35.33' class NullHandler(logging.Handler): diff --git a/botocore/data/codepipeline/2015-07-09/service-2.json b/botocore/data/codepipeline/2015-07-09/service-2.json index dc11ae93aa..338af2e13f 100644 --- a/botocore/data/codepipeline/2015-07-09/service-2.json +++ b/botocore/data/codepipeline/2015-07-09/service-2.json @@ -918,6 +918,10 @@ "shape":"ActionConfigurationMap", "documentation":"

The action's configuration. These are key-value pairs that specify input values for an action. For more information, see Action Structure Requirements in CodePipeline. For the list of configuration properties for the CloudFormation action type in CodePipeline, see Configuration Properties Reference in the CloudFormation User Guide. For template snippets with examples, see Using Parameter Override Functions with CodePipeline Pipelines in the CloudFormation User Guide.

The values can be represented in either JSON or YAML format. For example, the JSON configuration item format is as follows:

JSON:

\"Configuration\" : { Key : Value },

" }, + "commands":{ + "shape":"CommandList", + "documentation":"

The shell commands to run with your compute action in CodePipeline. All commands are supported except multi-line formats. While CodeBuild logs and permissions are used, you do not need to create any resources in CodeBuild.

Using compute time for this action will incur separate charges in CodeBuild.

" + }, "outputArtifacts":{ "shape":"OutputArtifactList", "documentation":"

The name or ID of the result of the action declaration, such as a test or build artifact.

" @@ -926,6 +930,10 @@ "shape":"InputArtifactList", "documentation":"

The name or ID of the artifact consumed by the action, such as a test or build artifact.

" }, + "outputVariables":{ + "shape":"OutputVariableList", + "documentation":"

The list of variables that are to be exported from the compute action. This is specifically CodeBuild environment variables as used for that action.

" + }, "roleArn":{ "shape":"RoleArn", "documentation":"

The ARN of the IAM service role that performs the declared action. This is assumed through the roleArn for the pipeline.

" @@ -1792,6 +1800,17 @@ "min":1 }, "Code":{"type":"string"}, + "Command":{ + "type":"string", + "max":1000, + "min":1 + }, + "CommandList":{ + "type":"list", + "member":{"shape":"Command"}, + "max":50, + "min":1 + }, "ConcurrentModificationException":{ "type":"structure", "members":{ @@ -2321,6 +2340,17 @@ "SystemUnavailable" ] }, + "FilePath":{ + "type":"string", + "max":128, + "min":1 + }, + "FilePathList":{ + "type":"list", + "member":{"shape":"FilePath"}, + "max":10, + "min":1 + }, "GetActionTypeInput":{ "type":"structure", "required":[ @@ -3301,6 +3331,10 @@ "name":{ "shape":"ArtifactName", "documentation":"

The name of the output of an artifact, such as \"My App\".

The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.

Output artifact names must be unique within a pipeline.

" + }, + "files":{ + "shape":"FilePathList", + "documentation":"

The files that you want to associate with the output artifact that will be exported from the compute action.

" } }, "documentation":"

Represents information about the output of an action.

" @@ -3309,6 +3343,17 @@ "type":"list", "member":{"shape":"OutputArtifact"} }, + "OutputVariable":{ + "type":"string", + "max":128, + "min":1 + }, + "OutputVariableList":{ + "type":"list", + "member":{"shape":"OutputVariable"}, + "max":15, + "min":1 + }, "OutputVariablesKey":{ "type":"string", "pattern":"[A-Za-z0-9@\\-_]+" diff --git a/botocore/data/connect/2017-08-08/service-2.json b/botocore/data/connect/2017-08-08/service-2.json index 9526476385..f662bbd50e 100644 --- a/botocore/data/connect/2017-08-08/service-2.json +++ b/botocore/data/connect/2017-08-08/service-2.json @@ -12155,7 +12155,7 @@ "GroupingsV2":{ "type":"list", "member":{"shape":"GroupingV2"}, - "max":3 + "max":4 }, "HierarchyGroup":{ "type":"structure", diff --git a/botocore/data/ec2/2016-11-15/service-2.json b/botocore/data/ec2/2016-11-15/service-2.json index 431d883387..e0389f29ad 100644 --- a/botocore/data/ec2/2016-11-15/service-2.json +++ b/botocore/data/ec2/2016-11-15/service-2.json @@ -5035,6 +5035,16 @@ "output":{"shape":"ModifyInstanceCapacityReservationAttributesResult"}, "documentation":"

Modifies the Capacity Reservation settings for a stopped instance. Use this action to configure an instance to target a specific Capacity Reservation, run in any open Capacity Reservation with matching attributes, or run On-Demand Instance capacity.

" }, + "ModifyInstanceCpuOptions":{ + "name":"ModifyInstanceCpuOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyInstanceCpuOptionsRequest"}, + "output":{"shape":"ModifyInstanceCpuOptionsResult"}, + "documentation":"

By default, all vCPUs for the instance type are active when you launch an instance. When you configure the number of active vCPUs for the instance, it can help you save on licensing costs and optimize performance. The base cost of the instance remains unchanged.

The number of active vCPUs equals the number of threads per CPU core multiplied by the number of cores.

Some instance type options do not support this capability. For more information, see Supported CPU options in the Amazon EC2 User Guide.

" + }, "ModifyInstanceCreditSpecification":{ "name":"ModifyInstanceCreditSpecification", "http":{ @@ -11620,7 +11630,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" } } @@ -12873,7 +12883,7 @@ }, "Platform":{ "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows instances. Otherwise, the value is blank.

", + "documentation":"

The value is windows for Windows instances in an EC2 Fleet. Otherwise, the value is blank.

", "locationName":"platform" } }, @@ -14321,7 +14331,7 @@ "members":{ "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, "GroupName":{ @@ -14769,7 +14779,7 @@ "members":{ "Bucket":{ "shape":"String", - "documentation":"

The name of the Amazon S3 bucket in which to store the Spot Instance data feed. For more information about bucket names, see Rules for bucket naming in the Amazon S3 Developer Guide.

", + "documentation":"

The name of the Amazon S3 bucket in which to store the Spot Instance data feed. For more information about bucket names, see Bucket naming rules in the Amazon S3 User Guide.

", "locationName":"bucket" }, "DryRun":{ @@ -15661,7 +15671,7 @@ }, "SecurityGroupReferencingSupport":{ "shape":"SecurityGroupReferencingSupportValue", - "documentation":"

Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management.

This option is disabled by default.

If you don't enable or disable SecurityGroupReferencingSupport in the request, the attachment will inherit the security group referencing support setting on the transit gateway.

For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

" + "documentation":"

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

If you don't enable or disable SecurityGroupReferencingSupport in the request, the attachment will inherit the security group referencing support setting on the transit gateway.

" }, "Ipv6Support":{ "shape":"Ipv6SupportValue", @@ -17823,7 +17833,7 @@ "members":{ "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, "GroupName":{ @@ -20490,7 +20500,7 @@ }, "Platform":{ "shape":"PlatformValues", - "documentation":"

The value is Windows for Windows instances. Otherwise, the value is blank.

", + "documentation":"

The value is windows for Windows instances in an EC2 Fleet. Otherwise, the value is blank.

", "locationName":"platform" } }, @@ -21062,7 +21072,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, "InstanceId":{ @@ -21124,7 +21134,7 @@ "members":{ "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, "Filters":{ "shape":"FilterList", @@ -21246,7 +21256,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, "IncludeAllInstances":{ @@ -21289,7 +21299,7 @@ "members":{ "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, "NextToken":{ "shape":"String", @@ -21429,7 +21439,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, "MaxResults":{ @@ -22873,7 +22883,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, "GroupNames":{ @@ -30911,7 +30921,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, "Latest":{ @@ -30946,7 +30956,7 @@ "members":{ "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, "InstanceId":{ "shape":"InstanceId", @@ -30979,7 +30989,7 @@ "members":{ "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, "InstanceFamily":{ "shape":"UnlimitedSupportedInstanceFamily", @@ -31185,7 +31195,7 @@ "members":{ "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } }, @@ -31311,7 +31321,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } }, @@ -31886,7 +31896,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" } } @@ -42600,7 +42610,7 @@ "members":{ "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, "InstanceFamily":{ "shape":"UnlimitedSupportedInstanceFamily", @@ -42925,7 +42935,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, "EbsOptimized":{ @@ -43020,13 +43030,59 @@ } } }, + "ModifyInstanceCpuOptionsRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "CoreCount", + "ThreadsPerCore" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance to update.

" + }, + "CoreCount":{ + "shape":"Integer", + "documentation":"

The number of CPU cores to activate for the specified instance.

" + }, + "ThreadsPerCore":{ + "shape":"Integer", + "documentation":"

The number of threads to run for each CPU core.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ModifyInstanceCpuOptionsResult":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance that was updated.

", + "locationName":"instanceId" + }, + "CoreCount":{ + "shape":"Integer", + "documentation":"

The number of CPU cores that are running for the specified instance after the update.

", + "locationName":"coreCount" + }, + "ThreadsPerCore":{ + "shape":"Integer", + "documentation":"

The number of threads that are running per CPU core for the specified instance after the update.

", + "locationName":"threadsPerCore" + } + } + }, "ModifyInstanceCreditSpecificationRequest":{ "type":"structure", "required":["InstanceCreditSpecifications"], "members":{ "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, "ClientToken":{ "shape":"String", @@ -43064,7 +43120,7 @@ "members":{ "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" }, "InstanceId":{ "shape":"InstanceId", @@ -43181,7 +43237,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } }, @@ -44135,7 +44191,7 @@ }, "SecurityGroupReferencingSupport":{ "shape":"SecurityGroupReferencingSupportValue", - "documentation":"

Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management.

This option is disabled by default.

For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

" + "documentation":"

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

" }, "AutoAcceptSharedAttachments":{ "shape":"AutoAcceptSharedAttachmentsValue", @@ -44270,7 +44326,7 @@ }, "SecurityGroupReferencingSupport":{ "shape":"SecurityGroupReferencingSupportValue", - "documentation":"

Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management.

This option is disabled by default.

For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

" + "documentation":"

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

" }, "Ipv6Support":{ "shape":"Ipv6SupportValue", @@ -45326,7 +45382,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" } } @@ -49095,7 +49151,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" } } @@ -50098,7 +50154,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, "EndTime":{ @@ -51236,7 +51292,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, "InstanceId":{ @@ -52456,7 +52512,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, "EbsOptimized":{ @@ -53664,7 +53720,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" } } }, @@ -55282,7 +55338,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" } } @@ -55481,7 +55537,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" }, "Force":{ @@ -56382,7 +56438,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" } } @@ -57703,7 +57759,7 @@ }, "SecurityGroupReferencingSupport":{ "shape":"SecurityGroupReferencingSupportValue", - "documentation":"

Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management.

This option is enabled by default.

For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

", + "documentation":"

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

", "locationName":"securityGroupReferencingSupport" }, "MulticastSupport":{ @@ -58103,7 +58159,7 @@ }, "SecurityGroupReferencingSupport":{ "shape":"SecurityGroupReferencingSupportValue", - "documentation":"

Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management.

This option is disabled by default.

For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

" + "documentation":"

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

" }, "MulticastSupport":{ "shape":"MulticastSupportValue", @@ -58560,7 +58616,7 @@ }, "SecurityGroupReferencingSupport":{ "shape":"SecurityGroupReferencingSupportValue", - "documentation":"

Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management.

This option is disabled by default.

For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

", + "documentation":"

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

", "locationName":"securityGroupReferencingSupport" }, "Ipv6Support":{ @@ -58919,7 +58975,7 @@ }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "documentation":"

Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "locationName":"dryRun" } } diff --git a/botocore/data/endpoints.json b/botocore/data/endpoints.json index 0a8fd94de3..0fbdbc15d2 100644 --- a/botocore/data/endpoints.json +++ b/botocore/data/endpoints.json @@ -30679,6 +30679,11 @@ "endpoints" : { "us-isob-east-1" : { } } + }, + "xray" : { + "endpoints" : { + "us-isob-east-1" : { } + } } } }, { diff --git a/botocore/data/iot/2015-05-28/service-2.json b/botocore/data/iot/2015-05-28/service-2.json index 31bbd74646..a764a21728 100644 --- a/botocore/data/iot/2015-05-28/service-2.json +++ b/botocore/data/iot/2015-05-28/service-2.json @@ -80,7 +80,7 @@ {"shape":"ServiceQuotaExceededException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Associates a software bill of materials (SBOM) with a specific software package version.

Requires permission to access the AssociateSbomWithPackageVersion action.

", + "documentation":"

Associates the selected software bill of materials (SBOM) with a specific software package version.

Requires permission to access the AssociateSbomWithPackageVersion action.

", "idempotent":true }, "AssociateTargetsWithJob":{ @@ -358,7 +358,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalFailureException"} ], - "documentation":"

Creates a billing group.

Requires permission to access the CreateBillingGroup action.

" + "documentation":"

Creates a billing group. If this call is made multiple times using the same billing group name and configuration, the call will succeed. If this call is made with the same billing group name but different configuration a ResourceAlreadyExistsException is thrown.

Requires permission to access the CreateBillingGroup action.

" }, "CreateCertificateFromCsr":{ "name":"CreateCertificateFromCsr", @@ -731,7 +731,7 @@ {"shape":"ServiceUnavailableException"}, {"shape":"InternalFailureException"} ], - "documentation":"

Creates a role alias.

Requires permission to access the CreateRoleAlias action.

" + "documentation":"

Creates a role alias.

Requires permission to access the CreateRoleAlias action.

The value of credentialDurationSeconds must be less than or equal to the maximum session duration of the IAM role that the role alias references. For more information, see Modifying a role maximum session duration (Amazon Web Services API) from the Amazon Web Services Identity and Access Management User Guide.

" }, "CreateScheduledAudit":{ "name":"CreateScheduledAudit", @@ -837,7 +837,7 @@ {"shape":"InternalFailureException"}, {"shape":"ResourceAlreadyExistsException"} ], - "documentation":"

Creates a new thing type.

Requires permission to access the CreateThingType action.

" + "documentation":"

Creates a new thing type. If this call is made multiple times using the same thing type name and configuration, the call will succeed. If this call is made with the same thing type name but different configuration a ResourceAlreadyExistsException is thrown.

Requires permission to access the CreateThingType action.

" }, "CreateTopicRule":{ "name":"CreateTopicRule", @@ -2140,7 +2140,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Disassociates a software bill of materials (SBOM) from a specific software package version.

Requires permission to access the DisassociateSbomWithPackageVersion action.

", + "documentation":"

Disassociates the selected software bill of materials (SBOM) from a specific software package version.

Requires permission to access the DisassociateSbomWithPackageVersion action.

", "idempotent":true }, "EnableTopicRule":{ @@ -4290,7 +4290,7 @@ {"shape":"ServiceUnavailableException"}, {"shape":"InternalFailureException"} ], - "documentation":"

Updates a role alias.

Requires permission to access the UpdateRoleAlias action.

" + "documentation":"

Updates a role alias.

Requires permission to access the UpdateRoleAlias action.

The value of credentialDurationSeconds must be less than or equal to the maximum session duration of the IAM role that the role alias references. For more information, see Modifying a role maximum session duration (Amazon Web Services API) from the Amazon Web Services Identity and Access Management User Guide.

" }, "UpdateScheduledAudit":{ "name":"UpdateScheduledAudit", @@ -4833,6 +4833,15 @@ }, "documentation":"

Contains information that allowed the authorization.

" }, + "ApplicationProtocol":{ + "type":"string", + "enum":[ + "SECURE_MQTT", + "MQTT_WSS", + "HTTPS", + "DEFAULT" + ] + }, "ApproximateSecondsBeforeTimedOut":{"type":"long"}, "AscendingOrder":{"type":"boolean"}, "AssetId":{"type":"string"}, @@ -4961,7 +4970,7 @@ "sbom":{"shape":"Sbom"}, "sbomValidationStatus":{ "shape":"SbomValidationStatus", - "documentation":"

The status of the initial validation for the SBOM against the Software Package Data Exchange (SPDX) and CycloneDX industry standard format.

" + "documentation":"

The status of the initial validation for the software bill of materials against the Software Package Data Exchange (SPDX) and CycloneDX industry standard formats.

" } } }, @@ -5566,6 +5575,16 @@ "type":"list", "member":{"shape":"AuthResult"} }, + "AuthenticationType":{ + "type":"string", + "enum":[ + "CUSTOM_AUTH_X509", + "CUSTOM_AUTH", + "AWS_X509", + "AWS_SIGV4", + "DEFAULT" + ] + }, "AuthorizerArn":{ "type":"string", "max":2048 @@ -6524,6 +6543,21 @@ "members":{ } }, + "ClientCertificateCallbackArn":{ + "type":"string", + "max":2048, + "pattern":"[\\s\\S]*" + }, + "ClientCertificateConfig":{ + "type":"structure", + "members":{ + "clientCertificateCallbackArn":{ + "shape":"ClientCertificateCallbackArn", + "documentation":"

The ARN of the Lambda function that IoT invokes after mutual TLS authentication during the connection.

" + } + }, + "documentation":"

An object that specifies the client certificate configuration for a domain.

" + }, "ClientId":{"type":"string"}, "ClientProperties":{ "type":"map", @@ -7123,6 +7157,18 @@ "serverCertificateConfig":{ "shape":"ServerCertificateConfig", "documentation":"

The server certificate configuration.

" + }, + "authenticationType":{ + "shape":"AuthenticationType", + "documentation":"

An enumerated string that specifies the authentication type.

" + }, + "applicationProtocol":{ + "shape":"ApplicationProtocol", + "documentation":"

An enumerated string that specifies the application-layer protocol.

" + }, + "clientCertificateConfig":{ + "shape":"ClientCertificateConfig", + "documentation":"

An object that specifies the client certificate configuration for a domain.

" } } }, @@ -7672,7 +7718,7 @@ }, "recipe":{ "shape":"PackageVersionRecipe", - "documentation":"

The inline job document associated with a software package version used for a quick job deployment via IoT Jobs.

" + "documentation":"

The inline job document associated with a software package version used for a quick job deployment.

" }, "tags":{ "shape":"TagMap", @@ -9610,6 +9656,18 @@ "serverCertificateConfig":{ "shape":"ServerCertificateConfig", "documentation":"

The server certificate configuration.

" + }, + "authenticationType":{ + "shape":"AuthenticationType", + "documentation":"

An enumerated string that specifies the authentication type.

" + }, + "applicationProtocol":{ + "shape":"ApplicationProtocol", + "documentation":"

An enumerated string that specifies the application-layer protocol.

" + }, + "clientCertificateConfig":{ + "shape":"ClientCertificateConfig", + "documentation":"

An object that specifies the client certificate configuration for a domain.

" } } }, @@ -11740,7 +11798,7 @@ }, "recipe":{ "shape":"PackageVersionRecipe", - "documentation":"

The inline job document associated with a software package version used for a quick job deployment via IoT Jobs.

" + "documentation":"

The inline job document associated with a software package version used for a quick job deployment.

" } } }, @@ -16458,7 +16516,7 @@ "members":{ "s3Location":{"shape":"S3Location"} }, - "documentation":"

The Amazon S3 location for the artifacts associated with a software package version.

" + "documentation":"

A specific package version artifact associated with a software package version.

" }, "PackageVersionErrorReason":{"type":"string"}, "PackageVersionRecipe":{ @@ -17671,7 +17729,7 @@ "members":{ "s3Location":{"shape":"S3Location"} }, - "documentation":"

The Amazon S3 location for the software bill of materials associated with a software package version.

" + "documentation":"

A specific software bill of matrerials associated with a software package version.

" }, "SbomValidationErrorCode":{ "type":"string", @@ -19018,7 +19076,7 @@ }, "thingGroupNames":{ "shape":"ThingGroupNameList", - "documentation":"

Thing group names.

" + "documentation":"

Thing group and billing group names.

" }, "attributes":{ "shape":"Attributes", @@ -20143,6 +20201,18 @@ "serverCertificateConfig":{ "shape":"ServerCertificateConfig", "documentation":"

The server certificate configuration.

" + }, + "authenticationType":{ + "shape":"AuthenticationType", + "documentation":"

An enumerated string that specifies the authentication type.

" + }, + "applicationProtocol":{ + "shape":"ApplicationProtocol", + "documentation":"

An enumerated string that specifies the application-layer protocol.

" + }, + "clientCertificateConfig":{ + "shape":"ClientCertificateConfig", + "documentation":"

An object that specifies the client certificate configuration for a domain.

" } } }, @@ -20455,7 +20525,7 @@ }, "recipe":{ "shape":"PackageVersionRecipe", - "documentation":"

The inline job document associated with a software package version used for a quick job deployment via IoT Jobs.

" + "documentation":"

The inline job document associated with a software package version used for a quick job deployment.

" }, "clientToken":{ "shape":"ClientToken", diff --git a/botocore/data/marketplace-reporting/2018-05-10/endpoint-rule-set-1.json b/botocore/data/marketplace-reporting/2018-05-10/endpoint-rule-set-1.json new file mode 100644 index 0000000000..5db279b214 --- /dev/null +++ b/botocore/data/marketplace-reporting/2018-05-10/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://reporting-marketplace-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://reporting-marketplace-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://reporting-marketplace.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://reporting-marketplace.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/botocore/data/marketplace-reporting/2018-05-10/paginators-1.json b/botocore/data/marketplace-reporting/2018-05-10/paginators-1.json new file mode 100644 index 0000000000..ea142457a6 --- /dev/null +++ b/botocore/data/marketplace-reporting/2018-05-10/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/marketplace-reporting/2018-05-10/service-2.json b/botocore/data/marketplace-reporting/2018-05-10/service-2.json new file mode 100644 index 0000000000..cbbd0a0a77 --- /dev/null +++ b/botocore/data/marketplace-reporting/2018-05-10/service-2.json @@ -0,0 +1,141 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-10", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"reporting-marketplace", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"AWS Marketplace Reporting Service", + "serviceId":"Marketplace Reporting", + "signatureVersion":"v4", + "signingName":"aws-marketplace", + "uid":"marketplace-reporting-2018-05-10" + }, + "operations":{ + "GetBuyerDashboard":{ + "name":"GetBuyerDashboard", + "http":{ + "method":"POST", + "requestUri":"/getBuyerDashboard", + "responseCode":200 + }, + "input":{"shape":"GetBuyerDashboardInput"}, + "output":{"shape":"GetBuyerDashboardOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Generates an embedding URL for an Amazon QuickSight dashboard for an anonymous user.

The following rules apply to a generated URL:

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

You do not have sufficient access to perform this action.

", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The request is malformed, or it contains an error such as an invalid parameter. Ensure the request has all required parameters.

", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DashboardIdentifier":{ + "type":"string", + "max":1023, + "min":1, + "pattern":"arn:aws:aws-marketplace::[0-9]{12}:AWSMarketplace/ReportingData/(Agreement_V1/Dashboard/AgreementSummary_V1|BillingEvent_V1/Dashboard/CostAnalysis_V1)" + }, + "EmbeddingDomain":{ + "type":"string", + "max":2000, + "min":1, + "pattern":"(https://[a-zA-Z\\.\\*0-9\\-_]+[\\.]{1}[a-zA-Z]{1,}[a-zA-Z0-9&?/-_=]*[a-zA-Z\\*0-9/]+|http[s]*://localhost(:[0-9]{1,5})?)" + }, + "EmbeddingDomains":{ + "type":"list", + "member":{"shape":"EmbeddingDomain"}, + "max":2, + "min":1 + }, + "GetBuyerDashboardInput":{ + "type":"structure", + "required":[ + "dashboardIdentifier", + "embeddingDomains" + ], + "members":{ + "dashboardIdentifier":{ + "shape":"DashboardIdentifier", + "documentation":"

The ARN of the requested dashboard.

" + }, + "embeddingDomains":{ + "shape":"EmbeddingDomains", + "documentation":"

Fully qualified domains that you add to the allow list for access to the generated URL that is then embedded. You can list up to two domains or subdomains in each API call. To include all subdomains under a specific domain, use *. For example, https://*.amazon.com includes all subdomains under https://aws.amazon.com.

" + } + } + }, + "GetBuyerDashboardOutput":{ + "type":"structure", + "required":[ + "embedUrl", + "dashboardIdentifier", + "embeddingDomains" + ], + "members":{ + "embedUrl":{ + "shape":"String", + "documentation":"

The dashboard's embedding URL.

" + }, + "dashboardIdentifier":{ + "shape":"DashboardIdentifier", + "documentation":"

The ARN of the returned dashboard.

" + }, + "embeddingDomains":{ + "shape":"EmbeddingDomains", + "documentation":"

The fully qualified domains specified in the request. The domains enable access to the generated URL that is then embedded. You can list up to two domains or subdomains in each API call. To include all subdomains under a specific domain, use *. For example, https://*.amazon.com includes all subdomains under https://aws.amazon.com.

" + } + } + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The operation failed due to a server error.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "String":{"type":"string"}, + "UnauthorizedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

You do not have permission to perform this action.

", + "error":{ + "httpStatusCode":401, + "senderFault":true + }, + "exception":true + } + }, + "documentation":"

The AWS Marketplace GetBuyerDashboard API enables you to get a procurement insights dashboard programmatically. The API gets the agreement and cost analysis dashboards with data for all of the Amazon Web Services accounts in your Amazon Web Services organization.

To use the API, you must complete the following prerequisites:

" +} diff --git a/botocore/data/marketplace-reporting/2018-05-10/waiters-2.json b/botocore/data/marketplace-reporting/2018-05-10/waiters-2.json new file mode 100644 index 0000000000..13f60ee66b --- /dev/null +++ b/botocore/data/marketplace-reporting/2018-05-10/waiters-2.json @@ -0,0 +1,5 @@ +{ + "version": 2, + "waiters": { + } +} diff --git a/botocore/data/mediapackagev2/2022-12-25/service-2.json b/botocore/data/mediapackagev2/2022-12-25/service-2.json index 09aab1a184..bbd3984c72 100644 --- a/botocore/data/mediapackagev2/2022-12-25/service-2.json +++ b/botocore/data/mediapackagev2/2022-12-25/service-2.json @@ -850,6 +850,7 @@ "documentation":"

A short string that's appended to the endpoint URL. The child manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default manifest name, index, with an added suffix to distinguish it from the manifest name. The manifestName on the HLSManifest object overrides the manifestName you provided on the originEndpoint object.

" }, "ScteHls":{"shape":"ScteHls"}, + "StartTag":{"shape":"StartTag"}, "ManifestWindowSeconds":{ "shape":"CreateHlsManifestConfigurationManifestWindowSecondsInteger", "documentation":"

The total duration (in seconds) of the manifest's content.

" @@ -890,6 +891,7 @@ "documentation":"

A short string that's appended to the endpoint URL. The child manifest name creates a unique path to this endpoint. If you don't enter a value, MediaPackage uses the default manifest name, index, with an added suffix to distinguish it from the manifest name. The manifestName on the HLSManifest object overrides the manifestName you provided on the originEndpoint object.

" }, "ScteHls":{"shape":"ScteHls"}, + "StartTag":{"shape":"StartTag"}, "ManifestWindowSeconds":{ "shape":"CreateLowLatencyHlsManifestConfigurationManifestWindowSecondsInteger", "documentation":"

The total duration (in seconds) of the manifest's content.

" @@ -1379,6 +1381,10 @@ "TimeDelaySeconds":{ "shape":"FilterConfigurationTimeDelaySecondsInteger", "documentation":"

Optionally specify the time delay for all of your manifest egress requests. Enter a value that is smaller than your endpoint's startover window. When you include time delay, note that you cannot use time delay query parameters for this manifest's endpoint URL.

" + }, + "ClipStartTime":{ + "shape":"Timestamp", + "documentation":"

Optionally specify the clip start time for all of your manifest egress requests. When you include clip start time, note that you cannot use clip start time query parameters for this manifest's endpoint URL.

" } }, "documentation":"

Filter configuration includes settings for manifest filtering, start and end times, and time delay that apply to all of your egress requests for this manifest.

" @@ -1394,6 +1400,10 @@ "max":1209600, "min":0 }, + "Float":{ + "type":"float", + "box":true + }, "ForceEndpointErrorConfiguration":{ "type":"structure", "members":{ @@ -1661,7 +1671,8 @@ "documentation":"

Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify. If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags aren't included in the manifest. The tags sync the stream to the wall clock so that viewers can seek to a specific time in the playback timeline on the player. ID3Timed metadata messages generate every 5 seconds whenever the content is ingested.

Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.

" }, "ScteHls":{"shape":"ScteHls"}, - "FilterConfiguration":{"shape":"FilterConfiguration"} + "FilterConfiguration":{"shape":"FilterConfiguration"}, + "StartTag":{"shape":"StartTag"} }, "documentation":"

Retrieve the HTTP live streaming (HLS) manifest configuration.

" }, @@ -1697,7 +1708,8 @@ "documentation":"

Inserts EXT-X-PROGRAM-DATE-TIME tags in the output manifest at the interval that you specify. If you don't enter an interval, EXT-X-PROGRAM-DATE-TIME tags aren't included in the manifest. The tags sync the stream to the wall clock so that viewers can seek to a specific time in the playback timeline on the player. ID3Timed metadata messages generate every 5 seconds whenever the content is ingested.

Irrespective of this parameter, if any ID3Timed metadata is in the HLS input, it is passed through to the HLS output.

" }, "ScteHls":{"shape":"ScteHls"}, - "FilterConfiguration":{"shape":"FilterConfiguration"} + "FilterConfiguration":{"shape":"FilterConfiguration"}, + "StartTag":{"shape":"StartTag"} }, "documentation":"

Retrieve the low-latency HTTP live streaming (HLS) manifest configuration.

" }, @@ -2481,6 +2493,21 @@ "max":1024, "min":1 }, + "StartTag":{ + "type":"structure", + "required":["TimeOffset"], + "members":{ + "TimeOffset":{ + "shape":"Float", + "documentation":"

Specify the value for TIME-OFFSET within your EXT-X-START tag. Enter a signed floating point value which, if positive, must be less than the configured manifest duration minus three times the configured segment target duration. If negative, the absolute value must be larger than three times the configured segment target duration, and the absolute value must be smaller than the configured manifest duration.

" + }, + "Precise":{ + "shape":"Boolean", + "documentation":"

Specify the value for PRECISE within your EXT-X-START tag. Leave blank, or choose false, to use the default value NO. Choose yes to use the value YES.

" + } + }, + "documentation":"

To insert an EXT-X-START tag in your HLS playlist, specify a StartTag configuration object with a valid TimeOffset. When you do, you can also optionally specify whether to include a PRECISE value in the EXT-X-START tag.

" + }, "String":{"type":"string"}, "TagArn":{"type":"string"}, "TagKey":{"type":"string"}, @@ -2917,7 +2944,9 @@ "PERIOD_TRIGGERS_NONE_SPECIFIED_WITH_ADDITIONAL_VALUES", "DRM_SIGNALING_MISMATCH_SEGMENT_ENCRYPTION_STATUS", "ONLY_CMAF_INPUT_TYPE_ALLOW_FORCE_ENDPOINT_ERROR_CONFIGURATION", - "SOURCE_DISRUPTIONS_ENABLED_INCORRECTLY" + "SOURCE_DISRUPTIONS_ENABLED_INCORRECTLY", + "CLIP_START_TIME_WITH_START_OR_END", + "START_TAG_TIME_OFFSET_INVALID" ] } }, diff --git a/botocore/data/quicksight/2018-04-01/service-2.json b/botocore/data/quicksight/2018-04-01/service-2.json index ee1235c532..682109539e 100644 --- a/botocore/data/quicksight/2018-04-01/service-2.json +++ b/botocore/data/quicksight/2018-04-01/service-2.json @@ -4196,6 +4196,10 @@ "Dashboards":{ "shape":"AssetBundleExportJobDashboardOverridePropertiesList", "documentation":"

An optional list of structures that control how Dashboard resources are parameterized in the returned CloudFormation template.

" + }, + "Folders":{ + "shape":"AssetBundleExportJobFolderOverridePropertiesList", + "documentation":"

An optional list of structures that controls how Folder resources are parameterized in the returned CloudFormation template.

" } }, "documentation":"

An optional collection of CloudFormation property configurations that control how the export job is generated.

" @@ -4384,6 +4388,43 @@ "type":"list", "member":{"shape":"AssetBundleExportJobError"} }, + "AssetBundleExportJobFolderOverrideProperties":{ + "type":"structure", + "required":[ + "Arn", + "Properties" + ], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the specific Folder resource whose override properties are configured in this structure.

" + }, + "Properties":{ + "shape":"AssetBundleExportJobFolderPropertyToOverrideList", + "documentation":"

A list of Folder resource properties to generate variables for in the returned CloudFormation template.

" + } + }, + "documentation":"

Controls how a specific Folder resource is parameterized in the returned CloudFormation template.

" + }, + "AssetBundleExportJobFolderOverridePropertiesList":{ + "type":"list", + "member":{"shape":"AssetBundleExportJobFolderOverrideProperties"}, + "max":50, + "min":1 + }, + "AssetBundleExportJobFolderPropertyToOverride":{ + "type":"string", + "enum":[ + "Name", + "ParentFolderArn" + ] + }, + "AssetBundleExportJobFolderPropertyToOverrideList":{ + "type":"list", + "member":{"shape":"AssetBundleExportJobFolderPropertyToOverride"}, + "max":10, + "min":1 + }, "AssetBundleExportJobRefreshScheduleOverrideProperties":{ "type":"structure", "required":[ @@ -4931,6 +4972,73 @@ "type":"list", "member":{"shape":"AssetBundleImportJobError"} }, + "AssetBundleImportJobFolderOverrideParameters":{ + "type":"structure", + "required":["FolderId"], + "members":{ + "FolderId":{ + "shape":"ResourceId", + "documentation":"

The ID of the folder that you want to apply overrides to.

" + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

A new name for the folder.

" + }, + "ParentFolderArn":{ + "shape":"Arn", + "documentation":"

A new parent folder arn. This change can only be applied if the import creates a brand new folder. Existing folders cannot be moved.

" + } + }, + "documentation":"

The override parameters for a single folder that is being imported.

" + }, + "AssetBundleImportJobFolderOverrideParametersList":{ + "type":"list", + "member":{"shape":"AssetBundleImportJobFolderOverrideParameters"}, + "max":50, + "min":1 + }, + "AssetBundleImportJobFolderOverridePermissions":{ + "type":"structure", + "required":["FolderIds"], + "members":{ + "FolderIds":{ + "shape":"AssetBundleRestrictiveResourceIdList", + "documentation":"

A list of folder IDs that you want to apply overrides to. You can use * to override all folders in this asset bundle.

" + }, + "Permissions":{"shape":"AssetBundleResourcePermissions"} + }, + "documentation":"

An object that contains a list of permissions to be applied to a list of folder IDs.

" + }, + "AssetBundleImportJobFolderOverridePermissionsList":{ + "type":"list", + "member":{"shape":"AssetBundleImportJobFolderOverridePermissions"}, + "max":2, + "min":1 + }, + "AssetBundleImportJobFolderOverrideTags":{ + "type":"structure", + "required":[ + "FolderIds", + "Tags" + ], + "members":{ + "FolderIds":{ + "shape":"AssetBundleRestrictiveResourceIdList", + "documentation":"

A list of folder IDs that you want to apply overrides to. You can use * to override all folders in this asset bundle.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tags for the folders that you want to apply overrides to.

" + } + }, + "documentation":"

An object that contains a list of tags to be assigned to a list of folder IDs.

" + }, + "AssetBundleImportJobFolderOverrideTagsList":{ + "type":"list", + "member":{"shape":"AssetBundleImportJobFolderOverrideTags"}, + "max":5, + "min":1 + }, "AssetBundleImportJobOverrideParameters":{ "type":"structure", "members":{ @@ -4965,6 +5073,10 @@ "Dashboards":{ "shape":"AssetBundleImportJobDashboardOverrideParametersList", "documentation":"

A list of overrides for any Dashboard resources that are present in the asset bundle that is imported.

" + }, + "Folders":{ + "shape":"AssetBundleImportJobFolderOverrideParametersList", + "documentation":"

A list of overrides for any Folder resources that are present in the asset bundle that is imported.

" } }, "documentation":"

A list of overrides that modify the asset bundle resource configuration before the resource is imported.

" @@ -4991,6 +5103,10 @@ "Dashboards":{ "shape":"AssetBundleImportJobDashboardOverridePermissionsList", "documentation":"

A list of permissions overrides for any Dashboard resources that are present in the asset bundle that is imported.

" + }, + "Folders":{ + "shape":"AssetBundleImportJobFolderOverridePermissionsList", + "documentation":"

A list of permissions for the folders that you want to apply overrides to.

" } }, "documentation":"

A structure that contains the override permission configurations that modify the permissions for specified resources before the resource is imported.

" @@ -5021,6 +5137,10 @@ "Dashboards":{ "shape":"AssetBundleImportJobDashboardOverrideTagsList", "documentation":"

A list of tag overrides for any Dashboard resources that are present in the asset bundle that is imported.

" + }, + "Folders":{ + "shape":"AssetBundleImportJobFolderOverrideTagsList", + "documentation":"

A list of tag overrides for any Folder resources that are present in the asset bundle that is imported.

" } }, "documentation":"

A structure that contains the override tag configuration that modify the tags that are assigned to specified resources before the resource is imported.

" @@ -13441,6 +13561,14 @@ "Warnings":{ "shape":"AssetBundleExportJobWarningList", "documentation":"

An array of warning records that describe the analysis or dashboard that is exported. This array includes UI errors that can be skipped during the validation process.

This property only appears if StrictModeForAllResources in ValidationStrategy is set to FALSE.

" + }, + "IncludeFolderMemberships":{ + "shape":"Boolean", + "documentation":"

The include folder memberships flag.

" + }, + "IncludeFolderMembers":{ + "shape":"IncludeFolderMembers", + "documentation":"

A setting that determines whether folder members are included.

" } } }, @@ -18728,6 +18856,14 @@ "error":{"httpStatusCode":403}, "exception":true }, + "IncludeFolderMembers":{ + "type":"string", + "enum":[ + "RECURSE", + "ONE_LEVEL", + "NONE" + ] + }, "IncrementalRefresh":{ "type":"structure", "required":["LookbackWindow"], @@ -27818,6 +27954,14 @@ "ValidationStrategy":{ "shape":"AssetBundleExportJobValidationStrategy", "documentation":"

An optional parameter that determines which validation strategy to use for the export job. If StrictModeForAllResources is set to TRUE, strict validation for every error is enforced. If it is set to FALSE, validation is skipped for specific UI errors that are shown as warnings. The default value for StrictModeForAllResources is FALSE.

" + }, + "IncludeFolderMemberships":{ + "shape":"Boolean", + "documentation":"

A Boolean that determines if the exported asset carries over information about the folders that the asset is a member of.

" + }, + "IncludeFolderMembers":{ + "shape":"IncludeFolderMembers", + "documentation":"

A setting that indicates whether you want to include folder assets. You can also use this setting to recusrsively include all subfolders of an exported folder.

" } } }, @@ -30112,6 +30256,16 @@ "type":"list", "member":{"shape":"TopicColumn"} }, + "TopicConfigOptions":{ + "type":"structure", + "members":{ + "QBusinessInsightsEnabled":{ + "shape":"NullableBoolean", + "documentation":"

Enables Amazon Q Business Insights for a Topic.

" + } + }, + "documentation":"

Configuration options for a Topic.

" + }, "TopicConstantValue":{ "type":"structure", "members":{ @@ -30170,6 +30324,10 @@ "DataSets":{ "shape":"Datasets", "documentation":"

The data sets that the topic is associated with.

" + }, + "ConfigOptions":{ + "shape":"TopicConfigOptions", + "documentation":"

Configuration options for a Topic.

" } }, "documentation":"

A structure that describes the details of a topic, such as its name, description, and associated data sets.

" diff --git a/docs/source/conf.py b/docs/source/conf.py index fcca2ffcea..0c88323446 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -59,7 +59,7 @@ # The short X.Y version. version = '1.35.' # The full version, including alpha/beta/rc tags. -release = '1.35.32' +release = '1.35.33' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/setup.cfg b/setup.cfg index d0d4c67561..6db04c505b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -9,4 +9,4 @@ requires_dist = urllib3>=1.25.4,!=2.2.0,<3; python_version>="3.10" [options.extras_require] -crt = awscrt==0.21.5 +crt = awscrt==0.22.0 diff --git a/setup.py b/setup.py index 781f1b6e14..26ddfb4a18 100644 --- a/setup.py +++ b/setup.py @@ -33,7 +33,7 @@ def find_version(*file_paths): ] extras_require = { - 'crt': ['awscrt==0.21.5'], + 'crt': ['awscrt==0.22.0'], } setup( diff --git a/tests/functional/endpoint-rules/marketplace-reporting/endpoint-tests-1.json b/tests/functional/endpoint-rules/marketplace-reporting/endpoint-tests-1.json new file mode 100644 index 0000000000..4e7b724931 --- /dev/null +++ b/tests/functional/endpoint-rules/marketplace-reporting/endpoint-tests-1.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://reporting-marketplace-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://reporting-marketplace-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://reporting-marketplace.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://reporting-marketplace.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://reporting-marketplace-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://reporting-marketplace-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://reporting-marketplace.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://reporting-marketplace.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://reporting-marketplace-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 enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://reporting-marketplace-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://reporting-marketplace.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://reporting-marketplace.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-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://reporting-marketplace-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-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://reporting-marketplace.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-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://reporting-marketplace-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 region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://reporting-marketplace.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "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