From b5c933283d919b1049a432548965b55ecbe98492 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Thu, 27 Apr 2023 11:29:45 -0700 Subject: [PATCH] Release v1.44.252 (2023-04-27) (#4818) Release v1.44.252 (2023-04-27) === ### Service Client Updates * `service/ec2`: Updates service API and documentation * This release adds support for AMD SEV-SNP on EC2 instances. * `service/emr-containers`: Updates service API and documentation * `service/guardduty`: Updates service API and documentation * Added API support to initiate on-demand malware scan on specific resources. * `service/iotdeviceadvisor`: Updates service API and documentation * `service/kafka`: Updates service API, documentation, and paginators * `service/lambda`: Updates service API * Add Java 17 (java17) support to AWS Lambda * `service/marketplace-catalog`: Updates service paginators * `service/osis`: Updates service documentation * `service/qldb`: Updates service documentation * `service/sagemaker`: Updates service API and documentation * Added ml.p4d.24xlarge and ml.p4de.24xlarge as supported instances for SageMaker Studio * `service/xray`: Adds new service * Updated X-Ray documentation with Resource Policy API descriptions. --- CHANGELOG.md | 21 + aws/endpoints/defaults.go | 14 + aws/version.go | 2 +- models/apis/ec2/2016-11-15/api-2.json | 36 +- models/apis/ec2/2016-11-15/docs-2.json | 115 +- .../apis/emr-containers/2020-10-01/api-2.json | 85 + .../emr-containers/2020-10-01/docs-2.json | 48 + .../2020-10-01/endpoint-rule-set-1.json | 380 +- .../2020-10-01/endpoint-tests-1.json | 213 +- models/apis/guardduty/2017-11-28/api-2.json | 74 +- models/apis/guardduty/2017-11-28/docs-2.json | 32 + .../iotdeviceadvisor/2020-09-18/api-2.json | 24 +- .../iotdeviceadvisor/2020-09-18/docs-2.json | 14 +- .../2020-09-18/endpoint-rule-set-1.json | 392 +- .../2020-09-18/endpoint-tests-1.json | 212 +- models/apis/kafka/2018-11-14/api-2.json | 851 ++++- models/apis/kafka/2018-11-14/docs-2.json | 213 +- .../kafka/2018-11-14/endpoint-rule-set-1.json | 398 +- .../kafka/2018-11-14/endpoint-tests-1.json | 393 +- .../apis/kafka/2018-11-14/paginators-1.json | 12 + models/apis/lambda/2015-03-31/api-2.json | 3 +- .../2018-09-17/paginators-1.json | 6 +- models/apis/osis/2022-01-01/docs-2.json | 26 +- .../osis/2022-01-01/endpoint-tests-1.json | 46 +- models/apis/qldb/2019-01-02/docs-2.json | 44 +- .../qldb/2019-01-02/endpoint-rule-set-1.json | 350 ++ .../qldb/2019-01-02/endpoint-tests-1.json | 483 +++ models/apis/sagemaker/2017-07-24/api-2.json | 4 +- models/apis/sagemaker/2017-07-24/docs-2.json | 2 +- .../xray/2016-04-12/endpoint-rule-set-1.json | 399 +- .../xray/2016-04-12/endpoint-tests-1.json | 1382 ++----- models/endpoints/endpoints.json | 10 + service/ec2/api.go | 292 +- service/emrcontainers/api.go | 373 ++ .../emrcontainersiface/interface.go | 4 + service/emrcontainers/errors.go | 7 + service/guardduty/api.go | 276 ++ service/guardduty/errors.go | 7 + service/guardduty/guarddutyiface/interface.go | 4 + service/iotdeviceadvisor/api.go | 64 +- service/kafka/api.go | 3298 +++++++++++++++-- service/kafka/kafkaiface/interface.go | 42 + service/lambda/api.go | 4 + service/osis/api.go | 35 +- service/qldb/api.go | 119 +- service/qldb/doc.go | 2 +- service/sagemaker/api.go | 13 +- 47 files changed, 7893 insertions(+), 2931 deletions(-) create mode 100644 models/apis/qldb/2019-01-02/endpoint-rule-set-1.json create mode 100644 models/apis/qldb/2019-01-02/endpoint-tests-1.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 71cfac7b2a5..d701a51782b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,24 @@ +Release v1.44.252 (2023-04-27) +=== + +### Service Client Updates +* `service/ec2`: Updates service API and documentation + * This release adds support for AMD SEV-SNP on EC2 instances. +* `service/emr-containers`: Updates service API and documentation +* `service/guardduty`: Updates service API and documentation + * Added API support to initiate on-demand malware scan on specific resources. +* `service/iotdeviceadvisor`: Updates service API and documentation +* `service/kafka`: Updates service API, documentation, and paginators +* `service/lambda`: Updates service API + * Add Java 17 (java17) support to AWS Lambda +* `service/marketplace-catalog`: Updates service paginators +* `service/osis`: Updates service documentation +* `service/qldb`: Updates service documentation +* `service/sagemaker`: Updates service API and documentation + * Added ml.p4d.24xlarge and ml.p4de.24xlarge as supported instances for SageMaker Studio +* `service/xray`: Adds new service + * Updated X-Ray documentation with Resource Policy API descriptions. + Release v1.44.251 (2023-04-26) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index ea2a37eebc9..414efc887ee 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -38090,6 +38090,13 @@ var awsisoPartition = partition{ }: endpoint{}, }, }, + "athena": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-iso-east-1", + }: endpoint{}, + }, + }, "autoscaling": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -39304,6 +39311,13 @@ var awsisobPartition = partition{ }: endpoint{}, }, }, + "secretsmanager": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-isob-east-1", + }: endpoint{}, + }, + }, "snowball": service{ Endpoints: serviceEndpoints{ endpointKey{ diff --git a/aws/version.go b/aws/version.go index 750bdbb4207..67e5af89d32 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.251" +const SDKVersion = "1.44.252" diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 8848f69d779..34c3d371d5e 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -6192,6 +6192,13 @@ "locationName":"item" } }, + "AmdSevSnpSpecification":{ + "type":"string", + "enum":[ + "enabled", + "disabled" + ] + }, "AnalysisAclRule":{ "type":"structure", "members":{ @@ -9650,6 +9657,10 @@ "ThreadsPerCore":{ "shape":"Integer", "locationName":"threadsPerCore" + }, + "AmdSevSnp":{ + "shape":"AmdSevSnpSpecification", + "locationName":"amdSevSnp" } } }, @@ -9657,7 +9668,8 @@ "type":"structure", "members":{ "CoreCount":{"shape":"Integer"}, - "ThreadsPerCore":{"shape":"Integer"} + "ThreadsPerCore":{"shape":"Integer"}, + "AmdSevSnp":{"shape":"AmdSevSnpSpecification"} } }, "CreateCapacityReservationFleetRequest":{ @@ -28903,6 +28915,10 @@ "ThreadsPerCore":{ "shape":"Integer", "locationName":"threadsPerCore" + }, + "AmdSevSnp":{ + "shape":"AmdSevSnpSpecification", + "locationName":"amdSevSnp" } } }, @@ -28910,7 +28926,8 @@ "type":"structure", "members":{ "CoreCount":{"shape":"Integer"}, - "ThreadsPerCore":{"shape":"Integer"} + "ThreadsPerCore":{"shape":"Integer"}, + "AmdSevSnp":{"shape":"AmdSevSnpSpecification"} } }, "LaunchTemplateEbsBlockDevice":{ @@ -34462,6 +34479,10 @@ "SustainedClockSpeedInGhz":{ "shape":"ProcessorSustainedClockSpeed", "locationName":"sustainedClockSpeedInGhz" + }, + "SupportedFeatures":{ + "shape":"SupportedAdditionalProcessorFeatureList", + "locationName":"supportedFeatures" } } }, @@ -40085,6 +40106,17 @@ "initializing" ] }, + "SupportedAdditionalProcessorFeature":{ + "type":"string", + "enum":["amd-sev-snp"] + }, + "SupportedAdditionalProcessorFeatureList":{ + "type":"list", + "member":{ + "shape":"SupportedAdditionalProcessorFeature", + "locationName":"item" + } + }, "SupportedIpAddressTypes":{ "type":"list", "member":{ diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index dc865703819..b8be6269ba2 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -475,7 +475,7 @@ "ModifyIdFormat": "

Modifies the ID format for the specified resource on a per-Region basis. You can specify that resources should receive longer IDs (17-character IDs) when they are created.

This request can only be used to modify longer ID settings for resource types that are within the opt-in period. Resources currently in their opt-in period include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

This setting applies to the IAM user who makes the request; it does not apply to the entire Amazon Web Services account. By default, an IAM user defaults to the same settings as the root user. If you're using this action as the root user, then these settings apply to the entire account, unless an IAM user explicitly overrides these settings for themselves. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

", "ModifyIdentityIdFormat": "

Modifies the ID format of a resource for a specified IAM user, IAM role, or the root user for an account; or all IAM users, IAM roles, and the root user for an account. You can specify that resources should receive longer IDs (17-character IDs) when they are created.

This request can only be used to modify longer ID settings for resource types that are within the opt-in period. Resources currently in their opt-in period include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

This setting applies to the principal specified in the request; it does not apply to the principal that makes the request.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

", "ModifyImageAttribute": "

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time.

To specify the attribute, you can use the Attribute parameter, or one of the following parameters: Description, ImdsSupport, or LaunchPermission.

Images with an Amazon Web Services Marketplace product code cannot be made public.

To enable the SriovNetSupport enhanced networking attribute of an image, enable SriovNetSupport on an instance and create an AMI from the instance.

", - "ModifyInstanceAttribute": "

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

Note: Using this action to change the security groups associated with an elastic network interface (ENI) attached to an instance in a VPC can result in an error if the instance has more than one ENI. To change the security groups associated with an ENI attached to an instance that has multiple ENIs, we recommend that you use the ModifyNetworkInterfaceAttribute action.

To modify some attributes, the instance must be stopped. For more information, see Modify a stopped instance in the Amazon EC2 User Guide.

", + "ModifyInstanceAttribute": "

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

Note: Using this action to change the security groups associated with an elastic network interface (ENI) attached to an instance can result in an error if the instance has more than one ENI. To change the security groups associated with an ENI attached to an instance that has multiple ENIs, we recommend that you use the ModifyNetworkInterfaceAttribute action.

To modify some attributes, the instance must be stopped. For more information, see Modify a stopped instance in the Amazon EC2 User Guide.

", "ModifyInstanceCapacityReservationAttributes": "

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.

", "ModifyInstanceCreditSpecification": "

Modifies the credit option for CPU usage on a running or stopped burstable performance instance. The credit options are standard and unlimited.

For more information, see Burstable performance instances in the Amazon EC2 User Guide.

", "ModifyInstanceEventStartTime": "

Modifies the start time for a scheduled Amazon EC2 instance event.

", @@ -493,7 +493,7 @@ "ModifyManagedPrefixList": "

Modifies the specified managed prefix list.

Adding or removing entries in a prefix list creates a new version of the prefix list. Changing the name of the prefix list does not affect the version.

If you specify a current version number that does not match the true current version number, the request fails.

", "ModifyNetworkInterfaceAttribute": "

Modifies the specified network interface attribute. You can specify only one attribute at a time. You can use this action to attach and detach security groups from an existing EC2 instance.

", "ModifyPrivateDnsNameOptions": "

Modifies the options for instance hostnames for the specified instance.

", - "ModifyReservedInstances": "

Modifies the configuration of your Reserved Instances, such as the Availability Zone, instance count, or instance type. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon EC2 User Guide.

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

", + "ModifyReservedInstances": "

Modifies the configuration of your Reserved Instances, such as the Availability Zone, instance count, or instance type. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon EC2 User Guide.

", "ModifySecurityGroupRules": "

Modifies the rules of a security group.

", "ModifySnapshotAttribute": "

Adds or removes permission settings for the specified snapshot. You may add or remove specified Amazon Web Services account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.

Encrypted snapshots and snapshots with Amazon Web Services Marketplace product codes cannot be made public. Snapshots encrypted with your default KMS key cannot be shared with other accounts.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon Elastic Compute Cloud User Guide.

", "ModifySnapshotTier": "

Archives an Amazon EBS snapshot. When you archive a snapshot, it is converted to a full snapshot that includes all of the blocks of data that were written to the volume at the time the snapshot was created, and moved from the standard tier to the archive tier. For more information, see Archive Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

", @@ -533,7 +533,7 @@ "ProvisionIpamPoolCidr": "

Provision a CIDR to an IPAM pool. You can use this action to provision new CIDRs to a top-level pool or to transfer a CIDR from a top-level pool to a pool within it.

For more information, see Provision CIDRs to pools in the Amazon VPC IPAM User Guide.

", "ProvisionPublicIpv4PoolCidr": "

Provision a CIDR to a public IPv4 pool.

For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

", "PurchaseHostReservation": "

Purchase a reservation with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation. This action results in the specified reservation being purchased and charged to your account.

", - "PurchaseReservedInstancesOffering": "

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

To queue a purchase for a future date and time, specify a purchase time. If you do not specify a purchase time, the default is the current time.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon EC2 User Guide.

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

", + "PurchaseReservedInstancesOffering": "

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

To queue a purchase for a future date and time, specify a purchase time. If you do not specify a purchase time, the default is the current time.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon EC2 User Guide.

", "PurchaseScheduledInstances": "

You can no longer purchase Scheduled Instances.

Purchases the Scheduled Instances with the specified schedule.

Scheduled Instances enable you to purchase Amazon EC2 compute capacity by the hour for a one-year term. Before you can purchase a Scheduled Instance, you must call DescribeScheduledInstanceAvailability to check for available schedules and obtain a purchase token. After you purchase a Scheduled Instance, you must call RunScheduledInstances during each scheduled time period.

After you purchase a Scheduled Instance, you can't cancel, modify, or resell your purchase.

", "RebootInstances": "

Requests a reboot of the specified instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored.

If an instance does not cleanly shut down within a few minutes, Amazon EC2 performs a hard reboot.

For more information about troubleshooting, see Troubleshoot an unreachable instance in the Amazon EC2 User Guide.

", "RegisterImage": "

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Create your own AMI in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself. We recommend that you always use CreateImage unless you have a specific reason to use RegisterImage.

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

Register a snapshot of a root device volume

You can use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using a block device mapping. You can't set the encryption state of the volume using the block device mapping. If the snapshot is encrypted, or encryption by default is enabled, the root volume of an instance launched from the AMI is encrypted.

For more information, see Create a Linux AMI from a snapshot and Use encryption with Amazon EBS-backed AMIs in the Amazon Elastic Compute Cloud User Guide.

Amazon Web Services Marketplace product codes

If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new AMI.

Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the Amazon EC2 billing product code associated with an AMI to verify the subscription status for package updates. To create a new AMI for operating systems that require a billing product code, instead of registering the AMI, do the following to preserve the billing product code association:

  1. Launch an instance from an existing AMI with that billing product code.

  2. Customize the instance.

  3. Create an AMI from the instance using CreateImage.

If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched from an AMI with a billing product code, make sure that the Reserved Instance has the matching billing product code. If you purchase a Reserved Instance without the matching billing product code, the Reserved Instance will not be applied to the On-Demand Instance. For information about how to obtain the platform details and billing information of an AMI, see Understand AMI billing information in the Amazon EC2 User Guide.

", @@ -557,7 +557,7 @@ "ReplaceVpnTunnel": "

Trigger replacement of specified VPN tunnel.

", "ReportInstanceStatus": "

Submits feedback about the status of an instance. The instance must be in the running state. If your experience with the instance differs from the instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon EC2 collects this information to improve the accuracy of status checks.

Use of this action does not change the value returned by DescribeInstanceStatus.

", "RequestSpotFleet": "

Creates a Spot Fleet request.

The Spot Fleet request specifies the total target capacity and the On-Demand target capacity. Amazon EC2 calculates the difference between the total capacity and On-Demand capacity, and launches the difference as Spot capacity.

You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

By default, the Spot Fleet requests Spot Instances in the Spot Instance pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload.

Alternatively, you can specify that the Spot Fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot Instances in your Spot Fleet are in different Spot pools, you can improve the availability of your fleet.

You can specify tags for the Spot Fleet request and instances launched by the fleet. You cannot tag other resource types in a Spot Fleet request because only the spot-fleet-request and instance resource types are supported.

For more information, see Spot Fleet requests in the Amazon EC2 User Guide.

We strongly discourage using the RequestSpotFleet API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see Which is the best Spot request method to use? in the Amazon EC2 User Guide.

", - "RequestSpotInstances": "

Creates a Spot Instance request.

For more information, see Spot Instance requests in the Amazon EC2 User Guide for Linux Instances.

We strongly discourage using the RequestSpotInstances API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see Which is the best Spot request method to use? in the Amazon EC2 User Guide for Linux Instances.

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide for Linux Instances.

", + "RequestSpotInstances": "

Creates a Spot Instance request.

For more information, see Spot Instance requests in the Amazon EC2 User Guide for Linux Instances.

We strongly discourage using the RequestSpotInstances API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see Which is the best Spot request method to use? in the Amazon EC2 User Guide for Linux Instances.

", "ResetAddressAttribute": "

Resets the attribute of the specified IP address. For requirements, see Using reverse DNS for email applications.

", "ResetEbsDefaultKmsKeyId": "

Resets the default KMS key for EBS encryption for your account in this Region to the Amazon Web Services managed KMS key for EBS.

After resetting the default KMS key to the Amazon Web Services managed KMS key, you can continue to encrypt by a customer managed KMS key by specifying it when you create the volume. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

", "ResetFpgaImageAttribute": "

Resets the specified attribute of the specified Amazon FPGA Image (AFI) to its default value. You can only reset the load permission attribute.

", @@ -573,7 +573,7 @@ "RevokeClientVpnIngress": "

Removes an ingress authorization rule from a Client VPN endpoint.

", "RevokeSecurityGroupEgress": "

[VPC only] Removes the specified outbound (egress) rules from a security group for EC2-VPC. This action does not apply to security groups for use in EC2-Classic.

You can specify rules using either rule IDs or security group rule properties. If you use rule properties, the values that you specify (for example, ports) must match the existing rule's values exactly. Each rule has a protocol, from and to ports, and destination (CIDR range, security group, or prefix list). For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not need to specify the description to revoke the rule.

[Default VPC] If the values you specify do not match the existing rule's values, no error is returned, and the output describes the security group rules that were not revoked.

Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

", "RevokeSecurityGroupIngress": "

Removes the specified inbound (ingress) rules from a security group.

You can specify rules using either rule IDs or security group rule properties. If you use rule properties, the values that you specify (for example, ports) must match the existing rule's values exactly. Each rule has a protocol, from and to ports, and source (CIDR range, security group, or prefix list). For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not need to specify the description to revoke the rule.

[EC2-Classic, default VPC] If the values you specify do not match the existing rule's values, no error is returned, and the output describes the security group rules that were not revoked.

Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon Elastic Compute Cloud User Guide.

", - "RunInstances": "

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

You can create a launch template, which is a resource that contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify the launch template instead of specifying the launch parameters.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging your Amazon EC2 resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key pairs.

For troubleshooting, see What to do if an instance immediately terminates, and Troubleshooting connecting to your instance.

We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 User Guide.

", + "RunInstances": "

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

You can create a launch template, which is a resource that contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify the launch template instead of specifying the launch parameters.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging your Amazon EC2 resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key pairs.

For troubleshooting, see What to do if an instance immediately terminates, and Troubleshooting connecting to your instance.

", "RunScheduledInstances": "

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes. For more information, see Scheduled Instances in the Amazon EC2 User Guide.

", "SearchLocalGatewayRoutes": "

Searches for routes in the specified local gateway route table.

", "SearchTransitGatewayMulticastGroups": "

Searches one or more transit gateway multicast groups and returns the group membership information.

", @@ -1077,6 +1077,15 @@ "NetworkInsightsAnalysis$AlternatePathHints": "

Potential intermediate components.

" } }, + "AmdSevSnpSpecification": { + "base": null, + "refs": { + "CpuOptions$AmdSevSnp": "

Indicates whether the instance is enabled for AMD SEV-SNP.

", + "CpuOptionsRequest$AmdSevSnp": "

Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only.

", + "LaunchTemplateCpuOptions$AmdSevSnp": "

Indicates whether the instance is enabled for AMD SEV-SNP.

", + "LaunchTemplateCpuOptionsRequest$AmdSevSnp": "

Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only.

" + } + }, "AnalysisAclRule": { "base": "

Describes a network access control (ACL) rule.

", "refs": { @@ -1682,7 +1691,7 @@ "AutoRecoveryFlag": { "base": null, "refs": { - "InstanceTypeInfo$AutoRecoverySupported": "

Indicates whether auto recovery is supported.

" + "InstanceTypeInfo$AutoRecoverySupported": "

Indicates whether Amazon CloudWatch action based recovery is supported.

" } }, "AvailabilityZone": { @@ -1835,8 +1844,8 @@ "refs": { "Image$BlockDeviceMappings": "

Any block device mapping entries.

", "ImageAttribute$BlockDeviceMappings": "

The block device mapping entries.

", - "LaunchSpecification$BlockDeviceMappings": "

One or more block device mapping entries.

", - "RequestSpotLaunchSpecification$BlockDeviceMappings": "

One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

", + "LaunchSpecification$BlockDeviceMappings": "

The block device mapping entries.

", + "RequestSpotLaunchSpecification$BlockDeviceMappings": "

The block device mapping entries. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

", "SpotFleetLaunchSpecification$BlockDeviceMappings": "

One or more block devices that are mapped to the Spot Instances. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

" } }, @@ -3016,7 +3025,7 @@ "CancelledSpotInstanceRequestList": { "base": null, "refs": { - "CancelSpotInstanceRequestsResult$CancelledSpotInstanceRequests": "

One or more Spot Instance requests.

" + "CancelSpotInstanceRequestsResult$CancelledSpotInstanceRequests": "

The Spot Instance requests.

" } }, "CapacityAllocation": { @@ -8966,8 +8975,8 @@ "DescribeInstanceEventWindowsRequest$Filters": "

One or more filters.

", "DescribeInstanceStatusRequest$Filters": "

The filters.

", "DescribeInstanceTypeOfferingsRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", - "DescribeInstanceTypesRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", - "DescribeInstancesRequest$Filters": "

The filters.

", + "DescribeInstanceTypesRequest$Filters": "

One or more filters. Filter names and values are case-sensitive.

", + "DescribeInstancesRequest$Filters": "

The filters.

", "DescribeInternetGatewaysRequest$Filters": "

One or more filters.

", "DescribeIpamPoolsRequest$Filters": "

One or more filters for the request. For more information about filtering, see Filtering CLI output.

", "DescribeIpamResourceDiscoveriesRequest$Filters": "

The resource discovery filters.

", @@ -9000,18 +9009,18 @@ "DescribeRegionsRequest$Filters": "

The filters.

", "DescribeReplaceRootVolumeTasksRequest$Filters": "

Filter to use:

", "DescribeReservedInstancesListingsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesModificationsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesOfferingsRequest$Filters": "

One or more filters.

", - "DescribeReservedInstancesRequest$Filters": "

One or more filters.

", + "DescribeReservedInstancesModificationsRequest$Filters": "

One or more filters.

", + "DescribeReservedInstancesOfferingsRequest$Filters": "

One or more filters.

", + "DescribeReservedInstancesRequest$Filters": "

One or more filters.

", "DescribeRouteTablesRequest$Filters": "

One or more filters.

", - "DescribeScheduledInstanceAvailabilityRequest$Filters": "

The filters.

", - "DescribeScheduledInstancesRequest$Filters": "

The filters.

", + "DescribeScheduledInstanceAvailabilityRequest$Filters": "

The filters.

", + "DescribeScheduledInstancesRequest$Filters": "

The filters.

", "DescribeSecurityGroupRulesRequest$Filters": "

One or more filters.

", "DescribeSecurityGroupsRequest$Filters": "

The filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

", "DescribeSnapshotTierStatusRequest$Filters": "

The filters.

", "DescribeSnapshotsRequest$Filters": "

The filters.

", - "DescribeSpotInstanceRequestsRequest$Filters": "

One or more filters.

", - "DescribeSpotPriceHistoryRequest$Filters": "

One or more filters.

", + "DescribeSpotInstanceRequestsRequest$Filters": "

The filters.

", + "DescribeSpotPriceHistoryRequest$Filters": "

The filters.

", "DescribeStoreImageTasksRequest$Filters": "

The filters.

", "DescribeSubnetsRequest$Filters": "

One or more filters.

", "DescribeTagsRequest$Filters": "

The filters.

", @@ -9994,7 +10003,7 @@ "AttachClassicLinkVpcRequest$Groups": "

The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

", "DescribeSecurityGroupsRequest$GroupIds": "

The IDs of the security groups. Required for security groups in a nondefault VPC.

Default: Describes all of your security groups.

", "LaunchTemplateInstanceNetworkInterfaceSpecification$Groups": "

The IDs of one or more security groups.

", - "ModifyInstanceAttributeRequest$Groups": "

[EC2-VPC] Replaces the security groups of the instance with the specified security groups. You must specify at least one security group, even if it's just the default security group for the VPC. You must specify the security group ID, not the security group name.

" + "ModifyInstanceAttributeRequest$Groups": "

Replaces the security groups of the instance with the specified security groups. You must specify the ID of at least one security group, even if it's just the default security group for the VPC.

" } }, "GroupIdentifier": { @@ -10011,10 +10020,10 @@ "Instance$SecurityGroups": "

The security groups for the instance.

", "InstanceAttribute$Groups": "

The security groups associated with the instance.

", "InstanceNetworkInterface$Groups": "

The security groups.

", - "LaunchSpecification$SecurityGroups": "

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

", + "LaunchSpecification$SecurityGroups": "

The IDs of the security groups.

", "NetworkInterface$Groups": "

Any security groups for the network interface.

", - "Reservation$Groups": "

[EC2-Classic only] The security groups.

", - "SpotFleetLaunchSpecification$SecurityGroups": "

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

" + "Reservation$Groups": "

Not supported.

", + "SpotFleetLaunchSpecification$SecurityGroups": "

The security groups.

" } }, "GroupIdentifierSet": { @@ -10358,7 +10367,7 @@ "ImageIdStringList$member": null, "ModifyImageAttributeRequest$ImageId": "

The ID of the AMI.

", "ReplaceRootVolumeTask$ImageId": "

The ID of the AMI used to create the replacement root volume.

", - "RequestLaunchTemplateData$ImageId": "

The ID of the AMI. Alternatively, you can specify a Systems Manager parameter, which will resolve to an AMI ID on launch.

Valid formats:

For more information, see Use a Systems Manager parameter to find an AMI in the Amazon Elastic Compute Cloud User Guide.

", + "RequestLaunchTemplateData$ImageId": "

The ID of the AMI. Alternatively, you can specify a Systems Manager parameter, which will resolve to an AMI ID on launch.

Valid formats:

Currently, EC2 Fleet and Spot Fleet do not support specifying a Systems Manager parameter. If the launch template will be used by an EC2 Fleet or Spot Fleet, you must specify the AMI ID.

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

", "RequestSpotLaunchSpecification$ImageId": "

The ID of the AMI.

", "ResetImageAttributeRequest$ImageId": "

The ID of the AMI.

", "RestoreImageFromRecycleBinRequest$ImageId": "

The ID of the AMI to restore.

", @@ -10999,7 +11008,7 @@ "InstanceNetworkInterface$Ipv6Addresses": "

The IPv6 addresses associated with the network interface.

", "InstanceNetworkInterfaceSpecification$Ipv6Addresses": "

The IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.

", "LaunchTemplateInstanceNetworkInterfaceSpecification$Ipv6Addresses": "

The IPv6 addresses for the network interface.

", - "RunInstancesRequest$Ipv6Addresses": "

[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.

You cannot specify this option and the network interfaces option in the same request.

" + "RunInstancesRequest$Ipv6Addresses": "

The IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.

You cannot specify this option and the network interfaces option in the same request.

" } }, "InstanceIpv6AddressListRequest": { @@ -11150,7 +11159,7 @@ "InstanceNetworkInterfaceList": { "base": null, "refs": { - "Instance$NetworkInterfaces": "

[EC2-VPC] The network interfaces for the instance.

" + "Instance$NetworkInterfaces": "

The network interfaces for the instance.

" } }, "InstanceNetworkInterfaceSpecification": { @@ -11162,8 +11171,8 @@ "InstanceNetworkInterfaceSpecificationList": { "base": null, "refs": { - "LaunchSpecification$NetworkInterfaces": "

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

", - "RequestSpotLaunchSpecification$NetworkInterfaces": "

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

", + "LaunchSpecification$NetworkInterfaces": "

The network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

", + "RequestSpotLaunchSpecification$NetworkInterfaces": "

The network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

", "RunInstancesRequest$NetworkInterfaces": "

The network interfaces to associate with the instance. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.

", "SpotFleetLaunchSpecification$NetworkInterfaces": "

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

" } @@ -11675,7 +11684,7 @@ "RevokeSecurityGroupEgressRequest$ToPort": "

Not supported. Use a set of IP permissions to specify the port.

", "RevokeSecurityGroupIngressRequest$FromPort": "

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP, this is the type number. A value of -1 indicates all ICMP types.

", "RevokeSecurityGroupIngressRequest$ToPort": "

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP, this is the code. A value of -1 indicates all ICMP codes.

", - "RunInstancesRequest$Ipv6AddressCount": "

[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

You cannot specify this option and the network interfaces option in the same request.

", + "RunInstancesRequest$Ipv6AddressCount": "

The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

You cannot specify this option and the network interfaces option in the same request.

", "RunInstancesRequest$MaxCount": "

The maximum number of instances to launch. If you specify more instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible number of instances above MinCount.

Constraints: Between 1 and the maximum number you're allowed for the specified instance type. For more information about the default limits, and how to request an increase, see How many instances can I run in Amazon EC2 in the Amazon EC2 FAQ.

", "RunInstancesRequest$MinCount": "

The minimum number of instances to launch. If you specify a minimum that is more instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches no instances.

Constraints: Between 1 and the maximum number you're allowed for the specified instance type. For more information about the default limits, and how to request an increase, see How many instances can I run in Amazon EC2 in the Amazon EC2 General FAQ.

", "RunScheduledInstancesRequest$InstanceCount": "

The number of instances.

Default: 1

", @@ -16519,13 +16528,13 @@ "RequestSpotLaunchSpecificationSecurityGroupIdList": { "base": null, "refs": { - "RequestSpotLaunchSpecification$SecurityGroupIds": "

One or more security group IDs.

" + "RequestSpotLaunchSpecification$SecurityGroupIds": "

The IDs of the security groups.

" } }, "RequestSpotLaunchSpecificationSecurityGroupList": { "base": null, "refs": { - "RequestSpotLaunchSpecification$SecurityGroups": "

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

" + "RequestSpotLaunchSpecification$SecurityGroups": "

Not supported.

" } }, "Reservation": { @@ -17511,7 +17520,7 @@ "refs": { "ImportInstanceLaunchSpecification$GroupNames": "

The security group names.

", "RequestLaunchTemplateData$SecurityGroups": "

One or more security group names. For a nondefault VPC, you must use security group IDs instead. You cannot specify both a security group ID and security name in the same request.

", - "RunInstancesRequest$SecurityGroups": "

[EC2-Classic, default VPC] The names of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface.

Default: Amazon EC2 uses the default security group.

" + "RunInstancesRequest$SecurityGroups": "

[Default VPC] The names of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface.

Default: Amazon EC2 uses the default security group.

" } }, "SelfServicePortal": { @@ -17830,15 +17839,15 @@ "SpotInstanceRequestIdList": { "base": null, "refs": { - "CancelSpotInstanceRequestsRequest$SpotInstanceRequestIds": "

One or more Spot Instance request IDs.

", - "DescribeSpotInstanceRequestsRequest$SpotInstanceRequestIds": "

One or more Spot Instance request IDs.

" + "CancelSpotInstanceRequestsRequest$SpotInstanceRequestIds": "

The IDs of the Spot Instance requests.

", + "DescribeSpotInstanceRequestsRequest$SpotInstanceRequestIds": "

The IDs of the Spot Instance requests.

" } }, "SpotInstanceRequestList": { "base": null, "refs": { - "DescribeSpotInstanceRequestsResult$SpotInstanceRequests": "

One or more Spot Instance requests.

", - "RequestSpotInstancesResult$SpotInstanceRequests": "

One or more Spot Instance requests.

" + "DescribeSpotInstanceRequestsResult$SpotInstanceRequests": "

The Spot Instance requests.

", + "RequestSpotInstancesResult$SpotInstanceRequests": "

The Spot Instance requests.

" } }, "SpotInstanceState": { @@ -19091,14 +19100,14 @@ "Instance$InstanceId": "

The ID of the instance.

", "Instance$KernelId": "

The kernel associated with this instance, if applicable.

", "Instance$KeyName": "

The name of the key pair, if this instance was launched with an associated key pair.

", - "Instance$PrivateDnsName": "

(IPv4 only) The private DNS hostname name assigned to the instance. This DNS hostname can only be used inside the Amazon EC2 network. This name is not available until the instance enters the running state.

[EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private DNS hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not using the Amazon-provided DNS server in your VPC, your custom domain name servers must resolve the hostname as appropriate.

", + "Instance$PrivateDnsName": "

[IPv4 only] The private DNS hostname name assigned to the instance. This DNS hostname can only be used inside the Amazon EC2 network. This name is not available until the instance enters the running state.

The Amazon-provided DNS server resolves Amazon-provided private DNS hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not using the Amazon-provided DNS server in your VPC, your custom domain name servers must resolve the hostname as appropriate.

", "Instance$PrivateIpAddress": "

The private IPv4 address assigned to the instance.

", - "Instance$PublicDnsName": "

(IPv4 only) The public DNS name assigned to the instance. This name is not available until the instance enters the running state. For EC2-VPC, this name is only available if you've enabled DNS hostnames for your VPC.

", + "Instance$PublicDnsName": "

[IPv4 only] The public DNS name assigned to the instance. This name is not available until the instance enters the running state. This name is only available if you've enabled DNS hostnames for your VPC.

", "Instance$PublicIpAddress": "

The public IPv4 address, or the Carrier IP address assigned to the instance, if applicable.

A Carrier IP address only applies to an instance launched in a subnet associated with a Wavelength Zone.

", "Instance$RamdiskId": "

The RAM disk associated with this instance, if applicable.

", "Instance$StateTransitionReason": "

The reason for the most recent state transition. This might be an empty string.

", - "Instance$SubnetId": "

[EC2-VPC] The ID of the subnet in which the instance is running.

", - "Instance$VpcId": "

[EC2-VPC] The ID of the VPC in which the instance is running.

", + "Instance$SubnetId": "

The ID of the subnet in which the instance is running.

", + "Instance$VpcId": "

The ID of the VPC in which the instance is running.

", "Instance$ClientToken": "

The idempotency token you provided when you launched the instance, if applicable.

", "Instance$OutpostArn": "

The Amazon Resource Name (ARN) of the Outpost.

", "Instance$RootDeviceName": "

The device name of the root device volume (for example, /dev/sda1).

", @@ -19612,7 +19621,7 @@ "ReservedInstances$AvailabilityZone": "

The Availability Zone in which the Reserved Instance can be used.

", "ReservedInstances$ReservedInstancesId": "

The ID of the Reserved Instance.

", "ReservedInstancesConfiguration$AvailabilityZone": "

The Availability Zone for the modified Reserved Instances.

", - "ReservedInstancesConfiguration$Platform": "

The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

", + "ReservedInstancesConfiguration$Platform": "

The network platform of the modified Reserved Instances.

", "ReservedInstancesId$ReservedInstancesId": "

The ID of the Reserved Instance.

", "ReservedInstancesListing$ClientToken": "

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", "ReservedInstancesListing$ReservedInstancesId": "

The ID of the Reserved Instance.

", @@ -19679,7 +19688,7 @@ "RuleOption$Keyword": "

The Suricata keyword.

", "RunInstancesRequest$AdditionalInfo": "

Reserved.

", "RunInstancesRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you do not specify a client token, a randomly generated token is used for the request to ensure idempotency.

For more information, see Ensuring Idempotency.

Constraints: Maximum 64 ASCII characters

", - "RunInstancesRequest$PrivateIpAddress": "

[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.

Only one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.

You cannot specify this option and the network interfaces option in the same request.

", + "RunInstancesRequest$PrivateIpAddress": "

The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.

Only one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.

You cannot specify this option and the network interfaces option in the same request.

", "RunScheduledInstancesRequest$ClientToken": "

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", "S3ObjectTag$Key": "

The key of the tag.

Constraints: Tag keys are case-sensitive and can be up to 128 Unicode characters in length. May not begin with aws:.

", "S3ObjectTag$Value": "

The value of the tag.

Constraints: Tag values are case-sensitive and can be up to 256 Unicode characters in length.

", @@ -19690,13 +19699,13 @@ "ScheduledInstance$AvailabilityZone": "

The Availability Zone.

", "ScheduledInstance$HourlyPrice": "

The hourly price for a single instance.

", "ScheduledInstance$InstanceType": "

The instance type.

", - "ScheduledInstance$NetworkPlatform": "

The network platform (EC2-Classic or EC2-VPC).

", + "ScheduledInstance$NetworkPlatform": "

The network platform.

", "ScheduledInstance$Platform": "

The platform (Linux/UNIX or Windows).

", "ScheduledInstance$ScheduledInstanceId": "

The Scheduled Instance ID.

", "ScheduledInstanceAvailability$AvailabilityZone": "

The Availability Zone.

", "ScheduledInstanceAvailability$HourlyPrice": "

The hourly price for a single instance.

", "ScheduledInstanceAvailability$InstanceType": "

The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

", - "ScheduledInstanceAvailability$NetworkPlatform": "

The network platform (EC2-Classic or EC2-VPC).

", + "ScheduledInstanceAvailability$NetworkPlatform": "

The network platform.

", "ScheduledInstanceAvailability$Platform": "

The platform (Linux/UNIX or Windows).

", "ScheduledInstanceAvailability$PurchaseToken": "

The purchase token. This token expires in two hours.

", "ScheduledInstanceRecurrence$Frequency": "

The frequency (Daily, Weekly, or Monthly).

", @@ -20243,7 +20252,7 @@ "ModifySubnetAttributeRequest$SubnetId": "

The ID of the subnet.

", "ModifyVerifiedAccessEndpointSubnetIdList$member": null, "RequestSpotLaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instance.

", - "RunInstancesRequest$SubnetId": "

[EC2-VPC] The ID of the subnet to launch the instance into.

If you specify a network interface, you must specify any subnets as part of the network interface.

", + "RunInstancesRequest$SubnetId": "

The ID of the subnet to launch the instance into.

If you specify a network interface, you must specify any subnets as part of the network interface.

", "ScheduledInstancesLaunchSpecification$SubnetId": "

The ID of the subnet in which to launch the instances.

", "ScheduledInstancesNetworkInterface$SubnetId": "

The ID of the subnet.

", "SpotFleetLaunchSpecification$SubnetId": "

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, \"subnet-1234abcdeexample1, subnet-0987cdef6example2\".

", @@ -20328,6 +20337,18 @@ "InstanceStatusSummary$Status": "

The status.

" } }, + "SupportedAdditionalProcessorFeature": { + "base": null, + "refs": { + "SupportedAdditionalProcessorFeatureList$member": null + } + }, + "SupportedAdditionalProcessorFeatureList": { + "base": null, + "refs": { + "ProcessorInfo$SupportedFeatures": "

Indicates whether the instance type supports AMD SEV-SNP. If the request returns amd-sev-snp, AMD SEV-SNP is supported. Otherwise, it is not supported.

" + } + }, "SupportedIpAddressTypes": { "base": null, "refs": { @@ -20664,9 +20685,9 @@ "refs": { "CreateVpcRequest$InstanceTenancy": "

The tenancy options for instances launched into the VPC. For default, instances are launched with shared tenancy by default. You can launch instances with any tenancy into a shared tenancy VPC. For dedicated, instances are launched as dedicated tenancy instances by default. You can only launch instances with a tenancy of dedicated or host into a dedicated tenancy VPC.

Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

Default: default

", "DescribeReservedInstancesOfferingsRequest$InstanceTenancy": "

The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy of dedicated is applied to instances that run in a VPC on single-tenant hardware (i.e., Dedicated Instances).

Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

Default: default

", - "LaunchTemplatePlacement$Tenancy": "

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware.

", - "LaunchTemplatePlacementRequest$Tenancy": "

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware.

", - "Placement$Tenancy": "

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware.

This parameter is not supported for CreateFleet. The host tenancy is not supported for ImportInstance or for T3 instances that are configured for the unlimited CPU credit option.

", + "LaunchTemplatePlacement$Tenancy": "

The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware.

", + "LaunchTemplatePlacementRequest$Tenancy": "

The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware.

", + "Placement$Tenancy": "

The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware.

This parameter is not supported for CreateFleet. The host tenancy is not supported for ImportInstance or for T3 instances that are configured for the unlimited CPU credit option.

", "ReservedInstances$InstanceTenancy": "

The tenancy of the instance.

", "ReservedInstancesOffering$InstanceTenancy": "

The tenancy of the instance.

", "SpotPlacement$Tenancy": "

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for Spot Instances.

", diff --git a/models/apis/emr-containers/2020-10-01/api-2.json b/models/apis/emr-containers/2020-10-01/api-2.json index a58279585f5..4ccbe2c2523 100644 --- a/models/apis/emr-containers/2020-10-01/api-2.json +++ b/models/apis/emr-containers/2020-10-01/api-2.json @@ -162,6 +162,21 @@ {"shape":"InternalServerException"} ] }, + "GetManagedEndpointSessionCredentials":{ + "name":"GetManagedEndpointSessionCredentials", + "http":{ + "method":"POST", + "requestUri":"/virtualclusters/{virtualClusterId}/endpoints/{endpointId}/credentials" + }, + "input":{"shape":"GetManagedEndpointSessionCredentialsRequest"}, + "output":{"shape":"GetManagedEndpointSessionCredentialsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"RequestThrottledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, "ListJobRuns":{ "name":"ListJobRuns", "http":{ @@ -474,6 +489,19 @@ "arn":{"shape":"VirtualClusterArn"} } }, + "CredentialType":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^.*\\S.*$" + }, + "Credentials":{ + "type":"structure", + "members":{ + "token":{"shape":"Token"} + }, + "union":true + }, "Date":{ "type":"timestamp", "timestampFormat":"iso8601" @@ -718,6 +746,43 @@ "CLUSTER_UNAVAILABLE" ] }, + "GetManagedEndpointSessionCredentialsRequest":{ + "type":"structure", + "required":[ + "executionRoleArn", + "credentialType", + "endpointIdentifier", + "virtualClusterIdentifier" + ], + "members":{ + "endpointIdentifier":{ + "shape":"String2048", + "location":"uri", + "locationName":"endpointId" + }, + "virtualClusterIdentifier":{ + "shape":"String2048", + "location":"uri", + "locationName":"virtualClusterId" + }, + "executionRoleArn":{"shape":"IAMRoleArn"}, + "credentialType":{"shape":"CredentialType"}, + "durationInSeconds":{"shape":"JavaInteger"}, + "logContext":{"shape":"LogContext"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "GetManagedEndpointSessionCredentialsResponse":{ + "type":"structure", + "members":{ + "id":{"shape":"ResourceIdString"}, + "credentials":{"shape":"Credentials"}, + "expiresAt":{"shape":"Date"} + } + }, "IAMRoleArn":{ "type":"string", "max":2048, @@ -1035,6 +1100,12 @@ "nextToken":{"shape":"NextToken"} } }, + "LogContext":{ + "type":"string", + "max":63, + "min":3, + "pattern":"^((?!.*-s3alias)(?!xn--.*)[a-z0-9][-a-z0-9.]*)?[a-z0-9]$" + }, "LogGroupName":{ "type":"string", "max":512, @@ -1114,6 +1185,14 @@ "min":20, "pattern":"^arn:(aws[a-zA-Z0-9-]*):(iam|sts)::(\\d{12})?:[\\w/+=,.@-]+$" }, + "RequestThrottledException":{ + "type":"structure", + "members":{ + "message":{"shape":"String1024"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "ResourceIdString":{ "type":"string", "max":64, @@ -1339,6 +1418,12 @@ "min":1, "pattern":"[\\.\\-_\\#A-Za-z0-9]+" }, + "Token":{ + "type":"string", + "min":1, + "pattern":"^.*\\S.*$", + "sensitive":true + }, "UntagResourceRequest":{ "type":"structure", "required":[ diff --git a/models/apis/emr-containers/2020-10-01/docs-2.json b/models/apis/emr-containers/2020-10-01/docs-2.json index d65801d4704..98bdf7c63da 100644 --- a/models/apis/emr-containers/2020-10-01/docs-2.json +++ b/models/apis/emr-containers/2020-10-01/docs-2.json @@ -13,6 +13,7 @@ "DescribeJobTemplate": "

Displays detailed information about a specified job template. Job template stores values of StartJobRun API request in a template and can be used to start a job run. Job template allows two use cases: avoid repeating recurring StartJobRun API request values, enforcing certain values in StartJobRun API request.

", "DescribeManagedEndpoint": "

Displays detailed information about a managed endpoint. A managed endpoint is a gateway that connects Amazon EMR Studio to Amazon EMR on EKS so that Amazon EMR Studio can communicate with your virtual cluster.

", "DescribeVirtualCluster": "

Displays detailed information about a specified virtual cluster. Virtual cluster is a managed entity on Amazon EMR on EKS. You can create, describe, list and delete virtual clusters. They do not consume any additional resource in your system. A single virtual cluster maps to a single Kubernetes namespace. Given this relationship, you can model virtual clusters the same way you model Kubernetes namespaces to meet your requirements.

", + "GetManagedEndpointSessionCredentials": "

Generate a session token to connect to a managed endpoint.

", "ListJobRuns": "

Lists job runs based on a set of parameters. A job run is a unit of work, such as a Spark jar, PySpark script, or SparkSQL query, that you submit to Amazon EMR on EKS.

", "ListJobTemplates": "

Lists job templates based on a set of parameters. Job template stores values of StartJobRun API request in a template and can be used to start a job run. Job template allows two use cases: avoid repeating recurring StartJobRun API request values, enforcing certain values in StartJobRun API request.

", "ListManagedEndpoints": "

Lists managed endpoints based on a set of parameters. A managed endpoint is a gateway that connects Amazon EMR Studio to Amazon EMR on EKS so that Amazon EMR Studio can communicate with your virtual cluster.

", @@ -59,6 +60,7 @@ "CreateJobTemplateRequest$clientToken": "

The client token of the job template.

", "CreateManagedEndpointRequest$clientToken": "

The client idempotency token for this create call.

", "CreateVirtualClusterRequest$clientToken": "

The client token of the virtual cluster.

", + "GetManagedEndpointSessionCredentialsRequest$clientToken": "

The client idempotency token of the job run request.

", "JobRun$clientToken": "

The client token used to start a job run.

", "StartJobRunRequest$clientToken": "

The client idempotency token of the job run request.

" } @@ -148,11 +150,24 @@ "refs": { } }, + "CredentialType": { + "base": null, + "refs": { + "GetManagedEndpointSessionCredentialsRequest$credentialType": "

Type of the token requested. Currently supported and default value of this field is “TOKEN.”

" + } + }, + "Credentials": { + "base": "

The structure containing the session token being returned.

", + "refs": { + "GetManagedEndpointSessionCredentialsResponse$credentials": "

The structure containing the session credentials.

" + } + }, "Date": { "base": null, "refs": { "CreateJobTemplateResponse$createdAt": "

This output displays the date and time when the job template was created.

", "Endpoint$createdAt": "

The date and time when the endpoint was created.

", + "GetManagedEndpointSessionCredentialsResponse$expiresAt": "

The date and time when the session token will expire.

", "JobRun$createdAt": "

The date and time when the job run was created.

", "JobRun$finishedAt": "

The date and time when the job run has finished.

", "JobTemplate$createdAt": "

The date and time when the job template was created.

", @@ -316,11 +331,22 @@ "JobRun$failureReason": "

The reasons why the job run has failed.

" } }, + "GetManagedEndpointSessionCredentialsRequest": { + "base": null, + "refs": { + } + }, + "GetManagedEndpointSessionCredentialsResponse": { + "base": null, + "refs": { + } + }, "IAMRoleArn": { "base": null, "refs": { "CreateManagedEndpointRequest$executionRoleArn": "

The ARN of the execution role.

", "Endpoint$executionRoleArn": "

The execution role ARN of the endpoint.

", + "GetManagedEndpointSessionCredentialsRequest$executionRoleArn": "

The IAM Execution Role ARN that will be used by the job run.

", "JobRun$executionRoleArn": "

The execution role ARN of the job run.

", "StartJobRunRequest$executionRoleArn": "

The execution role ARN for the job run.

" } @@ -333,6 +359,7 @@ "JavaInteger": { "base": null, "refs": { + "GetManagedEndpointSessionCredentialsRequest$durationInSeconds": "

Duration in seconds for which the session token is valid. The default duration is 15 minutes and the maximum is 12 hours.

", "ListJobRunsRequest$maxResults": "

The maximum number of job runs that can be listed.

", "ListJobTemplatesRequest$maxResults": "

The maximum number of job templates that can be listed.

", "ListManagedEndpointsRequest$maxResults": "

The maximum number of managed endpoints that can be listed.

", @@ -472,6 +499,12 @@ "refs": { } }, + "LogContext": { + "base": null, + "refs": { + "GetManagedEndpointSessionCredentialsRequest$logContext": "

String identifier used to separate sections of the execution logs uploaded to S3.

" + } + }, "LogGroupName": { "base": null, "refs": { @@ -555,6 +588,11 @@ "JobTemplate$createdBy": "

The user who created the job template.

" } }, + "RequestThrottledException": { + "base": "

The request throttled.

", + "refs": { + } + }, "ResourceIdString": { "base": null, "refs": { @@ -583,6 +621,7 @@ "DescribeVirtualClusterRequest$id": "

The ID of the virtual cluster that will be described.

", "Endpoint$id": "

The ID of the endpoint.

", "Endpoint$virtualClusterId": "

The ID of the endpoint's virtual cluster.

", + "GetManagedEndpointSessionCredentialsResponse$id": "

The identifier of the session token returned.

", "JobRun$id": "

The ID of the job run.

", "JobRun$virtualClusterId": "

The ID of the job run's virtual cluster.

", "JobTemplate$id": "

The ID of the job template.

", @@ -691,6 +730,7 @@ "Configuration$classification": "

The classification within a configuration.

", "InternalServerException$message": null, "ListVirtualClustersRequest$containerProviderId": "

The container provider ID of the virtual cluster.

", + "RequestThrottledException$message": null, "ResourceNotFoundException$message": null, "SensitivePropertiesMap$key": null, "SensitivePropertiesMap$value": null, @@ -709,6 +749,8 @@ "String2048": { "base": null, "refs": { + "GetManagedEndpointSessionCredentialsRequest$endpointIdentifier": "

The ARN of the managed endpoint for which the request is submitted.

", + "GetManagedEndpointSessionCredentialsRequest$virtualClusterIdentifier": "

The ARN of the Virtual Cluster which the Managed Endpoint belongs to.

", "JobTemplate$decryptionError": "

The error message in case the decryption of job template fails.

" } }, @@ -805,6 +847,12 @@ "TemplateParameterInputMap$key": null } }, + "Token": { + "base": null, + "refs": { + "Credentials$token": "

The actual session token being returned.

" + } + }, "UntagResourceRequest": { "base": null, "refs": { diff --git a/models/apis/emr-containers/2020-10-01/endpoint-rule-set-1.json b/models/apis/emr-containers/2020-10-01/endpoint-rule-set-1.json index 1b4beacf4af..0e8ad5021dd 100644 --- a/models/apis/emr-containers/2020-10-01/endpoint-rule-set-1.json +++ b/models/apis/emr-containers/2020-10-01/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,154 +111,215 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://emr-containers-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://emr-containers-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://emr-containers-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://emr-containers-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ] - }, - { - "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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://emr-containers.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -286,7 +327,7 @@ { "conditions": [], "endpoint": { - "url": "https://emr-containers.{Region}.{PartitionResult#dualStackDnsSuffix}", + "url": "https://emr-containers.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -295,28 +336,13 @@ ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://emr-containers.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/models/apis/emr-containers/2020-10-01/endpoint-tests-1.json b/models/apis/emr-containers/2020-10-01/endpoint-tests-1.json index b8be89802cc..a2542059e07 100644 --- a/models/apis/emr-containers/2020-10-01/endpoint-tests-1.json +++ b/models/apis/emr-containers/2020-10-01/endpoint-tests-1.json @@ -9,8 +9,8 @@ }, "params": { "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -22,8 +22,8 @@ }, "params": { "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -35,8 +35,8 @@ }, "params": { "Region": "ap-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -48,8 +48,8 @@ }, "params": { "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -100,8 +100,8 @@ }, "params": { "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -113,8 +113,8 @@ }, "params": { "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -126,8 +126,8 @@ }, "params": { "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -139,8 +139,8 @@ }, "params": { "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -152,8 +152,8 @@ }, "params": { "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -165,8 +165,8 @@ }, "params": { "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -178,8 +178,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -191,8 +191,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -204,8 +204,8 @@ }, "params": { "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -217,8 +217,8 @@ }, "params": { "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -230,8 +230,8 @@ }, "params": { "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -243,8 +243,8 @@ }, "params": { "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -256,8 +256,8 @@ }, "params": { "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -269,8 +269,8 @@ }, "params": { "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -282,8 +282,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -295,8 +295,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -308,8 +308,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -321,8 +321,8 @@ }, "params": { "Region": "cn-northwest-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -334,8 +334,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -347,8 +347,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -360,8 +360,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -373,8 +373,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -386,8 +386,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -399,8 +399,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -412,8 +412,19 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "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 } }, { @@ -425,8 +436,19 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "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 } }, { @@ -438,8 +460,19 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "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 } }, { @@ -451,8 +484,19 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "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 } }, { @@ -464,12 +508,12 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -477,8 +521,21 @@ }, "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" } }, @@ -489,8 +546,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -501,10 +558,16 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/apis/guardduty/2017-11-28/api-2.json b/models/apis/guardduty/2017-11-28/api-2.json index ef8418d7ddf..deb1e6a3964 100644 --- a/models/apis/guardduty/2017-11-28/api-2.json +++ b/models/apis/guardduty/2017-11-28/api-2.json @@ -760,6 +760,21 @@ {"shape":"InternalServerErrorException"} ] }, + "StartMalwareScan":{ + "name":"StartMalwareScan", + "http":{ + "method":"POST", + "requestUri":"/malware-scan/start", + "responseCode":200 + }, + "input":{"shape":"StartMalwareScanRequest"}, + "output":{"shape":"StartMalwareScanResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerErrorException"} + ] + }, "StartMonitoringMembers":{ "name":"StartMonitoringMembers", "http":{ @@ -1440,6 +1455,21 @@ } } }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"String", + "locationName":"message" + }, + "Type":{ + "shape":"String", + "locationName":"__type" + } + }, + "error":{"httpStatusCode":409}, + "exception":true + }, "Container":{ "type":"structure", "members":{ @@ -1985,7 +2015,8 @@ "ACCOUNT_ID", "GUARDDUTY_FINDING_ID", "SCAN_START_TIME", - "SCAN_STATUS" + "SCAN_STATUS", + "SCAN_TYPE" ] }, "DNSLogsConfigurationResult":{ @@ -2778,6 +2809,10 @@ "ScanDetections":{ "shape":"ScanDetections", "locationName":"scanDetections" + }, + "ScanType":{ + "shape":"ScanType", + "locationName":"scanType" } } }, @@ -5593,6 +5628,10 @@ } } }, + "ResourceArn":{ + "type":"string", + "pattern":"^arn:[A-Za-z-]+:[A-Za-z0-9]+:[A-Za-z0-9-]+:\\d+:(([A-Za-z0-9-]+)[:\\/])?[A-Za-z0-9-]*$" + }, "ResourceDetails":{ "type":"structure", "members":{ @@ -5827,6 +5866,10 @@ "AttachedVolumes":{ "shape":"VolumeDetails", "locationName":"attachedVolumes" + }, + "ScanType":{ + "shape":"ScanType", + "locationName":"scanType" } } }, @@ -5957,7 +6000,8 @@ "enum":[ "RUNNING", "COMPLETED", - "FAILED" + "FAILED", + "SKIPPED" ] }, "ScanThreatName":{ @@ -5985,6 +6029,13 @@ "type":"list", "member":{"shape":"ScanThreatName"} }, + "ScanType":{ + "type":"string", + "enum":[ + "GUARDDUTY_INITIATED", + "ON_DEMAND" + ] + }, "ScannedItemCount":{ "type":"structure", "members":{ @@ -6127,6 +6178,25 @@ "type":"list", "member":{"shape":"String"} }, + "StartMalwareScanRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "locationName":"resourceArn" + } + } + }, + "StartMalwareScanResponse":{ + "type":"structure", + "members":{ + "ScanId":{ + "shape":"NonEmptyString", + "locationName":"scanId" + } + } + }, "StartMonitoringMembersRequest":{ "type":"structure", "required":[ diff --git a/models/apis/guardduty/2017-11-28/docs-2.json b/models/apis/guardduty/2017-11-28/docs-2.json index decc1710450..e34ae800340 100644 --- a/models/apis/guardduty/2017-11-28/docs-2.json +++ b/models/apis/guardduty/2017-11-28/docs-2.json @@ -55,6 +55,7 @@ "ListPublishingDestinations": "

Returns a list of publishing destinations associated with the specified detectorId.

", "ListTagsForResource": "

Lists tags for a resource. Tagging is currently supported for detectors, finding filters, IP sets, and threat intel sets, with a limit of 50 tags per resource. When invoked, this operation returns all assigned tags for a given resource.

", "ListThreatIntelSets": "

Lists the ThreatIntelSets of the GuardDuty service specified by the detector ID. If you use this operation from a member account, the ThreatIntelSets associated with the administrator account are returned.

", + "StartMalwareScan": "

Initiates the malware scan. Invoking this API will automatically create the Service-linked role in the corresponding account.

", "StartMonitoringMembers": "

Turns on GuardDuty monitoring of the specified member accounts. Use this operation to restart monitoring of accounts that you stopped monitoring with the StopMonitoringMembers operation.

", "StopMonitoringMembers": "

Stops GuardDuty monitoring for the specified member accounts. Use the StartMonitoringMembers operation to restart monitoring for those accounts.

With autoEnableOrganizationMembers configuration for your organization set to ALL, you'll receive an error if you attempt to stop monitoring the member accounts in your organization.

", "TagResource": "

Adds tags to a resource.

", @@ -323,6 +324,11 @@ "Criterion$value": null } }, + "ConflictException": { + "base": "

A request conflict exception object.

", + "refs": { + } + }, "Container": { "base": "

Details of a container.

", "refs": { @@ -1930,6 +1936,7 @@ "FilterCondition$EqualsValue": "

Represents an equal condition to be applied to a single field when querying for scan entries.

", "Scan$ScanId": "

The unique scan ID associated with a scan entry.

", "Scan$FailureReason": "

Represents the reason for FAILED scan status.

", + "StartMalwareScanResponse$ScanId": "

A unique identifier that gets generated when you invoke the API without any error. Each malware scan has a corresponding scan ID. Using this scan ID, you can monitor the status of your malware scan.

", "TriggerDetails$GuardDutyFindingId": "

The ID of the GuardDuty finding that triggered the malware scan.

", "TriggerDetails$Description": "

The description of the scan trigger.

" } @@ -2241,6 +2248,12 @@ "Finding$Resource": null } }, + "ResourceArn": { + "base": null, + "refs": { + "StartMalwareScanRequest$ResourceArn": "

Amazon Resource Name (ARN) of the resource for which you invoked the API.

" + } + }, "ResourceDetails": { "base": "

Represents the resources that were scanned in the scan entry.

", "refs": { @@ -2388,6 +2401,13 @@ "ThreatDetectedByName$ThreatNames": "

List of identified threats with details, organized by threat name.

" } }, + "ScanType": { + "base": null, + "refs": { + "EbsVolumeScanDetails$ScanType": "

Specifies the scan type that invoked the malware scan.

", + "Scan$ScanType": "

Specifies the scan type that invoked the malware scan.

" + } + }, "ScannedItemCount": { "base": "

Total number of scanned files.

", "refs": { @@ -2451,6 +2471,16 @@ "EbsVolumeScanDetails$Sources": "

Contains list of threat intelligence sources used to detect threats.

" } }, + "StartMalwareScanRequest": { + "base": null, + "refs": { + } + }, + "StartMalwareScanResponse": { + "base": null, + "refs": { + } + }, "StartMonitoringMembersRequest": { "base": null, "refs": { @@ -2500,6 +2530,8 @@ "BadRequestException$Message": "

The error message.

", "BadRequestException$Type": "

The error type.

", "City$CityName": "

The city name of the remote IP address.

", + "ConflictException$Message": "

The error message.

", + "ConflictException$Type": "

The error type.

", "Container$ContainerRuntime": "

The container runtime (such as, Docker or containerd) used to run the container.

", "Container$Id": "

Container ID.

", "Container$Name": "

Container name.

", diff --git a/models/apis/iotdeviceadvisor/2020-09-18/api-2.json b/models/apis/iotdeviceadvisor/2020-09-18/api-2.json index f27bce39667..dec2836754c 100644 --- a/models/apis/iotdeviceadvisor/2020-09-18/api-2.json +++ b/models/apis/iotdeviceadvisor/2020-09-18/api-2.json @@ -211,6 +211,13 @@ "max":2048, "min":20 }, + "AuthenticationMethod":{ + "type":"string", + "enum":[ + "X509ClientCertificate", + "SignatureVersion4" + ] + }, "ConflictException":{ "type":"structure", "members":{ @@ -256,7 +263,8 @@ "type":"structure", "members":{ "thingArn":{"shape":"AmazonResourceName"}, - "certificateArn":{"shape":"AmazonResourceName"} + "certificateArn":{"shape":"AmazonResourceName"}, + "deviceRoleArn":{"shape":"AmazonResourceName"} } }, "DeviceUnderTestList":{ @@ -284,6 +292,16 @@ "shape":"AmazonResourceName", "location":"querystring", "locationName":"certificateArn" + }, + "deviceRoleArn":{ + "shape":"AmazonResourceName", + "location":"querystring", + "locationName":"deviceRoleArn" + }, + "authenticationMethod":{ + "shape":"AuthenticationMethod", + "location":"querystring", + "locationName":"authenticationMethod" } } }, @@ -493,7 +511,9 @@ "type":"string", "enum":[ "MqttV3_1_1", - "MqttV5" + "MqttV5", + "MqttV3_1_1_OverWebSocket", + "MqttV5_OverWebSocket" ] }, "QualificationReportDownloadUrl":{"type":"string"}, diff --git a/models/apis/iotdeviceadvisor/2020-09-18/docs-2.json b/models/apis/iotdeviceadvisor/2020-09-18/docs-2.json index 6e9680f4788..9d3a98afa59 100644 --- a/models/apis/iotdeviceadvisor/2020-09-18/docs-2.json +++ b/models/apis/iotdeviceadvisor/2020-09-18/docs-2.json @@ -22,10 +22,12 @@ "base": null, "refs": { "CreateSuiteDefinitionResponse$suiteDefinitionArn": "

The Amazon Resource Name (ARN) of the test suite.

", - "DeviceUnderTest$thingArn": "

Lists devices thing ARN.

", - "DeviceUnderTest$certificateArn": "

Lists devices certificate ARN.

", + "DeviceUnderTest$thingArn": "

Lists device's thing ARN.

", + "DeviceUnderTest$certificateArn": "

Lists device's certificate ARN.

", + "DeviceUnderTest$deviceRoleArn": "

Lists device's role ARN.

", "GetEndpointRequest$thingArn": "

The thing ARN of the device. This is an optional parameter.

", "GetEndpointRequest$certificateArn": "

The certificate ARN of the device. This is an optional parameter.

", + "GetEndpointRequest$deviceRoleArn": "

The device role ARN of the device. This is an optional parameter.

", "GetSuiteDefinitionResponse$suiteDefinitionArn": "

The ARN of the suite definition.

", "GetSuiteRunResponse$suiteRunArn": "

The ARN of the suite run.

", "ListTagsForResourceRequest$resourceArn": "

The resource ARN of the IoT Device Advisor resource. This can be SuiteDefinition ARN or SuiteRun ARN.

", @@ -36,6 +38,12 @@ "UpdateSuiteDefinitionResponse$suiteDefinitionArn": "

Amazon Resource Name (ARN) of the updated test suite.

" } }, + "AuthenticationMethod": { + "base": null, + "refs": { + "GetEndpointRequest$authenticationMethod": "

The authentication method used during the device connection.

" + } + }, "ConflictException": { "base": "

Sends a Conflict Exception.

", "refs": { @@ -62,7 +70,7 @@ } }, "DeviceUnderTest": { - "base": "

Information of a test device. A thing ARN or a certificate ARN is required.

", + "base": "

Information of a test device. A thing ARN, certificate ARN or device role ARN is required.

", "refs": { "DeviceUnderTestList$member": null, "SuiteRunConfiguration$primaryDevice": "

Sets the primary device for the test suite run. This requires a thing ARN or a certificate ARN.

" diff --git a/models/apis/iotdeviceadvisor/2020-09-18/endpoint-rule-set-1.json b/models/apis/iotdeviceadvisor/2020-09-18/endpoint-rule-set-1.json index aa90cd2e16f..5b43c2d1475 100644 --- a/models/apis/iotdeviceadvisor/2020-09-18/endpoint-rule-set-1.json +++ b/models/apis/iotdeviceadvisor/2020-09-18/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,90 +111,215 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] }, - "supportsFIPS" + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://api.iotdeviceadvisor-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://api.iotdeviceadvisor-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://api.iotdeviceadvisor-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsFIPS" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://api.iotdeviceadvisor.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -222,7 +327,7 @@ { "conditions": [], "endpoint": { - "url": "https://api.iotdeviceadvisor-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://api.iotdeviceadvisor.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -231,74 +336,13 @@ ] } ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://api.iotdeviceadvisor.{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.iotdeviceadvisor.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/models/apis/iotdeviceadvisor/2020-09-18/endpoint-tests-1.json b/models/apis/iotdeviceadvisor/2020-09-18/endpoint-tests-1.json index 9b217113ce2..83fb770ba5a 100644 --- a/models/apis/iotdeviceadvisor/2020-09-18/endpoint-tests-1.json +++ b/models/apis/iotdeviceadvisor/2020-09-18/endpoint-tests-1.json @@ -1,42 +1,42 @@ { "testCases": [ { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.iotdeviceadvisor-fips.us-west-2.api.aws" + "url": "https://api.iotdeviceadvisor.ap-northeast-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.iotdeviceadvisor-fips.us-west-2.amazonaws.com" + "url": "https://api.iotdeviceadvisor.eu-west-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "us-west-2", + "Region": "eu-west-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.iotdeviceadvisor.us-west-2.api.aws" + "url": "https://api.iotdeviceadvisor.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": true + "UseDualStack": false } }, { @@ -47,177 +47,273 @@ } }, "params": { - "UseFIPS": false, "Region": "us-west-2", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.iotdeviceadvisor-fips.eu-west-1.api.aws" + "url": "https://api.iotdeviceadvisor-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "Region": "eu-west-1", "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.iotdeviceadvisor-fips.eu-west-1.amazonaws.com" + "url": "https://api.iotdeviceadvisor-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "Region": "eu-west-1", "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.iotdeviceadvisor.eu-west-1.api.aws" + "url": "https://api.iotdeviceadvisor.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "Region": "eu-west-1", "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.iotdeviceadvisor.eu-west-1.amazonaws.com" + "url": "https://api.iotdeviceadvisor-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.iotdeviceadvisor-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.iotdeviceadvisor.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://api.iotdeviceadvisor.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", "UseFIPS": false, - "Region": "eu-west-1", "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.iotdeviceadvisor-fips.ap-northeast-1.api.aws" + "url": "https://api.iotdeviceadvisor-fips.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "ap-northeast-1", "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.iotdeviceadvisor-fips.ap-northeast-1.amazonaws.com" + "url": "https://api.iotdeviceadvisor-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "ap-northeast-1", "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.iotdeviceadvisor.ap-northeast-1.api.aws" + "url": "https://api.iotdeviceadvisor.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "ap-northeast-1", "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.iotdeviceadvisor.ap-northeast-1.amazonaws.com" + "url": "https://api.iotdeviceadvisor.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "ap-northeast-1", "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "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.iotdeviceadvisor-fips.us-east-1.api.aws" + "url": "https://api.iotdeviceadvisor-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-east-1", + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.iotdeviceadvisor-fips.us-east-1.amazonaws.com" + "url": "https://api.iotdeviceadvisor.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseFIPS": true, - "Region": "us-east-1", + "Region": "us-iso-east-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "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.iotdeviceadvisor.us-east-1.api.aws" + "url": "https://api.iotdeviceadvisor-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, - "Region": "us-east-1", "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.iotdeviceadvisor.us-east-1.amazonaws.com" + "url": "https://api.iotdeviceadvisor.us-isob-east-1.sc2s.sgov.gov" } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseFIPS": false, "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" } @@ -228,8 +324,8 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -240,11 +336,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/apis/kafka/2018-11-14/api-2.json b/models/apis/kafka/2018-11-14/api-2.json index cde4a80f9d1..ad95ac9d028 100644 --- a/models/apis/kafka/2018-11-14/api-2.json +++ b/models/apis/kafka/2018-11-14/api-2.json @@ -152,6 +152,43 @@ } ] }, + "CreateVpcConnection": { + "name": "CreateVpcConnection", + "http": { + "method": "POST", + "requestUri": "/v1/vpc-connection", + "responseCode": 200 + }, + "input": { + "shape": "CreateVpcConnectionRequest" + }, + "output": { + "shape": "CreateVpcConnectionResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + }, + { + "shape": "ConflictException" + } + ] + }, "DeleteCluster": { "name": "DeleteCluster", "http": { @@ -208,6 +245,34 @@ } ] }, + "DeleteVpcConnection": { + "name": "DeleteVpcConnection", + "http": { + "method": "DELETE", + "requestUri": "/v1/vpc-connection/{arn}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteVpcConnectionRequest" + }, + "output": { + "shape": "DeleteVpcConnectionResponse" + }, + "errors": [ + { + "shape": "NotFoundException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, "DescribeCluster": { "name": "DescribeCluster", "http": { @@ -369,6 +434,40 @@ } ] }, + "DescribeVpcConnection": { + "name": "DescribeVpcConnection", + "http": { + "method": "GET", + "requestUri": "/v1/vpc-connection/{arn}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeVpcConnectionRequest" + }, + "output": { + "shape": "DescribeVpcConnectionResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + } + ] + }, "BatchDisassociateScramSecret" : { "name" : "BatchDisassociateScramSecret", "http" : { @@ -442,28 +541,28 @@ "output" : { "shape" : "GetCompatibleKafkaVersionsResponse" }, - "errors" : [ + "errors" : [ { "shape" : "BadRequestException" - }, + }, { "shape" : "UnauthorizedException" - }, + }, { "shape" : "InternalServerErrorException" - }, + }, { "shape" : "ForbiddenException" - }, + }, { "shape" : "NotFoundException" - }, + }, { "shape" : "ServiceUnavailableException" - }, + }, { "shape" : "TooManyRequestsException" - } + } ] }, "ListClusterOperations": { @@ -725,6 +824,192 @@ } ] }, + "ListClientVpcConnections": { + "name": "ListClientVpcConnections", + "http": { + "method": "GET", + "requestUri": "/v1/clusters/{clusterArn}/client-vpc-connections", + "responseCode": 200 + }, + "input": { + "shape": "ListClientVpcConnectionsRequest" + }, + "output": { + "shape": "ListClientVpcConnectionsResponse" + }, + "errors": [ + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, + "ListVpcConnections": { + "name": "ListVpcConnections", + "http": { + "method": "GET", + "requestUri": "/v1/vpc-connections", + "responseCode": 200 + }, + "input": { + "shape": "ListVpcConnectionsRequest" + }, + "output": { + "shape": "ListVpcConnectionsResponse" + }, + "errors": [ + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, + "RejectClientVpcConnection": { + "name": "RejectClientVpcConnection", + "http": { + "method": "PUT", + "requestUri": "/v1/clusters/{clusterArn}/client-vpc-connection", + "responseCode": 200 + }, + "input": { + "shape": "RejectClientVpcConnectionRequest" + }, + "output": { + "shape": "RejectClientVpcConnectionResponse" + }, + "errors": [ + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, + "DeleteClusterPolicy": { + "name": "DeleteClusterPolicy", + "http": { + "method": "DELETE", + "requestUri": "/v1/clusters/{clusterArn}/policy", + "responseCode": 200 + }, + "input": { + "shape": "DeleteClusterPolicyRequest" + }, + "output": { + "shape": "DeleteClusterPolicyResponse" + }, + "errors": [ + { + "shape": "NotFoundException" + }, + { + "shape": "BadRequestException" + }, + { + "shape" : "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, + "GetClusterPolicy": { + "name": "GetClusterPolicy", + "http": { + "method": "GET", + "requestUri": "/v1/clusters/{clusterArn}/policy", + "responseCode": 200 + }, + "input": { + "shape": "GetClusterPolicyRequest" + }, + "output": { + "shape": "GetClusterPolicyResponse" + }, + "errors": [ + { + "shape": "NotFoundException" + }, + { + "shape": "BadRequestException" + }, + { + "shape" : "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, + "PutClusterPolicy": { + "name": "PutClusterPolicy", + "http": { + "method": "PUT", + "requestUri": "/v1/clusters/{clusterArn}/policy", + "responseCode": 200 + }, + "input": { + "shape": "PutClusterPolicyRequest" + }, + "output": { + "shape": "PutClusterPolicyResponse" + }, + "errors": [ + { + "shape": "NotFoundException" + }, + { + "shape": "BadRequestException" + }, + { + "shape" : "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, "RebootBroker": { "name": "RebootBroker", "http": { @@ -740,7 +1025,7 @@ }, "errors": [ { - "shape": "BadRequestException" + "shape": "BadRequestException" }, { "shape": "UnauthorizedException" @@ -758,7 +1043,7 @@ "shape": "ServiceUnavailableException" }, { - "shape": "TooManyRequestsException" + "shape": "TooManyRequestsException" } ] }, @@ -983,28 +1268,28 @@ "output" : { "shape" : "UpdateClusterKafkaVersionResponse" }, - "errors" : [ + "errors" : [ { "shape" : "BadRequestException" - }, + }, { "shape" : "UnauthorizedException" - }, + }, { "shape" : "InternalServerErrorException" - }, + }, { "shape" : "ForbiddenException" - }, + }, { "shape" : "NotFoundException" - }, + }, { "shape" : "ServiceUnavailableException" - }, + }, { "shape" : "TooManyRequestsException" - } + } ] }, "UpdateConnectivity":{ @@ -1243,6 +1528,10 @@ "ConnectivityInfo":{ "shape":"ConnectivityInfo", "locationName":"connectivityInfo" + }, + "ZoneIds": { + "shape": "__listOf__string", + "locationName": "zoneIds" } }, "required": [ @@ -1313,6 +1602,19 @@ } } }, + "VpcConnectivityClientAuthentication" : { + "type" : "structure", + "members" : { + "Sasl" : { + "shape" : "VpcConnectivitySasl", + "locationName" : "sasl" + }, + "Tls" : { + "shape" : "VpcConnectivityTls", + "locationName" : "tls" + } + } + }, "ClientBroker": { "type": "string", "enum": [ @@ -1462,6 +1764,10 @@ "TargetClusterInfo": { "shape": "MutableClusterInfo", "locationName": "targetClusterInfo" + }, + "VpcConnectionInfo": { + "shape": "VpcConnectionInfo", + "locationName": "vpcConnectionInfo" } } }, @@ -1500,6 +1806,67 @@ "UPDATING" ] }, + "ClientVpcConnection": { + "type": "structure", + "members": { + "Authentication": { + "shape": "__string", + "locationName": "authentication" + }, + "CreationTime": { + "shape": "__timestampIso8601", + "locationName": "creationTime" + }, + "State": { + "shape": "VpcConnectionState", + "locationName": "state" + }, + "VpcConnectionArn": { + "shape": "__string", + "locationName": "vpcConnectionArn" + }, + "Owner": { + "shape": "__string", + "locationName": "owner" + } + }, + "required": [ + "VpcConnectionArn" + ] + }, + "VpcConnection": { + "type": "structure", + "members": { + "VpcConnectionArn": { + "shape": "__string", + "locationName": "vpcConnectionArn" + }, + "TargetClusterArn": { + "shape": "__string", + "locationName": "targetClusterArn" + }, + "CreationTime": { + "shape": "__timestampIso8601", + "locationName": "creationTime" + }, + "Authentication": { + "shape": "__string", + "locationName": "authentication" + }, + "VpcId": { + "shape": "__string", + "locationName": "vpcId" + }, + "State": { + "shape": "VpcConnectionState", + "locationName": "state" + } + }, + "required": [ + "VpcConnectionArn", + "TargetClusterArn" + ] + }, "CompatibleKafkaVersion" : { "type" : "structure", "members" : { @@ -1624,6 +1991,10 @@ "PublicAccess":{ "shape":"PublicAccess", "locationName":"publicAccess" + }, + "VpcConnectivity": { + "shape":"VpcConnectivity", + "locationName":"vpcConnectivity" } } }, @@ -1753,6 +2124,81 @@ } } }, + "CreateVpcConnectionRequest": { + "type": "structure", + "members": { + "TargetClusterArn": { + "shape": "__string", + "locationName": "targetClusterArn" + }, + "Authentication": { + "shape": "__string", + "locationName": "authentication" + }, + "VpcId": { + "shape": "__string", + "locationName": "vpcId" + }, + "ClientSubnets": { + "shape": "__listOf__string", + "locationName": "clientSubnets" + }, + "SecurityGroups": { + "shape": "__listOf__string", + "locationName": "securityGroups" + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "\n

A map of tags for the VPC connection.

\n " + } + }, + "required": [ + "TargetClusterArn", + "Authentication", + "VpcId", + "ClientSubnets", + "SecurityGroups" + ] + }, + "CreateVpcConnectionResponse": { + "type": "structure", + "members": { + "VpcConnectionArn": { + "shape": "__string", + "locationName": "vpcConnectionArn" + }, + "State": { + "shape": "VpcConnectionState", + "locationName": "state" + }, + "Authentication": { + "shape": "__string", + "locationName": "authentication" + }, + "VpcId": { + "shape": "__string", + "locationName": "vpcId" + }, + "ClientSubnets": { + "shape": "__listOf__string", + "locationName": "clientSubnets" + }, + "SecurityGroups": { + "shape": "__listOf__string", + "locationName": "securityGroups" + }, + "CreationTime": { + "shape": "__timestampIso8601", + "locationName": "creationTime" + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "\n

A map of tags that you want the vpc connection to have.

\n " + } + } + }, "DeleteClusterRequest": { "type": "structure", "members": { @@ -1810,6 +2256,32 @@ } } }, + "DeleteVpcConnectionRequest": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "location": "uri", + "locationName": "arn" + } + }, + "required": [ + "Arn" + ] + }, + "DeleteVpcConnectionResponse": { + "type": "structure", + "members": { + "VpcConnectionArn": { + "shape": "__string", + "locationName": "vpcConnectionArn" + }, + "State": { + "shape": "VpcConnectionState", + "locationName": "state" + } + } + }, "DescribeClusterOperationRequest": { "type": "structure", "members": { @@ -1944,6 +2416,61 @@ } } }, + "DescribeVpcConnectionRequest": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "location": "uri", + "locationName": "arn" + } + }, + "required": [ + "Arn" + ] + }, + "DescribeVpcConnectionResponse": { + "type": "structure", + "members": { + "VpcConnectionArn": { + "shape": "__string", + "locationName": "vpcConnectionArn" + }, + "TargetClusterArn": { + "shape": "__string", + "locationName": "targetClusterArn" + }, + "State": { + "shape": "VpcConnectionState", + "locationName": "state" + }, + "Authentication": { + "shape": "__string", + "locationName": "authentication" + }, + "VpcId": { + "shape": "__string", + "locationName": "vpcId" + }, + "Subnets": { + "shape": "__listOf__string", + "locationName": "subnets" + }, + "SecurityGroups": { + "shape": "__listOf__string", + "locationName": "securityGroups" + }, + "CreationTime": { + "shape": "__timestampIso8601", + "locationName": "creationTime" + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "\n

A map of tags that you want the vpc connection to have.

\n " + } + } + }, "BatchDisassociateScramSecretRequest" : { "type" : "structure", "members" : { @@ -2132,6 +2659,18 @@ "BootstrapBrokerStringSaslIam": { "shape": "__string", "locationName": "bootstrapBrokerStringSaslIam" + }, + "BootstrapBrokerStringVpcConnectivityTls": { + "shape": "__string", + "locationName": "bootstrapBrokerStringVpcConnectivityTls" + }, + "BootstrapBrokerStringVpcConnectivitySaslScram": { + "shape": "__string", + "locationName": "bootstrapBrokerStringVpcConnectivitySaslScram" + }, + "BootstrapBrokerStringVpcConnectivitySaslIam": { + "shape": "__string", + "locationName": "bootstrapBrokerStringVpcConnectivitySaslIam" } } }, @@ -2348,6 +2887,81 @@ } } }, + "DeleteClusterPolicyRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn" + } + }, + "required": [ + "ClusterArn" + ] + }, + "DeleteClusterPolicyResponse": { + "type": "structure", + "members": { + } + }, + "GetClusterPolicyRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn" + } + }, + "required": [ + "ClusterArn" + ] + }, + "GetClusterPolicyResponse": { + "type": "structure", + "members": { + "CurrentVersion": { + "shape": "__string", + "locationName": "currentVersion" + }, + "Policy": { + "shape": "__string", + "locationName": "policy" + } + } + }, + "PutClusterPolicyRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn" + }, + "CurrentVersion": { + "shape": "__string", + "locationName": "currentVersion" + }, + "Policy": { + "shape": "__string", + "locationName": "policy" + } + }, + "required": [ + "ClusterArn", + "Policy" + ] + }, + "PutClusterPolicyResponse": { + "type": "structure", + "members": { + "CurrentVersion": { + "shape": "__string", + "locationName": "currentVersion" + } + } + }, "Cluster": { "type": "structure", "members": { @@ -2852,7 +3466,89 @@ "locationName": "brokerLogs" } }, - "required": [ "BrokerLogs" ] + "required": [ "BrokerLogs" ] + }, + "ListClientVpcConnectionsRequest" : { + "type" : "structure", + "members" : { + "ClusterArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "clusterArn" + }, + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken" + } + }, + "required" : [ "ClusterArn" ] + }, + "ListClientVpcConnectionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken" + }, + "ClientVpcConnections" : { + "shape" : "__listOfClientVpcConnection", + "locationName" : "clientVpcConnections" + } + } + }, + "ListVpcConnectionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken" + } + } + }, + "ListVpcConnectionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken" + }, + "VpcConnections" : { + "shape" : "__listOfVpcConnection", + "locationName" : "vpcConnections" + } + } + }, + "RejectClientVpcConnectionRequest" : { + "type" : "structure", + "members" : { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn" + }, + "VpcConnectionArn": { + "shape": "__string", + "locationName": "vpcConnectionArn" + } + }, + "required" : [ "VpcConnectionArn" ] + }, + "RejectClientVpcConnectionResponse" : { + "type": "structure", + "members": { + } }, "MutableClusterInfo" : { "type" : "structure", @@ -2972,6 +3668,19 @@ } } }, + "VpcConnectivitySasl" : { + "type" : "structure", + "members" : { + "Scram" : { + "shape" : "VpcConnectivityScram", + "locationName" : "scram" + }, + "Iam" : { + "shape" : "VpcConnectivityIam", + "locationName" : "iam" + } + } + }, "Scram" : { "type" : "structure", "members" : { @@ -2981,6 +3690,15 @@ } } }, + "VpcConnectivityScram" : { + "type" : "structure", + "members" : { + "Enabled" : { + "shape" : "__boolean", + "locationName" : "enabled" + } + } + }, "Iam" : { "type" : "structure", "members" : { @@ -2990,6 +3708,15 @@ } } }, + "VpcConnectivityIam" : { + "type" : "structure", + "members" : { + "Enabled" : { + "shape" : "__boolean", + "locationName" : "enabled" + } + } + }, "ServiceUnavailableException": { "type": "structure", "members": { @@ -3064,6 +3791,15 @@ } } }, + "VpcConnectivityTls" : { + "type" : "structure", + "members" : { + "Enabled" : { + "shape" : "__boolean", + "locationName" : "enabled" + } + } + }, "TooManyRequestsException": { "type": "structure", "members": { @@ -3510,6 +4246,26 @@ } } }, + "UserIdentity": { + "type": "structure", + "members": { + "Type": { + "shape": "UserIdentityType", + "locationName": "type" + }, + "PrincipalId": { + "shape": "__string", + "locationName": "principalId" + } + } + }, + "UserIdentityType": { + "type": "string", + "enum": [ + "AWSACCOUNT", + "AWSSERVICE" + ] + }, "ZookeeperNodeInfo": { "type": "structure", "members": { @@ -3603,6 +4359,49 @@ } } }, + "VpcConnectivity":{ + "type":"structure", + "members":{ + "ClientAuthentication":{ + "shape":"VpcConnectivityClientAuthentication", + "locationName":"clientAuthentication" + } + } + }, + "VpcConnectionInfo": { + "type": "structure", + "members": { + "VpcConnectionArn": { + "shape": "__string", + "locationName": "vpcConnectionArn" + }, + "Owner": { + "shape": "__string", + "locationName": "owner" + }, + "UserIdentity": { + "shape": "UserIdentity", + "locationName": "userIdentity" + }, + "CreationTime": { + "shape": "__timestampIso8601", + "locationName": "creationTime" + } + } + }, + "VpcConnectionState":{ + "type": "string", + "enum": [ + "CREATING", + "AVAILABLE", + "INACTIVE", + "DEACTIVATING", + "DELETING", + "FAILED", + "REJECTED", + "REJECTING" + ] + }, "RebootBrokerRequest": { "type": "structure", "members": { @@ -3777,6 +4576,18 @@ "shape": "NodeInfo" } }, + "__listOfClientVpcConnection": { + "type": "list", + "member": { + "shape": "ClientVpcConnection" + } + }, + "__listOfVpcConnection": { + "type": "list", + "member": { + "shape": "VpcConnection" + } + }, "__listOfUnprocessedScramSecret" : { "type" : "list", "member" : { @@ -3824,4 +4635,4 @@ "timestampFormat": "iso8601" } } -} +} \ No newline at end of file diff --git a/models/apis/kafka/2018-11-14/docs-2.json b/models/apis/kafka/2018-11-14/docs-2.json index 133817d3f28..c5973bff044 100644 --- a/models/apis/kafka/2018-11-14/docs-2.json +++ b/models/apis/kafka/2018-11-14/docs-2.json @@ -6,16 +6,22 @@ "CreateCluster" : "

Creates a new MSK cluster.

", "CreateClusterV2" : "

Creates a new Amazon MSK cluster of either the provisioned or the serverless type.

", "CreateConfiguration" : "

Creates a new MSK configuration.

", + "CreateVpcConnection" : "

Creates a new Amazon MSK VPC connection.

", "DeleteCluster" : "

Deletes the MSK cluster specified by the Amazon Resource Name (ARN) in the request.

", + "DeleteClusterPolicy" : "

Deletes the MSK cluster policy specified by the Amazon Resource Name (ARN) in your request.

", "DeleteConfiguration" : "

Deletes the specified MSK configuration. The configuration must be in the ACTIVE or DELETE_FAILED state.

", + "DeleteVpcConnection" : "

Deletes the Amazon MSK VPC connection specified in your request.

", "DescribeCluster" : "

Returns a description of the MSK cluster whose Amazon Resource Name (ARN) is specified in the request.

", "DescribeClusterV2" : "

Returns a description of the MSK cluster of either the provisioned or the serverless type whose Amazon Resource Name (ARN) is specified in the request.

", "DescribeClusterOperation" : "

Returns a description of the cluster operation specified by the ARN.

", "DescribeConfiguration" : "

Returns a description of this MSK configuration.

", "DescribeConfigurationRevision" : "

Returns a description of this revision of the configuration.

", + "DescribeVpcConnection" : "

Displays information about the specified Amazon MSK VPC connection.

", "BatchDisassociateScramSecret" : "

Disassociates one or more Scram Secrets from an Amazon MSK cluster.

", "GetBootstrapBrokers" : "

A list of brokers that a client application can use to bootstrap.

", "GetCompatibleKafkaVersions" : "

Gets the Apache Kafka versions to which you can update the MSK cluster.

", + "GetClusterPolicy" : "

Retrieves the contents of the specified MSK cluster policy.

", + "ListClientVpcConnections" : "

Displays a list of client VPC connections.

", "ListClusterOperations" : "

Returns a list of all the operations that have been performed on the specified MSK cluster.

", "ListClusters" : "

Returns a list of all the MSK clusters in the current Region.

", "ListClustersV2" : "

Returns a list of all the MSK clusters in the current Region.

", @@ -25,14 +31,17 @@ "ListNodes" : "

Returns a list of the broker nodes in the cluster.

", "ListScramSecrets" : "

Returns a list of the Scram Secrets associated with an Amazon MSK cluster.

", "ListTagsForResource" : "

Returns a list of the tags associated with the specified resource.

", + "ListVpcConnections" : "

Displays a list of Amazon MSK VPC connections.

", + "PutClusterPolicy" : "

Creates or updates the specified MSK cluster policy. If updating the policy, the currentVersion field is required in the request payload.

", "RebootBroker" : "

Executes a reboot on a broker.

", + "RejectClientVpcConnections" : "

Rejects a client VPC connection.

", "TagResource" : "

Adds tags to the specified MSK resource.

", "UntagResource" : "

Removes the tags associated with the keys that are provided in the query.

", "UpdateBrokerCount" : "

Updates the number of broker nodes in the cluster. You can use this operation to increase the number of brokers in an existing cluster. You can't decrease the number of brokers.

", "UpdateBrokerType": "

Updates all the brokers in the cluster to the specified type.

", "UpdateBrokerStorage" : "

Updates the EBS storage associated with MSK brokers.

", "UpdateConfiguration" : "

Updates an existing MSK configuration. The configuration must be in the Active state.

", - "UpdateConnectivity" : "

Updates the connectivity configuration for the cluster.

", + "UpdateConnectivity" : "

Updates the connectivity configuration for the MSK cluster.

", "UpdateClusterConfiguration" : "

Updates the cluster with the configuration that is specified in the request body.

", "UpdateClusterKafkaVersion" : "

Updates the Apache Kafka version for the cluster.

", "UpdateMonitoring" : "

Updates the monitoring settings for the cluster. You can use this operation to specify which Apache Kafka metrics you want Amazon MSK to send to Amazon CloudWatch. You can also specify settings for open monitoring with Prometheus.

", @@ -270,10 +279,26 @@ "base" : "

Response body for CreateConfiguration

", "refs" : { } }, + "CreateVpcConnectionRequest" : { + "base" : "

Request body for CreateVpcConnection.

", + "refs" : { } + }, + "CreateVpcConnectionResponse" : { + "base" : "

Response body for CreateVpcConnection

", + "refs" : { } + }, "DeleteClusterResponse" : { "base" : "

Returns information about the deleted cluster.

", "refs" : { } }, + "DeleteClusterPolicyRequest" : { + "base" : "

Request body for DeleteClusterPolicy.

", + "refs" : { } + }, + "DeleteClusterPolicyResponse" : { + "base" : "

Response body for DeleteClusterPolicy.

", + "refs" : { } + }, "DeleteConfigurationRequest" : { "base" : "

Request body for DeleteConfiguration.

", "refs" : { } @@ -282,6 +307,14 @@ "base" : "

Response body for DeleteConfiguration.

", "refs" : { } }, + "DeleteVpcConnectionRequest" : { + "base" : "

Request body for DeleteVpcConnection.

", + "refs" : { } + }, + "DeleteVpcConnectionResponse" : { + "base" : "

Response body for DeleteVpcConnection.

", + "refs" : { } + }, "DescribeClusterOperationResponse" : { "base" : "

Information about a cluster operation.

", "refs" : { } @@ -302,6 +335,10 @@ "base" : "

Response body for DescribeConfigurationRevision.

", "refs" : { } }, + "DescribeVpcConnectionResponse" : { + "base" : "

Response body for DescribeVpcConnection.

", + "refs" : { } + }, "BatchDisassociateScramSecretRequest" : { "base" : "

Request body for BatchDisassociateScramSecret.

", "refs" : { } @@ -378,6 +415,14 @@ "base" : "

Response body for GetCompatibleKafkaVersions.

", "refs" : { } }, + "GetClusterPolicyRequest" : { + "base" : "

Request body for GetClusterPolicy.

", + "refs" : { } + }, + "GetClusterPolicyResponse" : { + "base" : "

Returns information about the specified cluster policy.

", + "refs" : { } + }, "InternalServerErrorException" : { "base" : "

Returns information about an error.

", "refs" : { } @@ -442,6 +487,30 @@ "base" : "

Response of listing tags for a resource.

", "refs" : { } }, + "ListClientVpcConnectionsRequest" : { + "base" : "

Request body for ListClientVpcConnections.

", + "refs" : { } + }, + "ListClientVpcConnectionsResponse" : { + "base" : "

The response contains an array of client VPC connections and a next token if the response is truncated.

", + "refs" : { } + }, + "ListVpcConnectionsRequest" : { + "base" : "

Request body for ListVpcConnections.

", + "refs" : { } + }, + "ListVpcConnectionsResponse" : { + "base" : "

The response contains an array of MSK VPC connections and a next token if the response is truncated.

", + "refs" : { } + }, + "RejectClientVpcConnectionRequest" : { + "base" : "

Request body for RejectClientVpcConnection.

", + "refs" : { } + }, + "RejectClientVpcConnectionResponse" : { + "base" : "

Response body for RejectClientVpcConnection.

", + "refs" : { } + }, "LoggingInfo" : { "base" : "

You can configure your MSK cluster to send broker logs to different destination types. This is a container for the configuration details related to broker logs.

", "refs" : { @@ -530,6 +599,14 @@ "ConnectivityInfo$PublicAccess" : "

Public access control for brokers.

" } }, + "PutClusterPolicyRequest" : { + "base" : "

Request body for PutClusterPolicy.

", + "refs" : { } + }, + "PutClusterPolicyResponse" : { + "base" : "

Response body for PutClusterPolicy.

", + "refs" : { } + }, "RebootBrokerRequest" : { "base" : "

Request body for RebootBrokerNode action.

", "refs" : { } @@ -675,6 +752,18 @@ "base" : "

Response body for UpdateStorageResponse Api.

", "refs" : { } }, + "UserIdentity" : { + "base" : "

Description of the requester that calls the API operation.

", + "refs" : { + "VpcConnectionInfo$UserIdentity" : "

Description of the requester that calls the API operation.

" + } + }, + "UserIdentityType" : { + "base" : "

The identity type of the requester that calls the API operation.

", + "refs" : { + "UserIdentity$Type" : "

The identity type of the requester that calls the API operation.

" + } + }, "ZookeeperNodeInfo" : { "base" : "

Zookeeper node information.

", "refs" : { @@ -685,6 +774,38 @@ "base" : "

The configuration of the Amazon VPCs for the cluster.

", "refs" : { } }, + "VpcConnectivity" : { + "base" : "

Broker VPC connectivity access control.

", + "refs" : { + "ConnectivityInfo$VpcConnectivity" : "

VpcConnectivity control for brokers.

" + } + }, + "ClientVpcConnection" : { + "base" : "

The client VPC connection object.

", + "refs" : { + "__listOfClientVpcConnections$member" : null + } + }, + "VpcConnection" : { + "base" : "

The VPC connection object.

", + "refs" : { + "__listOfVpcConnections$member" : null + } + }, + "VpcConnectionInfo" : { + "base" : "

Description of the VPC connection for CreateVpcConnection and DeleteVpcConnection operations.

", + "refs" : { + "ClusterOperationInfo$VpcConnectionInfo" : "

Description of the VPC connection for CreateVpcConnection and DeleteVpcConnection operations.

" + } + }, + "VpcConnectionState" : { + "base" : "

The state of a configuration.

", + "refs" : { + "DescribeVpcConnectionResponse$State" : "

The state of the VPC connection. The possible states are AVAILABLE, INACTIVE, DEACTIVATING, DELETING, CREATING, REJECTING, REJECTED and FAILED.

", + "CreateVpcConnectionResponse$State" : "

The state of the VPC connection. The only possible state is CREATING.

", + "DeleteVpcConnectionResponse$State" : "

The state of the VPC connection. The only possible state is DELETING.

" + } + }, "__boolean" : { "base" : null, "refs" : { @@ -700,7 +821,10 @@ "S3$Enabled" : "

Specifies whether broker logs get sent to the specified Amazon S3 destination.

", "Scram$Enabled" : "

SASL/SCRAM authentication is enabled or not.

", "Tls$Enabled" : "

TLS authentication is enabled or not.

", - "Unauthenticated$Enabled" : "

Specifies whether you want to enable or disable unauthenticated traffic to your cluster.

" + "Unauthenticated$Enabled" : "

Specifies whether you want to enable or disable unauthenticated traffic to your cluster.

", + "VpcConnectivityIAM$Enabled" : "

SASL/IAM authentication for VPC connectivity is on or off.

", + "VpcConnectivityScram$Enabled" : "

SASL/SCRAM authentication for VPC connectivity is on or off.

", + "VpcConnectivityTls$Enabled" : "

TLS authentication for VPC connectivity is on or off.

" } }, "__double" : { @@ -802,6 +926,18 @@ "ListNodesResponse$NodeInfoList" : "

List containing a NodeInfo object.

" } }, + "__listOfClientVpcConnection" : { + "base" : null, + "refs" : { + "ListClientVpcConnectionsResponse$ClientVpcConnections" : "

List containing a ClientVpcConnection object.

" + } + }, + "__listOfVpcConnection" : { + "base" : null, + "refs" : { + "ListVpcConnectionsResponse$VpcConnections" : "

List containing a VpcConnection object.

" + } + }, "__listOfUnprocessedScramSecret" : { "base" : null, "refs" : { @@ -813,13 +949,20 @@ "base" : null, "refs" : { "BatchAssociateScramSecretRequest$SecretArnList" : "

List of AWS Secrets Manager secret ARNs.

", + "BatchDisassociateScramSecretRequest$SecretArnList" : "

List of AWS Secrets Manager secret ARNs.

", "BrokerNodeGroupInfo$ClientSubnets" : "

The list of subnets to connect to in the client virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets. Client applications use elastic network interfaces to produce and consume data. Client subnets can't occupy the Availability Zone with ID use use1-az3.

", "BrokerNodeGroupInfo$SecurityGroups" : "

The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster. If you don't specify a security group, Amazon MSK uses the default security group associated with the VPC. If you specify security groups that were shared with you, you must ensure that you have permissions to them. Specifically, you need the ec2:DescribeSecurityGroups permission.

", + "BrokerNodeGroupInfo$ZoneIds" : "

The zoneIds for the cluster.

", "BrokerNodeInfo$Endpoints" : "

Endpoints for accessing the broker.

", "Configuration$KafkaVersions" : "

An array of the versions of Apache Kafka with which you can use this MSK configuration. You can use this configuration for an MSK cluster only if the Apache Kafka version specified for the cluster appears in this array.

", "CreateConfigurationRequest$KafkaVersions" : "

The versions of Apache Kafka with which you can use this MSK configuration.

", + "CreateVpcConnectionRequest$ClientSubnets" : "

The list of subnets in the client VPC.

", + "CreateVpcConnectionRequest$SecurityGroups" : "

The list of security groups to attach to the VPC connection.

", + "CreateVpcConnectionResponse$ClientSubnets" : "

The list of subnets in the client VPC.

", + "CreateVpcConnectionResponse$SecurityGroups" : "

The list of security groups attached to the VPC connection.

", "DescribeConfigurationResponse$KafkaVersions" : "

The versions of Apache Kafka with which you can use this MSK configuration.

", - "BatchDisassociateScramSecretRequest$SecretArnList" : "

List of AWS Secrets Manager secret ARNs.

", + "DescribeVpcConnectionResponse$SecurityGroups" : "

The list of security groups attached to the VPC connection.

", + "DescribeVpcConnectionResponse$Subnets" : "

The list of subnets in the client VPC.

", "ListScramSecretsResponse$SecretArnList" : "

The list of scram secrets associated with the cluster.

", "RebootBrokerRequest$BrokerIds" : "

The list of broker ids to be rebooted.

", "Tls$CertificateAuthorityArnList" : "

List of ACM Certificate Authority ARNs.

", @@ -840,20 +983,28 @@ "refs" : { "ClusterInfo$Tags" : "

Tags attached to the cluster.

", "CreateClusterRequest$Tags" : "

Create tags when creating the cluster.

", + "CreateVpcConnectionRequest$Tags" : "

Create tags when creating the VPC connection.

", + "CreateVpcConnectionResponse$Tags" : "

Tags attached to the VPC connection.

", + "DescribeVpcConnectionResponse$Tags" : "

Tags attached to the VPC connection.

", "ListTagsForResourceResponse$Tags" : "

The key-value pair for the resource tag.

", - "TagResourceRequest$Tags" : "

The key-value pair for the resource tag.

" + "TagResourceRequest$Tags" : "

The key-value pair for the resource tag.

", + "VpcConnection$Tags" : "

Tags attached to the VPC connection.

" } }, "__string" : { "base" : null, "refs" : { "BatchAssociateScramSecretResponse$ClusterArn" : "

The Amazon Resource Name (ARN) of the cluster.

", + "BatchDisassociateScramSecretResponse$ClusterArn" : "

The Amazon Resource Name (ARN) of the cluster.

", "BrokerEBSVolumeInfo$KafkaBrokerNodeId" : "

The ID of the broker to update.

", "BrokerNodeInfo$AttachedENIId" : "

The attached elastic network interface of the broker.

", "BrokerNodeInfo$ClientSubnet" : "

The client subnet to which this broker node belongs.

", "BrokerNodeInfo$ClientVpcIpAddress" : "

The virtual private cloud (VPC) of the client.

", "BrokerSoftwareInfo$ConfigurationArn" : "

The Amazon Resource Name (ARN) of the configuration used for the cluster. This field isn't visible in this preview release.

", "BrokerSoftwareInfo$KafkaVersion" : "

The version of Apache Kafka.

", + "ClientVpcConnection$Authentication" : "

The VPC connection authentication type.

", + "ClientVpcConnection$Owner" : "

The owner of the VPC connection.

", + "ClientVpcConnection$VpcConnectionArn" : "

The Amazon Resource Name (ARN) of the VPC connection.

", "CloudWatchLogs$LogGroup" : "

The CloudWatch log group that is the destination for broker logs.

", "ClusterInfo$ActiveOperationArn" : "

Arn of active cluster operation.

", "ClusterInfo$ClusterArn" : "

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

", @@ -879,15 +1030,23 @@ "CreateConfigurationRequest$Name" : "

The name of the configuration. Configuration names are strings that match the regex \"^[0-9A-Za-z-]+$\".

", "CreateConfigurationResponse$Arn" : "

The Amazon Resource Name (ARN) of the configuration.

", "CreateConfigurationResponse$Name" : "

The name of the configuration. Configuration names are strings that match the regex \"^[0-9A-Za-z-]+$\".

", + "CreateVpcConnectionRequest$TargetClusterArn" : "

The Amazon Resource Name (ARN) of the cluster.

", + "CreateVpcConnectionRequest$VpcId" : "

The VPC ID of the VPC connection.

", + "CreateVpcConnectionResponse$VpcConnectionArn" : "

The Amazon Resource Name (ARN) of the VPC connection.

", + "CreateVpcConnectionResponse$VpcId" : "

The VPC ID of the VPC connection.

", "DeleteClusterResponse$ClusterArn" : "

The Amazon Resource Name (ARN) of the cluster.

", "DeleteConfigurationRequest$Arn" : "

The Amazon Resource Name (ARN) of the configuration.

", "DeleteConfigurationResponse$Arn" : "

The Amazon Resource Name (ARN) of the configuration.

", + "DeleteVpcConnectionResponse$VpcConnectionArn" : "

The Amazon Resource Name (ARN) of the VPC connection.

", "DescribeConfigurationResponse$Arn" : "

The Amazon Resource Name (ARN) of the configuration.

", "DescribeConfigurationResponse$Description" : "

The description of the configuration.

", "DescribeConfigurationResponse$Name" : "

The name of the configuration. Configuration names are strings that match the regex \"^[0-9A-Za-z-]+$\".

", "DescribeConfigurationRevisionResponse$Arn" : "

The Amazon Resource Name (ARN) of the configuration.

", "DescribeConfigurationRevisionResponse$Description" : "

The description of the configuration.

", - "BatchDisassociateScramSecretResponse$ClusterArn" : "

The Amazon Resource Name (ARN) of the cluster.

", + "DescribeVpcConnectionResponse$Authentication" : "

The authentication type of the VPC connection.

", + "DescribeVpcConnectionResponse$TargetClusterArn" : "

The Amazon Resource Name (ARN) of the cluster.

", + "DescribeVpcConnectionResponse$VpcConnectionArn" : "

The Amazon Resource Name (ARN) of the VPC connection.

", + "DescribeVpcConnectionResponse$VpcId" : "

The VPC ID of the VPC connection.

", "EncryptionAtRest$DataVolumeKMSKeyId" : "

The ARN of the AWS KMS key for encrypting data at rest. If you don't specify a KMS key, MSK creates one for you and uses it.

", "Error$InvalidParameter" : "

The parameter that caused the error.

", "Error$Message" : "

The description of the error.

", @@ -901,7 +1060,13 @@ "GetBootstrapBrokersResponse$BootstrapBrokerStringPublicTls" : "

A string containing one or more DNS names (or IP addresses) and TLS port pairs. The following is an example.

{\n \"BootstrapBrokerStringTls\": \"b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194,b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9194\"\n}", "GetBootstrapBrokersResponse$BootstrapBrokerStringPublicSaslScram" : "

A string containing one or more DNS names (or IP addresses) and SASL SCRAM port pairs. The following is an example.

{\n \"BootstrapBrokerStringSaslScram\": \"b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196,b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9196\"\n}", "GetBootstrapBrokersResponse$BootstrapBrokerStringPublicSaslIam" : "

A string that contains one or more DNS names (or IP addresses) and SASL IAM port pairs. The following is an example.

{\n \"BootstrapBrokerStringSaslIam\": \"b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198,b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9198\"\n}", + "GetBootstrapBrokersResponse$BootstrapBrokerStringVpcConnectivitySaslIam" : "

A string containing one or more dns name (or IP) and SASL IAM port pairs for VPC connectivity.

", + "GetBootstrapBrokersResponse$BootstrapBrokerStringVpcConnectivitySaslScram" : "

A string containing one or more dns name (or IP) and SASL SCRAM port pairs for VPC connectivity.

", + "GetBootstrapBrokersResponse$BootstrapBrokerStringVpcConnectivityTls" : "

A string containing one or more dns name (or IP) and Tls port pairs for VPC connectivity.

", + "GetClusterPolicyResponse$CurrentVersion" : "

Cluster policy version.

", + "GetClusterPolicyResponse$Policy" : "

Cluster policy attached to the MSK cluster.

", "KafkaVersion$Version" : "

The Apache Kafka version.

", + "ListClientVpcConnectionsResponse$NextToken" : "

If the response of ListClientVpcConnections is truncated, it returns a NextToken in the response. This Nexttoken should be sent in the subsequent request to ListClientVpcConnections.

", "ListClusterOperationsResponse$NextToken" : "

If the response of ListClusterOperations is truncated, it returns a NextToken in the response. This Nexttoken should be sent in the subsequent request to ListClusterOperations.

", "ListClustersResponse$NextToken" : "

The paginated results marker. When the result of a ListClusters operation is truncated, the call returns NextToken in the response. To get another batch of clusters, provide this token in your next request.

", "ListConfigurationRevisionsResponse$NextToken" : "

Paginated results marker.

", @@ -909,10 +1074,13 @@ "ListKafkaVersionsResponse$NextToken" : "

Paginated results marker.

", "ListNodesResponse$NextToken" : "

The paginated results marker. When the result of a ListNodes operation is truncated, the call returns NextToken in the response. To get another batch of nodes, provide this token in your next request.

", "ListScramSecretsResponse$NextToken" : "

Paginated results marker.

", + "ListVpcConnectionsResponse$NextToken" : "

If the response of ListVpcConnections is truncated, it returns a NextToken in the response. This NextToken should be sent in the subsequent request to ListVpcConnections.

", + "MutableClusterInfo$KafkaVersion" : "

The Apache Kafka version.

", "NodeInfo$AddedToClusterTime" : "

The start time.

", "NodeInfo$InstanceType" : "

The instance type.

", "NodeInfo$NodeARN" : "

The Amazon Resource Name (ARN) of the node.

", "PublicAccess$Type" : "

The value DISABLED indicates that public access is disabled. SERVICE_PROVIDED_EIPS indicates that public access is enabled.

", + "PutClusterPolicyResponse$CurrentVersion" : "

Cluster policy version.

", "RebootBrokerResponse$ClusterArn" : "

The Amazon Resource Name (ARN) of the cluster.

", "RebootBrokerResponse$ClusterOperationArn" : "

The Amazon Resource Name (ARN) of the cluster operation.

", "S3$Bucket" : "

The name of the S3 bucket that is the destination for broker logs.

", @@ -951,6 +1119,10 @@ "UpdateStorageRequest$CurrentVersion" : "

The version of cluster to update from. A successful operation will then generate a new version.

", "UpdateStorageResponse$ClusterArn" : "

The Amazon Resource Name (ARN) of the cluster.

", "UpdateStorageResponse$ClusterOperationArn" : "

The Amazon Resource Name (ARN) of the cluster operation.

", + "VpcConnection$Authentication" : "

The authentication type for the VPC connection.

", + "VpcConnection$TargetClusterArn" : "

The Amazon Resource Name (ARN) of the cluster.

", + "VpcConnection$VpcConnectionArn" : "

The Amazon Resource Name (ARN) of the VPC connection.

", + "VpcConnection$VpcId" : "

The VPC ID of the VPC connection.

", "ZookeeperNodeInfo$AttachedENIId" : "

The attached elastic network interface of the broker.

", "ZookeeperNodeInfo$ClientVpcIpAddress" : "

The virtual private cloud (VPC) IP address of the client.

", "ZookeeperNodeInfo$ZookeeperVersion" : "

The version of Zookeeper.

", @@ -958,18 +1130,38 @@ "__mapOf__string$member" : null } }, + "__stringMin1" : { + "base" : null, + "refs" : { + "PutClusterPolicyRequest$CurrentVersion" : "

Current cluster policy version.

", + "RejectClientVpcConnectionRequest$VpcConnectionArn" : "

VPC connection ARN.

" + } + }, "__stringMin1Max128" : { "base" : null, "refs" : { "CreateClusterRequest$KafkaVersion" : "

The version of Apache Kafka.

" } }, + "__stringMin1Max20480" : { + "base" : null, + "refs" : { + "PutClusterPolicyRequest$Policy" : "

Cluster policy for cluster.

" + } + }, "__stringMin1Max64" : { "base" : null, "refs" : { "CreateClusterRequest$ClusterName" : "

The name of the cluster.

" } }, + "__stringMin3Max10" : { + "base" : null, + "refs" : { + "CreateVpcConnectionRequest$Authentication" : null, + "CreateVpcConnectionResponse$Authentication" : "

The authentication type for the VPC connection.

" + } + }, "__stringMin5Max32" : { "base" : null, "refs" : { @@ -980,14 +1172,19 @@ "__timestampIso8601" : { "base" : null, "refs" : { + "ClientVpcConnection$CreationTime" : "

The creation time of the VPC connection.

", "ClusterInfo$CreationTime" : "

The time when the cluster was created.

", + "ClusterOperationInfo$CreationTime" : "

The time at which operation was created.

", + "ClusterOperationInfo$EndTime" : "

The time at which the operation finished.

", + "Configuration$CreationTime" : "

The time when the configuration was created.

", "ConfigurationRevision$CreationTime" : "

The time when the configuration revision was created.

", "CreateConfigurationResponse$CreationTime" : "

The time when the configuration was created.

", + "CreateVpcConnectionResponse$CreationTime" : "

The time when the VPC connection was created.

", "DescribeConfigurationResponse$CreationTime" : "

The time when the configuration was created.

", "DescribeConfigurationRevisionResponse$CreationTime" : "

The time when the configuration was created.

", - "ClusterOperationInfo$CreationTime" : "

The time at which operation was created.

", - "ClusterOperationInfo$EndTime" : "

The time at which the operation finished.

" + "DescribeVpcConnectionResponse$CreationTime" : "

The creation time of the VPC connection.

", + "VpcConnection$CreationTime" : "

The creation time of the VPC connection.

" } } } -} +} \ No newline at end of file diff --git a/models/apis/kafka/2018-11-14/endpoint-rule-set-1.json b/models/apis/kafka/2018-11-14/endpoint-rule-set-1.json index 0fbe221eaed..bb52685f39d 100644 --- a/models/apis/kafka/2018-11-14/endpoint-rule-set-1.json +++ b/models/apis/kafka/2018-11-14/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,179 +111,240 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://kafka-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://kafka-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "stringEquals", + "fn": "booleanEquals", "argv": [ - "aws-us-gov", + true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "name" + "supportsFIPS" ] } ] } ], - "endpoint": { - "url": "https://kafka.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://kafka.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://kafka-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] }, { "conditions": [], - "endpoint": { - "url": "https://kafka-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ] - }, - { - "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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://kafka.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -311,7 +352,7 @@ { "conditions": [], "endpoint": { - "url": "https://kafka.{Region}.{PartitionResult#dualStackDnsSuffix}", + "url": "https://kafka.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -320,28 +361,13 @@ ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://kafka.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/models/apis/kafka/2018-11-14/endpoint-tests-1.json b/models/apis/kafka/2018-11-14/endpoint-tests-1.json index 3183a4970e1..7c3c155adec 100644 --- a/models/apis/kafka/2018-11-14/endpoint-tests-1.json +++ b/models/apis/kafka/2018-11-14/endpoint-tests-1.json @@ -1,29 +1,16 @@ { "testCases": [ { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kafka-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-iso-east-1" - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.us-iso-east-1.c2s.ic.gov" + "url": "https://kafka.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "af-south-1", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -34,204 +21,191 @@ } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-east-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kafka.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, + "Region": "ap-east-1", "UseFIPS": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.eu-west-2.amazonaws.com" + "url": "https://kafka.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-1", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.eu-west-3.amazonaws.com" + "url": "https://kafka.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-2", "UseFIPS": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.eu-south-1.amazonaws.com" + "url": "https://kafka.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-3", "UseFIPS": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.ap-northeast-1.amazonaws.com" + "url": "https://kafka.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.ap-south-1.amazonaws.com" + "url": "https://kafka.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-1", "UseFIPS": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.ap-northeast-3.amazonaws.com" + "url": "https://kafka.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.ap-northeast-2.amazonaws.com" + "url": "https://kafka.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.us-west-1.amazonaws.com" + "url": "https://kafka.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-central-1", "UseFIPS": false, - "Region": "us-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.us-west-2.amazonaws.com" + "url": "https://kafka.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-north-1", "UseFIPS": false, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.eu-north-1.amazonaws.com" + "url": "https://kafka.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-south-1", "UseFIPS": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.ap-southeast-1.amazonaws.com" + "url": "https://kafka.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.ap-southeast-2.amazonaws.com" + "url": "https://kafka.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-2", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.eu-central-1.amazonaws.com" + "url": "https://kafka.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-3", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.af-south-1.amazonaws.com" + "url": "https://kafka.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "me-south-1", "UseFIPS": false, - "Region": "af-south-1" + "UseDualStack": false } }, { @@ -242,9 +216,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "sa-east-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -255,9 +229,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -268,35 +242,35 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-east-2", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.me-south-1.amazonaws.com" + "url": "https://kafka.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": false, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.ca-central-1.amazonaws.com" + "url": "https://kafka.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -307,9 +281,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -320,9 +294,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -333,35 +307,74 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.us-gov-west-1.amazonaws.com" + "url": "https://kafka.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.us-gov-west-1.amazonaws.com" + "url": "https://kafka.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kafka-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-gov-west-1" + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kafka-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://kafka.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -372,9 +385,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -385,9 +398,35 @@ } }, "params": { - "UseDualStack": false, + "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://kafka.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://kafka.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -398,9 +437,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -411,113 +450,131 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://kafka-fips.us-isob-east-1.sc2s.sgov.gov" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.us-isob-east-1.sc2s.sgov.gov" + "url": "https://kafka-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-isob-east-1" + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://kafka.cn-northwest-1.amazonaws.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka.cn-north-1.amazonaws.com.cn" + "url": "https://kafka.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://kafka-fips.cn-north-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kafka-fips.cn-north-1.amazonaws.com.cn" + "url": "https://kafka-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "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://kafka.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://kafka.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "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, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -527,9 +584,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -539,11 +596,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/apis/kafka/2018-11-14/paginators-1.json b/models/apis/kafka/2018-11-14/paginators-1.json index 4416ba7bd7b..73982f3d55e 100644 --- a/models/apis/kafka/2018-11-14/paginators-1.json +++ b/models/apis/kafka/2018-11-14/paginators-1.json @@ -47,6 +47,18 @@ "output_token": "NextToken", "limit_key": "MaxResults", "result_key": "SecretArnList" + }, + "ListVpcConnections": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "VpcConnections" + }, + "ListClientVpcConnections": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ClientVpcConnections" } } } diff --git a/models/apis/lambda/2015-03-31/api-2.json b/models/apis/lambda/2015-03-31/api-2.json index 661e79d9dbb..d1dafce29f8 100644 --- a/models/apis/lambda/2015-03-31/api-2.json +++ b/models/apis/lambda/2015-03-31/api-2.json @@ -3848,7 +3848,8 @@ "provided", "provided.al2", "nodejs18.x", - "python3.10" + "python3.10", + "java17" ] }, "RuntimeVersionArn":{ diff --git a/models/apis/marketplace-catalog/2018-09-17/paginators-1.json b/models/apis/marketplace-catalog/2018-09-17/paginators-1.json index dbcad896803..8bbef9687db 100644 --- a/models/apis/marketplace-catalog/2018-09-17/paginators-1.json +++ b/models/apis/marketplace-catalog/2018-09-17/paginators-1.json @@ -3,12 +3,14 @@ "ListChangeSets": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "ChangeSetSummaryList" }, "ListEntities": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "EntitySummaryList" } } } diff --git a/models/apis/osis/2022-01-01/docs-2.json b/models/apis/osis/2022-01-01/docs-2.json index b335be25fc7..d8ad747f840 100644 --- a/models/apis/osis/2022-01-01/docs-2.json +++ b/models/apis/osis/2022-01-01/docs-2.json @@ -2,20 +2,20 @@ "version": "2.0", "service": "

Use the Amazon OpenSearch Ingestion API to create and manage ingestion pipelines. OpenSearch Ingestion is a fully managed data collector that delivers real-time log and trace data to OpenSearch Service domains. For more information, see Getting data into your cluster using OpenSearch Ingestion.

", "operations": { - "CreatePipeline": "

Creates an OpenSearch Ingestion pipeline. For more information, see Creating and managing OpenSearch Ingestion pipelines.

", - "DeletePipeline": "

Deletes an OpenSearch Ingestion pipeline. For more information, see Deleting pipelines.

", + "CreatePipeline": "

Creates an OpenSearch Ingestion pipeline. For more information, see Creating Amazon OpenSearch Ingestion pipelines.

", + "DeletePipeline": "

Deletes an OpenSearch Ingestion pipeline. For more information, see Deleting Amazon OpenSearch Ingestion pipelines.

", "GetPipeline": "

Retrieves information about an OpenSearch Ingestion pipeline.

", - "GetPipelineBlueprint": "

Retrieves information about a specific blueprint for OpenSearch Ingestion. Blueprints are templates for the configuration needed for a CreatePipeline request.

", - "GetPipelineChangeProgress": "

Returns progress information for the current change happening on an OpenSearch Ingestion pipeline. Currently, this operation only returns information when a pipeline is being created.

For more information, see Creating and managing OpenSearch Ingestion pipelines.

", - "ListPipelineBlueprints": "

Retrieves a list of all available blueprints for Data Prepper.

", - "ListPipelines": "

Lists all OpenSearch Ingestion pipelines in the current Amazon Web Services account and Region. For more information, see Creating and managing OpenSearch Ingestion pipelines.

", - "ListTagsForResource": "

Lists all resource tags associated with an OpenSearch Ingestion pipeline. For more information, see Tagging OpenSearch Ingestion pipelines.

", - "StartPipeline": "

Starts an OpenSearch Ingestion pipeline. For more information, see Starting pipelines.

", - "StopPipeline": "

Stops an OpenSearch Ingestion pipeline. For more information, see Stopping pipelines.

", - "TagResource": "

Tags an OpenSearch Ingestion pipeline. For more information, see Tagging OpenSearch Ingestion pipelines.

", - "UntagResource": "

Removes one or more tags from an OpenSearch Ingestion pipeline. For more information, see Tagging OpenSearch Ingestion pipelines.

", - "UpdatePipeline": "

Updates an OpenSearch Ingestion pipeline. For more information, see Creating and managing OpenSearch Ingestion pipelines.

", - "ValidatePipeline": "

Checks whether an OpenSearch Ingestion pipeline configuration is valid prior to creation. For more information, see Creating and managing OpenSearch Ingestion pipelines.

" + "GetPipelineBlueprint": "

Retrieves information about a specific blueprint for OpenSearch Ingestion. Blueprints are templates for the configuration needed for a CreatePipeline request. For more information, see Using blueprints to create a pipeline.

", + "GetPipelineChangeProgress": "

Returns progress information for the current change happening on an OpenSearch Ingestion pipeline. Currently, this operation only returns information when a pipeline is being created.

For more information, see Tracking the status of pipeline creation.

", + "ListPipelineBlueprints": "

Retrieves a list of all available blueprints for Data Prepper. For more information, see Using blueprints to create a pipeline.

", + "ListPipelines": "

Lists all OpenSearch Ingestion pipelines in the current Amazon Web Services account and Region. For more information, see Viewing Amazon OpenSearch Ingestion pipelines.

", + "ListTagsForResource": "

Lists all resource tags associated with an OpenSearch Ingestion pipeline. For more information, see Tagging Amazon OpenSearch Ingestion pipelines.

", + "StartPipeline": "

Starts an OpenSearch Ingestion pipeline. For more information, see Starting an OpenSearch Ingestion pipeline.

", + "StopPipeline": "

Stops an OpenSearch Ingestion pipeline. For more information, see Stopping an OpenSearch Ingestion pipeline.

", + "TagResource": "

Tags an OpenSearch Ingestion pipeline. For more information, see Tagging Amazon OpenSearch Ingestion pipelines.

", + "UntagResource": "

Removes one or more tags from an OpenSearch Ingestion pipeline. For more information, see Tagging Amazon OpenSearch Ingestion pipelines.

", + "UpdatePipeline": "

Updates an OpenSearch Ingestion pipeline. For more information, see Updating Amazon OpenSearch Ingestion pipelines.

", + "ValidatePipeline": "

Checks whether an OpenSearch Ingestion pipeline configuration is valid prior to creation. For more information, see Creating Amazon OpenSearch Ingestion pipelines.

" }, "shapes": { "AccessDeniedException": { diff --git a/models/apis/osis/2022-01-01/endpoint-tests-1.json b/models/apis/osis/2022-01-01/endpoint-tests-1.json index fe1fc13fd7a..b3c494841be 100644 --- a/models/apis/osis/2022-01-01/endpoint-tests-1.json +++ b/models/apis/osis/2022-01-01/endpoint-tests-1.json @@ -8,8 +8,8 @@ } }, "params": { - "Region": "us-gov-east-1", "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true } }, @@ -21,8 +21,8 @@ } }, "params": { - "Region": "us-gov-east-1", "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true } }, @@ -34,8 +34,8 @@ } }, "params": { - "Region": "us-gov-east-1", "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false } }, @@ -47,8 +47,8 @@ } }, "params": { - "Region": "us-gov-east-1", "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false } }, @@ -60,8 +60,8 @@ } }, "params": { - "Region": "cn-north-1", "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true } }, @@ -73,8 +73,8 @@ } }, "params": { - "Region": "cn-north-1", "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true } }, @@ -86,8 +86,8 @@ } }, "params": { - "Region": "cn-north-1", "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false } }, @@ -99,8 +99,8 @@ } }, "params": { - "Region": "cn-north-1", "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false } }, @@ -110,8 +110,8 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-iso-east-1", "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": true } }, @@ -123,8 +123,8 @@ } }, "params": { - "Region": "us-iso-east-1", "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true } }, @@ -134,8 +134,8 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-iso-east-1", "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false } }, @@ -147,8 +147,8 @@ } }, "params": { - "Region": "us-iso-east-1", "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false } }, @@ -160,8 +160,8 @@ } }, "params": { - "Region": "us-east-1", "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": true } }, @@ -173,8 +173,8 @@ } }, "params": { - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true } }, @@ -186,8 +186,8 @@ } }, "params": { - "Region": "us-east-1", "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false } }, @@ -199,8 +199,8 @@ } }, "params": { - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false } }, @@ -210,8 +210,8 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-isob-east-1", "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true } }, @@ -223,8 +223,8 @@ } }, "params": { - "Region": "us-isob-east-1", "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true } }, @@ -234,8 +234,8 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-isob-east-1", "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false } }, @@ -247,8 +247,8 @@ } }, "params": { - "Region": "us-isob-east-1", "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false } }, @@ -260,8 +260,8 @@ } }, "params": { - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, "Endpoint": "https://example.com" } @@ -272,8 +272,8 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, "Endpoint": "https://example.com" } @@ -284,8 +284,8 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "Region": "us-east-1", "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, "Endpoint": "https://example.com" } diff --git a/models/apis/qldb/2019-01-02/docs-2.json b/models/apis/qldb/2019-01-02/docs-2.json index 87fcca51d28..61f6588ad2a 100644 --- a/models/apis/qldb/2019-01-02/docs-2.json +++ b/models/apis/qldb/2019-01-02/docs-2.json @@ -1,21 +1,21 @@ { "version": "2.0", - "service": "

The control plane for Amazon QLDB

", + "service": "

The resource management API for Amazon QLDB

", "operations": { "CancelJournalKinesisStream": "

Ends a given Amazon QLDB journal stream. Before a stream can be canceled, its current status must be ACTIVE.

You can't restart a stream after you cancel it. Canceled QLDB stream resources are subject to a 7-day retention period, so they are automatically deleted after this limit expires.

", "CreateLedger": "

Creates a new ledger in your Amazon Web Services account in the current Region.

", - "DeleteLedger": "

Deletes a ledger and all of its contents. This action is irreversible.

If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set the flag to false.

", + "DeleteLedger": "

Deletes a ledger and all of its contents. This action is irreversible.

If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false.

", "DescribeJournalKinesisStream": "

Returns detailed information about a given Amazon QLDB journal stream. The output includes the Amazon Resource Name (ARN), stream name, current status, creation time, and the parameters of the original stream creation request.

This action does not return any expired journal streams. For more information, see Expiration for terminal streams in the Amazon QLDB Developer Guide.

", "DescribeJournalS3Export": "

Returns information about a journal export job, including the ledger name, export ID, creation time, current status, and the parameters of the original export creation request.

This action does not return any expired export jobs. For more information, see Export job expiration in the Amazon QLDB Developer Guide.

If the export job with the given ExportId doesn't exist, then throws ResourceNotFoundException.

If the ledger with the given Name doesn't exist, then throws ResourceNotFoundException.

", "DescribeLedger": "

Returns information about a ledger, including its state, permissions mode, encryption at rest settings, and when it was created.

", - "ExportJournalToS3": "

Exports journal contents within a date and time range from a ledger into a specified Amazon Simple Storage Service (Amazon S3) bucket. A journal export job can write the data objects in either the text or binary representation of Amazon Ion format, or in JSON Lines text format.

In JSON Lines format, each journal block in the exported data object is a valid JSON object that is delimited by a newline. You can use this format to easily integrate JSON exports with analytics tools such as Glue and Amazon Athena because these services can parse newline-delimited JSON automatically. For more information about the format, see JSON Lines.

If the ledger with the given Name doesn't exist, then throws ResourceNotFoundException.

If the ledger with the given Name is in CREATING status, then throws ResourcePreconditionNotMetException.

You can initiate up to two concurrent journal export requests for each ledger. Beyond this limit, journal export requests throw LimitExceededException.

", + "ExportJournalToS3": "

Exports journal contents within a date and time range from a ledger into a specified Amazon Simple Storage Service (Amazon S3) bucket. A journal export job can write the data objects in either the text or binary representation of Amazon Ion format, or in JSON Lines text format.

If the ledger with the given Name doesn't exist, then throws ResourceNotFoundException.

If the ledger with the given Name is in CREATING status, then throws ResourcePreconditionNotMetException.

You can initiate up to two concurrent journal export requests for each ledger. Beyond this limit, journal export requests throw LimitExceededException.

", "GetBlock": "

Returns a block object at a specified address in a journal. Also returns a proof of the specified block for verification if DigestTipAddress is provided.

For information about the data contents in a block, see Journal contents in the Amazon QLDB Developer Guide.

If the specified ledger doesn't exist or is in DELETING status, then throws ResourceNotFoundException.

If the specified ledger is in CREATING status, then throws ResourcePreconditionNotMetException.

If no block exists with the specified address, then throws InvalidParameterException.

", "GetDigest": "

Returns the digest of a ledger at the latest committed block in the journal. The response includes a 256-bit hash value and a block address.

", "GetRevision": "

Returns a revision data object for a specified document ID and block address. Also returns a proof of the specified revision for verification if DigestTipAddress is provided.

", - "ListJournalKinesisStreamsForLedger": "

Returns an array of all Amazon QLDB journal stream descriptors for a given ledger. The output of each stream descriptor includes the same details that are returned by DescribeJournalKinesisStream.

This action does not return any expired journal streams. For more information, see Expiration for terminal streams in the Amazon QLDB Developer Guide.

This action returns a maximum of MaxResults items. It is paginated so that you can retrieve all the items by calling ListJournalKinesisStreamsForLedger multiple times.

", - "ListJournalS3Exports": "

Returns an array of journal export job descriptions for all ledgers that are associated with the current Amazon Web Services account and Region.

This action returns a maximum of MaxResults items, and is paginated so that you can retrieve all the items by calling ListJournalS3Exports multiple times.

This action does not return any expired export jobs. For more information, see Export job expiration in the Amazon QLDB Developer Guide.

", - "ListJournalS3ExportsForLedger": "

Returns an array of journal export job descriptions for a specified ledger.

This action returns a maximum of MaxResults items, and is paginated so that you can retrieve all the items by calling ListJournalS3ExportsForLedger multiple times.

This action does not return any expired export jobs. For more information, see Export job expiration in the Amazon QLDB Developer Guide.

", - "ListLedgers": "

Returns an array of ledger summaries that are associated with the current Amazon Web Services account and Region.

This action returns a maximum of 100 items and is paginated so that you can retrieve all the items by calling ListLedgers multiple times.

", + "ListJournalKinesisStreamsForLedger": "

Returns all Amazon QLDB journal streams for a given ledger.

This action does not return any expired journal streams. For more information, see Expiration for terminal streams in the Amazon QLDB Developer Guide.

This action returns a maximum of MaxResults items. It is paginated so that you can retrieve all the items by calling ListJournalKinesisStreamsForLedger multiple times.

", + "ListJournalS3Exports": "

Returns all journal export jobs for all ledgers that are associated with the current Amazon Web Services account and Region.

This action returns a maximum of MaxResults items, and is paginated so that you can retrieve all the items by calling ListJournalS3Exports multiple times.

This action does not return any expired export jobs. For more information, see Export job expiration in the Amazon QLDB Developer Guide.

", + "ListJournalS3ExportsForLedger": "

Returns all journal export jobs for a specified ledger.

This action returns a maximum of MaxResults items, and is paginated so that you can retrieve all the items by calling ListJournalS3ExportsForLedger multiple times.

This action does not return any expired export jobs. For more information, see Export job expiration in the Amazon QLDB Developer Guide.

", + "ListLedgers": "

Returns all ledgers that are associated with the current Amazon Web Services account and Region.

This action returns a maximum of MaxResults items and is paginated so that you can retrieve all the items by calling ListLedgers multiple times.

", "ListTagsForResource": "

Returns all tags for a specified Amazon QLDB resource.

", "StreamJournalToKinesis": "

Creates a journal stream for a given Amazon QLDB ledger. The stream captures every document revision that is committed to the ledger's journal and delivers the data to a specified Amazon Kinesis Data Streams resource.

", "TagResource": "

Adds one or more tags to a specified Amazon QLDB resource.

A resource can have up to 50 tags. If you try to create more than 50 tags for a resource, your request fails and returns an error.

", @@ -30,14 +30,14 @@ "CreateLedgerResponse$Arn": "

The Amazon Resource Name (ARN) for the ledger.

", "CreateLedgerResponse$KmsKeyArn": "

The ARN of the customer managed KMS key that the ledger uses for encryption at rest. If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.

", "DescribeLedgerResponse$Arn": "

The Amazon Resource Name (ARN) for the ledger.

", - "ExportJournalToS3Request$RoleArn": "

The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal export job to do the following:

To pass a role to QLDB when requesting a journal export, you must have permissions to perform the iam:PassRole action on the IAM role resource. This is required for all journal export requests.

", + "ExportJournalToS3Request$RoleArn": "

The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal export job to do the following:

To pass a role to QLDB when requesting a journal export, you must have permissions to perform the iam:PassRole action on the IAM role resource. This is required for all journal export requests.

", "JournalKinesisStreamDescription$RoleArn": "

The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal stream to write data records to a Kinesis Data Streams resource.

", "JournalKinesisStreamDescription$Arn": "

The Amazon Resource Name (ARN) of the QLDB journal stream.

", "JournalS3ExportDescription$RoleArn": "

The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal export job to do the following:

", "KinesisConfiguration$StreamArn": "

The Amazon Resource Name (ARN) of the Kinesis Data Streams resource.

", "LedgerEncryptionDescription$KmsKeyArn": "

The Amazon Resource Name (ARN) of the customer managed KMS key that the ledger uses for encryption at rest. If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.

", "ListTagsForResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) for which to list the tags. For example:

arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger

", - "S3EncryptionConfiguration$KmsKeyArn": "

The Amazon Resource Name (ARN) of a symmetric key in Key Management Service (KMS). Amazon S3 does not support asymmetric KMS keys.

You must provide a KmsKeyArn if you specify SSE_KMS as the ObjectEncryptionType.

KmsKeyArn is not required if you specify SSE_S3 as the ObjectEncryptionType.

", + "S3EncryptionConfiguration$KmsKeyArn": "

The Amazon Resource Name (ARN) of a symmetric encryption key in Key Management Service (KMS). Amazon S3 does not support asymmetric KMS keys.

You must provide a KmsKeyArn if you specify SSE_KMS as the ObjectEncryptionType.

KmsKeyArn is not required if you specify SSE_S3 as the ObjectEncryptionType.

", "StreamJournalToKinesisRequest$RoleArn": "

The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal stream to write data records to a Kinesis Data Streams resource.

To pass a role to QLDB when requesting a journal stream, you must have permissions to perform the iam:PassRole action on the IAM role resource. This is required for all journal stream requests.

", "TagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) to which you want to add the tags. For example:

arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger

", "UntagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) from which to remove the tags. For example:

arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger

", @@ -48,7 +48,7 @@ "Boolean": { "base": null, "refs": { - "KinesisConfiguration$AggregationEnabled": "

Enables QLDB to publish multiple data records in a single Kinesis Data Streams record, increasing the number of records sent per API call.

This option is enabled by default. Record aggregation has important implications for processing records and requires de-aggregation in your stream consumer. To learn more, see KPL Key Concepts and Consumer De-aggregation in the Amazon Kinesis Data Streams Developer Guide.

" + "KinesisConfiguration$AggregationEnabled": "

Enables QLDB to publish multiple data records in a single Kinesis Data Streams record, increasing the number of records sent per API call.

Default: True

Record aggregation has important implications for processing records and requires de-aggregation in your stream consumer. To learn more, see KPL Key Concepts and Consumer De-aggregation in the Amazon Kinesis Data Streams Developer Guide.

" } }, "CancelJournalKinesisStreamRequest": { @@ -79,11 +79,11 @@ "DeletionProtection": { "base": null, "refs": { - "CreateLedgerRequest$DeletionProtection": "

The flag that prevents a ledger from being deleted by any user. If not provided on ledger creation, this feature is enabled (true) by default.

If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set the flag to false.

", - "CreateLedgerResponse$DeletionProtection": "

The flag that prevents a ledger from being deleted by any user. If not provided on ledger creation, this feature is enabled (true) by default.

If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set the flag to false.

", - "DescribeLedgerResponse$DeletionProtection": "

The flag that prevents a ledger from being deleted by any user. If not provided on ledger creation, this feature is enabled (true) by default.

If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set the flag to false.

", - "UpdateLedgerRequest$DeletionProtection": "

The flag that prevents a ledger from being deleted by any user. If not provided on ledger creation, this feature is enabled (true) by default.

If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set the flag to false.

", - "UpdateLedgerResponse$DeletionProtection": "

The flag that prevents a ledger from being deleted by any user. If not provided on ledger creation, this feature is enabled (true) by default.

If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set the flag to false.

" + "CreateLedgerRequest$DeletionProtection": "

Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (true) by default.

If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false.

", + "CreateLedgerResponse$DeletionProtection": "

Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (true) by default.

If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false.

", + "DescribeLedgerResponse$DeletionProtection": "

Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (true) by default.

If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false.

", + "UpdateLedgerRequest$DeletionProtection": "

Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (true) by default.

If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false.

", + "UpdateLedgerResponse$DeletionProtection": "

Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (true) by default.

If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false.

" } }, "DescribeJournalKinesisStreamRequest": { @@ -212,7 +212,7 @@ "JournalKinesisStreamDescriptionList": { "base": null, "refs": { - "ListJournalKinesisStreamsForLedgerResponse$Streams": "

The array of QLDB journal stream descriptors that are associated with the given ledger.

" + "ListJournalKinesisStreamsForLedgerResponse$Streams": "

The QLDB journal streams that are currently associated with the given ledger.

" } }, "JournalS3ExportDescription": { @@ -225,8 +225,8 @@ "JournalS3ExportList": { "base": null, "refs": { - "ListJournalS3ExportsForLedgerResponse$JournalS3Exports": "

The array of journal export job descriptions that are associated with the specified ledger.

", - "ListJournalS3ExportsResponse$JournalS3Exports": "

The array of journal export job descriptions for all ledgers that are associated with the current Amazon Web Services account and Region.

" + "ListJournalS3ExportsForLedgerResponse$JournalS3Exports": "

The journal export jobs that are currently associated with the specified ledger.

", + "ListJournalS3ExportsResponse$JournalS3Exports": "

The journal export jobs for all ledgers that are associated with the current Amazon Web Services account and Region.

" } }, "KinesisConfiguration": { @@ -239,8 +239,8 @@ "KmsKey": { "base": null, "refs": { - "CreateLedgerRequest$KmsKey": "

The key in Key Management Service (KMS) to use for encryption of data at rest in the ledger. For more information, see Encryption at rest in the Amazon QLDB Developer Guide.

Use one of the following options to specify this parameter:

To specify a customer managed KMS key, you can use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

For example:

For more information, see Key identifiers (KeyId) in the Key Management Service Developer Guide.

", - "UpdateLedgerRequest$KmsKey": "

The key in Key Management Service (KMS) to use for encryption of data at rest in the ledger. For more information, see Encryption at rest in the Amazon QLDB Developer Guide.

Use one of the following options to specify this parameter:

To specify a customer managed KMS key, you can use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

For example:

For more information, see Key identifiers (KeyId) in the Key Management Service Developer Guide.

" + "CreateLedgerRequest$KmsKey": "

The key in Key Management Service (KMS) to use for encryption of data at rest in the ledger. For more information, see Encryption at rest in the Amazon QLDB Developer Guide.

Use one of the following options to specify this parameter:

To specify a customer managed KMS key, you can use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

For example:

For more information, see Key identifiers (KeyId) in the Key Management Service Developer Guide.

", + "UpdateLedgerRequest$KmsKey": "

The key in Key Management Service (KMS) to use for encryption of data at rest in the ledger. For more information, see Encryption at rest in the Amazon QLDB Developer Guide.

Use one of the following options to specify this parameter:

To specify a customer managed KMS key, you can use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

For example:

For more information, see Key identifiers (KeyId) in the Key Management Service Developer Guide.

" } }, "LedgerEncryptionDescription": { @@ -253,7 +253,7 @@ "LedgerList": { "base": null, "refs": { - "ListLedgersResponse$Ledgers": "

The array of ledger summaries that are associated with the current Amazon Web Services account and Region.

" + "ListLedgersResponse$Ledgers": "

The ledgers that are associated with the current Amazon Web Services account and Region.

" } }, "LedgerName": { @@ -378,7 +378,7 @@ "OutputFormat": { "base": null, "refs": { - "ExportJournalToS3Request$OutputFormat": "

The output format of your exported journal data. If this parameter is not specified, the exported data defaults to ION_TEXT format.

", + "ExportJournalToS3Request$OutputFormat": "

The output format of your exported journal data. A journal export job can write the data objects in either the text or binary representation of Amazon Ion format, or in JSON Lines text format.

Default: ION_TEXT

In JSON Lines format, each journal block in an exported data object is a valid JSON object that is delimited by a newline. You can use this format to directly integrate JSON exports with analytics tools such as Amazon Athena and Glue because these services can parse newline-delimited JSON automatically.

", "JournalS3ExportDescription$OutputFormat": "

The output format of the exported journal data.

" } }, diff --git a/models/apis/qldb/2019-01-02/endpoint-rule-set-1.json b/models/apis/qldb/2019-01-02/endpoint-rule-set-1.json new file mode 100644 index 00000000000..5782369086d --- /dev/null +++ b/models/apis/qldb/2019-01-02/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://qldb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://qldb-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://qldb.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://qldb.{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/qldb/2019-01-02/endpoint-tests-1.json b/models/apis/qldb/2019-01-02/endpoint-tests-1.json new file mode 100644 index 00000000000..c8ca67f129b --- /dev/null +++ b/models/apis/qldb/2019-01-02/endpoint-tests-1.json @@ -0,0 +1,483 @@ +{ + "testCases": [ + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://qldb.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://qldb.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://qldb.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://qldb.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://qldb.ca-central-1.amazonaws.com" + } + }, + "params": { + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://qldb-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "Region": "ca-central-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://qldb.eu-central-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://qldb.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://qldb.eu-west-2.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://qldb.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://qldb-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://qldb.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://qldb-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://qldb.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://qldb-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://qldb-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://qldb.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://qldb-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://qldb-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://qldb.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://qldb.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://qldb-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://qldb-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://qldb.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://qldb.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://qldb-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://qldb.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://qldb-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://qldb.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 diff --git a/models/apis/sagemaker/2017-07-24/api-2.json b/models/apis/sagemaker/2017-07-24/api-2.json index f7ab86d8bba..1bca61acbf9 100644 --- a/models/apis/sagemaker/2017-07-24/api-2.json +++ b/models/apis/sagemaker/2017-07-24/api-2.json @@ -3755,7 +3755,9 @@ "ml.g5.12xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", - "ml.geospatial.interactive" + "ml.geospatial.interactive", + "ml.p4d.24xlarge", + "ml.p4de.24xlarge" ] }, "AppList":{ diff --git a/models/apis/sagemaker/2017-07-24/docs-2.json b/models/apis/sagemaker/2017-07-24/docs-2.json index cb208948c55..0914b5699db 100644 --- a/models/apis/sagemaker/2017-07-24/docs-2.json +++ b/models/apis/sagemaker/2017-07-24/docs-2.json @@ -11651,7 +11651,7 @@ "InferenceRecommendationsJob$RoleArn": "

The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to perform tasks on your behalf.

", "Model$ExecutionRoleArn": "

The Amazon Resource Name (ARN) of the IAM role that you specified for the model.

", "ModelPackageValidationSpecification$ValidationRole": "

The IAM roles to be used for the validation of the model package.

", - "ModelRegisterSettings$CrossAccountModelRegisterRoleArn": "

The Amazon Resource Name (ARN) of the SageMaker model registry account. Required only to register model versions created by a different SageMaker Canvas AWS account than the AWS account in which SageMaker model registry is set up.

", + "ModelRegisterSettings$CrossAccountModelRegisterRoleArn": "

The Amazon Resource Name (ARN) of the SageMaker model registry account. Required only to register model versions created by a different SageMaker Canvas Amazon Web Services account than the Amazon Web Services account in which SageMaker model registry is set up.

", "MonitoringJobDefinition$RoleArn": "

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.

", "Pipeline$RoleArn": "

The Amazon Resource Name (ARN) of the role that created the pipeline.

", "PipelineSummary$RoleArn": "

The Amazon Resource Name (ARN) that the pipeline used to execute.

", diff --git a/models/apis/xray/2016-04-12/endpoint-rule-set-1.json b/models/apis/xray/2016-04-12/endpoint-rule-set-1.json index c006b77dc5d..327f0b1148d 100644 --- a/models/apis/xray/2016-04-12/endpoint-rule-set-1.json +++ b/models/apis/xray/2016-04-12/endpoint-rule-set-1.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,23 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -71,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -140,90 +111,215 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://xray-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } ] }, { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://xray-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://xray-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsFIPS" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://xray.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -231,7 +327,7 @@ { "conditions": [], "endpoint": { - "url": "https://xray-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://xray.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -240,74 +336,13 @@ ] } ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://xray.{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://xray.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/models/apis/xray/2016-04-12/endpoint-tests-1.json b/models/apis/xray/2016-04-12/endpoint-tests-1.json index 695974ae345..95e0fb619ae 100644 --- a/models/apis/xray/2016-04-12/endpoint-tests-1.json +++ b/models/apis/xray/2016-04-12/endpoint-tests-1.json @@ -1,1576 +1,632 @@ { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.ap-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-south-2" - } - }, - { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-south-2" - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.ap-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-south-2" - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-south-2" - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "me-central-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "me-central-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "me-central-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "me-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-central-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-central-2" - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-central-2" - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-central-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-central-2" - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-central-2" - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.ap-northeast-2.api.aws" + "url": "https://xray.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "af-south-1", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.ap-northeast-2.amazonaws.com" + "url": "https://xray.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-east-1", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.ap-northeast-1.api.aws" + "url": "https://xray.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-1" + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.ap-northeast-1.amazonaws.com" + "url": "https://xray.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-1" + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.ap-northeast-1.api.aws" + "url": "https://xray.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-northeast-3", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.ap-northeast-1.amazonaws.com" + "url": "https://xray.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.me-south-1.api.aws" + "url": "https://xray.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "me-south-1" + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.me-south-1.amazonaws.com" + "url": "https://xray.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "me-south-1" + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.me-south-1.api.aws" + "url": "https://xray.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-southeast-3", "UseFIPS": false, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.me-south-1.amazonaws.com" + "url": "https://xray.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.sa-east-1.api.aws" + "url": "https://xray.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "sa-east-1" + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.sa-east-1.amazonaws.com" + "url": "https://xray.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "sa-east-1" + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.sa-east-1.api.aws" + "url": "https://xray.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "eu-south-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.sa-east-1.amazonaws.com" + "url": "https://xray.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.ap-east-1.api.aws" + "url": "https://xray.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-east-1" + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.ap-east-1.amazonaws.com" + "url": "https://xray.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-east-1" + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.ap-east-1.api.aws" + "url": "https://xray.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "me-south-1", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.ap-east-1.amazonaws.com" + "url": "https://xray.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "sa-east-1", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://xray.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "cn-north-1" + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.cn-north-1.amazonaws.com.cn" + "url": "https://xray-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://xray.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-east-2", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.cn-north-1.amazonaws.com.cn" + "url": "https://xray-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "cn-north-1" + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.us-gov-west-1.api.aws" + "url": "https://xray.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-west-1" + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.us-gov-west-1.amazonaws.com" + "url": "https://xray-fips.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": true, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.us-gov-west-1.api.aws" + "url": "https://xray.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-west-2", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.us-gov-west-1.amazonaws.com" + "url": "https://xray-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-gov-west-1" + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://xray-fips.ap-southeast-1.api.aws" + "url": "https://xray-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": true, - "Region": "ap-southeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://xray-fips.ap-southeast-1.amazonaws.com" + "url": "https://xray.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-southeast-1" + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.ap-southeast-1.api.aws" + "url": "https://xray.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.ap-southeast-1.amazonaws.com" + "url": "https://xray.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-northwest-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://xray-fips.ap-southeast-2.api.aws" + "url": "https://xray-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "ap-southeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.ap-southeast-2.amazonaws.com" + "url": "https://xray-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://xray.ap-southeast-2.api.aws" + "url": "https://xray.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.ap-southeast-2.amazonaws.com" + "url": "https://xray.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "ap-southeast-2" - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray-fips.ap-southeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.ap-southeast-3.amazonaws.com" + "url": "https://xray-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "ap-southeast-3" - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://xray.ap-southeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.ap-southeast-3.amazonaws.com" + "url": "https://xray.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": false, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.us-east-1.api.aws" + "url": "https://xray-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-west-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://xray-fips.us-east-1.amazonaws.com" + "url": "https://xray-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://xray.us-east-1.api.aws" + "url": "https://xray.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://xray.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-east-1" + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.us-east-2.api.aws" + "url": "https://xray-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://xray-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-2" + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.us-east-2.api.aws" + "url": "https://xray.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://xray.us-east-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-east-2" + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray-fips.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://xray-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://xray-fips.cn-northwest-1.amazonaws.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "cn-northwest-1" + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://xray.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://xray.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://xray.cn-northwest-1.amazonaws.com.cn" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": false, + "Endpoint": "https://example.com" } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1580,9 +636,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1592,11 +648,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 3af5a193961..a904143251f 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -23062,6 +23062,11 @@ "us-iso-west-1" : { } } }, + "athena" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, "autoscaling" : { "endpoints" : { "us-iso-east-1" : { @@ -23898,6 +23903,11 @@ "us-isob-east-1" : { } } }, + "secretsmanager" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, "snowball" : { "endpoints" : { "us-isob-east-1" : { } diff --git a/service/ec2/api.go b/service/ec2/api.go index b209126f8a9..ccfe72bbc99 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -44635,10 +44635,10 @@ func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput // only one attribute at a time. // // Note: Using this action to change the security groups associated with an -// elastic network interface (ENI) attached to an instance in a VPC can result -// in an error if the instance has more than one ENI. To change the security -// groups associated with an ENI attached to an instance that has multiple ENIs, -// we recommend that you use the ModifyNetworkInterfaceAttribute action. +// elastic network interface (ENI) attached to an instance can result in an +// error if the instance has more than one ENI. To change the security groups +// associated with an ENI attached to an instance that has multiple ENIs, we +// recommend that you use the ModifyNetworkInterfaceAttribute action. // // To modify some attributes, the instance must be stopped. For more information, // see Modify a stopped instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html) @@ -46037,10 +46037,6 @@ func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput // For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html) // in the Amazon EC2 User Guide. // -// We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic -// to a VPC. For more information, see Migrate from EC2-Classic to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) -// in the Amazon Elastic Compute Cloud User Guide. -// // 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. @@ -49242,10 +49238,6 @@ func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedIn // and Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html) // in the Amazon EC2 User Guide. // -// We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic -// to a VPC. For more information, see Migrate from EC2-Classic to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) -// in the Amazon Elastic Compute Cloud User Guide. -// // 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. @@ -51216,10 +51208,6 @@ func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req // see Which is the best Spot request method to use? (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html#which-spot-request-method-to-use) // in the Amazon EC2 User Guide for Linux Instances. // -// We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic -// to a VPC. For more information, see Migrate from EC2-Classic to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) -// in the Amazon EC2 User Guide for Linux Instances. -// // 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. @@ -52481,20 +52469,13 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques // You can specify a number of options, or leave the default options. The following // rules apply: // -// - [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet -// from your default VPC for you. If you don't have a default VPC, you must -// specify a subnet ID in the request. -// -// - [EC2-Classic] If don't specify an Availability Zone, we choose one for -// you. +// - If you don't specify a subnet ID, we choose a default subnet from your +// default VPC for you. If you don't have a default VPC, you must specify +// a subnet ID in the request. // -// - Some instance types must be launched into a VPC. If you do not have -// a default VPC, or if you do not specify a subnet ID, the request fails. -// For more information, see Instance types available only in a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types). -// -// - [EC2-VPC] All instances have a network interface with a primary private -// IPv4 address. If you don't specify this address, we choose one from the -// IPv4 range of your subnet. +// - All instances have a network interface with a primary private IPv4 address. +// If you don't specify this address, we choose one from the IPv4 range of +// your subnet. // // - Not all instance types support IPv6 addresses. For more information, // see Instance types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). @@ -52528,10 +52509,6 @@ func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Reques // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html), // and Troubleshooting connecting to your instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html). // -// We are retiring EC2-Classic. We recommend that you migrate from EC2-Classic -// to a VPC. For more information, see Migrate from EC2-Classic to a VPC (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) -// in the Amazon EC2 User Guide. -// // 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. @@ -62958,7 +62935,7 @@ type CancelSpotInstanceRequestsInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more Spot Instance request IDs. + // The IDs of the Spot Instance requests. // // SpotInstanceRequestIds is a required field SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"` @@ -63011,7 +62988,7 @@ func (s *CancelSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) type CancelSpotInstanceRequestsOutput struct { _ struct{} `type:"structure"` - // One or more Spot Instance requests. + // The Spot Instance requests. CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"` } @@ -66780,6 +66757,9 @@ func (s *CopySnapshotOutput) SetTags(v []*Tag) *CopySnapshotOutput { type CpuOptions struct { _ struct{} `type:"structure"` + // Indicates whether the instance is enabled for AMD SEV-SNP. + AmdSevSnp *string `locationName:"amdSevSnp" type:"string" enum:"AmdSevSnpSpecification"` + // The number of CPU cores for the instance. CoreCount *int64 `locationName:"coreCount" type:"integer"` @@ -66805,6 +66785,12 @@ func (s CpuOptions) GoString() string { return s.String() } +// SetAmdSevSnp sets the AmdSevSnp field's value. +func (s *CpuOptions) SetAmdSevSnp(v string) *CpuOptions { + s.AmdSevSnp = &v + return s +} + // SetCoreCount sets the CoreCount field's value. func (s *CpuOptions) SetCoreCount(v int64) *CpuOptions { s.CoreCount = &v @@ -66822,6 +66808,10 @@ func (s *CpuOptions) SetThreadsPerCore(v int64) *CpuOptions { type CpuOptionsRequest struct { _ struct{} `type:"structure"` + // Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is + // supported with M6a, R6a, and C6a instance types only. + AmdSevSnp *string `type:"string" enum:"AmdSevSnpSpecification"` + // The number of CPU cores for the instance. CoreCount *int64 `type:"integer"` @@ -66848,6 +66838,12 @@ func (s CpuOptionsRequest) GoString() string { return s.String() } +// SetAmdSevSnp sets the AmdSevSnp field's value. +func (s *CpuOptionsRequest) SetAmdSevSnp(v string) *CpuOptionsRequest { + s.AmdSevSnp = &v + return s +} + // SetCoreCount sets the CoreCount field's value. func (s *CpuOptionsRequest) SetCoreCount(v int64) *CpuOptionsRequest { s.CoreCount = &v @@ -94409,8 +94405,8 @@ type DescribeInstanceTypesInput struct { // One or more filters. Filter names and values are case-sensitive. // - // * auto-recovery-supported - Indicates whether auto recovery is supported - // (true | false). + // * auto-recovery-supported - Indicates whether Amazon CloudWatch action + // based recovery is supported (true | false). // // * bare-metal - Indicates whether it is a bare metal instance type (true // | false). @@ -94699,12 +94695,6 @@ type DescribeInstancesInput struct { // // * dns-name - The public DNS name of the instance. // - // * group-id - The ID of the security group for the instance. EC2-Classic - // only. - // - // * group-name - The name of the security group for the instance. EC2-Classic - // only. - // // * hibernation-options.configured - A Boolean that indicates whether the // instance is enabled for hibernation. A value of true means that the instance // is enabled for hibernation. @@ -99709,16 +99699,11 @@ type DescribeReservedInstancesInput struct { // // * scope - The scope of the Reserved Instance (Region or Availability Zone). // - // * product-description - The Reserved Instance product platform description. - // Instances that include (Amazon VPC) in the product platform description - // will only be displayed to EC2-Classic account holders and are for use - // with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE - // Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux - // (Amazon VPC) | Red Hat Enterprise Linux with HA (Amazon VPC) | Windows - // | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with - // SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows - // with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise - // | Windows with SQL Server Enterprise (Amazon VPC)). + // * product-description - The Reserved Instance product platform description + // (Linux/UNIX | Linux with SQL Server Standard | Linux with SQL Server Web + // | Linux with SQL Server Enterprise | SUSE Linux | Red Hat Enterprise Linux + // | Red Hat Enterprise Linux with HA | Windows | Windows with SQL Server + // Standard | Windows with SQL Server Web | Windows with SQL Server Enterprise). // // * reserved-instances-id - The ID of the Reserved Instance. // @@ -99920,9 +99905,6 @@ type DescribeReservedInstancesModificationsInput struct { // * modification-result.target-configuration.instance-type - The instance // type of the new Reserved Instances. // - // * modification-result.target-configuration.platform - The network platform - // of the new Reserved Instances (EC2-Classic | EC2-VPC). - // // * reserved-instances-id - The ID of the Reserved Instances modified. // // * reserved-instances-modification-id - The ID of the modification request. @@ -100051,16 +100033,11 @@ type DescribeReservedInstancesOfferingsInput struct { // all offerings from both Amazon Web Services and the Reserved Instance // Marketplace are listed. // - // * product-description - The Reserved Instance product platform description. - // Instances that include (Amazon VPC) in the product platform description - // will only be displayed to EC2-Classic account holders and are for use - // with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | - // SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise - // Linux (Amazon VPC) | Red Hat Enterprise Linux with HA (Amazon VPC) | Windows - // | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with - // SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows - // with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise - // | Windows with SQL Server Enterprise (Amazon VPC)) + // * product-description - The Reserved Instance product platform description + // (Linux/UNIX | Linux with SQL Server Standard | Linux with SQL Server Web + // | Linux with SQL Server Enterprise | SUSE Linux | Red Hat Enterprise Linux + // | Red Hat Enterprise Linux with HA | Windows | Windows with SQL Server + // Standard | Windows with SQL Server Web | Windows with SQL Server Enterprise). // // * reserved-instances-offering-id - The Reserved Instances offering ID. // @@ -100521,8 +100498,6 @@ type DescribeScheduledInstanceAvailabilityInput struct { // // * instance-type - The instance type (for example, c4.large). // - // * network-platform - The network platform (EC2-Classic or EC2-VPC). - // // * platform - The platform (Linux/UNIX or Windows). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -100703,8 +100678,6 @@ type DescribeScheduledInstancesInput struct { // // * instance-type - The instance type (for example, c4.large). // - // * network-platform - The network platform (EC2-Classic or EC2-VPC). - // // * platform - The platform (Linux/UNIX or Windows). Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` @@ -102176,7 +102149,7 @@ type DescribeSpotInstanceRequestsInput struct { // it is UnauthorizedOperation. DryRun *bool `locationName:"dryRun" type:"boolean"` - // One or more filters. + // The filters. // // * availability-zone-group - The Availability Zone group. // @@ -102293,7 +102266,7 @@ type DescribeSpotInstanceRequestsInput struct { // from the end of the items returned by the previous request. NextToken *string `type:"string"` - // One or more Spot Instance request IDs. + // The IDs of the Spot Instance requests. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"` } @@ -102353,7 +102326,7 @@ type DescribeSpotInstanceRequestsOutput struct { // value is null when there are no more items to return. NextToken *string `locationName:"nextToken" type:"string"` - // One or more Spot Instance requests. + // The Spot Instance requests. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"` } @@ -102404,7 +102377,7 @@ type DescribeSpotPriceHistoryInput struct { // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). EndTime *time.Time `locationName:"endTime" type:"timestamp"` - // One or more filters. + // The filters. // // * availability-zone - The Availability Zone for which prices should be // returned. @@ -127925,7 +127898,7 @@ type Instance struct { // The monitoring for the instance. Monitoring *Monitoring `locationName:"monitoring" type:"structure"` - // [EC2-VPC] The network interfaces for the instance. + // The network interfaces for the instance. NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"` // The Amazon Resource Name (ARN) of the Outpost. @@ -127942,14 +127915,14 @@ type Instance struct { // in the Amazon EC2 User Guide. PlatformDetails *string `locationName:"platformDetails" type:"string"` - // (IPv4 only) The private DNS hostname name assigned to the instance. This + // [IPv4 only] The private DNS hostname name assigned to the instance. This // DNS hostname can only be used inside the Amazon EC2 network. This name is // not available until the instance enters the running state. // - // [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private - // DNS hostnames if you've enabled DNS resolution and DNS hostnames in your - // VPC. If you are not using the Amazon-provided DNS server in your VPC, your - // custom domain name servers must resolve the hostname as appropriate. + // The Amazon-provided DNS server resolves Amazon-provided private DNS hostnames + // if you've enabled DNS resolution and DNS hostnames in your VPC. If you are + // not using the Amazon-provided DNS server in your VPC, your custom domain + // name servers must resolve the hostname as appropriate. PrivateDnsName *string `locationName:"privateDnsName" type:"string"` // The options for the instance hostname. @@ -127961,9 +127934,9 @@ type Instance struct { // The product codes attached to this instance, if applicable. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"` - // (IPv4 only) The public DNS name assigned to the instance. This name is not - // available until the instance enters the running state. For EC2-VPC, this - // name is only available if you've enabled DNS hostnames for your VPC. + // [IPv4 only] The public DNS name assigned to the instance. This name is not + // available until the instance enters the running state. This name is only + // available if you've enabled DNS hostnames for your VPC. PublicDnsName *string `locationName:"dnsName" type:"string"` // The public IPv4 address, or the Carrier IP address assigned to the instance, @@ -128005,7 +127978,7 @@ type Instance struct { // The reason for the most recent state transition. This might be an empty string. StateTransitionReason *string `locationName:"reason" type:"string"` - // [EC2-VPC] The ID of the subnet in which the instance is running. + // The ID of the subnet in which the instance is running. SubnetId *string `locationName:"subnetId" type:"string"` // Any tags assigned to the instance. @@ -128027,7 +128000,7 @@ type Instance struct { // The virtualization type of the instance. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"` - // [EC2-VPC] The ID of the VPC in which the instance is running. + // The ID of the VPC in which the instance is running. VpcId *string `locationName:"vpcId" type:"string"` } @@ -131820,7 +131793,7 @@ func (s *InstanceTagNotificationAttribute) SetInstanceTagKeys(v []*string) *Inst type InstanceTypeInfo struct { _ struct{} `type:"structure"` - // Indicates whether auto recovery is supported. + // Indicates whether Amazon CloudWatch action based recovery is supported. AutoRecoverySupported *bool `locationName:"autoRecoverySupported" type:"boolean"` // Indicates whether the instance is a bare metal instance type. @@ -134896,7 +134869,7 @@ type LaunchSpecification struct { // Deprecated. AddressingType *string `locationName:"addressingType" type:"string"` - // One or more block device mapping entries. + // The block device mapping entries. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"` // Indicates whether the instance is optimized for EBS I/O. This optimization @@ -134926,8 +134899,8 @@ type LaunchSpecification struct { // Describes the monitoring of an instance. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"` - // One or more network interfaces. If you specify a network interface, you must - // specify subnet IDs and security group IDs using the network interface. + // The network interfaces. If you specify a network interface, you must specify + // subnet IDs and security group IDs using the network interface. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"` // The placement information for the instance. @@ -134936,9 +134909,7 @@ type LaunchSpecification struct { // The ID of the RAM disk. RamdiskId *string `locationName:"ramdiskId" type:"string"` - // One or more security groups. When requesting instances in a VPC, you must - // specify the IDs of the security groups. When requesting instances in EC2-Classic, - // you can specify the names or the IDs of the security groups. + // The IDs of the security groups. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"` // The ID of the subnet in which to launch the instance. @@ -135476,6 +135447,9 @@ func (s *LaunchTemplateConfig) SetOverrides(v []*LaunchTemplateOverrides) *Launc type LaunchTemplateCpuOptions struct { _ struct{} `type:"structure"` + // Indicates whether the instance is enabled for AMD SEV-SNP. + AmdSevSnp *string `locationName:"amdSevSnp" type:"string" enum:"AmdSevSnpSpecification"` + // The number of CPU cores for the instance. CoreCount *int64 `locationName:"coreCount" type:"integer"` @@ -135501,6 +135475,12 @@ func (s LaunchTemplateCpuOptions) GoString() string { return s.String() } +// SetAmdSevSnp sets the AmdSevSnp field's value. +func (s *LaunchTemplateCpuOptions) SetAmdSevSnp(v string) *LaunchTemplateCpuOptions { + s.AmdSevSnp = &v + return s +} + // SetCoreCount sets the CoreCount field's value. func (s *LaunchTemplateCpuOptions) SetCoreCount(v int64) *LaunchTemplateCpuOptions { s.CoreCount = &v @@ -135518,6 +135498,10 @@ func (s *LaunchTemplateCpuOptions) SetThreadsPerCore(v int64) *LaunchTemplateCpu type LaunchTemplateCpuOptionsRequest struct { _ struct{} `type:"structure"` + // Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is + // supported with M6a, R6a, and C6a instance types only. + AmdSevSnp *string `type:"string" enum:"AmdSevSnpSpecification"` + // The number of CPU cores for the instance. CoreCount *int64 `type:"integer"` @@ -135544,6 +135528,12 @@ func (s LaunchTemplateCpuOptionsRequest) GoString() string { return s.String() } +// SetAmdSevSnp sets the AmdSevSnp field's value. +func (s *LaunchTemplateCpuOptionsRequest) SetAmdSevSnp(v string) *LaunchTemplateCpuOptionsRequest { + s.AmdSevSnp = &v + return s +} + // SetCoreCount sets the CoreCount field's value. func (s *LaunchTemplateCpuOptionsRequest) SetCoreCount(v int64) *LaunchTemplateCpuOptionsRequest { s.CoreCount = &v @@ -137087,8 +137077,8 @@ type LaunchTemplatePlacement struct { // Reserved for future use. SpreadDomain *string `locationName:"spreadDomain" type:"string"` - // The tenancy of the instance (if the instance is running in a VPC). An instance - // with a tenancy of dedicated runs on single-tenant hardware. + // The tenancy of the instance. An instance with a tenancy of dedicated runs + // on single-tenant hardware. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"` } @@ -137196,8 +137186,8 @@ type LaunchTemplatePlacementRequest struct { // Reserved for future use. SpreadDomain *string `type:"string"` - // The tenancy of the instance (if the instance is running in a VPC). An instance - // with a tenancy of dedicated runs on single-tenant hardware. + // The tenancy of the instance. An instance with a tenancy of dedicated runs + // on single-tenant hardware. Tenancy *string `type:"string" enum:"Tenancy"` } @@ -141282,10 +141272,9 @@ type ModifyInstanceAttributeInput struct { // a PV instance can make it unreachable. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"` - // [EC2-VPC] Replaces the security groups of the instance with the specified - // security groups. You must specify at least one security group, even if it's - // just the default security group for the VPC. You must specify the security - // group ID, not the security group name. + // Replaces the security groups of the instance with the specified security + // groups. You must specify the ID of at least one security group, even if it's + // just the default security group for the VPC. Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"` // The ID of the instance. @@ -152800,8 +152789,8 @@ type Placement struct { // Reserved for future use. SpreadDomain *string `locationName:"spreadDomain" type:"string"` - // The tenancy of the instance (if the instance is running in a VPC). An instance - // with a tenancy of dedicated runs on single-tenant hardware. + // The tenancy of the instance. An instance with a tenancy of dedicated runs + // on single-tenant hardware. // // This parameter is not supported for CreateFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet). // The host tenancy is not supported for ImportInstance (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html) @@ -153804,6 +153793,10 @@ type ProcessorInfo struct { // The architectures supported by the instance type. SupportedArchitectures []*string `locationName:"supportedArchitectures" locationNameList:"item" type:"list" enum:"ArchitectureType"` + // Indicates whether the instance type supports AMD SEV-SNP. If the request + // returns amd-sev-snp, AMD SEV-SNP is supported. Otherwise, it is not supported. + SupportedFeatures []*string `locationName:"supportedFeatures" locationNameList:"item" type:"list" enum:"SupportedAdditionalProcessorFeature"` + // The speed of the processor, in GHz. SustainedClockSpeedInGhz *float64 `locationName:"sustainedClockSpeedInGhz" type:"double"` } @@ -153832,6 +153825,12 @@ func (s *ProcessorInfo) SetSupportedArchitectures(v []*string) *ProcessorInfo { return s } +// SetSupportedFeatures sets the SupportedFeatures field's value. +func (s *ProcessorInfo) SetSupportedFeatures(v []*string) *ProcessorInfo { + s.SupportedFeatures = v + return s +} + // SetSustainedClockSpeedInGhz sets the SustainedClockSpeedInGhz field's value. func (s *ProcessorInfo) SetSustainedClockSpeedInGhz(v float64) *ProcessorInfo { s.SustainedClockSpeedInGhz = &v @@ -158263,8 +158262,14 @@ type RequestLaunchTemplateData struct { // // * resolve:ssm:parameter-name:label // - // For more information, see Use a Systems Manager parameter to find an AMI - // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html#using-systems-manager-parameter-to-find-AMI) + // * resolve:ssm:public-parameter + // + // Currently, EC2 Fleet and Spot Fleet do not support specifying a Systems Manager + // parameter. If the launch template will be used by an EC2 Fleet or Spot Fleet, + // you must specify the AMI ID. + // + // For more information, see Use a Systems Manager parameter instead of an AMI + // ID (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) // in the Amazon Elastic Compute Cloud User Guide. ImageId *string `type:"string"` @@ -158934,7 +158939,7 @@ func (s *RequestSpotInstancesInput) SetValidUntil(v time.Time) *RequestSpotInsta type RequestSpotInstancesOutput struct { _ struct{} `type:"structure"` - // One or more Spot Instance requests. + // The Spot Instance requests. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"` } @@ -158969,8 +158974,8 @@ type RequestSpotLaunchSpecification struct { // Deprecated. AddressingType *string `locationName:"addressingType" type:"string"` - // One or more block device mapping entries. You can't specify both a snapshot - // ID and an encryption value. This is because only blank volumes can be encrypted + // The block device mapping entries. You can't specify both a snapshot ID and + // an encryption value. This is because only blank volumes can be encrypted // on creation. If a snapshot is the basis for a volume, it is not blank and // its encryption status is used for the volume encryption status. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"` @@ -159004,8 +159009,8 @@ type RequestSpotLaunchSpecification struct { // Default: Disabled Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"` - // One or more network interfaces. If you specify a network interface, you must - // specify subnet IDs and security group IDs using the network interface. + // The network interfaces. If you specify a network interface, you must specify + // subnet IDs and security group IDs using the network interface. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"` // The placement information for the instance. @@ -159014,12 +159019,10 @@ type RequestSpotLaunchSpecification struct { // The ID of the RAM disk. RamdiskId *string `locationName:"ramdiskId" type:"string"` - // One or more security group IDs. + // The IDs of the security groups. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"` - // One or more security groups. When requesting instances in a VPC, you must - // specify the IDs of the security groups. When requesting instances in EC2-Classic, - // you can specify the names or the IDs of the security groups. + // Not supported. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"` // The ID of the subnet in which to launch the instance. @@ -159169,7 +159172,7 @@ func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunc type Reservation struct { _ struct{} `type:"structure"` - // [EC2-Classic only] The security groups. + // Not supported. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"` // The instances. @@ -159689,8 +159692,7 @@ type ReservedInstancesConfiguration struct { // The instance type for the modified Reserved Instances. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` - // The network platform of the modified Reserved Instances, which is either - // EC2-Classic or EC2-VPC. + // The network platform of the modified Reserved Instances. Platform *string `locationName:"platform" type:"string"` // Whether the Reserved Instance is applied to instances in a Region or instances @@ -163052,9 +163054,9 @@ type RunInstancesInput struct { // Default: m1.small InstanceType *string `type:"string" enum:"InstanceType"` - // [EC2-VPC] The number of IPv6 addresses to associate with the primary network - // interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. - // You cannot specify this option and the option to assign specific IPv6 addresses + // The number of IPv6 addresses to associate with the primary network interface. + // Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You + // cannot specify this option and the option to assign specific IPv6 addresses // in the same request. You can specify this option if you've specified a minimum // number of instances to launch. // @@ -163062,10 +163064,10 @@ type RunInstancesInput struct { // request. Ipv6AddressCount *int64 `type:"integer"` - // [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with - // the primary network interface. You cannot specify this option and the option - // to assign a number of IPv6 addresses in the same request. You cannot specify - // this option if you've specified a minimum number of instances to launch. + // The IPv6 addresses from the range of the subnet to associate with the primary + // network interface. You cannot specify this option and the option to assign + // a number of IPv6 addresses in the same request. You cannot specify this option + // if you've specified a minimum number of instances to launch. // // You cannot specify this option and the network interfaces option in the same // request. @@ -163139,8 +163141,8 @@ type RunInstancesInput struct { // the subnet. PrivateDnsNameOptions *PrivateDnsNameOptionsRequest `type:"structure"` - // [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 - // address range of the subnet. + // The primary IPv4 address. You must specify a value from the IPv4 address + // range of the subnet. // // Only one private IP address can be designated as primary. You can't specify // this option if you've specified the option to designate a private IP address @@ -163168,7 +163170,7 @@ type RunInstancesInput struct { // as part of the network interface. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"` - // [EC2-Classic, default VPC] The names of the security groups. + // [Default VPC] The names of the security groups. // // If you specify a network interface, you must specify any security groups // as part of the network interface. @@ -163176,7 +163178,7 @@ type RunInstancesInput struct { // Default: Amazon EC2 uses the default security group. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"` - // [EC2-VPC] The ID of the subnet to launch the instance into. + // The ID of the subnet to launch the instance into. // // If you specify a network interface, you must specify any subnets as part // of the network interface. @@ -163844,7 +163846,7 @@ type ScheduledInstance struct { // The instance type. InstanceType *string `locationName:"instanceType" type:"string"` - // The network platform (EC2-Classic or EC2-VPC). + // The network platform. NetworkPlatform *string `locationName:"networkPlatform" type:"string"` // The time for the next schedule to start. @@ -164009,7 +164011,7 @@ type ScheduledInstanceAvailability struct { // The minimum term. The only possible value is 365 days. MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"` - // The network platform (EC2-Classic or EC2-VPC). + // The network platform. NetworkPlatform *string `locationName:"networkPlatform" type:"string"` // The platform (Linux/UNIX or Windows). @@ -167498,9 +167500,7 @@ type SpotFleetLaunchSpecification struct { // Resource Center and search for the kernel ID. RamdiskId *string `locationName:"ramdiskId" type:"string"` - // One or more security groups. When requesting instances in a VPC, you must - // specify the IDs of the security groups. When requesting instances in EC2-Classic, - // you can specify the names or the IDs of the security groups. + // The security groups. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"` // The maximum price per unit hour that you are willing to pay for a Spot Instance. @@ -181242,6 +181242,22 @@ func AllowsMultipleInstanceTypes_Values() []string { } } +const ( + // AmdSevSnpSpecificationEnabled is a AmdSevSnpSpecification enum value + AmdSevSnpSpecificationEnabled = "enabled" + + // AmdSevSnpSpecificationDisabled is a AmdSevSnpSpecification enum value + AmdSevSnpSpecificationDisabled = "disabled" +) + +// AmdSevSnpSpecification_Values returns all elements of the AmdSevSnpSpecification enum +func AmdSevSnpSpecification_Values() []string { + return []string{ + AmdSevSnpSpecificationEnabled, + AmdSevSnpSpecificationDisabled, + } +} + const ( // AnalysisStatusRunning is a AnalysisStatus enum value AnalysisStatusRunning = "running" @@ -189198,6 +189214,18 @@ func SummaryStatus_Values() []string { } } +const ( + // SupportedAdditionalProcessorFeatureAmdSevSnp is a SupportedAdditionalProcessorFeature enum value + SupportedAdditionalProcessorFeatureAmdSevSnp = "amd-sev-snp" +) + +// SupportedAdditionalProcessorFeature_Values returns all elements of the SupportedAdditionalProcessorFeature enum +func SupportedAdditionalProcessorFeature_Values() []string { + return []string{ + SupportedAdditionalProcessorFeatureAmdSevSnp, + } +} + const ( // TargetCapacityUnitTypeVcpu is a TargetCapacityUnitType enum value TargetCapacityUnitTypeVcpu = "vcpu" diff --git a/service/emrcontainers/api.go b/service/emrcontainers/api.go index e273895fc4b..78653162dfa 100644 --- a/service/emrcontainers/api.go +++ b/service/emrcontainers/api.go @@ -970,6 +970,94 @@ func (c *EMRContainers) DescribeVirtualClusterWithContext(ctx aws.Context, input return out, req.Send() } +const opGetManagedEndpointSessionCredentials = "GetManagedEndpointSessionCredentials" + +// GetManagedEndpointSessionCredentialsRequest generates a "aws/request.Request" representing the +// client's request for the GetManagedEndpointSessionCredentials 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 GetManagedEndpointSessionCredentials for more information on using the GetManagedEndpointSessionCredentials +// 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 GetManagedEndpointSessionCredentialsRequest method. +// req, resp := client.GetManagedEndpointSessionCredentialsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/GetManagedEndpointSessionCredentials +func (c *EMRContainers) GetManagedEndpointSessionCredentialsRequest(input *GetManagedEndpointSessionCredentialsInput) (req *request.Request, output *GetManagedEndpointSessionCredentialsOutput) { + op := &request.Operation{ + Name: opGetManagedEndpointSessionCredentials, + HTTPMethod: "POST", + HTTPPath: "/virtualclusters/{virtualClusterId}/endpoints/{endpointId}/credentials", + } + + if input == nil { + input = &GetManagedEndpointSessionCredentialsInput{} + } + + output = &GetManagedEndpointSessionCredentialsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetManagedEndpointSessionCredentials API operation for Amazon EMR Containers. +// +// Generate a session token to connect to a managed endpoint. +// +// 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 Amazon EMR Containers's +// API operation GetManagedEndpointSessionCredentials for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// There are invalid parameters in the client request. +// +// - RequestThrottledException +// The request throttled. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - InternalServerException +// This is an internal server exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/GetManagedEndpointSessionCredentials +func (c *EMRContainers) GetManagedEndpointSessionCredentials(input *GetManagedEndpointSessionCredentialsInput) (*GetManagedEndpointSessionCredentialsOutput, error) { + req, out := c.GetManagedEndpointSessionCredentialsRequest(input) + return out, req.Send() +} + +// GetManagedEndpointSessionCredentialsWithContext is the same as GetManagedEndpointSessionCredentials with the addition of +// the ability to pass a context and additional request options. +// +// See GetManagedEndpointSessionCredentials 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 *EMRContainers) GetManagedEndpointSessionCredentialsWithContext(ctx aws.Context, input *GetManagedEndpointSessionCredentialsInput, opts ...request.Option) (*GetManagedEndpointSessionCredentialsOutput, error) { + req, out := c.GetManagedEndpointSessionCredentialsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListJobRuns = "ListJobRuns" // ListJobRunsRequest generates a "aws/request.Request" representing the @@ -2901,6 +2989,42 @@ func (s *CreateVirtualClusterOutput) SetName(v string) *CreateVirtualClusterOutp return s } +// The structure containing the session token being returned. +type Credentials struct { + _ struct{} `type:"structure"` + + // The actual session token being returned. + // + // Token is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by Credentials's + // String and GoString methods. + Token *string `locationName:"token" min:"1" type:"string" sensitive:"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 Credentials) 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 Credentials) GoString() string { + return s.String() +} + +// SetToken sets the Token field's value. +func (s *Credentials) SetToken(v string) *Credentials { + s.Token = &v + return s +} + type DeleteJobTemplateInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -3756,6 +3880,191 @@ func (s *Endpoint) SetVirtualClusterId(v string) *Endpoint { return s } +type GetManagedEndpointSessionCredentialsInput struct { + _ struct{} `type:"structure"` + + // The client idempotency token of the job run request. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // Type of the token requested. Currently supported and default value of this + // field is “TOKEN.” + // + // CredentialType is a required field + CredentialType *string `locationName:"credentialType" min:"1" type:"string" required:"true"` + + // Duration in seconds for which the session token is valid. The default duration + // is 15 minutes and the maximum is 12 hours. + DurationInSeconds *int64 `locationName:"durationInSeconds" type:"integer"` + + // The ARN of the managed endpoint for which the request is submitted. + // + // EndpointIdentifier is a required field + EndpointIdentifier *string `location:"uri" locationName:"endpointId" min:"1" type:"string" required:"true"` + + // The IAM Execution Role ARN that will be used by the job run. + // + // ExecutionRoleArn is a required field + ExecutionRoleArn *string `locationName:"executionRoleArn" min:"20" type:"string" required:"true"` + + // String identifier used to separate sections of the execution logs uploaded + // to S3. + LogContext *string `locationName:"logContext" min:"3" type:"string"` + + // The ARN of the Virtual Cluster which the Managed Endpoint belongs to. + // + // VirtualClusterIdentifier is a required field + VirtualClusterIdentifier *string `location:"uri" locationName:"virtualClusterId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetManagedEndpointSessionCredentialsInput) 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 GetManagedEndpointSessionCredentialsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetManagedEndpointSessionCredentialsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetManagedEndpointSessionCredentialsInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.CredentialType == nil { + invalidParams.Add(request.NewErrParamRequired("CredentialType")) + } + if s.CredentialType != nil && len(*s.CredentialType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CredentialType", 1)) + } + if s.EndpointIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointIdentifier")) + } + if s.EndpointIdentifier != nil && len(*s.EndpointIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EndpointIdentifier", 1)) + } + if s.ExecutionRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn")) + } + if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 20)) + } + if s.LogContext != nil && len(*s.LogContext) < 3 { + invalidParams.Add(request.NewErrParamMinLen("LogContext", 3)) + } + if s.VirtualClusterIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("VirtualClusterIdentifier")) + } + if s.VirtualClusterIdentifier != nil && len(*s.VirtualClusterIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VirtualClusterIdentifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *GetManagedEndpointSessionCredentialsInput) SetClientToken(v string) *GetManagedEndpointSessionCredentialsInput { + s.ClientToken = &v + return s +} + +// SetCredentialType sets the CredentialType field's value. +func (s *GetManagedEndpointSessionCredentialsInput) SetCredentialType(v string) *GetManagedEndpointSessionCredentialsInput { + s.CredentialType = &v + return s +} + +// SetDurationInSeconds sets the DurationInSeconds field's value. +func (s *GetManagedEndpointSessionCredentialsInput) SetDurationInSeconds(v int64) *GetManagedEndpointSessionCredentialsInput { + s.DurationInSeconds = &v + return s +} + +// SetEndpointIdentifier sets the EndpointIdentifier field's value. +func (s *GetManagedEndpointSessionCredentialsInput) SetEndpointIdentifier(v string) *GetManagedEndpointSessionCredentialsInput { + s.EndpointIdentifier = &v + return s +} + +// SetExecutionRoleArn sets the ExecutionRoleArn field's value. +func (s *GetManagedEndpointSessionCredentialsInput) SetExecutionRoleArn(v string) *GetManagedEndpointSessionCredentialsInput { + s.ExecutionRoleArn = &v + return s +} + +// SetLogContext sets the LogContext field's value. +func (s *GetManagedEndpointSessionCredentialsInput) SetLogContext(v string) *GetManagedEndpointSessionCredentialsInput { + s.LogContext = &v + return s +} + +// SetVirtualClusterIdentifier sets the VirtualClusterIdentifier field's value. +func (s *GetManagedEndpointSessionCredentialsInput) SetVirtualClusterIdentifier(v string) *GetManagedEndpointSessionCredentialsInput { + s.VirtualClusterIdentifier = &v + return s +} + +type GetManagedEndpointSessionCredentialsOutput struct { + _ struct{} `type:"structure"` + + // The structure containing the session credentials. + Credentials *Credentials `locationName:"credentials" type:"structure"` + + // The date and time when the session token will expire. + ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp" timestampFormat:"iso8601"` + + // The identifier of the session token returned. + Id *string `locationName:"id" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetManagedEndpointSessionCredentialsOutput) 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 GetManagedEndpointSessionCredentialsOutput) GoString() string { + return s.String() +} + +// SetCredentials sets the Credentials field's value. +func (s *GetManagedEndpointSessionCredentialsOutput) SetCredentials(v *Credentials) *GetManagedEndpointSessionCredentialsOutput { + s.Credentials = v + return s +} + +// SetExpiresAt sets the ExpiresAt field's value. +func (s *GetManagedEndpointSessionCredentialsOutput) SetExpiresAt(v time.Time) *GetManagedEndpointSessionCredentialsOutput { + s.ExpiresAt = &v + return s +} + +// SetId sets the Id field's value. +func (s *GetManagedEndpointSessionCredentialsOutput) SetId(v string) *GetManagedEndpointSessionCredentialsOutput { + s.Id = &v + return s +} + // This is an internal server exception. type InternalServerException struct { _ struct{} `type:"structure"` @@ -5253,6 +5562,70 @@ func (s *ParametricS3MonitoringConfiguration) SetLogUri(v string) *ParametricS3M return s } +// The request throttled. +type RequestThrottledException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RequestThrottledException) 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 RequestThrottledException) GoString() string { + return s.String() +} + +func newErrorRequestThrottledException(v protocol.ResponseMetadata) error { + return &RequestThrottledException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *RequestThrottledException) Code() string { + return "RequestThrottledException" +} + +// Message returns the exception's message. +func (s *RequestThrottledException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *RequestThrottledException) OrigErr() error { + return nil +} + +func (s *RequestThrottledException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *RequestThrottledException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *RequestThrottledException) RequestID() string { + return s.RespMetadata.RequestID +} + // The specified resource was not found. type ResourceNotFoundException struct { _ struct{} `type:"structure"` diff --git a/service/emrcontainers/emrcontainersiface/interface.go b/service/emrcontainers/emrcontainersiface/interface.go index 0f13aee0ea5..f94b4ecabc6 100644 --- a/service/emrcontainers/emrcontainersiface/interface.go +++ b/service/emrcontainers/emrcontainersiface/interface.go @@ -104,6 +104,10 @@ type EMRContainersAPI interface { DescribeVirtualClusterWithContext(aws.Context, *emrcontainers.DescribeVirtualClusterInput, ...request.Option) (*emrcontainers.DescribeVirtualClusterOutput, error) DescribeVirtualClusterRequest(*emrcontainers.DescribeVirtualClusterInput) (*request.Request, *emrcontainers.DescribeVirtualClusterOutput) + GetManagedEndpointSessionCredentials(*emrcontainers.GetManagedEndpointSessionCredentialsInput) (*emrcontainers.GetManagedEndpointSessionCredentialsOutput, error) + GetManagedEndpointSessionCredentialsWithContext(aws.Context, *emrcontainers.GetManagedEndpointSessionCredentialsInput, ...request.Option) (*emrcontainers.GetManagedEndpointSessionCredentialsOutput, error) + GetManagedEndpointSessionCredentialsRequest(*emrcontainers.GetManagedEndpointSessionCredentialsInput) (*request.Request, *emrcontainers.GetManagedEndpointSessionCredentialsOutput) + ListJobRuns(*emrcontainers.ListJobRunsInput) (*emrcontainers.ListJobRunsOutput, error) ListJobRunsWithContext(aws.Context, *emrcontainers.ListJobRunsInput, ...request.Option) (*emrcontainers.ListJobRunsOutput, error) ListJobRunsRequest(*emrcontainers.ListJobRunsInput) (*request.Request, *emrcontainers.ListJobRunsOutput) diff --git a/service/emrcontainers/errors.go b/service/emrcontainers/errors.go index 1fc223d5526..938a4cd8760 100644 --- a/service/emrcontainers/errors.go +++ b/service/emrcontainers/errors.go @@ -14,6 +14,12 @@ const ( // This is an internal server exception. ErrCodeInternalServerException = "InternalServerException" + // ErrCodeRequestThrottledException for service response error code + // "RequestThrottledException". + // + // The request throttled. + ErrCodeRequestThrottledException = "RequestThrottledException" + // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFoundException". // @@ -29,6 +35,7 @@ const ( var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InternalServerException": newErrorInternalServerException, + "RequestThrottledException": newErrorRequestThrottledException, "ResourceNotFoundException": newErrorResourceNotFoundException, "ValidationException": newErrorValidationException, } diff --git a/service/guardduty/api.go b/service/guardduty/api.go index 677dde95a57..b05af5d3900 100644 --- a/service/guardduty/api.go +++ b/service/guardduty/api.go @@ -5250,6 +5250,93 @@ func (c *GuardDuty) ListThreatIntelSetsPagesWithContext(ctx aws.Context, input * return p.Err() } +const opStartMalwareScan = "StartMalwareScan" + +// StartMalwareScanRequest generates a "aws/request.Request" representing the +// client's request for the StartMalwareScan 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 StartMalwareScan for more information on using the StartMalwareScan +// 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 StartMalwareScanRequest method. +// req, resp := client.StartMalwareScanRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StartMalwareScan +func (c *GuardDuty) StartMalwareScanRequest(input *StartMalwareScanInput) (req *request.Request, output *StartMalwareScanOutput) { + op := &request.Operation{ + Name: opStartMalwareScan, + HTTPMethod: "POST", + HTTPPath: "/malware-scan/start", + } + + if input == nil { + input = &StartMalwareScanInput{} + } + + output = &StartMalwareScanOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartMalwareScan API operation for Amazon GuardDuty. +// +// Initiates the malware scan. Invoking this API will automatically create the +// Service-linked role (https://docs.aws.amazon.com/guardduty/latest/ug/slr-permissions-malware-protection.html) +// in the corresponding account. +// +// 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 Amazon GuardDuty's +// API operation StartMalwareScan for usage and error information. +// +// Returned Error Types: +// +// - BadRequestException +// A bad request exception object. +// +// - ConflictException +// A request conflict exception object. +// +// - InternalServerErrorException +// An internal server error exception object. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StartMalwareScan +func (c *GuardDuty) StartMalwareScan(input *StartMalwareScanInput) (*StartMalwareScanOutput, error) { + req, out := c.StartMalwareScanRequest(input) + return out, req.Send() +} + +// StartMalwareScanWithContext is the same as StartMalwareScan with the addition of +// the ability to pass a context and additional request options. +// +// See StartMalwareScan 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 *GuardDuty) StartMalwareScanWithContext(ctx aws.Context, input *StartMalwareScanInput, opts ...request.Option) (*StartMalwareScanOutput, error) { + req, out := c.StartMalwareScanRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStartMonitoringMembers = "StartMonitoringMembers" // StartMonitoringMembersRequest generates a "aws/request.Request" representing the @@ -7757,6 +7844,74 @@ func (s *Condition) SetNotEquals(v []*string) *Condition { return s } +// A request conflict exception object. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // The error message. + Message_ *string `locationName:"message" type:"string"` + + // The error type. + Type *string `locationName:"__type" 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 ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + // Details of a container. type Container struct { _ struct{} `type:"structure"` @@ -11634,6 +11789,9 @@ type EbsVolumeScanDetails struct { // Returns the start date and time of the malware scan. ScanStartedAt *time.Time `locationName:"scanStartedAt" type:"timestamp"` + // Specifies the scan type that invoked the malware scan. + ScanType *string `locationName:"scanType" type:"string" enum:"ScanType"` + // Contains list of threat intelligence sources used to detect threats. Sources []*string `locationName:"sources" type:"list"` @@ -11683,6 +11841,12 @@ func (s *EbsVolumeScanDetails) SetScanStartedAt(v time.Time) *EbsVolumeScanDetai return s } +// SetScanType sets the ScanType field's value. +func (s *EbsVolumeScanDetails) SetScanType(v string) *EbsVolumeScanDetails { + s.ScanType = &v + return s +} + // SetSources sets the Sources field's value. func (s *EbsVolumeScanDetails) SetSources(v []*string) *EbsVolumeScanDetails { s.Sources = v @@ -20013,6 +20177,9 @@ type Scan struct { // An enum value representing possible scan statuses. ScanStatus *string `locationName:"scanStatus" type:"string" enum:"ScanStatus"` + // Specifies the scan type that invoked the malware scan. + ScanType *string `locationName:"scanType" type:"string" enum:"ScanType"` + // Represents total bytes that were scanned. TotalBytes *int64 `locationName:"totalBytes" type:"long"` @@ -20110,6 +20277,12 @@ func (s *Scan) SetScanStatus(v string) *Scan { return s } +// SetScanType sets the ScanType field's value. +func (s *Scan) SetScanType(v string) *Scan { + s.ScanType = &v + return s +} + // SetTotalBytes sets the TotalBytes field's value. func (s *Scan) SetTotalBytes(v int64) *Scan { s.TotalBytes = &v @@ -20949,6 +21122,85 @@ func (s *SortCriteria) SetOrderBy(v string) *SortCriteria { return s } +type StartMalwareScanInput struct { + _ struct{} `type:"structure"` + + // Amazon Resource Name (ARN) of the resource for which you invoked the API. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" 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 StartMalwareScanInput) 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 StartMalwareScanInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartMalwareScanInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartMalwareScanInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *StartMalwareScanInput) SetResourceArn(v string) *StartMalwareScanInput { + s.ResourceArn = &v + return s +} + +type StartMalwareScanOutput struct { + _ struct{} `type:"structure"` + + // A unique identifier that gets generated when you invoke the API without any + // error. Each malware scan has a corresponding scan ID. Using this scan ID, + // you can monitor the status of your malware scan. + ScanId *string `locationName:"scanId" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartMalwareScanOutput) 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 StartMalwareScanOutput) GoString() string { + return s.String() +} + +// SetScanId sets the ScanId field's value. +func (s *StartMalwareScanOutput) SetScanId(v string) *StartMalwareScanOutput { + s.ScanId = &v + return s +} + type StartMonitoringMembersInput struct { _ struct{} `type:"structure"` @@ -23497,6 +23749,9 @@ const ( // CriterionKeyScanStatus is a CriterionKey enum value CriterionKeyScanStatus = "SCAN_STATUS" + + // CriterionKeyScanType is a CriterionKey enum value + CriterionKeyScanType = "SCAN_TYPE" ) // CriterionKey_Values returns all elements of the CriterionKey enum @@ -23508,6 +23763,7 @@ func CriterionKey_Values() []string { CriterionKeyGuarddutyFindingId, CriterionKeyScanStartTime, CriterionKeyScanStatus, + CriterionKeyScanType, } } @@ -24034,6 +24290,9 @@ const ( // ScanStatusFailed is a ScanStatus enum value ScanStatusFailed = "FAILED" + + // ScanStatusSkipped is a ScanStatus enum value + ScanStatusSkipped = "SKIPPED" ) // ScanStatus_Values returns all elements of the ScanStatus enum @@ -24042,6 +24301,23 @@ func ScanStatus_Values() []string { ScanStatusRunning, ScanStatusCompleted, ScanStatusFailed, + ScanStatusSkipped, + } +} + +const ( + // ScanTypeGuarddutyInitiated is a ScanType enum value + ScanTypeGuarddutyInitiated = "GUARDDUTY_INITIATED" + + // ScanTypeOnDemand is a ScanType enum value + ScanTypeOnDemand = "ON_DEMAND" +) + +// ScanType_Values returns all elements of the ScanType enum +func ScanType_Values() []string { + return []string{ + ScanTypeGuarddutyInitiated, + ScanTypeOnDemand, } } diff --git a/service/guardduty/errors.go b/service/guardduty/errors.go index 8a4f92d1b3f..6665bb80d5d 100644 --- a/service/guardduty/errors.go +++ b/service/guardduty/errors.go @@ -14,6 +14,12 @@ const ( // A bad request exception object. ErrCodeBadRequestException = "BadRequestException" + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // A request conflict exception object. + ErrCodeConflictException = "ConflictException" + // ErrCodeInternalServerErrorException for service response error code // "InternalServerErrorException". // @@ -23,5 +29,6 @@ const ( var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "BadRequestException": newErrorBadRequestException, + "ConflictException": newErrorConflictException, "InternalServerErrorException": newErrorInternalServerErrorException, } diff --git a/service/guardduty/guarddutyiface/interface.go b/service/guardduty/guarddutyiface/interface.go index 37735796f82..b7c1c75242e 100644 --- a/service/guardduty/guarddutyiface/interface.go +++ b/service/guardduty/guarddutyiface/interface.go @@ -311,6 +311,10 @@ type GuardDutyAPI interface { ListThreatIntelSetsPages(*guardduty.ListThreatIntelSetsInput, func(*guardduty.ListThreatIntelSetsOutput, bool) bool) error ListThreatIntelSetsPagesWithContext(aws.Context, *guardduty.ListThreatIntelSetsInput, func(*guardduty.ListThreatIntelSetsOutput, bool) bool, ...request.Option) error + StartMalwareScan(*guardduty.StartMalwareScanInput) (*guardduty.StartMalwareScanOutput, error) + StartMalwareScanWithContext(aws.Context, *guardduty.StartMalwareScanInput, ...request.Option) (*guardduty.StartMalwareScanOutput, error) + StartMalwareScanRequest(*guardduty.StartMalwareScanInput) (*request.Request, *guardduty.StartMalwareScanOutput) + StartMonitoringMembers(*guardduty.StartMonitoringMembersInput) (*guardduty.StartMonitoringMembersOutput, error) StartMonitoringMembersWithContext(aws.Context, *guardduty.StartMonitoringMembersInput, ...request.Option) (*guardduty.StartMonitoringMembersOutput, error) StartMonitoringMembersRequest(*guardduty.StartMonitoringMembersInput) (*request.Request, *guardduty.StartMonitoringMembersOutput) diff --git a/service/iotdeviceadvisor/api.go b/service/iotdeviceadvisor/api.go index 955e017ca00..24bd7c494e4 100644 --- a/service/iotdeviceadvisor/api.go +++ b/service/iotdeviceadvisor/api.go @@ -1601,14 +1601,18 @@ func (s DeleteSuiteDefinitionOutput) GoString() string { return s.String() } -// Information of a test device. A thing ARN or a certificate ARN is required. +// Information of a test device. A thing ARN, certificate ARN or device role +// ARN is required. type DeviceUnderTest struct { _ struct{} `type:"structure"` - // Lists devices certificate ARN. + // Lists device's certificate ARN. CertificateArn *string `locationName:"certificateArn" min:"20" type:"string"` - // Lists devices thing ARN. + // Lists device's role ARN. + DeviceRoleArn *string `locationName:"deviceRoleArn" min:"20" type:"string"` + + // Lists device's thing ARN. ThingArn *string `locationName:"thingArn" min:"20" type:"string"` } @@ -1636,6 +1640,9 @@ func (s *DeviceUnderTest) Validate() error { if s.CertificateArn != nil && len(*s.CertificateArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 20)) } + if s.DeviceRoleArn != nil && len(*s.DeviceRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("DeviceRoleArn", 20)) + } if s.ThingArn != nil && len(*s.ThingArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("ThingArn", 20)) } @@ -1652,6 +1659,12 @@ func (s *DeviceUnderTest) SetCertificateArn(v string) *DeviceUnderTest { return s } +// SetDeviceRoleArn sets the DeviceRoleArn field's value. +func (s *DeviceUnderTest) SetDeviceRoleArn(v string) *DeviceUnderTest { + s.DeviceRoleArn = &v + return s +} + // SetThingArn sets the ThingArn field's value. func (s *DeviceUnderTest) SetThingArn(v string) *DeviceUnderTest { s.ThingArn = &v @@ -1661,9 +1674,15 @@ func (s *DeviceUnderTest) SetThingArn(v string) *DeviceUnderTest { type GetEndpointInput struct { _ struct{} `type:"structure" nopayload:"true"` + // The authentication method used during the device connection. + AuthenticationMethod *string `location:"querystring" locationName:"authenticationMethod" type:"string" enum:"AuthenticationMethod"` + // The certificate ARN of the device. This is an optional parameter. CertificateArn *string `location:"querystring" locationName:"certificateArn" min:"20" type:"string"` + // The device role ARN of the device. This is an optional parameter. + DeviceRoleArn *string `location:"querystring" locationName:"deviceRoleArn" min:"20" type:"string"` + // The thing ARN of the device. This is an optional parameter. ThingArn *string `location:"querystring" locationName:"thingArn" min:"20" type:"string"` } @@ -1692,6 +1711,9 @@ func (s *GetEndpointInput) Validate() error { if s.CertificateArn != nil && len(*s.CertificateArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("CertificateArn", 20)) } + if s.DeviceRoleArn != nil && len(*s.DeviceRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("DeviceRoleArn", 20)) + } if s.ThingArn != nil && len(*s.ThingArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("ThingArn", 20)) } @@ -1702,12 +1724,24 @@ func (s *GetEndpointInput) Validate() error { return nil } +// SetAuthenticationMethod sets the AuthenticationMethod field's value. +func (s *GetEndpointInput) SetAuthenticationMethod(v string) *GetEndpointInput { + s.AuthenticationMethod = &v + return s +} + // SetCertificateArn sets the CertificateArn field's value. func (s *GetEndpointInput) SetCertificateArn(v string) *GetEndpointInput { s.CertificateArn = &v return s } +// SetDeviceRoleArn sets the DeviceRoleArn field's value. +func (s *GetEndpointInput) SetDeviceRoleArn(v string) *GetEndpointInput { + s.DeviceRoleArn = &v + return s +} + // SetThingArn sets the ThingArn field's value. func (s *GetEndpointInput) SetThingArn(v string) *GetEndpointInput { s.ThingArn = &v @@ -3930,12 +3964,34 @@ func (s *ValidationException) RequestID() string { return s.RespMetadata.RequestID } +const ( + // AuthenticationMethodX509clientCertificate is a AuthenticationMethod enum value + AuthenticationMethodX509clientCertificate = "X509ClientCertificate" + + // AuthenticationMethodSignatureVersion4 is a AuthenticationMethod enum value + AuthenticationMethodSignatureVersion4 = "SignatureVersion4" +) + +// AuthenticationMethod_Values returns all elements of the AuthenticationMethod enum +func AuthenticationMethod_Values() []string { + return []string{ + AuthenticationMethodX509clientCertificate, + AuthenticationMethodSignatureVersion4, + } +} + const ( // ProtocolMqttV311 is a Protocol enum value ProtocolMqttV311 = "MqttV3_1_1" // ProtocolMqttV5 is a Protocol enum value ProtocolMqttV5 = "MqttV5" + + // ProtocolMqttV311OverWebSocket is a Protocol enum value + ProtocolMqttV311OverWebSocket = "MqttV3_1_1_OverWebSocket" + + // ProtocolMqttV5OverWebSocket is a Protocol enum value + ProtocolMqttV5OverWebSocket = "MqttV5_OverWebSocket" ) // Protocol_Values returns all elements of the Protocol enum @@ -3943,6 +3999,8 @@ func Protocol_Values() []string { return []string{ ProtocolMqttV311, ProtocolMqttV5, + ProtocolMqttV311OverWebSocket, + ProtocolMqttV5OverWebSocket, } } diff --git a/service/kafka/api.go b/service/kafka/api.go index 63b8e28de95..b88b14e04b4 100644 --- a/service/kafka/api.go +++ b/service/kafka/api.go @@ -499,6 +499,103 @@ func (c *Kafka) CreateConfigurationWithContext(ctx aws.Context, input *CreateCon return out, req.Send() } +const opCreateVpcConnection = "CreateVpcConnection" + +// CreateVpcConnectionRequest generates a "aws/request.Request" representing the +// client's request for the CreateVpcConnection 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 CreateVpcConnection for more information on using the CreateVpcConnection +// 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 CreateVpcConnectionRequest method. +// req, resp := client.CreateVpcConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/CreateVpcConnection +func (c *Kafka) CreateVpcConnectionRequest(input *CreateVpcConnectionInput) (req *request.Request, output *CreateVpcConnectionOutput) { + op := &request.Operation{ + Name: opCreateVpcConnection, + HTTPMethod: "POST", + HTTPPath: "/v1/vpc-connection", + } + + if input == nil { + input = &CreateVpcConnectionInput{} + } + + output = &CreateVpcConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateVpcConnection API operation for Managed Streaming for Kafka. +// +// Creates a new Amazon MSK VPC connection. +// +// 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 Managed Streaming for Kafka's +// API operation CreateVpcConnection for usage and error information. +// +// Returned Error Types: +// +// - BadRequestException +// Returns information about an error. +// +// - InternalServerErrorException +// Returns information about an error. +// +// - UnauthorizedException +// Returns information about an error. +// +// - ForbiddenException +// Returns information about an error. +// +// - ServiceUnavailableException +// Returns information about an error. +// +// - TooManyRequestsException +// Returns information about an error. +// +// - ConflictException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/CreateVpcConnection +func (c *Kafka) CreateVpcConnection(input *CreateVpcConnectionInput) (*CreateVpcConnectionOutput, error) { + req, out := c.CreateVpcConnectionRequest(input) + return out, req.Send() +} + +// CreateVpcConnectionWithContext is the same as CreateVpcConnection with the addition of +// the ability to pass a context and additional request options. +// +// See CreateVpcConnection 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 *Kafka) CreateVpcConnectionWithContext(ctx aws.Context, input *CreateVpcConnectionInput, opts ...request.Option) (*CreateVpcConnectionOutput, error) { + req, out := c.CreateVpcConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteCluster = "DeleteCluster" // DeleteClusterRequest generates a "aws/request.Request" representing the @@ -588,6 +685,99 @@ func (c *Kafka) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterIn return out, req.Send() } +const opDeleteClusterPolicy = "DeleteClusterPolicy" + +// DeleteClusterPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteClusterPolicy 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 DeleteClusterPolicy for more information on using the DeleteClusterPolicy +// 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 DeleteClusterPolicyRequest method. +// req, resp := client.DeleteClusterPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DeleteClusterPolicy +func (c *Kafka) DeleteClusterPolicyRequest(input *DeleteClusterPolicyInput) (req *request.Request, output *DeleteClusterPolicyOutput) { + op := &request.Operation{ + Name: opDeleteClusterPolicy, + HTTPMethod: "DELETE", + HTTPPath: "/v1/clusters/{clusterArn}/policy", + } + + if input == nil { + input = &DeleteClusterPolicyInput{} + } + + output = &DeleteClusterPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteClusterPolicy API operation for Managed Streaming for Kafka. +// +// Deletes the MSK cluster policy specified by the Amazon Resource Name (ARN) +// in your request. +// +// 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 Managed Streaming for Kafka's +// API operation DeleteClusterPolicy for usage and error information. +// +// Returned Error Types: +// +// - NotFoundException +// Returns information about an error. +// +// - BadRequestException +// Returns information about an error. +// +// - UnauthorizedException +// Returns information about an error. +// +// - InternalServerErrorException +// Returns information about an error. +// +// - ForbiddenException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DeleteClusterPolicy +func (c *Kafka) DeleteClusterPolicy(input *DeleteClusterPolicyInput) (*DeleteClusterPolicyOutput, error) { + req, out := c.DeleteClusterPolicyRequest(input) + return out, req.Send() +} + +// DeleteClusterPolicyWithContext is the same as DeleteClusterPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteClusterPolicy 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 *Kafka) DeleteClusterPolicyWithContext(ctx aws.Context, input *DeleteClusterPolicyInput, opts ...request.Option) (*DeleteClusterPolicyOutput, error) { + req, out := c.DeleteClusterPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteConfiguration = "DeleteConfiguration" // DeleteConfigurationRequest generates a "aws/request.Request" representing the @@ -677,6 +867,94 @@ func (c *Kafka) DeleteConfigurationWithContext(ctx aws.Context, input *DeleteCon return out, req.Send() } +const opDeleteVpcConnection = "DeleteVpcConnection" + +// DeleteVpcConnectionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVpcConnection 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 DeleteVpcConnection for more information on using the DeleteVpcConnection +// 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 DeleteVpcConnectionRequest method. +// req, resp := client.DeleteVpcConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DeleteVpcConnection +func (c *Kafka) DeleteVpcConnectionRequest(input *DeleteVpcConnectionInput) (req *request.Request, output *DeleteVpcConnectionOutput) { + op := &request.Operation{ + Name: opDeleteVpcConnection, + HTTPMethod: "DELETE", + HTTPPath: "/v1/vpc-connection/{arn}", + } + + if input == nil { + input = &DeleteVpcConnectionInput{} + } + + output = &DeleteVpcConnectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteVpcConnection API operation for Managed Streaming for Kafka. +// +// Deletes the Amazon MSK VPC connection specified in your request. +// +// 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 Managed Streaming for Kafka's +// API operation DeleteVpcConnection for usage and error information. +// +// Returned Error Types: +// +// - NotFoundException +// Returns information about an error. +// +// - BadRequestException +// Returns information about an error. +// +// - InternalServerErrorException +// Returns information about an error. +// +// - ForbiddenException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DeleteVpcConnection +func (c *Kafka) DeleteVpcConnection(input *DeleteVpcConnectionInput) (*DeleteVpcConnectionOutput, error) { + req, out := c.DeleteVpcConnectionRequest(input) + return out, req.Send() +} + +// DeleteVpcConnectionWithContext is the same as DeleteVpcConnection with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteVpcConnection 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 *Kafka) DeleteVpcConnectionWithContext(ctx aws.Context, input *DeleteVpcConnectionInput, opts ...request.Option) (*DeleteVpcConnectionOutput, error) { + req, out := c.DeleteVpcConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeCluster = "DescribeCluster" // DescribeClusterRequest generates a "aws/request.Request" representing the @@ -1140,57 +1418,57 @@ func (c *Kafka) DescribeConfigurationRevisionWithContext(ctx aws.Context, input return out, req.Send() } -const opGetBootstrapBrokers = "GetBootstrapBrokers" +const opDescribeVpcConnection = "DescribeVpcConnection" -// GetBootstrapBrokersRequest generates a "aws/request.Request" representing the -// client's request for the GetBootstrapBrokers operation. The "output" return +// DescribeVpcConnectionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVpcConnection 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 GetBootstrapBrokers for more information on using the GetBootstrapBrokers +// See DescribeVpcConnection for more information on using the DescribeVpcConnection // 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 GetBootstrapBrokersRequest method. -// req, resp := client.GetBootstrapBrokersRequest(params) +// // Example sending a request using the DescribeVpcConnectionRequest method. +// req, resp := client.DescribeVpcConnectionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetBootstrapBrokers -func (c *Kafka) GetBootstrapBrokersRequest(input *GetBootstrapBrokersInput) (req *request.Request, output *GetBootstrapBrokersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeVpcConnection +func (c *Kafka) DescribeVpcConnectionRequest(input *DescribeVpcConnectionInput) (req *request.Request, output *DescribeVpcConnectionOutput) { op := &request.Operation{ - Name: opGetBootstrapBrokers, + Name: opDescribeVpcConnection, HTTPMethod: "GET", - HTTPPath: "/v1/clusters/{clusterArn}/bootstrap-brokers", + HTTPPath: "/v1/vpc-connection/{arn}", } if input == nil { - input = &GetBootstrapBrokersInput{} + input = &DescribeVpcConnectionInput{} } - output = &GetBootstrapBrokersOutput{} + output = &DescribeVpcConnectionOutput{} req = c.newRequest(op, input, output) return } -// GetBootstrapBrokers API operation for Managed Streaming for Kafka. +// DescribeVpcConnection API operation for Managed Streaming for Kafka. // -// A list of brokers that a client application can use to bootstrap. +// Displays information about the specified Amazon MSK VPC connection. // // 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 Managed Streaming for Kafka's -// API operation GetBootstrapBrokers for usage and error information. +// API operation DescribeVpcConnection for usage and error information. // // Returned Error Types: // @@ -1203,60 +1481,245 @@ func (c *Kafka) GetBootstrapBrokersRequest(input *GetBootstrapBrokersInput) (req // - InternalServerErrorException // Returns information about an error. // -// - ConflictException +// - ForbiddenException // Returns information about an error. // -// - ForbiddenException +// - NotFoundException // Returns information about an error. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetBootstrapBrokers -func (c *Kafka) GetBootstrapBrokers(input *GetBootstrapBrokersInput) (*GetBootstrapBrokersOutput, error) { - req, out := c.GetBootstrapBrokersRequest(input) +// - ServiceUnavailableException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeVpcConnection +func (c *Kafka) DescribeVpcConnection(input *DescribeVpcConnectionInput) (*DescribeVpcConnectionOutput, error) { + req, out := c.DescribeVpcConnectionRequest(input) return out, req.Send() } -// GetBootstrapBrokersWithContext is the same as GetBootstrapBrokers with the addition of +// DescribeVpcConnectionWithContext is the same as DescribeVpcConnection with the addition of // the ability to pass a context and additional request options. // -// See GetBootstrapBrokers for details on how to use this API operation. +// See DescribeVpcConnection 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 *Kafka) GetBootstrapBrokersWithContext(ctx aws.Context, input *GetBootstrapBrokersInput, opts ...request.Option) (*GetBootstrapBrokersOutput, error) { - req, out := c.GetBootstrapBrokersRequest(input) +func (c *Kafka) DescribeVpcConnectionWithContext(ctx aws.Context, input *DescribeVpcConnectionInput, opts ...request.Option) (*DescribeVpcConnectionOutput, error) { + req, out := c.DescribeVpcConnectionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetCompatibleKafkaVersions = "GetCompatibleKafkaVersions" +const opGetBootstrapBrokers = "GetBootstrapBrokers" -// GetCompatibleKafkaVersionsRequest generates a "aws/request.Request" representing the -// client's request for the GetCompatibleKafkaVersions operation. The "output" return +// GetBootstrapBrokersRequest generates a "aws/request.Request" representing the +// client's request for the GetBootstrapBrokers 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 GetCompatibleKafkaVersions for more information on using the GetCompatibleKafkaVersions +// See GetBootstrapBrokers for more information on using the GetBootstrapBrokers // 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 GetCompatibleKafkaVersionsRequest method. -// req, resp := client.GetCompatibleKafkaVersionsRequest(params) +// // Example sending a request using the GetBootstrapBrokersRequest method. +// req, resp := client.GetBootstrapBrokersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetCompatibleKafkaVersions -func (c *Kafka) GetCompatibleKafkaVersionsRequest(input *GetCompatibleKafkaVersionsInput) (req *request.Request, output *GetCompatibleKafkaVersionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetBootstrapBrokers +func (c *Kafka) GetBootstrapBrokersRequest(input *GetBootstrapBrokersInput) (req *request.Request, output *GetBootstrapBrokersOutput) { + op := &request.Operation{ + Name: opGetBootstrapBrokers, + HTTPMethod: "GET", + HTTPPath: "/v1/clusters/{clusterArn}/bootstrap-brokers", + } + + if input == nil { + input = &GetBootstrapBrokersInput{} + } + + output = &GetBootstrapBrokersOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetBootstrapBrokers API operation for Managed Streaming for Kafka. +// +// A list of brokers that a client application can use to bootstrap. +// +// 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 Managed Streaming for Kafka's +// API operation GetBootstrapBrokers for usage and error information. +// +// Returned Error Types: +// +// - BadRequestException +// Returns information about an error. +// +// - UnauthorizedException +// Returns information about an error. +// +// - InternalServerErrorException +// Returns information about an error. +// +// - ConflictException +// Returns information about an error. +// +// - ForbiddenException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetBootstrapBrokers +func (c *Kafka) GetBootstrapBrokers(input *GetBootstrapBrokersInput) (*GetBootstrapBrokersOutput, error) { + req, out := c.GetBootstrapBrokersRequest(input) + return out, req.Send() +} + +// GetBootstrapBrokersWithContext is the same as GetBootstrapBrokers with the addition of +// the ability to pass a context and additional request options. +// +// See GetBootstrapBrokers 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 *Kafka) GetBootstrapBrokersWithContext(ctx aws.Context, input *GetBootstrapBrokersInput, opts ...request.Option) (*GetBootstrapBrokersOutput, error) { + req, out := c.GetBootstrapBrokersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetClusterPolicy = "GetClusterPolicy" + +// GetClusterPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetClusterPolicy 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 GetClusterPolicy for more information on using the GetClusterPolicy +// 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 GetClusterPolicyRequest method. +// req, resp := client.GetClusterPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetClusterPolicy +func (c *Kafka) GetClusterPolicyRequest(input *GetClusterPolicyInput) (req *request.Request, output *GetClusterPolicyOutput) { + op := &request.Operation{ + Name: opGetClusterPolicy, + HTTPMethod: "GET", + HTTPPath: "/v1/clusters/{clusterArn}/policy", + } + + if input == nil { + input = &GetClusterPolicyInput{} + } + + output = &GetClusterPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetClusterPolicy API operation for Managed Streaming for Kafka. +// +// Retrieves the contents of the specified MSK cluster policy. +// +// 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 Managed Streaming for Kafka's +// API operation GetClusterPolicy for usage and error information. +// +// Returned Error Types: +// +// - NotFoundException +// Returns information about an error. +// +// - BadRequestException +// Returns information about an error. +// +// - UnauthorizedException +// Returns information about an error. +// +// - InternalServerErrorException +// Returns information about an error. +// +// - ForbiddenException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetClusterPolicy +func (c *Kafka) GetClusterPolicy(input *GetClusterPolicyInput) (*GetClusterPolicyOutput, error) { + req, out := c.GetClusterPolicyRequest(input) + return out, req.Send() +} + +// GetClusterPolicyWithContext is the same as GetClusterPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetClusterPolicy 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 *Kafka) GetClusterPolicyWithContext(ctx aws.Context, input *GetClusterPolicyInput, opts ...request.Option) (*GetClusterPolicyOutput, error) { + req, out := c.GetClusterPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCompatibleKafkaVersions = "GetCompatibleKafkaVersions" + +// GetCompatibleKafkaVersionsRequest generates a "aws/request.Request" representing the +// client's request for the GetCompatibleKafkaVersions 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 GetCompatibleKafkaVersions for more information on using the GetCompatibleKafkaVersions +// 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 GetCompatibleKafkaVersionsRequest method. +// req, resp := client.GetCompatibleKafkaVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/GetCompatibleKafkaVersions +func (c *Kafka) GetCompatibleKafkaVersionsRequest(input *GetCompatibleKafkaVersionsInput) (req *request.Request, output *GetCompatibleKafkaVersionsOutput) { op := &request.Operation{ Name: opGetCompatibleKafkaVersions, HTTPMethod: "GET", @@ -1328,36 +1791,36 @@ func (c *Kafka) GetCompatibleKafkaVersionsWithContext(ctx aws.Context, input *Ge return out, req.Send() } -const opListClusterOperations = "ListClusterOperations" +const opListClientVpcConnections = "ListClientVpcConnections" -// ListClusterOperationsRequest generates a "aws/request.Request" representing the -// client's request for the ListClusterOperations operation. The "output" return +// ListClientVpcConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the ListClientVpcConnections 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 ListClusterOperations for more information on using the ListClusterOperations +// See ListClientVpcConnections for more information on using the ListClientVpcConnections // 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 ListClusterOperationsRequest method. -// req, resp := client.ListClusterOperationsRequest(params) +// // Example sending a request using the ListClientVpcConnectionsRequest method. +// req, resp := client.ListClientVpcConnectionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClusterOperations -func (c *Kafka) ListClusterOperationsRequest(input *ListClusterOperationsInput) (req *request.Request, output *ListClusterOperationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClientVpcConnections +func (c *Kafka) ListClientVpcConnectionsRequest(input *ListClientVpcConnectionsInput) (req *request.Request, output *ListClientVpcConnectionsOutput) { op := &request.Operation{ - Name: opListClusterOperations, + Name: opListClientVpcConnections, HTTPMethod: "GET", - HTTPPath: "/v1/clusters/{clusterArn}/operations", + HTTPPath: "/v1/clusters/{clusterArn}/client-vpc-connections", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -1367,98 +1830,100 @@ func (c *Kafka) ListClusterOperationsRequest(input *ListClusterOperationsInput) } if input == nil { - input = &ListClusterOperationsInput{} + input = &ListClientVpcConnectionsInput{} } - output = &ListClusterOperationsOutput{} + output = &ListClientVpcConnectionsOutput{} req = c.newRequest(op, input, output) return } -// ListClusterOperations API operation for Managed Streaming for Kafka. +// ListClientVpcConnections API operation for Managed Streaming for Kafka. // -// Returns a list of all the operations that have been performed on the specified -// MSK cluster. +// Displays a list of client VPC connections. // // 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 Managed Streaming for Kafka's -// API operation ListClusterOperations for usage and error information. +// API operation ListClientVpcConnections for usage and error information. // // Returned Error Types: // -// - BadRequestException +// - ServiceUnavailableException // Returns information about an error. // -// - InternalServerErrorException +// - BadRequestException // Returns information about an error. // // - UnauthorizedException // Returns information about an error. // +// - InternalServerErrorException +// Returns information about an error. +// // - ForbiddenException // Returns information about an error. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClusterOperations -func (c *Kafka) ListClusterOperations(input *ListClusterOperationsInput) (*ListClusterOperationsOutput, error) { - req, out := c.ListClusterOperationsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClientVpcConnections +func (c *Kafka) ListClientVpcConnections(input *ListClientVpcConnectionsInput) (*ListClientVpcConnectionsOutput, error) { + req, out := c.ListClientVpcConnectionsRequest(input) return out, req.Send() } -// ListClusterOperationsWithContext is the same as ListClusterOperations with the addition of +// ListClientVpcConnectionsWithContext is the same as ListClientVpcConnections with the addition of // the ability to pass a context and additional request options. // -// See ListClusterOperations for details on how to use this API operation. +// See ListClientVpcConnections 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 *Kafka) ListClusterOperationsWithContext(ctx aws.Context, input *ListClusterOperationsInput, opts ...request.Option) (*ListClusterOperationsOutput, error) { - req, out := c.ListClusterOperationsRequest(input) +func (c *Kafka) ListClientVpcConnectionsWithContext(ctx aws.Context, input *ListClientVpcConnectionsInput, opts ...request.Option) (*ListClientVpcConnectionsOutput, error) { + req, out := c.ListClientVpcConnectionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListClusterOperationsPages iterates over the pages of a ListClusterOperations operation, +// ListClientVpcConnectionsPages iterates over the pages of a ListClientVpcConnections operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListClusterOperations method for more information on how to use this operation. +// See ListClientVpcConnections method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListClusterOperations operation. +// // Example iterating over at most 3 pages of a ListClientVpcConnections operation. // pageNum := 0 -// err := client.ListClusterOperationsPages(params, -// func(page *kafka.ListClusterOperationsOutput, lastPage bool) bool { +// err := client.ListClientVpcConnectionsPages(params, +// func(page *kafka.ListClientVpcConnectionsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *Kafka) ListClusterOperationsPages(input *ListClusterOperationsInput, fn func(*ListClusterOperationsOutput, bool) bool) error { - return c.ListClusterOperationsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Kafka) ListClientVpcConnectionsPages(input *ListClientVpcConnectionsInput, fn func(*ListClientVpcConnectionsOutput, bool) bool) error { + return c.ListClientVpcConnectionsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListClusterOperationsPagesWithContext same as ListClusterOperationsPages except +// ListClientVpcConnectionsPagesWithContext same as ListClientVpcConnectionsPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Kafka) ListClusterOperationsPagesWithContext(ctx aws.Context, input *ListClusterOperationsInput, fn func(*ListClusterOperationsOutput, bool) bool, opts ...request.Option) error { +func (c *Kafka) ListClientVpcConnectionsPagesWithContext(ctx aws.Context, input *ListClientVpcConnectionsInput, fn func(*ListClientVpcConnectionsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListClusterOperationsInput + var inCpy *ListClientVpcConnectionsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListClusterOperationsRequest(inCpy) + req, _ := c.ListClientVpcConnectionsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1466,7 +1931,7 @@ func (c *Kafka) ListClusterOperationsPagesWithContext(ctx aws.Context, input *Li } for p.Next() { - if !fn(p.Page().(*ListClusterOperationsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListClientVpcConnectionsOutput), !p.HasNextPage()) { break } } @@ -1474,36 +1939,36 @@ func (c *Kafka) ListClusterOperationsPagesWithContext(ctx aws.Context, input *Li return p.Err() } -const opListClusters = "ListClusters" +const opListClusterOperations = "ListClusterOperations" -// ListClustersRequest generates a "aws/request.Request" representing the -// client's request for the ListClusters operation. The "output" return +// ListClusterOperationsRequest generates a "aws/request.Request" representing the +// client's request for the ListClusterOperations 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 ListClusters for more information on using the ListClusters +// See ListClusterOperations for more information on using the ListClusterOperations // 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 ListClustersRequest method. -// req, resp := client.ListClustersRequest(params) +// // Example sending a request using the ListClusterOperationsRequest method. +// req, resp := client.ListClusterOperationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClusters -func (c *Kafka) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClusterOperations +func (c *Kafka) ListClusterOperationsRequest(input *ListClusterOperationsInput) (req *request.Request, output *ListClusterOperationsOutput) { op := &request.Operation{ - Name: opListClusters, + Name: opListClusterOperations, HTTPMethod: "GET", - HTTPPath: "/v1/clusters", + HTTPPath: "/v1/clusters/{clusterArn}/operations", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -1513,24 +1978,25 @@ func (c *Kafka) ListClustersRequest(input *ListClustersInput) (req *request.Requ } if input == nil { - input = &ListClustersInput{} + input = &ListClusterOperationsInput{} } - output = &ListClustersOutput{} + output = &ListClusterOperationsOutput{} req = c.newRequest(op, input, output) return } -// ListClusters API operation for Managed Streaming for Kafka. +// ListClusterOperations API operation for Managed Streaming for Kafka. // -// Returns a list of all the MSK clusters in the current Region. +// Returns a list of all the operations that have been performed on the specified +// MSK cluster. // // 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 Managed Streaming for Kafka's -// API operation ListClusters for usage and error information. +// API operation ListClusterOperations for usage and error information. // // Returned Error Types: // @@ -1546,41 +2012,186 @@ func (c *Kafka) ListClustersRequest(input *ListClustersInput) (req *request.Requ // - ForbiddenException // Returns information about an error. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClusters -func (c *Kafka) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { - req, out := c.ListClustersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClusterOperations +func (c *Kafka) ListClusterOperations(input *ListClusterOperationsInput) (*ListClusterOperationsOutput, error) { + req, out := c.ListClusterOperationsRequest(input) return out, req.Send() } -// ListClustersWithContext is the same as ListClusters with the addition of +// ListClusterOperationsWithContext is the same as ListClusterOperations with the addition of // the ability to pass a context and additional request options. // -// See ListClusters for details on how to use this API operation. +// See ListClusterOperations 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 *Kafka) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { - req, out := c.ListClustersRequest(input) +func (c *Kafka) ListClusterOperationsWithContext(ctx aws.Context, input *ListClusterOperationsInput, opts ...request.Option) (*ListClusterOperationsOutput, error) { + req, out := c.ListClusterOperationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListClustersPages iterates over the pages of a ListClusters operation, +// ListClusterOperationsPages iterates over the pages of a ListClusterOperations operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListClusters method for more information on how to use this operation. +// See ListClusterOperations method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // -// // Example iterating over at most 3 pages of a ListClusters operation. +// // Example iterating over at most 3 pages of a ListClusterOperations operation. // pageNum := 0 -// err := client.ListClustersPages(params, -// func(page *kafka.ListClustersOutput, lastPage bool) bool { -// pageNum++ +// err := client.ListClusterOperationsPages(params, +// func(page *kafka.ListClusterOperationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Kafka) ListClusterOperationsPages(input *ListClusterOperationsInput, fn func(*ListClusterOperationsOutput, bool) bool) error { + return c.ListClusterOperationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListClusterOperationsPagesWithContext same as ListClusterOperationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kafka) ListClusterOperationsPagesWithContext(ctx aws.Context, input *ListClusterOperationsInput, fn func(*ListClusterOperationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListClusterOperationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListClusterOperationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListClusterOperationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListClusters = "ListClusters" + +// ListClustersRequest generates a "aws/request.Request" representing the +// client's request for the ListClusters 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 ListClusters for more information on using the ListClusters +// 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 ListClustersRequest method. +// req, resp := client.ListClustersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClusters +func (c *Kafka) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { + op := &request.Operation{ + Name: opListClusters, + HTTPMethod: "GET", + HTTPPath: "/v1/clusters", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListClustersInput{} + } + + output = &ListClustersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListClusters API operation for Managed Streaming for Kafka. +// +// Returns a list of all the MSK clusters in the current Region. +// +// 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 Managed Streaming for Kafka's +// API operation ListClusters for usage and error information. +// +// Returned Error Types: +// +// - BadRequestException +// Returns information about an error. +// +// - InternalServerErrorException +// Returns information about an error. +// +// - UnauthorizedException +// Returns information about an error. +// +// - ForbiddenException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClusters +func (c *Kafka) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { + req, out := c.ListClustersRequest(input) + return out, req.Send() +} + +// ListClustersWithContext is the same as ListClusters with the addition of +// the ability to pass a context and additional request options. +// +// See ListClusters 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 *Kafka) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { + req, out := c.ListClustersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListClustersPages iterates over the pages of a ListClusters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListClusters method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListClusters operation. +// pageNum := 0 +// err := client.ListClustersPages(params, +// func(page *kafka.ListClustersOutput, lastPage bool) bool { +// pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) @@ -2592,60 +3203,69 @@ func (c *Kafka) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsF return out, req.Send() } -const opRebootBroker = "RebootBroker" +const opListVpcConnections = "ListVpcConnections" -// RebootBrokerRequest generates a "aws/request.Request" representing the -// client's request for the RebootBroker operation. The "output" return +// ListVpcConnectionsRequest generates a "aws/request.Request" representing the +// client's request for the ListVpcConnections 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 RebootBroker for more information on using the RebootBroker +// See ListVpcConnections for more information on using the ListVpcConnections // 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 RebootBrokerRequest method. -// req, resp := client.RebootBrokerRequest(params) +// // Example sending a request using the ListVpcConnectionsRequest method. +// req, resp := client.ListVpcConnectionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/RebootBroker -func (c *Kafka) RebootBrokerRequest(input *RebootBrokerInput) (req *request.Request, output *RebootBrokerOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListVpcConnections +func (c *Kafka) ListVpcConnectionsRequest(input *ListVpcConnectionsInput) (req *request.Request, output *ListVpcConnectionsOutput) { op := &request.Operation{ - Name: opRebootBroker, - HTTPMethod: "PUT", - HTTPPath: "/v1/clusters/{clusterArn}/reboot-broker", + Name: opListVpcConnections, + HTTPMethod: "GET", + HTTPPath: "/v1/vpc-connections", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &RebootBrokerInput{} + input = &ListVpcConnectionsInput{} } - output = &RebootBrokerOutput{} + output = &ListVpcConnectionsOutput{} req = c.newRequest(op, input, output) return } -// RebootBroker API operation for Managed Streaming for Kafka. +// ListVpcConnections API operation for Managed Streaming for Kafka. // -// Executes a reboot on a broker. +// Displays a list of Amazon MSK VPC connections. // // 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 Managed Streaming for Kafka's -// API operation RebootBroker for usage and error information. +// API operation ListVpcConnections for usage and error information. // // Returned Error Types: // +// - ServiceUnavailableException +// Returns information about an error. +// // - BadRequestException // Returns information about an error. // @@ -2658,89 +3278,131 @@ func (c *Kafka) RebootBrokerRequest(input *RebootBrokerInput) (req *request.Requ // - ForbiddenException // Returns information about an error. // -// - NotFoundException -// Returns information about an error. -// -// - ServiceUnavailableException -// Returns information about an error. -// -// - TooManyRequestsException -// Returns information about an error. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/RebootBroker -func (c *Kafka) RebootBroker(input *RebootBrokerInput) (*RebootBrokerOutput, error) { - req, out := c.RebootBrokerRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListVpcConnections +func (c *Kafka) ListVpcConnections(input *ListVpcConnectionsInput) (*ListVpcConnectionsOutput, error) { + req, out := c.ListVpcConnectionsRequest(input) return out, req.Send() } -// RebootBrokerWithContext is the same as RebootBroker with the addition of +// ListVpcConnectionsWithContext is the same as ListVpcConnections with the addition of // the ability to pass a context and additional request options. // -// See RebootBroker for details on how to use this API operation. +// See ListVpcConnections 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 *Kafka) RebootBrokerWithContext(ctx aws.Context, input *RebootBrokerInput, opts ...request.Option) (*RebootBrokerOutput, error) { - req, out := c.RebootBrokerRequest(input) +func (c *Kafka) ListVpcConnectionsWithContext(ctx aws.Context, input *ListVpcConnectionsInput, opts ...request.Option) (*ListVpcConnectionsOutput, error) { + req, out := c.ListVpcConnectionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +// ListVpcConnectionsPages iterates over the pages of a ListVpcConnections operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListVpcConnections method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListVpcConnections operation. +// pageNum := 0 +// err := client.ListVpcConnectionsPages(params, +// func(page *kafka.ListVpcConnectionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Kafka) ListVpcConnectionsPages(input *ListVpcConnectionsInput, fn func(*ListVpcConnectionsOutput, bool) bool) error { + return c.ListVpcConnectionsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// ListVpcConnectionsPagesWithContext same as ListVpcConnectionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kafka) ListVpcConnectionsPagesWithContext(ctx aws.Context, input *ListVpcConnectionsInput, fn func(*ListVpcConnectionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListVpcConnectionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListVpcConnectionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListVpcConnectionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opPutClusterPolicy = "PutClusterPolicy" + +// PutClusterPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutClusterPolicy operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TagResource for more information on using the TagResource +// See PutClusterPolicy for more information on using the PutClusterPolicy // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the PutClusterPolicyRequest method. +// req, resp := client.PutClusterPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/TagResource -func (c *Kafka) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/PutClusterPolicy +func (c *Kafka) PutClusterPolicyRequest(input *PutClusterPolicyInput) (req *request.Request, output *PutClusterPolicyOutput) { op := &request.Operation{ - Name: opTagResource, - HTTPMethod: "POST", - HTTPPath: "/v1/tags/{resourceArn}", + Name: opPutClusterPolicy, + HTTPMethod: "PUT", + HTTPPath: "/v1/clusters/{clusterArn}/policy", } if input == nil { - input = &TagResourceInput{} + input = &PutClusterPolicyInput{} } - output = &TagResourceOutput{} + output = &PutClusterPolicyOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for Managed Streaming for Kafka. +// PutClusterPolicy API operation for Managed Streaming for Kafka. // -// Adds tags to the specified MSK resource. +// Creates or updates the specified MSK cluster policy. If updating the policy, +// the currentVersion field is required in the request payload. // // 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 Managed Streaming for Kafka's -// API operation TagResource for usage and error information. +// API operation PutClusterPolicy for usage and error information. // // Returned Error Types: // @@ -2750,12 +3412,291 @@ func (c *Kafka) TagResourceRequest(input *TagResourceInput) (req *request.Reques // - BadRequestException // Returns information about an error. // +// - UnauthorizedException +// Returns information about an error. +// // - InternalServerErrorException // Returns information about an error. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/TagResource -func (c *Kafka) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// - ForbiddenException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/PutClusterPolicy +func (c *Kafka) PutClusterPolicy(input *PutClusterPolicyInput) (*PutClusterPolicyOutput, error) { + req, out := c.PutClusterPolicyRequest(input) + return out, req.Send() +} + +// PutClusterPolicyWithContext is the same as PutClusterPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutClusterPolicy 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 *Kafka) PutClusterPolicyWithContext(ctx aws.Context, input *PutClusterPolicyInput, opts ...request.Option) (*PutClusterPolicyOutput, error) { + req, out := c.PutClusterPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRebootBroker = "RebootBroker" + +// RebootBrokerRequest generates a "aws/request.Request" representing the +// client's request for the RebootBroker 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 RebootBroker for more information on using the RebootBroker +// 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 RebootBrokerRequest method. +// req, resp := client.RebootBrokerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/RebootBroker +func (c *Kafka) RebootBrokerRequest(input *RebootBrokerInput) (req *request.Request, output *RebootBrokerOutput) { + op := &request.Operation{ + Name: opRebootBroker, + HTTPMethod: "PUT", + HTTPPath: "/v1/clusters/{clusterArn}/reboot-broker", + } + + if input == nil { + input = &RebootBrokerInput{} + } + + output = &RebootBrokerOutput{} + req = c.newRequest(op, input, output) + return +} + +// RebootBroker API operation for Managed Streaming for Kafka. +// +// Executes a reboot on a broker. +// +// 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 Managed Streaming for Kafka's +// API operation RebootBroker for usage and error information. +// +// Returned Error Types: +// +// - BadRequestException +// Returns information about an error. +// +// - UnauthorizedException +// Returns information about an error. +// +// - InternalServerErrorException +// Returns information about an error. +// +// - ForbiddenException +// Returns information about an error. +// +// - NotFoundException +// Returns information about an error. +// +// - ServiceUnavailableException +// Returns information about an error. +// +// - TooManyRequestsException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/RebootBroker +func (c *Kafka) RebootBroker(input *RebootBrokerInput) (*RebootBrokerOutput, error) { + req, out := c.RebootBrokerRequest(input) + return out, req.Send() +} + +// RebootBrokerWithContext is the same as RebootBroker with the addition of +// the ability to pass a context and additional request options. +// +// See RebootBroker 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 *Kafka) RebootBrokerWithContext(ctx aws.Context, input *RebootBrokerInput, opts ...request.Option) (*RebootBrokerOutput, error) { + req, out := c.RebootBrokerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRejectClientVpcConnection = "RejectClientVpcConnection" + +// RejectClientVpcConnectionRequest generates a "aws/request.Request" representing the +// client's request for the RejectClientVpcConnection 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 RejectClientVpcConnection for more information on using the RejectClientVpcConnection +// 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 RejectClientVpcConnectionRequest method. +// req, resp := client.RejectClientVpcConnectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/RejectClientVpcConnection +func (c *Kafka) RejectClientVpcConnectionRequest(input *RejectClientVpcConnectionInput) (req *request.Request, output *RejectClientVpcConnectionOutput) { + op := &request.Operation{ + Name: opRejectClientVpcConnection, + HTTPMethod: "PUT", + HTTPPath: "/v1/clusters/{clusterArn}/client-vpc-connection", + } + + if input == nil { + input = &RejectClientVpcConnectionInput{} + } + + output = &RejectClientVpcConnectionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// RejectClientVpcConnection API operation for Managed Streaming for Kafka. +// +// 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 Managed Streaming for Kafka's +// API operation RejectClientVpcConnection for usage and error information. +// +// Returned Error Types: +// +// - ServiceUnavailableException +// Returns information about an error. +// +// - BadRequestException +// Returns information about an error. +// +// - UnauthorizedException +// Returns information about an error. +// +// - InternalServerErrorException +// Returns information about an error. +// +// - ForbiddenException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/RejectClientVpcConnection +func (c *Kafka) RejectClientVpcConnection(input *RejectClientVpcConnectionInput) (*RejectClientVpcConnectionOutput, error) { + req, out := c.RejectClientVpcConnectionRequest(input) + return out, req.Send() +} + +// RejectClientVpcConnectionWithContext is the same as RejectClientVpcConnection with the addition of +// the ability to pass a context and additional request options. +// +// See RejectClientVpcConnection 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 *Kafka) RejectClientVpcConnectionWithContext(ctx aws.Context, input *RejectClientVpcConnectionInput, opts ...request.Option) (*RejectClientVpcConnectionOutput, error) { + req, out := c.RejectClientVpcConnectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/TagResource +func (c *Kafka) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/v1/tags/{resourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Managed Streaming for Kafka. +// +// Adds tags to the specified MSK resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Managed Streaming for Kafka's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - NotFoundException +// Returns information about an error. +// +// - BadRequestException +// Returns information about an error. +// +// - InternalServerErrorException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/TagResource +func (c *Kafka) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) return out, req.Send() } @@ -3469,7 +4410,7 @@ func (c *Kafka) UpdateConnectivityRequest(input *UpdateConnectivityInput) (req * // UpdateConnectivity API operation for Managed Streaming for Kafka. // -// Updates the connectivity configuration for the cluster. +// Updates the connectivity configuration for the MSK cluster. // // 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 @@ -4259,6 +5200,9 @@ type BrokerNodeGroupInfo struct { // Contains information about storage volumes attached to MSK broker nodes. StorageInfo *StorageInfo `locationName:"storageInfo" type:"structure"` + + // The zoneIds for the cluster. + ZoneIds []*string `locationName:"zoneIds" type:"list"` } // String returns the string representation. @@ -4339,6 +5283,12 @@ func (s *BrokerNodeGroupInfo) SetStorageInfo(v *StorageInfo) *BrokerNodeGroupInf return s } +// SetZoneIds sets the ZoneIds field's value. +func (s *BrokerNodeGroupInfo) SetZoneIds(v []*string) *BrokerNodeGroupInfo { + s.ZoneIds = v + return s +} + // BrokerNodeInfo type BrokerNodeInfo struct { _ struct{} `type:"structure"` @@ -4518,12 +5468,82 @@ func (s *ClientAuthentication) SetUnauthenticated(v *Unauthenticated) *ClientAut return s } -// Details of the CloudWatch Logs destination for broker logs. -type CloudWatchLogs struct { +// The client VPC connection object. +type ClientVpcConnection struct { _ struct{} `type:"structure"` - // Specifies whether broker logs get sent to the specified CloudWatch Logs destination. - // + // The VPC connection authentication type. + Authentication *string `locationName:"authentication" type:"string"` + + // The creation time of the VPC connection. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"` + + // The owner of the VPC connection. + Owner *string `locationName:"owner" type:"string"` + + // The state of a configuration. + State *string `locationName:"state" type:"string" enum:"VpcConnectionState"` + + // The Amazon Resource Name (ARN) of the VPC connection. + // + // VpcConnectionArn is a required field + VpcConnectionArn *string `locationName:"vpcConnectionArn" 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 ClientVpcConnection) 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 ClientVpcConnection) GoString() string { + return s.String() +} + +// SetAuthentication sets the Authentication field's value. +func (s *ClientVpcConnection) SetAuthentication(v string) *ClientVpcConnection { + s.Authentication = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ClientVpcConnection) SetCreationTime(v time.Time) *ClientVpcConnection { + s.CreationTime = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *ClientVpcConnection) SetOwner(v string) *ClientVpcConnection { + s.Owner = &v + return s +} + +// SetState sets the State field's value. +func (s *ClientVpcConnection) SetState(v string) *ClientVpcConnection { + s.State = &v + return s +} + +// SetVpcConnectionArn sets the VpcConnectionArn field's value. +func (s *ClientVpcConnection) SetVpcConnectionArn(v string) *ClientVpcConnection { + s.VpcConnectionArn = &v + return s +} + +// Details of the CloudWatch Logs destination for broker logs. +type CloudWatchLogs struct { + _ struct{} `type:"structure"` + + // Specifies whether broker logs get sent to the specified CloudWatch Logs destination. + // // Enabled is a required field Enabled *bool `locationName:"enabled" type:"boolean" required:"true"` @@ -4929,6 +5949,10 @@ type ClusterOperationInfo struct { // Information about cluster attributes after a cluster is updated. TargetClusterInfo *MutableClusterInfo `locationName:"targetClusterInfo" type:"structure"` + + // Description of the VPC connection for CreateVpcConnection and DeleteVpcConnection + // operations. + VpcConnectionInfo *VpcConnectionInfo `locationName:"vpcConnectionInfo" type:"structure"` } // String returns the string representation. @@ -5015,6 +6039,12 @@ func (s *ClusterOperationInfo) SetTargetClusterInfo(v *MutableClusterInfo) *Clus return s } +// SetVpcConnectionInfo sets the VpcConnectionInfo field's value. +func (s *ClusterOperationInfo) SetVpcConnectionInfo(v *VpcConnectionInfo) *ClusterOperationInfo { + s.VpcConnectionInfo = v + return s +} + // Step taken during a cluster operation. type ClusterOperationStep struct { _ struct{} `type:"structure"` @@ -5137,6 +6167,8 @@ type Configuration struct { // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` + // The time when the configuration was created. + // // CreationTime is a required field CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` @@ -5416,6 +6448,9 @@ type ConnectivityInfo struct { // Public access control for brokers. PublicAccess *PublicAccess `locationName:"publicAccess" type:"structure"` + + // VpcConnectivity control for brokers. + VpcConnectivity *VpcConnectivity `locationName:"vpcConnectivity" type:"structure"` } // String returns the string representation. @@ -5442,6 +6477,12 @@ func (s *ConnectivityInfo) SetPublicAccess(v *PublicAccess) *ConnectivityInfo { return s } +// SetVpcConnectivity sets the VpcConnectivity field's value. +func (s *ConnectivityInfo) SetVpcConnectivity(v *VpcConnectivity) *ConnectivityInfo { + s.VpcConnectivity = v + return s +} + // Creates a cluster. type CreateClusterInput struct { _ struct{} `type:"structure"` @@ -5982,6 +7023,210 @@ func (s *CreateConfigurationOutput) SetState(v string) *CreateConfigurationOutpu return s } +// Request body for CreateVpcConnection. +type CreateVpcConnectionInput struct { + _ struct{} `type:"structure"` + + // Authentication is a required field + Authentication *string `locationName:"authentication" type:"string" required:"true"` + + // The list of subnets in the client VPC. + // + // ClientSubnets is a required field + ClientSubnets []*string `locationName:"clientSubnets" type:"list" required:"true"` + + // The list of security groups to attach to the VPC connection. + // + // SecurityGroups is a required field + SecurityGroups []*string `locationName:"securityGroups" type:"list" required:"true"` + + // Create tags when creating the VPC connection. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The Amazon Resource Name (ARN) of the cluster. + // + // TargetClusterArn is a required field + TargetClusterArn *string `locationName:"targetClusterArn" type:"string" required:"true"` + + // The VPC ID of the VPC connection. + // + // VpcId is a required field + VpcId *string `locationName:"vpcId" 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 CreateVpcConnectionInput) 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 CreateVpcConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateVpcConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVpcConnectionInput"} + if s.Authentication == nil { + invalidParams.Add(request.NewErrParamRequired("Authentication")) + } + if s.ClientSubnets == nil { + invalidParams.Add(request.NewErrParamRequired("ClientSubnets")) + } + if s.SecurityGroups == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroups")) + } + if s.TargetClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("TargetClusterArn")) + } + if s.VpcId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthentication sets the Authentication field's value. +func (s *CreateVpcConnectionInput) SetAuthentication(v string) *CreateVpcConnectionInput { + s.Authentication = &v + return s +} + +// SetClientSubnets sets the ClientSubnets field's value. +func (s *CreateVpcConnectionInput) SetClientSubnets(v []*string) *CreateVpcConnectionInput { + s.ClientSubnets = v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *CreateVpcConnectionInput) SetSecurityGroups(v []*string) *CreateVpcConnectionInput { + s.SecurityGroups = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateVpcConnectionInput) SetTags(v map[string]*string) *CreateVpcConnectionInput { + s.Tags = v + return s +} + +// SetTargetClusterArn sets the TargetClusterArn field's value. +func (s *CreateVpcConnectionInput) SetTargetClusterArn(v string) *CreateVpcConnectionInput { + s.TargetClusterArn = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *CreateVpcConnectionInput) SetVpcId(v string) *CreateVpcConnectionInput { + s.VpcId = &v + return s +} + +// Response body for CreateVpcConnection +type CreateVpcConnectionOutput struct { + _ struct{} `type:"structure"` + + Authentication *string `locationName:"authentication" type:"string"` + + // The list of subnets in the client VPC. + ClientSubnets []*string `locationName:"clientSubnets" type:"list"` + + // The time when the VPC connection was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"` + + // The list of security groups attached to the VPC connection. + SecurityGroups []*string `locationName:"securityGroups" type:"list"` + + // The state of the VPC connection. The only possible state is CREATING. + State *string `locationName:"state" type:"string" enum:"VpcConnectionState"` + + // Tags attached to the VPC connection. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The Amazon Resource Name (ARN) of the VPC connection. + VpcConnectionArn *string `locationName:"vpcConnectionArn" type:"string"` + + // The VPC ID of the VPC connection. + VpcId *string `locationName:"vpcId" 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 CreateVpcConnectionOutput) 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 CreateVpcConnectionOutput) GoString() string { + return s.String() +} + +// SetAuthentication sets the Authentication field's value. +func (s *CreateVpcConnectionOutput) SetAuthentication(v string) *CreateVpcConnectionOutput { + s.Authentication = &v + return s +} + +// SetClientSubnets sets the ClientSubnets field's value. +func (s *CreateVpcConnectionOutput) SetClientSubnets(v []*string) *CreateVpcConnectionOutput { + s.ClientSubnets = v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *CreateVpcConnectionOutput) SetCreationTime(v time.Time) *CreateVpcConnectionOutput { + s.CreationTime = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *CreateVpcConnectionOutput) SetSecurityGroups(v []*string) *CreateVpcConnectionOutput { + s.SecurityGroups = v + return s +} + +// SetState sets the State field's value. +func (s *CreateVpcConnectionOutput) SetState(v string) *CreateVpcConnectionOutput { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateVpcConnectionOutput) SetTags(v map[string]*string) *CreateVpcConnectionOutput { + s.Tags = v + return s +} + +// SetVpcConnectionArn sets the VpcConnectionArn field's value. +func (s *CreateVpcConnectionOutput) SetVpcConnectionArn(v string) *CreateVpcConnectionOutput { + s.VpcConnectionArn = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *CreateVpcConnectionOutput) SetVpcId(v string) *CreateVpcConnectionOutput { + s.VpcId = &v + return s +} + type DeleteClusterInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -6079,6 +7324,77 @@ func (s *DeleteClusterOutput) SetState(v string) *DeleteClusterOutput { return s } +// Request body for DeleteClusterPolicy. +type DeleteClusterPolicyInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" 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 DeleteClusterPolicyInput) 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 DeleteClusterPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteClusterPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteClusterPolicyInput"} + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *DeleteClusterPolicyInput) SetClusterArn(v string) *DeleteClusterPolicyInput { + s.ClusterArn = &v + return s +} + +// Response body for DeleteClusterPolicy. +type DeleteClusterPolicyOutput 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 DeleteClusterPolicyOutput) 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 DeleteClusterPolicyOutput) GoString() string { + return s.String() +} + // Request body for DeleteConfiguration. type DeleteConfigurationInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -6171,6 +7487,95 @@ func (s *DeleteConfigurationOutput) SetState(v string) *DeleteConfigurationOutpu return s } +// Request body for DeleteVpcConnection. +type DeleteVpcConnectionInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // Arn is a required field + Arn *string `location:"uri" locationName:"arn" 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 DeleteVpcConnectionInput) 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 DeleteVpcConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteVpcConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVpcConnectionInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DeleteVpcConnectionInput) SetArn(v string) *DeleteVpcConnectionInput { + s.Arn = &v + return s +} + +// Response body for DeleteVpcConnection. +type DeleteVpcConnectionOutput struct { + _ struct{} `type:"structure"` + + // The state of the VPC connection. The only possible state is DELETING. + State *string `locationName:"state" type:"string" enum:"VpcConnectionState"` + + // The Amazon Resource Name (ARN) of the VPC connection. + VpcConnectionArn *string `locationName:"vpcConnectionArn" 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 DeleteVpcConnectionOutput) 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 DeleteVpcConnectionOutput) GoString() string { + return s.String() +} + +// SetState sets the State field's value. +func (s *DeleteVpcConnectionOutput) SetState(v string) *DeleteVpcConnectionOutput { + s.State = &v + return s +} + +// SetVpcConnectionArn sets the VpcConnectionArn field's value. +func (s *DeleteVpcConnectionOutput) SetVpcConnectionArn(v string) *DeleteVpcConnectionOutput { + s.VpcConnectionArn = &v + return s +} + type DescribeClusterInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -6671,6 +8076,158 @@ func (s *DescribeConfigurationRevisionOutput) SetServerProperties(v []byte) *Des return s } +type DescribeVpcConnectionInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // Arn is a required field + Arn *string `location:"uri" locationName:"arn" 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 DescribeVpcConnectionInput) 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 DescribeVpcConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeVpcConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeVpcConnectionInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DescribeVpcConnectionInput) SetArn(v string) *DescribeVpcConnectionInput { + s.Arn = &v + return s +} + +// Response body for DescribeVpcConnection. +type DescribeVpcConnectionOutput struct { + _ struct{} `type:"structure"` + + // The authentication type of the VPC connection. + Authentication *string `locationName:"authentication" type:"string"` + + // The creation time of the VPC connection. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"` + + // The list of security groups attached to the VPC connection. + SecurityGroups []*string `locationName:"securityGroups" type:"list"` + + // The state of the VPC connection. The possible states are AVAILABLE, INACTIVE, + // DEACTIVATING, DELETING, CREATING, REJECTING, REJECTED and FAILED. + State *string `locationName:"state" type:"string" enum:"VpcConnectionState"` + + // The list of subnets in the client VPC. + Subnets []*string `locationName:"subnets" type:"list"` + + // Tags attached to the VPC connection. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The Amazon Resource Name (ARN) of the cluster. + TargetClusterArn *string `locationName:"targetClusterArn" type:"string"` + + // The Amazon Resource Name (ARN) of the VPC connection. + VpcConnectionArn *string `locationName:"vpcConnectionArn" type:"string"` + + // The VPC ID of the VPC connection. + VpcId *string `locationName:"vpcId" 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 DescribeVpcConnectionOutput) 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 DescribeVpcConnectionOutput) GoString() string { + return s.String() +} + +// SetAuthentication sets the Authentication field's value. +func (s *DescribeVpcConnectionOutput) SetAuthentication(v string) *DescribeVpcConnectionOutput { + s.Authentication = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeVpcConnectionOutput) SetCreationTime(v time.Time) *DescribeVpcConnectionOutput { + s.CreationTime = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *DescribeVpcConnectionOutput) SetSecurityGroups(v []*string) *DescribeVpcConnectionOutput { + s.SecurityGroups = v + return s +} + +// SetState sets the State field's value. +func (s *DescribeVpcConnectionOutput) SetState(v string) *DescribeVpcConnectionOutput { + s.State = &v + return s +} + +// SetSubnets sets the Subnets field's value. +func (s *DescribeVpcConnectionOutput) SetSubnets(v []*string) *DescribeVpcConnectionOutput { + s.Subnets = v + return s +} + +// SetTags sets the Tags field's value. +func (s *DescribeVpcConnectionOutput) SetTags(v map[string]*string) *DescribeVpcConnectionOutput { + s.Tags = v + return s +} + +// SetTargetClusterArn sets the TargetClusterArn field's value. +func (s *DescribeVpcConnectionOutput) SetTargetClusterArn(v string) *DescribeVpcConnectionOutput { + s.TargetClusterArn = &v + return s +} + +// SetVpcConnectionArn sets the VpcConnectionArn field's value. +func (s *DescribeVpcConnectionOutput) SetVpcConnectionArn(v string) *DescribeVpcConnectionOutput { + s.VpcConnectionArn = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *DescribeVpcConnectionOutput) SetVpcId(v string) *DescribeVpcConnectionOutput { + s.VpcId = &v + return s +} + // Contains information about the EBS storage volumes attached to Apache Kafka // broker nodes. type EBSStorageInfo struct { @@ -7136,6 +8693,18 @@ type GetBootstrapBrokersOutput struct { // pairs. The following is an example. // { "BootstrapBrokerStringTls": "b-3.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-1.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094,b-2.exampleClusterName.abcde.c2.kafka.us-east-1.amazonaws.com:9094"} BootstrapBrokerStringTls *string `locationName:"bootstrapBrokerStringTls" type:"string"` + + // A string containing one or more dns name (or IP) and SASL IAM port pairs + // for VPC connectivity. + BootstrapBrokerStringVpcConnectivitySaslIam *string `locationName:"bootstrapBrokerStringVpcConnectivitySaslIam" type:"string"` + + // A string containing one or more dns name (or IP) and SASL SCRAM port pairs + // for VPC connectivity. + BootstrapBrokerStringVpcConnectivitySaslScram *string `locationName:"bootstrapBrokerStringVpcConnectivitySaslScram" type:"string"` + + // A string containing one or more dns name (or IP) and Tls port pairs for VPC + // connectivity. + BootstrapBrokerStringVpcConnectivityTls *string `locationName:"bootstrapBrokerStringVpcConnectivityTls" type:"string"` } // String returns the string representation. @@ -7198,10 +8767,30 @@ func (s *GetBootstrapBrokersOutput) SetBootstrapBrokerStringTls(v string) *GetBo return s } -type GetCompatibleKafkaVersionsInput struct { +// SetBootstrapBrokerStringVpcConnectivitySaslIam sets the BootstrapBrokerStringVpcConnectivitySaslIam field's value. +func (s *GetBootstrapBrokersOutput) SetBootstrapBrokerStringVpcConnectivitySaslIam(v string) *GetBootstrapBrokersOutput { + s.BootstrapBrokerStringVpcConnectivitySaslIam = &v + return s +} + +// SetBootstrapBrokerStringVpcConnectivitySaslScram sets the BootstrapBrokerStringVpcConnectivitySaslScram field's value. +func (s *GetBootstrapBrokersOutput) SetBootstrapBrokerStringVpcConnectivitySaslScram(v string) *GetBootstrapBrokersOutput { + s.BootstrapBrokerStringVpcConnectivitySaslScram = &v + return s +} + +// SetBootstrapBrokerStringVpcConnectivityTls sets the BootstrapBrokerStringVpcConnectivityTls field's value. +func (s *GetBootstrapBrokersOutput) SetBootstrapBrokerStringVpcConnectivityTls(v string) *GetBootstrapBrokersOutput { + s.BootstrapBrokerStringVpcConnectivityTls = &v + return s +} + +// Request body for GetClusterPolicy. +type GetClusterPolicyInput struct { _ struct{} `type:"structure" nopayload:"true"` - ClusterArn *string `location:"querystring" locationName:"clusterArn" type:"string"` + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` } // String returns the string representation. @@ -7209,7 +8798,7 @@ type GetCompatibleKafkaVersionsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCompatibleKafkaVersionsInput) String() string { +func (s GetClusterPolicyInput) String() string { return awsutil.Prettify(s) } @@ -7218,22 +8807,41 @@ func (s GetCompatibleKafkaVersionsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCompatibleKafkaVersionsInput) GoString() string { +func (s GetClusterPolicyInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetClusterPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetClusterPolicyInput"} + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetClusterArn sets the ClusterArn field's value. -func (s *GetCompatibleKafkaVersionsInput) SetClusterArn(v string) *GetCompatibleKafkaVersionsInput { +func (s *GetClusterPolicyInput) SetClusterArn(v string) *GetClusterPolicyInput { s.ClusterArn = &v return s } -// Response body for GetCompatibleKafkaVersions. -type GetCompatibleKafkaVersionsOutput struct { +// Returns information about the specified cluster policy. +type GetClusterPolicyOutput struct { _ struct{} `type:"structure"` - // A list of CompatibleKafkaVersion objects. - CompatibleKafkaVersions []*CompatibleKafkaVersion `locationName:"compatibleKafkaVersions" type:"list"` + // Cluster policy version. + CurrentVersion *string `locationName:"currentVersion" type:"string"` + + // Cluster policy attached to the MSK cluster. + Policy *string `locationName:"policy" type:"string"` } // String returns the string representation. @@ -7241,7 +8849,7 @@ type GetCompatibleKafkaVersionsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCompatibleKafkaVersionsOutput) String() string { +func (s GetClusterPolicyOutput) String() string { return awsutil.Prettify(s) } @@ -7250,20 +8858,26 @@ func (s GetCompatibleKafkaVersionsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCompatibleKafkaVersionsOutput) GoString() string { +func (s GetClusterPolicyOutput) GoString() string { return s.String() } -// SetCompatibleKafkaVersions sets the CompatibleKafkaVersions field's value. -func (s *GetCompatibleKafkaVersionsOutput) SetCompatibleKafkaVersions(v []*CompatibleKafkaVersion) *GetCompatibleKafkaVersionsOutput { - s.CompatibleKafkaVersions = v +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *GetClusterPolicyOutput) SetCurrentVersion(v string) *GetClusterPolicyOutput { + s.CurrentVersion = &v return s } -type Iam struct { - _ struct{} `type:"structure"` +// SetPolicy sets the Policy field's value. +func (s *GetClusterPolicyOutput) SetPolicy(v string) *GetClusterPolicyOutput { + s.Policy = &v + return s +} - Enabled *bool `locationName:"enabled" type:"boolean"` +type GetCompatibleKafkaVersionsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + ClusterArn *string `location:"querystring" locationName:"clusterArn" type:"string"` } // String returns the string representation. @@ -7271,7 +8885,7 @@ type Iam struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Iam) String() string { +func (s GetCompatibleKafkaVersionsInput) String() string { return awsutil.Prettify(s) } @@ -7280,24 +8894,22 @@ func (s Iam) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Iam) GoString() string { +func (s GetCompatibleKafkaVersionsInput) GoString() string { return s.String() } -// SetEnabled sets the Enabled field's value. -func (s *Iam) SetEnabled(v bool) *Iam { - s.Enabled = &v +// SetClusterArn sets the ClusterArn field's value. +func (s *GetCompatibleKafkaVersionsInput) SetClusterArn(v string) *GetCompatibleKafkaVersionsInput { + s.ClusterArn = &v return s } -// Returns information about an error. -type InternalServerErrorException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - InvalidParameter *string `locationName:"invalidParameter" type:"string"` +// Response body for GetCompatibleKafkaVersions. +type GetCompatibleKafkaVersionsOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"message" type:"string"` + // A list of CompatibleKafkaVersion objects. + CompatibleKafkaVersions []*CompatibleKafkaVersion `locationName:"compatibleKafkaVersions" type:"list"` } // String returns the string representation. @@ -7305,7 +8917,71 @@ type InternalServerErrorException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InternalServerErrorException) String() string { +func (s GetCompatibleKafkaVersionsOutput) 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 GetCompatibleKafkaVersionsOutput) GoString() string { + return s.String() +} + +// SetCompatibleKafkaVersions sets the CompatibleKafkaVersions field's value. +func (s *GetCompatibleKafkaVersionsOutput) SetCompatibleKafkaVersions(v []*CompatibleKafkaVersion) *GetCompatibleKafkaVersionsOutput { + s.CompatibleKafkaVersions = v + return s +} + +type Iam struct { + _ struct{} `type:"structure"` + + Enabled *bool `locationName:"enabled" type:"boolean"` +} + +// 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 Iam) 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 Iam) GoString() string { + return s.String() +} + +// SetEnabled sets the Enabled field's value. +func (s *Iam) SetEnabled(v bool) *Iam { + s.Enabled = &v + return s +} + +// Returns information about an error. +type InternalServerErrorException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + InvalidParameter *string `locationName:"invalidParameter" type:"string"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerErrorException) String() string { return awsutil.Prettify(s) } @@ -7478,6 +9154,117 @@ func (s *KafkaVersion) SetVersion(v string) *KafkaVersion { return s } +// Request body for ListClientVpcConnections. +type ListClientVpcConnectionsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" 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 ListClientVpcConnectionsInput) 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 ListClientVpcConnectionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListClientVpcConnectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListClientVpcConnectionsInput"} + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *ListClientVpcConnectionsInput) SetClusterArn(v string) *ListClientVpcConnectionsInput { + s.ClusterArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListClientVpcConnectionsInput) SetMaxResults(v int64) *ListClientVpcConnectionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListClientVpcConnectionsInput) SetNextToken(v string) *ListClientVpcConnectionsInput { + s.NextToken = &v + return s +} + +// The response contains an array of client VPC connections and a next token +// if the response is truncated. +type ListClientVpcConnectionsOutput struct { + _ struct{} `type:"structure"` + + // List containing a ClientVpcConnection object. + ClientVpcConnections []*ClientVpcConnection `locationName:"clientVpcConnections" type:"list"` + + // If the response of ListClientVpcConnections is truncated, it returns a NextToken + // in the response. This Nexttoken should be sent in the subsequent request + // to ListClientVpcConnections. + NextToken *string `locationName:"nextToken" 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 ListClientVpcConnectionsOutput) 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 ListClientVpcConnectionsOutput) GoString() string { + return s.String() +} + +// SetClientVpcConnections sets the ClientVpcConnections field's value. +func (s *ListClientVpcConnectionsOutput) SetClientVpcConnections(v []*ClientVpcConnection) *ListClientVpcConnectionsOutput { + s.ClientVpcConnections = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListClientVpcConnectionsOutput) SetNextToken(v string) *ListClientVpcConnectionsOutput { + s.NextToken = &v + return s +} + type ListClusterOperationsInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -8388,6 +10175,102 @@ func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForRe return s } +// Request body for ListVpcConnections. +type ListVpcConnectionsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" 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 ListVpcConnectionsInput) 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 ListVpcConnectionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListVpcConnectionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListVpcConnectionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListVpcConnectionsInput) SetMaxResults(v int64) *ListVpcConnectionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListVpcConnectionsInput) SetNextToken(v string) *ListVpcConnectionsInput { + s.NextToken = &v + return s +} + +// The response contains an array of MSK VPC connections and a next token if +// the response is truncated. +type ListVpcConnectionsOutput struct { + _ struct{} `type:"structure"` + + // If the response of ListVpcConnections is truncated, it returns a NextToken + // in the response. This NextToken should be sent in the subsequent request + // to ListVpcConnections. + NextToken *string `locationName:"nextToken" type:"string"` + + // List containing a VpcConnection object. + VpcConnections []*VpcConnection `locationName:"vpcConnections" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListVpcConnectionsOutput) 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 ListVpcConnectionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListVpcConnectionsOutput) SetNextToken(v string) *ListVpcConnectionsOutput { + s.NextToken = &v + return s +} + +// SetVpcConnections sets the VpcConnections field's value. +func (s *ListVpcConnectionsOutput) SetVpcConnections(v []*VpcConnection) *ListVpcConnectionsOutput { + s.VpcConnections = v + return s +} + // You can configure your MSK cluster to send broker logs to different destination // types. This is a container for the configuration details related to broker // logs. @@ -8468,6 +10351,7 @@ type MutableClusterInfo struct { InstanceType *string `locationName:"instanceType" type:"string"` + // The Apache Kafka version. KafkaVersion *string `locationName:"kafkaVersion" type:"string"` // LoggingInfo details. @@ -9355,17 +11239,17 @@ func (s *PublicAccess) SetType(v string) *PublicAccess { return s } -// Request body for RebootBrokerNode action. -type RebootBrokerInput struct { +// Request body for PutClusterPolicy. +type PutClusterPolicyInput struct { _ struct{} `type:"structure"` - // The list of broker ids to be rebooted. - // - // BrokerIds is a required field - BrokerIds []*string `locationName:"brokerIds" type:"list" required:"true"` - // ClusterArn is a required field ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` + + CurrentVersion *string `locationName:"currentVersion" type:"string"` + + // Policy is a required field + Policy *string `locationName:"policy" type:"string" required:"true"` } // String returns the string representation. @@ -9373,7 +11257,7 @@ type RebootBrokerInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RebootBrokerInput) String() string { +func (s PutClusterPolicyInput) String() string { return awsutil.Prettify(s) } @@ -9382,22 +11266,22 @@ func (s RebootBrokerInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RebootBrokerInput) GoString() string { +func (s PutClusterPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RebootBrokerInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RebootBrokerInput"} - if s.BrokerIds == nil { - invalidParams.Add(request.NewErrParamRequired("BrokerIds")) - } +func (s *PutClusterPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutClusterPolicyInput"} if s.ClusterArn == nil { invalidParams.Add(request.NewErrParamRequired("ClusterArn")) } if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) } + if s.Policy == nil { + invalidParams.Add(request.NewErrParamRequired("Policy")) + } if invalidParams.Len() > 0 { return invalidParams @@ -9405,20 +11289,120 @@ func (s *RebootBrokerInput) Validate() error { return nil } -// SetBrokerIds sets the BrokerIds field's value. -func (s *RebootBrokerInput) SetBrokerIds(v []*string) *RebootBrokerInput { - s.BrokerIds = v - return s -} - // SetClusterArn sets the ClusterArn field's value. -func (s *RebootBrokerInput) SetClusterArn(v string) *RebootBrokerInput { +func (s *PutClusterPolicyInput) SetClusterArn(v string) *PutClusterPolicyInput { s.ClusterArn = &v return s } -// Response body for RebootBrokers action. -type RebootBrokerOutput struct { +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *PutClusterPolicyInput) SetCurrentVersion(v string) *PutClusterPolicyInput { + s.CurrentVersion = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *PutClusterPolicyInput) SetPolicy(v string) *PutClusterPolicyInput { + s.Policy = &v + return s +} + +// Response body for PutClusterPolicy. +type PutClusterPolicyOutput struct { + _ struct{} `type:"structure"` + + // Cluster policy version. + CurrentVersion *string `locationName:"currentVersion" 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 PutClusterPolicyOutput) 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 PutClusterPolicyOutput) GoString() string { + return s.String() +} + +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *PutClusterPolicyOutput) SetCurrentVersion(v string) *PutClusterPolicyOutput { + s.CurrentVersion = &v + return s +} + +// Request body for RebootBrokerNode action. +type RebootBrokerInput struct { + _ struct{} `type:"structure"` + + // The list of broker ids to be rebooted. + // + // BrokerIds is a required field + BrokerIds []*string `locationName:"brokerIds" type:"list" required:"true"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" 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 RebootBrokerInput) 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 RebootBrokerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RebootBrokerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RebootBrokerInput"} + if s.BrokerIds == nil { + invalidParams.Add(request.NewErrParamRequired("BrokerIds")) + } + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBrokerIds sets the BrokerIds field's value. +func (s *RebootBrokerInput) SetBrokerIds(v []*string) *RebootBrokerInput { + s.BrokerIds = v + return s +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *RebootBrokerInput) SetClusterArn(v string) *RebootBrokerInput { + s.ClusterArn = &v + return s +} + +// Response body for RebootBrokers action. +type RebootBrokerOutput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the cluster. @@ -9458,6 +11442,89 @@ func (s *RebootBrokerOutput) SetClusterOperationArn(v string) *RebootBrokerOutpu return s } +// Request body for RejectClientVpcConnection. +type RejectClientVpcConnectionInput struct { + _ struct{} `type:"structure"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` + + // VpcConnectionArn is a required field + VpcConnectionArn *string `locationName:"vpcConnectionArn" 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 RejectClientVpcConnectionInput) 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 RejectClientVpcConnectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RejectClientVpcConnectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RejectClientVpcConnectionInput"} + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + if s.VpcConnectionArn == nil { + invalidParams.Add(request.NewErrParamRequired("VpcConnectionArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *RejectClientVpcConnectionInput) SetClusterArn(v string) *RejectClientVpcConnectionInput { + s.ClusterArn = &v + return s +} + +// SetVpcConnectionArn sets the VpcConnectionArn field's value. +func (s *RejectClientVpcConnectionInput) SetVpcConnectionArn(v string) *RejectClientVpcConnectionInput { + s.VpcConnectionArn = &v + return s +} + +// Response body for RejectClientVpcConnection. +type RejectClientVpcConnectionOutput 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 RejectClientVpcConnectionOutput) 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 RejectClientVpcConnectionOutput) GoString() string { + return s.String() +} + // The details of the Amazon S3 destination for broker logs. type S3 struct { _ struct{} `type:"structure"` @@ -11299,11 +13366,489 @@ func (s *UpdateMonitoringInput) SetOpenMonitoring(v *OpenMonitoringInfo) *Update type UpdateMonitoringOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the cluster. - ClusterArn *string `locationName:"clusterArn" type:"string"` + // The Amazon Resource Name (ARN) of the cluster. + ClusterArn *string `locationName:"clusterArn" type:"string"` + + // The Amazon Resource Name (ARN) of the cluster operation. + ClusterOperationArn *string `locationName:"clusterOperationArn" 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 UpdateMonitoringOutput) 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 UpdateMonitoringOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *UpdateMonitoringOutput) SetClusterArn(v string) *UpdateMonitoringOutput { + s.ClusterArn = &v + return s +} + +// SetClusterOperationArn sets the ClusterOperationArn field's value. +func (s *UpdateMonitoringOutput) SetClusterOperationArn(v string) *UpdateMonitoringOutput { + s.ClusterOperationArn = &v + return s +} + +// Request body for UpdateSecurity. +type UpdateSecurityInput struct { + _ struct{} `type:"structure"` + + // Includes all client authentication related information. + ClientAuthentication *ClientAuthentication `locationName:"clientAuthentication" type:"structure"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` + + // You can use the DescribeCluster operation to get the current version of the + // cluster. After the security update is complete, the cluster will have a new + // version. + // + // CurrentVersion is a required field + CurrentVersion *string `locationName:"currentVersion" type:"string" required:"true"` + + // Includes all encryption-related information. + EncryptionInfo *EncryptionInfo `locationName:"encryptionInfo" 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 UpdateSecurityInput) 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 UpdateSecurityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateSecurityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityInput"} + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + if s.CurrentVersion == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentVersion")) + } + if s.EncryptionInfo != nil { + if err := s.EncryptionInfo.Validate(); err != nil { + invalidParams.AddNested("EncryptionInfo", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientAuthentication sets the ClientAuthentication field's value. +func (s *UpdateSecurityInput) SetClientAuthentication(v *ClientAuthentication) *UpdateSecurityInput { + s.ClientAuthentication = v + return s +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *UpdateSecurityInput) SetClusterArn(v string) *UpdateSecurityInput { + s.ClusterArn = &v + return s +} + +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *UpdateSecurityInput) SetCurrentVersion(v string) *UpdateSecurityInput { + s.CurrentVersion = &v + return s +} + +// SetEncryptionInfo sets the EncryptionInfo field's value. +func (s *UpdateSecurityInput) SetEncryptionInfo(v *EncryptionInfo) *UpdateSecurityInput { + s.EncryptionInfo = v + return s +} + +// Response body for UpdateSecurity. +type UpdateSecurityOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the cluster. + ClusterArn *string `locationName:"clusterArn" type:"string"` + + // The Amazon Resource Name (ARN) of the cluster operation. + ClusterOperationArn *string `locationName:"clusterOperationArn" 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 UpdateSecurityOutput) 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 UpdateSecurityOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *UpdateSecurityOutput) SetClusterArn(v string) *UpdateSecurityOutput { + s.ClusterArn = &v + return s +} + +// SetClusterOperationArn sets the ClusterOperationArn field's value. +func (s *UpdateSecurityOutput) SetClusterOperationArn(v string) *UpdateSecurityOutput { + s.ClusterOperationArn = &v + return s +} + +// Request object for UpdateStorageApi. +type UpdateStorageInput struct { + _ struct{} `type:"structure"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` + + // The version of cluster to update from. A successful operation will then generate + // a new version. + // + // CurrentVersion is a required field + CurrentVersion *string `locationName:"currentVersion" type:"string" required:"true"` + + // EBS volume provisioned throughput information. + ProvisionedThroughput *ProvisionedThroughput `locationName:"provisionedThroughput" type:"structure"` + + // Controls storage mode for supported storage tiers. + StorageMode *string `locationName:"storageMode" type:"string" enum:"StorageMode"` + + // size of the EBS volume to update. + VolumeSizeGB *int64 `locationName:"volumeSizeGB" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateStorageInput) 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 UpdateStorageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateStorageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateStorageInput"} + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + if s.CurrentVersion == nil { + invalidParams.Add(request.NewErrParamRequired("CurrentVersion")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *UpdateStorageInput) SetClusterArn(v string) *UpdateStorageInput { + s.ClusterArn = &v + return s +} + +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *UpdateStorageInput) SetCurrentVersion(v string) *UpdateStorageInput { + s.CurrentVersion = &v + return s +} + +// SetProvisionedThroughput sets the ProvisionedThroughput field's value. +func (s *UpdateStorageInput) SetProvisionedThroughput(v *ProvisionedThroughput) *UpdateStorageInput { + s.ProvisionedThroughput = v + return s +} + +// SetStorageMode sets the StorageMode field's value. +func (s *UpdateStorageInput) SetStorageMode(v string) *UpdateStorageInput { + s.StorageMode = &v + return s +} + +// SetVolumeSizeGB sets the VolumeSizeGB field's value. +func (s *UpdateStorageInput) SetVolumeSizeGB(v int64) *UpdateStorageInput { + s.VolumeSizeGB = &v + return s +} + +// Response body for UpdateStorageResponse Api. +type UpdateStorageOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the cluster. + ClusterArn *string `locationName:"clusterArn" type:"string"` + + // The Amazon Resource Name (ARN) of the cluster operation. + ClusterOperationArn *string `locationName:"clusterOperationArn" 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 UpdateStorageOutput) 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 UpdateStorageOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *UpdateStorageOutput) SetClusterArn(v string) *UpdateStorageOutput { + s.ClusterArn = &v + return s +} + +// SetClusterOperationArn sets the ClusterOperationArn field's value. +func (s *UpdateStorageOutput) SetClusterOperationArn(v string) *UpdateStorageOutput { + s.ClusterOperationArn = &v + return s +} + +// Description of the requester that calls the API operation. +type UserIdentity struct { + _ struct{} `type:"structure"` + + PrincipalId *string `locationName:"principalId" type:"string"` + + // The identity type of the requester that calls the API operation. + Type *string `locationName:"type" type:"string" enum:"UserIdentityType"` +} + +// 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 UserIdentity) 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 UserIdentity) GoString() string { + return s.String() +} + +// SetPrincipalId sets the PrincipalId field's value. +func (s *UserIdentity) SetPrincipalId(v string) *UserIdentity { + s.PrincipalId = &v + return s +} + +// SetType sets the Type field's value. +func (s *UserIdentity) SetType(v string) *UserIdentity { + s.Type = &v + return s +} + +// The configuration of the Amazon VPCs for the cluster. +type VpcConfig struct { + _ struct{} `type:"structure"` + + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` + + // SubnetIds is a required field + SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VpcConfig) 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 VpcConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VpcConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VpcConfig"} + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *VpcConfig) SetSecurityGroupIds(v []*string) *VpcConfig { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *VpcConfig) SetSubnetIds(v []*string) *VpcConfig { + s.SubnetIds = v + return s +} + +// The VPC connection object. +type VpcConnection struct { + _ struct{} `type:"structure"` + + // The authentication type for the VPC connection. + Authentication *string `locationName:"authentication" type:"string"` + + // The creation time of the VPC connection. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"` + + // The state of a configuration. + State *string `locationName:"state" type:"string" enum:"VpcConnectionState"` + + // The Amazon Resource Name (ARN) of the cluster. + // + // TargetClusterArn is a required field + TargetClusterArn *string `locationName:"targetClusterArn" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the VPC connection. + // + // VpcConnectionArn is a required field + VpcConnectionArn *string `locationName:"vpcConnectionArn" type:"string" required:"true"` + + // The VPC ID of the VPC connection. + VpcId *string `locationName:"vpcId" 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 VpcConnection) 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 VpcConnection) GoString() string { + return s.String() +} + +// SetAuthentication sets the Authentication field's value. +func (s *VpcConnection) SetAuthentication(v string) *VpcConnection { + s.Authentication = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *VpcConnection) SetCreationTime(v time.Time) *VpcConnection { + s.CreationTime = &v + return s +} + +// SetState sets the State field's value. +func (s *VpcConnection) SetState(v string) *VpcConnection { + s.State = &v + return s +} + +// SetTargetClusterArn sets the TargetClusterArn field's value. +func (s *VpcConnection) SetTargetClusterArn(v string) *VpcConnection { + s.TargetClusterArn = &v + return s +} + +// SetVpcConnectionArn sets the VpcConnectionArn field's value. +func (s *VpcConnection) SetVpcConnectionArn(v string) *VpcConnection { + s.VpcConnectionArn = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *VpcConnection) SetVpcId(v string) *VpcConnection { + s.VpcId = &v + return s +} + +// Description of the VPC connection for CreateVpcConnection and DeleteVpcConnection +// operations. +type VpcConnectionInfo struct { + _ struct{} `type:"structure"` + + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"` + + Owner *string `locationName:"owner" type:"string"` - // The Amazon Resource Name (ARN) of the cluster operation. - ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"` + // Description of the requester that calls the API operation. + UserIdentity *UserIdentity `locationName:"userIdentity" type:"structure"` + + VpcConnectionArn *string `locationName:"vpcConnectionArn" type:"string"` } // String returns the string representation. @@ -11311,7 +13856,7 @@ type UpdateMonitoringOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateMonitoringOutput) String() string { +func (s VpcConnectionInfo) String() string { return awsutil.Prettify(s) } @@ -11320,41 +13865,39 @@ func (s UpdateMonitoringOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateMonitoringOutput) GoString() string { +func (s VpcConnectionInfo) GoString() string { return s.String() } -// SetClusterArn sets the ClusterArn field's value. -func (s *UpdateMonitoringOutput) SetClusterArn(v string) *UpdateMonitoringOutput { - s.ClusterArn = &v +// SetCreationTime sets the CreationTime field's value. +func (s *VpcConnectionInfo) SetCreationTime(v time.Time) *VpcConnectionInfo { + s.CreationTime = &v return s } -// SetClusterOperationArn sets the ClusterOperationArn field's value. -func (s *UpdateMonitoringOutput) SetClusterOperationArn(v string) *UpdateMonitoringOutput { - s.ClusterOperationArn = &v +// SetOwner sets the Owner field's value. +func (s *VpcConnectionInfo) SetOwner(v string) *VpcConnectionInfo { + s.Owner = &v return s } -// Request body for UpdateSecurity. -type UpdateSecurityInput struct { - _ struct{} `type:"structure"` - - // Includes all client authentication related information. - ClientAuthentication *ClientAuthentication `locationName:"clientAuthentication" type:"structure"` +// SetUserIdentity sets the UserIdentity field's value. +func (s *VpcConnectionInfo) SetUserIdentity(v *UserIdentity) *VpcConnectionInfo { + s.UserIdentity = v + return s +} - // ClusterArn is a required field - ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` +// SetVpcConnectionArn sets the VpcConnectionArn field's value. +func (s *VpcConnectionInfo) SetVpcConnectionArn(v string) *VpcConnectionInfo { + s.VpcConnectionArn = &v + return s +} - // You can use the DescribeCluster operation to get the current version of the - // cluster. After the security update is complete, the cluster will have a new - // version. - // - // CurrentVersion is a required field - CurrentVersion *string `locationName:"currentVersion" type:"string" required:"true"` +// Broker VPC connectivity access control. +type VpcConnectivity struct { + _ struct{} `type:"structure"` - // Includes all encryption-related information. - EncryptionInfo *EncryptionInfo `locationName:"encryptionInfo" type:"structure"` + ClientAuthentication *VpcConnectivityClientAuthentication `locationName:"clientAuthentication" type:"structure"` } // String returns the string representation. @@ -11362,7 +13905,7 @@ type UpdateSecurityInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateSecurityInput) String() string { +func (s VpcConnectivity) String() string { return awsutil.Prettify(s) } @@ -11371,67 +13914,22 @@ func (s UpdateSecurityInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateSecurityInput) GoString() string { +func (s VpcConnectivity) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateSecurityInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityInput"} - if s.ClusterArn == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterArn")) - } - if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) - } - if s.CurrentVersion == nil { - invalidParams.Add(request.NewErrParamRequired("CurrentVersion")) - } - if s.EncryptionInfo != nil { - if err := s.EncryptionInfo.Validate(); err != nil { - invalidParams.AddNested("EncryptionInfo", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetClientAuthentication sets the ClientAuthentication field's value. -func (s *UpdateSecurityInput) SetClientAuthentication(v *ClientAuthentication) *UpdateSecurityInput { +func (s *VpcConnectivity) SetClientAuthentication(v *VpcConnectivityClientAuthentication) *VpcConnectivity { s.ClientAuthentication = v return s } -// SetClusterArn sets the ClusterArn field's value. -func (s *UpdateSecurityInput) SetClusterArn(v string) *UpdateSecurityInput { - s.ClusterArn = &v - return s -} - -// SetCurrentVersion sets the CurrentVersion field's value. -func (s *UpdateSecurityInput) SetCurrentVersion(v string) *UpdateSecurityInput { - s.CurrentVersion = &v - return s -} - -// SetEncryptionInfo sets the EncryptionInfo field's value. -func (s *UpdateSecurityInput) SetEncryptionInfo(v *EncryptionInfo) *UpdateSecurityInput { - s.EncryptionInfo = v - return s -} - -// Response body for UpdateSecurity. -type UpdateSecurityOutput struct { +type VpcConnectivityClientAuthentication struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the cluster. - ClusterArn *string `locationName:"clusterArn" type:"string"` + Sasl *VpcConnectivitySasl `locationName:"sasl" type:"structure"` - // The Amazon Resource Name (ARN) of the cluster operation. - ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"` + Tls *VpcConnectivityTls `locationName:"tls" type:"structure"` } // String returns the string representation. @@ -11439,7 +13937,7 @@ type UpdateSecurityOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateSecurityOutput) String() string { +func (s VpcConnectivityClientAuthentication) String() string { return awsutil.Prettify(s) } @@ -11448,43 +13946,26 @@ func (s UpdateSecurityOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateSecurityOutput) GoString() string { +func (s VpcConnectivityClientAuthentication) GoString() string { return s.String() } -// SetClusterArn sets the ClusterArn field's value. -func (s *UpdateSecurityOutput) SetClusterArn(v string) *UpdateSecurityOutput { - s.ClusterArn = &v +// SetSasl sets the Sasl field's value. +func (s *VpcConnectivityClientAuthentication) SetSasl(v *VpcConnectivitySasl) *VpcConnectivityClientAuthentication { + s.Sasl = v return s } -// SetClusterOperationArn sets the ClusterOperationArn field's value. -func (s *UpdateSecurityOutput) SetClusterOperationArn(v string) *UpdateSecurityOutput { - s.ClusterOperationArn = &v +// SetTls sets the Tls field's value. +func (s *VpcConnectivityClientAuthentication) SetTls(v *VpcConnectivityTls) *VpcConnectivityClientAuthentication { + s.Tls = v return s } -// Request object for UpdateStorageApi. -type UpdateStorageInput struct { +type VpcConnectivityIam struct { _ struct{} `type:"structure"` - // ClusterArn is a required field - ClusterArn *string `location:"uri" locationName:"clusterArn" type:"string" required:"true"` - - // The version of cluster to update from. A successful operation will then generate - // a new version. - // - // CurrentVersion is a required field - CurrentVersion *string `locationName:"currentVersion" type:"string" required:"true"` - - // EBS volume provisioned throughput information. - ProvisionedThroughput *ProvisionedThroughput `locationName:"provisionedThroughput" type:"structure"` - - // Controls storage mode for supported storage tiers. - StorageMode *string `locationName:"storageMode" type:"string" enum:"StorageMode"` - - // size of the EBS volume to update. - VolumeSizeGB *int64 `locationName:"volumeSizeGB" type:"integer"` + Enabled *bool `locationName:"enabled" type:"boolean"` } // String returns the string representation. @@ -11492,7 +13973,7 @@ type UpdateStorageInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateStorageInput) String() string { +func (s VpcConnectivityIam) String() string { return awsutil.Prettify(s) } @@ -11501,68 +13982,59 @@ func (s UpdateStorageInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateStorageInput) GoString() string { +func (s VpcConnectivityIam) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateStorageInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateStorageInput"} - if s.ClusterArn == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterArn")) - } - if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) - } - if s.CurrentVersion == nil { - invalidParams.Add(request.NewErrParamRequired("CurrentVersion")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetEnabled sets the Enabled field's value. +func (s *VpcConnectivityIam) SetEnabled(v bool) *VpcConnectivityIam { + s.Enabled = &v + return s } -// SetClusterArn sets the ClusterArn field's value. -func (s *UpdateStorageInput) SetClusterArn(v string) *UpdateStorageInput { - s.ClusterArn = &v - return s +type VpcConnectivitySasl struct { + _ struct{} `type:"structure"` + + Iam *VpcConnectivityIam `locationName:"iam" type:"structure"` + + Scram *VpcConnectivityScram `locationName:"scram" type:"structure"` } -// SetCurrentVersion sets the CurrentVersion field's value. -func (s *UpdateStorageInput) SetCurrentVersion(v string) *UpdateStorageInput { - s.CurrentVersion = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VpcConnectivitySasl) String() string { + return awsutil.Prettify(s) } -// SetProvisionedThroughput sets the ProvisionedThroughput field's value. -func (s *UpdateStorageInput) SetProvisionedThroughput(v *ProvisionedThroughput) *UpdateStorageInput { - s.ProvisionedThroughput = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VpcConnectivitySasl) GoString() string { + return s.String() } -// SetStorageMode sets the StorageMode field's value. -func (s *UpdateStorageInput) SetStorageMode(v string) *UpdateStorageInput { - s.StorageMode = &v +// SetIam sets the Iam field's value. +func (s *VpcConnectivitySasl) SetIam(v *VpcConnectivityIam) *VpcConnectivitySasl { + s.Iam = v return s } -// SetVolumeSizeGB sets the VolumeSizeGB field's value. -func (s *UpdateStorageInput) SetVolumeSizeGB(v int64) *UpdateStorageInput { - s.VolumeSizeGB = &v +// SetScram sets the Scram field's value. +func (s *VpcConnectivitySasl) SetScram(v *VpcConnectivityScram) *VpcConnectivitySasl { + s.Scram = v return s } -// Response body for UpdateStorageResponse Api. -type UpdateStorageOutput struct { +type VpcConnectivityScram struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the cluster. - ClusterArn *string `locationName:"clusterArn" type:"string"` - - // The Amazon Resource Name (ARN) of the cluster operation. - ClusterOperationArn *string `locationName:"clusterOperationArn" type:"string"` + // SASL/SCRAM authentication for VPC connectivity is on or off. + Enabled *bool `locationName:"enabled" type:"boolean"` } // String returns the string representation. @@ -11570,7 +14042,7 @@ type UpdateStorageOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateStorageOutput) String() string { +func (s VpcConnectivityScram) String() string { return awsutil.Prettify(s) } @@ -11579,30 +14051,21 @@ func (s UpdateStorageOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UpdateStorageOutput) GoString() string { +func (s VpcConnectivityScram) GoString() string { return s.String() } -// SetClusterArn sets the ClusterArn field's value. -func (s *UpdateStorageOutput) SetClusterArn(v string) *UpdateStorageOutput { - s.ClusterArn = &v - return s -} - -// SetClusterOperationArn sets the ClusterOperationArn field's value. -func (s *UpdateStorageOutput) SetClusterOperationArn(v string) *UpdateStorageOutput { - s.ClusterOperationArn = &v +// SetEnabled sets the Enabled field's value. +func (s *VpcConnectivityScram) SetEnabled(v bool) *VpcConnectivityScram { + s.Enabled = &v return s } -// The configuration of the Amazon VPCs for the cluster. -type VpcConfig struct { +type VpcConnectivityTls struct { _ struct{} `type:"structure"` - SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` - - // SubnetIds is a required field - SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"` + // TLS authentication for VPC connectivity is on or off. + Enabled *bool `locationName:"enabled" type:"boolean"` } // String returns the string representation. @@ -11610,7 +14073,7 @@ type VpcConfig struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s VpcConfig) String() string { +func (s VpcConnectivityTls) String() string { return awsutil.Prettify(s) } @@ -11619,32 +14082,13 @@ func (s VpcConfig) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s VpcConfig) GoString() string { +func (s VpcConnectivityTls) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *VpcConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "VpcConfig"} - if s.SubnetIds == nil { - invalidParams.Add(request.NewErrParamRequired("SubnetIds")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *VpcConfig) SetSecurityGroupIds(v []*string) *VpcConfig { - s.SecurityGroupIds = v - return s -} - -// SetSubnetIds sets the SubnetIds field's value. -func (s *VpcConfig) SetSubnetIds(v []*string) *VpcConfig { - s.SubnetIds = v +// SetEnabled sets the Enabled field's value. +func (s *VpcConnectivityTls) SetEnabled(v bool) *VpcConnectivityTls { + s.Enabled = &v return s } @@ -11905,3 +14349,61 @@ func StorageMode_Values() []string { StorageModeTiered, } } + +// The identity type of the requester that calls the API operation. +const ( + // UserIdentityTypeAwsaccount is a UserIdentityType enum value + UserIdentityTypeAwsaccount = "AWSACCOUNT" + + // UserIdentityTypeAwsservice is a UserIdentityType enum value + UserIdentityTypeAwsservice = "AWSSERVICE" +) + +// UserIdentityType_Values returns all elements of the UserIdentityType enum +func UserIdentityType_Values() []string { + return []string{ + UserIdentityTypeAwsaccount, + UserIdentityTypeAwsservice, + } +} + +// The state of a configuration. +const ( + // VpcConnectionStateCreating is a VpcConnectionState enum value + VpcConnectionStateCreating = "CREATING" + + // VpcConnectionStateAvailable is a VpcConnectionState enum value + VpcConnectionStateAvailable = "AVAILABLE" + + // VpcConnectionStateInactive is a VpcConnectionState enum value + VpcConnectionStateInactive = "INACTIVE" + + // VpcConnectionStateDeactivating is a VpcConnectionState enum value + VpcConnectionStateDeactivating = "DEACTIVATING" + + // VpcConnectionStateDeleting is a VpcConnectionState enum value + VpcConnectionStateDeleting = "DELETING" + + // VpcConnectionStateFailed is a VpcConnectionState enum value + VpcConnectionStateFailed = "FAILED" + + // VpcConnectionStateRejected is a VpcConnectionState enum value + VpcConnectionStateRejected = "REJECTED" + + // VpcConnectionStateRejecting is a VpcConnectionState enum value + VpcConnectionStateRejecting = "REJECTING" +) + +// VpcConnectionState_Values returns all elements of the VpcConnectionState enum +func VpcConnectionState_Values() []string { + return []string{ + VpcConnectionStateCreating, + VpcConnectionStateAvailable, + VpcConnectionStateInactive, + VpcConnectionStateDeactivating, + VpcConnectionStateDeleting, + VpcConnectionStateFailed, + VpcConnectionStateRejected, + VpcConnectionStateRejecting, + } +} diff --git a/service/kafka/kafkaiface/interface.go b/service/kafka/kafkaiface/interface.go index 7cce447b3fa..8a1e84bdbc8 100644 --- a/service/kafka/kafkaiface/interface.go +++ b/service/kafka/kafkaiface/interface.go @@ -80,14 +80,26 @@ type KafkaAPI interface { CreateConfigurationWithContext(aws.Context, *kafka.CreateConfigurationInput, ...request.Option) (*kafka.CreateConfigurationOutput, error) CreateConfigurationRequest(*kafka.CreateConfigurationInput) (*request.Request, *kafka.CreateConfigurationOutput) + CreateVpcConnection(*kafka.CreateVpcConnectionInput) (*kafka.CreateVpcConnectionOutput, error) + CreateVpcConnectionWithContext(aws.Context, *kafka.CreateVpcConnectionInput, ...request.Option) (*kafka.CreateVpcConnectionOutput, error) + CreateVpcConnectionRequest(*kafka.CreateVpcConnectionInput) (*request.Request, *kafka.CreateVpcConnectionOutput) + DeleteCluster(*kafka.DeleteClusterInput) (*kafka.DeleteClusterOutput, error) DeleteClusterWithContext(aws.Context, *kafka.DeleteClusterInput, ...request.Option) (*kafka.DeleteClusterOutput, error) DeleteClusterRequest(*kafka.DeleteClusterInput) (*request.Request, *kafka.DeleteClusterOutput) + DeleteClusterPolicy(*kafka.DeleteClusterPolicyInput) (*kafka.DeleteClusterPolicyOutput, error) + DeleteClusterPolicyWithContext(aws.Context, *kafka.DeleteClusterPolicyInput, ...request.Option) (*kafka.DeleteClusterPolicyOutput, error) + DeleteClusterPolicyRequest(*kafka.DeleteClusterPolicyInput) (*request.Request, *kafka.DeleteClusterPolicyOutput) + DeleteConfiguration(*kafka.DeleteConfigurationInput) (*kafka.DeleteConfigurationOutput, error) DeleteConfigurationWithContext(aws.Context, *kafka.DeleteConfigurationInput, ...request.Option) (*kafka.DeleteConfigurationOutput, error) DeleteConfigurationRequest(*kafka.DeleteConfigurationInput) (*request.Request, *kafka.DeleteConfigurationOutput) + DeleteVpcConnection(*kafka.DeleteVpcConnectionInput) (*kafka.DeleteVpcConnectionOutput, error) + DeleteVpcConnectionWithContext(aws.Context, *kafka.DeleteVpcConnectionInput, ...request.Option) (*kafka.DeleteVpcConnectionOutput, error) + DeleteVpcConnectionRequest(*kafka.DeleteVpcConnectionInput) (*request.Request, *kafka.DeleteVpcConnectionOutput) + DescribeCluster(*kafka.DescribeClusterInput) (*kafka.DescribeClusterOutput, error) DescribeClusterWithContext(aws.Context, *kafka.DescribeClusterInput, ...request.Option) (*kafka.DescribeClusterOutput, error) DescribeClusterRequest(*kafka.DescribeClusterInput) (*request.Request, *kafka.DescribeClusterOutput) @@ -108,14 +120,29 @@ type KafkaAPI interface { DescribeConfigurationRevisionWithContext(aws.Context, *kafka.DescribeConfigurationRevisionInput, ...request.Option) (*kafka.DescribeConfigurationRevisionOutput, error) DescribeConfigurationRevisionRequest(*kafka.DescribeConfigurationRevisionInput) (*request.Request, *kafka.DescribeConfigurationRevisionOutput) + DescribeVpcConnection(*kafka.DescribeVpcConnectionInput) (*kafka.DescribeVpcConnectionOutput, error) + DescribeVpcConnectionWithContext(aws.Context, *kafka.DescribeVpcConnectionInput, ...request.Option) (*kafka.DescribeVpcConnectionOutput, error) + DescribeVpcConnectionRequest(*kafka.DescribeVpcConnectionInput) (*request.Request, *kafka.DescribeVpcConnectionOutput) + GetBootstrapBrokers(*kafka.GetBootstrapBrokersInput) (*kafka.GetBootstrapBrokersOutput, error) GetBootstrapBrokersWithContext(aws.Context, *kafka.GetBootstrapBrokersInput, ...request.Option) (*kafka.GetBootstrapBrokersOutput, error) GetBootstrapBrokersRequest(*kafka.GetBootstrapBrokersInput) (*request.Request, *kafka.GetBootstrapBrokersOutput) + GetClusterPolicy(*kafka.GetClusterPolicyInput) (*kafka.GetClusterPolicyOutput, error) + GetClusterPolicyWithContext(aws.Context, *kafka.GetClusterPolicyInput, ...request.Option) (*kafka.GetClusterPolicyOutput, error) + GetClusterPolicyRequest(*kafka.GetClusterPolicyInput) (*request.Request, *kafka.GetClusterPolicyOutput) + GetCompatibleKafkaVersions(*kafka.GetCompatibleKafkaVersionsInput) (*kafka.GetCompatibleKafkaVersionsOutput, error) GetCompatibleKafkaVersionsWithContext(aws.Context, *kafka.GetCompatibleKafkaVersionsInput, ...request.Option) (*kafka.GetCompatibleKafkaVersionsOutput, error) GetCompatibleKafkaVersionsRequest(*kafka.GetCompatibleKafkaVersionsInput) (*request.Request, *kafka.GetCompatibleKafkaVersionsOutput) + ListClientVpcConnections(*kafka.ListClientVpcConnectionsInput) (*kafka.ListClientVpcConnectionsOutput, error) + ListClientVpcConnectionsWithContext(aws.Context, *kafka.ListClientVpcConnectionsInput, ...request.Option) (*kafka.ListClientVpcConnectionsOutput, error) + ListClientVpcConnectionsRequest(*kafka.ListClientVpcConnectionsInput) (*request.Request, *kafka.ListClientVpcConnectionsOutput) + + ListClientVpcConnectionsPages(*kafka.ListClientVpcConnectionsInput, func(*kafka.ListClientVpcConnectionsOutput, bool) bool) error + ListClientVpcConnectionsPagesWithContext(aws.Context, *kafka.ListClientVpcConnectionsInput, func(*kafka.ListClientVpcConnectionsOutput, bool) bool, ...request.Option) error + ListClusterOperations(*kafka.ListClusterOperationsInput) (*kafka.ListClusterOperationsOutput, error) ListClusterOperationsWithContext(aws.Context, *kafka.ListClusterOperationsInput, ...request.Option) (*kafka.ListClusterOperationsOutput, error) ListClusterOperationsRequest(*kafka.ListClusterOperationsInput) (*request.Request, *kafka.ListClusterOperationsOutput) @@ -176,10 +203,25 @@ type KafkaAPI interface { ListTagsForResourceWithContext(aws.Context, *kafka.ListTagsForResourceInput, ...request.Option) (*kafka.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*kafka.ListTagsForResourceInput) (*request.Request, *kafka.ListTagsForResourceOutput) + ListVpcConnections(*kafka.ListVpcConnectionsInput) (*kafka.ListVpcConnectionsOutput, error) + ListVpcConnectionsWithContext(aws.Context, *kafka.ListVpcConnectionsInput, ...request.Option) (*kafka.ListVpcConnectionsOutput, error) + ListVpcConnectionsRequest(*kafka.ListVpcConnectionsInput) (*request.Request, *kafka.ListVpcConnectionsOutput) + + ListVpcConnectionsPages(*kafka.ListVpcConnectionsInput, func(*kafka.ListVpcConnectionsOutput, bool) bool) error + ListVpcConnectionsPagesWithContext(aws.Context, *kafka.ListVpcConnectionsInput, func(*kafka.ListVpcConnectionsOutput, bool) bool, ...request.Option) error + + PutClusterPolicy(*kafka.PutClusterPolicyInput) (*kafka.PutClusterPolicyOutput, error) + PutClusterPolicyWithContext(aws.Context, *kafka.PutClusterPolicyInput, ...request.Option) (*kafka.PutClusterPolicyOutput, error) + PutClusterPolicyRequest(*kafka.PutClusterPolicyInput) (*request.Request, *kafka.PutClusterPolicyOutput) + RebootBroker(*kafka.RebootBrokerInput) (*kafka.RebootBrokerOutput, error) RebootBrokerWithContext(aws.Context, *kafka.RebootBrokerInput, ...request.Option) (*kafka.RebootBrokerOutput, error) RebootBrokerRequest(*kafka.RebootBrokerInput) (*request.Request, *kafka.RebootBrokerOutput) + RejectClientVpcConnection(*kafka.RejectClientVpcConnectionInput) (*kafka.RejectClientVpcConnectionOutput, error) + RejectClientVpcConnectionWithContext(aws.Context, *kafka.RejectClientVpcConnectionInput, ...request.Option) (*kafka.RejectClientVpcConnectionOutput, error) + RejectClientVpcConnectionRequest(*kafka.RejectClientVpcConnectionInput) (*request.Request, *kafka.RejectClientVpcConnectionOutput) + TagResource(*kafka.TagResourceInput) (*kafka.TagResourceOutput, error) TagResourceWithContext(aws.Context, *kafka.TagResourceInput, ...request.Option) (*kafka.TagResourceOutput, error) TagResourceRequest(*kafka.TagResourceInput) (*request.Request, *kafka.TagResourceOutput) diff --git a/service/lambda/api.go b/service/lambda/api.go index bfd4f88fab3..479e53562ef 100644 --- a/service/lambda/api.go +++ b/service/lambda/api.go @@ -22857,6 +22857,9 @@ const ( // RuntimePython310 is a Runtime enum value RuntimePython310 = "python3.10" + + // RuntimeJava17 is a Runtime enum value + RuntimeJava17 = "java17" ) // Runtime_Values returns all elements of the Runtime enum @@ -22891,6 +22894,7 @@ func Runtime_Values() []string { RuntimeProvidedAl2, RuntimeNodejs18X, RuntimePython310, + RuntimeJava17, } } diff --git a/service/osis/api.go b/service/osis/api.go index f8632894ccf..5b5f7c7708f 100644 --- a/service/osis/api.go +++ b/service/osis/api.go @@ -57,7 +57,7 @@ func (c *OSIS) CreatePipelineRequest(input *CreatePipelineInput) (req *request.R // CreatePipeline API operation for Amazon OpenSearch Ingestion. // // Creates an OpenSearch Ingestion pipeline. For more information, see Creating -// and managing OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html). +// Amazon OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/creating-pipeline.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -151,7 +151,7 @@ func (c *OSIS) DeletePipelineRequest(input *DeletePipelineInput) (req *request.R // DeletePipeline API operation for Amazon OpenSearch Ingestion. // // Deletes an OpenSearch Ingestion pipeline. For more information, see Deleting -// pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html#delete-pipeline). +// Amazon OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/delete-pipeline.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -334,7 +334,8 @@ func (c *OSIS) GetPipelineBlueprintRequest(input *GetPipelineBlueprintInput) (re // // Retrieves information about a specific blueprint for OpenSearch Ingestion. // Blueprints are templates for the configuration needed for a CreatePipeline -// request. +// request. For more information, see Using blueprints to create a pipeline +// (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/creating-pipeline.html#pipeline-blueprint). // // 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 @@ -427,8 +428,7 @@ func (c *OSIS) GetPipelineChangeProgressRequest(input *GetPipelineChangeProgress // Ingestion pipeline. Currently, this operation only returns information when // a pipeline is being created. // -// For more information, see Creating and managing OpenSearch Ingestion pipelines -// (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html). +// For more information, see Tracking the status of pipeline creation (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/creating-pipeline.html#get-pipeline-progress). // // 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 @@ -517,7 +517,8 @@ func (c *OSIS) ListPipelineBlueprintsRequest(input *ListPipelineBlueprintsInput) // ListPipelineBlueprints API operation for Amazon OpenSearch Ingestion. // -// Retrieves a list of all available blueprints for Data Prepper. +// Retrieves a list of all available blueprints for Data Prepper. For more information, +// see Using blueprints to create a pipeline (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/creating-pipeline.html#pipeline-blueprint). // // 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 @@ -613,8 +614,8 @@ func (c *OSIS) ListPipelinesRequest(input *ListPipelinesInput) (req *request.Req // ListPipelines API operation for Amazon OpenSearch Ingestion. // // Lists all OpenSearch Ingestion pipelines in the current Amazon Web Services -// account and Region. For more information, see Creating and managing OpenSearch -// Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html). +// account and Region. For more information, see Viewing Amazon OpenSearch Ingestion +// pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/list-pipeline.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -755,7 +756,7 @@ func (c *OSIS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req // ListTagsForResource API operation for Amazon OpenSearch Ingestion. // // Lists all resource tags associated with an OpenSearch Ingestion pipeline. -// For more information, see Tagging OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/tag-pipeline.html). +// For more information, see Tagging Amazon OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/tag-pipeline.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -845,7 +846,7 @@ func (c *OSIS) StartPipelineRequest(input *StartPipelineInput) (req *request.Req // StartPipeline API operation for Amazon OpenSearch Ingestion. // // Starts an OpenSearch Ingestion pipeline. For more information, see Starting -// pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html#start-pipeline). +// an OpenSearch Ingestion pipeline (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/pipeline--stop-start.html#pipeline--start). // // 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 @@ -938,7 +939,7 @@ func (c *OSIS) StopPipelineRequest(input *StopPipelineInput) (req *request.Reque // StopPipeline API operation for Amazon OpenSearch Ingestion. // // Stops an OpenSearch Ingestion pipeline. For more information, see Stopping -// pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html#stop-pipeline). +// an OpenSearch Ingestion pipeline (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/pipeline--stop-start.html#pipeline--stop). // // 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 @@ -1032,7 +1033,7 @@ func (c *OSIS) TagResourceRequest(input *TagResourceInput) (req *request.Request // TagResource API operation for Amazon OpenSearch Ingestion. // // Tags an OpenSearch Ingestion pipeline. For more information, see Tagging -// OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/tag-pipeline.html). +// Amazon OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/tag-pipeline.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1126,7 +1127,7 @@ func (c *OSIS) UntagResourceRequest(input *UntagResourceInput) (req *request.Req // UntagResource API operation for Amazon OpenSearch Ingestion. // // Removes one or more tags from an OpenSearch Ingestion pipeline. For more -// information, see Tagging OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/tag-pipeline.html). +// information, see Tagging Amazon OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/tag-pipeline.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1215,8 +1216,8 @@ func (c *OSIS) UpdatePipelineRequest(input *UpdatePipelineInput) (req *request.R // UpdatePipeline API operation for Amazon OpenSearch Ingestion. // -// Updates an OpenSearch Ingestion pipeline. For more information, see Creating -// and managing OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html). +// Updates an OpenSearch Ingestion pipeline. For more information, see Updating +// Amazon OpenSearch Ingestion pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/update-pipeline.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1309,8 +1310,8 @@ func (c *OSIS) ValidatePipelineRequest(input *ValidatePipelineInput) (req *reque // ValidatePipeline API operation for Amazon OpenSearch Ingestion. // // Checks whether an OpenSearch Ingestion pipeline configuration is valid prior -// to creation. For more information, see Creating and managing OpenSearch Ingestion -// pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/manage-pipeline.html). +// to creation. For more information, see Creating Amazon OpenSearch Ingestion +// pipelines (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/creating-pipeline.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about diff --git a/service/qldb/api.go b/service/qldb/api.go index 52e3fd5a98b..d03be554506 100644 --- a/service/qldb/api.go +++ b/service/qldb/api.go @@ -239,7 +239,7 @@ func (c *QLDB) DeleteLedgerRequest(input *DeleteLedgerInput) (req *request.Reque // // If deletion protection is enabled, you must first disable it before you can // delete the ledger. You can disable it by calling the UpdateLedger operation -// to set the flag to false. +// to set this parameter to false. // // 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 @@ -594,12 +594,6 @@ func (c *QLDB) ExportJournalToS3Request(input *ExportJournalToS3Input) (req *req // job can write the data objects in either the text or binary representation // of Amazon Ion format, or in JSON Lines text format. // -// In JSON Lines format, each journal block in the exported data object is a -// valid JSON object that is delimited by a newline. You can use this format -// to easily integrate JSON exports with analytics tools such as Glue and Amazon -// Athena because these services can parse newline-delimited JSON automatically. -// For more information about the format, see JSON Lines (https://jsonlines.org/). -// // If the ledger with the given Name doesn't exist, then throws ResourceNotFoundException. // // If the ledger with the given Name is in CREATING status, then throws ResourcePreconditionNotMetException. @@ -963,9 +957,7 @@ func (c *QLDB) ListJournalKinesisStreamsForLedgerRequest(input *ListJournalKines // ListJournalKinesisStreamsForLedger API operation for Amazon QLDB. // -// Returns an array of all Amazon QLDB journal stream descriptors for a given -// ledger. The output of each stream descriptor includes the same details that -// are returned by DescribeJournalKinesisStream. +// Returns all Amazon QLDB journal streams for a given ledger. // // This action does not return any expired journal streams. For more information, // see Expiration for terminal streams (https://docs.aws.amazon.com/qldb/latest/developerguide/streams.create.html#streams.create.states.expiration) @@ -1115,8 +1107,8 @@ func (c *QLDB) ListJournalS3ExportsRequest(input *ListJournalS3ExportsInput) (re // ListJournalS3Exports API operation for Amazon QLDB. // -// Returns an array of journal export job descriptions for all ledgers that -// are associated with the current Amazon Web Services account and Region. +// Returns all journal export jobs for all ledgers that are associated with +// the current Amazon Web Services account and Region. // // This action returns a maximum of MaxResults items, and is paginated so that // you can retrieve all the items by calling ListJournalS3Exports multiple times. @@ -1253,7 +1245,7 @@ func (c *QLDB) ListJournalS3ExportsForLedgerRequest(input *ListJournalS3ExportsF // ListJournalS3ExportsForLedger API operation for Amazon QLDB. // -// Returns an array of journal export job descriptions for a specified ledger. +// Returns all journal export jobs for a specified ledger. // // This action returns a maximum of MaxResults items, and is paginated so that // you can retrieve all the items by calling ListJournalS3ExportsForLedger multiple @@ -1391,11 +1383,11 @@ func (c *QLDB) ListLedgersRequest(input *ListLedgersInput) (req *request.Request // ListLedgers API operation for Amazon QLDB. // -// Returns an array of ledger summaries that are associated with the current -// Amazon Web Services account and Region. +// Returns all ledgers that are associated with the current Amazon Web Services +// account and Region. // -// This action returns a maximum of 100 items and is paginated so that you can -// retrieve all the items by calling ListLedgers multiple times. +// This action returns a maximum of MaxResults items and is paginated so that +// you can retrieve all the items by calling ListLedgers multiple times. // // 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 @@ -2085,12 +2077,13 @@ func (s *CancelJournalKinesisStreamOutput) SetStreamId(v string) *CancelJournalK type CreateLedgerInput struct { _ struct{} `type:"structure"` - // The flag that prevents a ledger from being deleted by any user. If not provided - // on ledger creation, this feature is enabled (true) by default. + // Specifies whether the ledger is protected from being deleted by any user. + // If not defined during ledger creation, this feature is enabled (true) by + // default. // // If deletion protection is enabled, you must first disable it before you can // delete the ledger. You can disable it by calling the UpdateLedger operation - // to set the flag to false. + // to set this parameter to false. DeletionProtection *bool `type:"boolean"` // The key in Key Management Service (KMS) to use for encryption of data at @@ -2104,10 +2097,10 @@ type CreateLedgerInput struct { // // * Undefined: By default, use an Amazon Web Services owned KMS key. // - // * A valid symmetric customer managed KMS key: Use the specified KMS key - // in your account that you create, own, and manage. Amazon QLDB does not - // support asymmetric keys. For more information, see Using symmetric and - // asymmetric keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) + // * A valid symmetric customer managed KMS key: Use the specified symmetric + // encryption KMS key in your account that you create, own, and manage. Amazon + // QLDB does not support asymmetric keys. For more information, see Using + // symmetric and asymmetric keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) // in the Key Management Service Developer Guide. // // To specify a customer managed KMS key, you can use its key ID, Amazon Resource @@ -2247,12 +2240,13 @@ type CreateLedgerOutput struct { // 1970 UTC.) CreationDateTime *time.Time `type:"timestamp"` - // The flag that prevents a ledger from being deleted by any user. If not provided - // on ledger creation, this feature is enabled (true) by default. + // Specifies whether the ledger is protected from being deleted by any user. + // If not defined during ledger creation, this feature is enabled (true) by + // default. // // If deletion protection is enabled, you must first disable it before you can // delete the ledger. You can disable it by calling the UpdateLedger operation - // to set the flag to false. + // to set this parameter to false. DeletionProtection *bool `type:"boolean"` // The ARN of the customer managed KMS key that the ledger uses for encryption @@ -2661,12 +2655,13 @@ type DescribeLedgerOutput struct { // 1970 UTC.) CreationDateTime *time.Time `type:"timestamp"` - // The flag that prevents a ledger from being deleted by any user. If not provided - // on ledger creation, this feature is enabled (true) by default. + // Specifies whether the ledger is protected from being deleted by any user. + // If not defined during ledger creation, this feature is enabled (true) by + // default. // // If deletion protection is enabled, you must first disable it before you can // delete the ledger. You can disable it by calling the UpdateLedger operation - // to set the flag to false. + // to set this parameter to false. DeletionProtection *bool `type:"boolean"` // Information about the encryption of data at rest in the ledger. This includes @@ -2776,14 +2771,23 @@ type ExportJournalToS3Input struct { // Name is a required field Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` - // The output format of your exported journal data. If this parameter is not - // specified, the exported data defaults to ION_TEXT format. + // The output format of your exported journal data. A journal export job can + // write the data objects in either the text or binary representation of Amazon + // Ion (https://docs.aws.amazon.com/qldb/latest/developerguide/ion.html) format, + // or in JSON Lines (https://jsonlines.org/) text format. + // + // Default: ION_TEXT + // + // In JSON Lines format, each journal block in an exported data object is a + // valid JSON object that is delimited by a newline. You can use this format + // to directly integrate JSON exports with analytics tools such as Amazon Athena + // and Glue because these services can parse newline-delimited JSON automatically. OutputFormat *string `type:"string" enum:"OutputFormat"` // The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions // for a journal export job to do the following: // - // * Write objects into your Amazon Simple Storage Service (Amazon S3) bucket. + // * Write objects into your Amazon S3 bucket. // // * (Optional) Use your customer managed key in Key Management Service (KMS) // for server-side encryption of your exported data. @@ -3693,9 +3697,11 @@ type KinesisConfiguration struct { // Enables QLDB to publish multiple data records in a single Kinesis Data Streams // record, increasing the number of records sent per API call. // - // This option is enabled by default. Record aggregation has important implications - // for processing records and requires de-aggregation in your stream consumer. - // To learn more, see KPL Key Concepts (https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-concepts.html) + // Default: True + // + // Record aggregation has important implications for processing records and + // requires de-aggregation in your stream consumer. To learn more, see KPL Key + // Concepts (https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-concepts.html) // and Consumer De-aggregation (https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-consumer-deaggregation.html) // in the Amazon Kinesis Data Streams Developer Guide. AggregationEnabled *bool `type:"boolean"` @@ -4042,8 +4048,7 @@ type ListJournalKinesisStreamsForLedgerOutput struct { // call. NextToken *string `min:"4" type:"string"` - // The array of QLDB journal stream descriptors that are associated with the - // given ledger. + // The QLDB journal streams that are currently associated with the given ledger. Streams []*JournalKinesisStreamDescription `type:"list"` } @@ -4157,8 +4162,8 @@ func (s *ListJournalS3ExportsForLedgerInput) SetNextToken(v string) *ListJournal type ListJournalS3ExportsForLedgerOutput struct { _ struct{} `type:"structure"` - // The array of journal export job descriptions that are associated with the - // specified ledger. + // The journal export jobs that are currently associated with the specified + // ledger. JournalS3Exports []*JournalS3ExportDescription `type:"list"` // * If NextToken is empty, then the last page of results has been processed @@ -4262,8 +4267,8 @@ func (s *ListJournalS3ExportsInput) SetNextToken(v string) *ListJournalS3Exports type ListJournalS3ExportsOutput struct { _ struct{} `type:"structure"` - // The array of journal export job descriptions for all ledgers that are associated - // with the current Amazon Web Services account and Region. + // The journal export jobs for all ledgers that are associated with the current + // Amazon Web Services account and Region. JournalS3Exports []*JournalS3ExportDescription `type:"list"` // * If NextToken is empty, then the last page of results has been processed @@ -4367,8 +4372,8 @@ func (s *ListLedgersInput) SetNextToken(v string) *ListLedgersInput { type ListLedgersOutput struct { _ struct{} `type:"structure"` - // The array of ledger summaries that are associated with the current Amazon - // Web Services account and Region. + // The ledgers that are associated with the current Amazon Web Services account + // and Region. Ledgers []*LedgerSummary `type:"list"` // A pagination token, indicating whether there are more results available: @@ -4779,8 +4784,8 @@ func (s *ResourcePreconditionNotMetException) RequestID() string { type S3EncryptionConfiguration struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of a symmetric key in Key Management Service - // (KMS). Amazon S3 does not support asymmetric KMS keys. + // The Amazon Resource Name (ARN) of a symmetric encryption key in Key Management + // Service (KMS). Amazon S3 does not support asymmetric KMS keys. // // You must provide a KmsKeyArn if you specify SSE_KMS as the ObjectEncryptionType. // @@ -5316,12 +5321,13 @@ func (s UntagResourceOutput) GoString() string { type UpdateLedgerInput struct { _ struct{} `type:"structure"` - // The flag that prevents a ledger from being deleted by any user. If not provided - // on ledger creation, this feature is enabled (true) by default. + // Specifies whether the ledger is protected from being deleted by any user. + // If not defined during ledger creation, this feature is enabled (true) by + // default. // // If deletion protection is enabled, you must first disable it before you can // delete the ledger. You can disable it by calling the UpdateLedger operation - // to set the flag to false. + // to set this parameter to false. DeletionProtection *bool `type:"boolean"` // The key in Key Management Service (KMS) to use for encryption of data at @@ -5335,10 +5341,10 @@ type UpdateLedgerInput struct { // // * Undefined: Make no changes to the KMS key of the ledger. // - // * A valid symmetric customer managed KMS key: Use the specified KMS key - // in your account that you create, own, and manage. Amazon QLDB does not - // support asymmetric keys. For more information, see Using symmetric and - // asymmetric keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) + // * A valid symmetric customer managed KMS key: Use the specified symmetric + // encryption KMS key in your account that you create, own, and manage. Amazon + // QLDB does not support asymmetric keys. For more information, see Using + // symmetric and asymmetric keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) // in the Key Management Service Developer Guide. // // To specify a customer managed KMS key, you can use its key ID, Amazon Resource @@ -5429,12 +5435,13 @@ type UpdateLedgerOutput struct { // 1970 UTC.) CreationDateTime *time.Time `type:"timestamp"` - // The flag that prevents a ledger from being deleted by any user. If not provided - // on ledger creation, this feature is enabled (true) by default. + // Specifies whether the ledger is protected from being deleted by any user. + // If not defined during ledger creation, this feature is enabled (true) by + // default. // // If deletion protection is enabled, you must first disable it before you can // delete the ledger. You can disable it by calling the UpdateLedger operation - // to set the flag to false. + // to set this parameter to false. DeletionProtection *bool `type:"boolean"` // Information about the encryption of data at rest in the ledger. This includes diff --git a/service/qldb/doc.go b/service/qldb/doc.go index 621b982e0e8..beb36bd694d 100644 --- a/service/qldb/doc.go +++ b/service/qldb/doc.go @@ -3,7 +3,7 @@ // Package qldb provides the client and types for making API // requests to Amazon QLDB. // -// # The control plane for Amazon QLDB +// # The resource management API for Amazon QLDB // // See https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02 for more information on this service. // diff --git a/service/sagemaker/api.go b/service/sagemaker/api.go index fcb9d661291..e2d400784be 100644 --- a/service/sagemaker/api.go +++ b/service/sagemaker/api.go @@ -90703,8 +90703,9 @@ type ModelRegisterSettings struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the SageMaker model registry account. Required - // only to register model versions created by a different SageMaker Canvas AWS - // account than the AWS account in which SageMaker model registry is set up. + // only to register model versions created by a different SageMaker Canvas Amazon + // Web Services account than the Amazon Web Services account in which SageMaker + // model registry is set up. CrossAccountModelRegisterRoleArn *string `min:"20" type:"string"` // Describes whether the integration to the model registry is enabled or disabled @@ -114721,6 +114722,12 @@ const ( // AppInstanceTypeMlGeospatialInteractive is a AppInstanceType enum value AppInstanceTypeMlGeospatialInteractive = "ml.geospatial.interactive" + + // AppInstanceTypeMlP4d24xlarge is a AppInstanceType enum value + AppInstanceTypeMlP4d24xlarge = "ml.p4d.24xlarge" + + // AppInstanceTypeMlP4de24xlarge is a AppInstanceType enum value + AppInstanceTypeMlP4de24xlarge = "ml.p4de.24xlarge" ) // AppInstanceType_Values returns all elements of the AppInstanceType enum @@ -114784,6 +114791,8 @@ func AppInstanceType_Values() []string { AppInstanceTypeMlG524xlarge, AppInstanceTypeMlG548xlarge, AppInstanceTypeMlGeospatialInteractive, + AppInstanceTypeMlP4d24xlarge, + AppInstanceTypeMlP4de24xlarge, } }