diff --git a/CHANGELOG.md b/CHANGELOG.md index 346e3fa9b1d..249dba56797 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +Release v1.38.48 (2021-05-26) +=== + +### Service Client Updates +* `service/acm-pca`: Updates service API and documentation +* `service/cloudfront`: Updates service documentation + * Documentation fix for CloudFront +* `service/ec2`: Updates service API, documentation, and paginators + * This release adds resource ids and tagging support for VPC security group rules. +* `service/ecs`: Updates service API and documentation + * The release adds support for registering External instances to your Amazon ECS clusters. +* `service/mwaa`: Updates service API and documentation +* `service/outposts`: Updates service API and documentation +* `service/qldb`: Updates service API and documentation + Release v1.38.47 (2021-05-25) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index b493eadeb37..2de69cc5bc8 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -6205,9 +6205,27 @@ var awsPartition = partition{ "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, + "fips-us-east-1": endpoint{ + Hostname: "session.qldb-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "session.qldb-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "session.qldb-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, }, }, "shield": service{ diff --git a/aws/version.go b/aws/version.go index 9666a0473e2..cca6a68d158 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.38.47" +const SDKVersion = "1.38.48" diff --git a/models/apis/acm-pca/2017-08-22/api-2.json b/models/apis/acm-pca/2017-08-22/api-2.json index 22136688a33..cb7a05089de 100644 --- a/models/apis/acm-pca/2017-08-22/api-2.json +++ b/models/apis/acm-pca/2017-08-22/api-2.json @@ -649,7 +649,8 @@ "box":true }, "CustomCname":{"shape":"String253"}, - "S3BucketName":{"shape":"String3To255"} + "S3BucketName":{"shape":"String3To255"}, + "S3ObjectAcl":{"shape":"S3ObjectAcl"} } }, "CsrBlob":{ @@ -1251,6 +1252,13 @@ "type":"string", "max":1024 }, + "S3ObjectAcl":{ + "type":"string", + "enum":[ + "PUBLIC_READ", + "BUCKET_OWNER_FULL_CONTROL" + ] + }, "SigningAlgorithm":{ "type":"string", "enum":[ diff --git a/models/apis/acm-pca/2017-08-22/docs-2.json b/models/apis/acm-pca/2017-08-22/docs-2.json index a7a141944d7..b6257de367a 100644 --- a/models/apis/acm-pca/2017-08-22/docs-2.json +++ b/models/apis/acm-pca/2017-08-22/docs-2.json @@ -506,7 +506,7 @@ "base": null, "refs": { "CertificateAuthority$KeyStorageSecurityStandard": "

Defines a cryptographic key management compliance standard used for handling CA keys.

Default: FIPS_140_2_LEVEL_3_OR_HIGHER

Note: AWS Region ap-northeast-3 supports only FIPS_140_2_LEVEL_2_OR_HIGHER. You must explicitly specify this parameter and value when creating a CA in that Region. Specifying a different value (or no value) results in an InvalidArgsException with the message \"A certificate authority cannot be created in this region with the specified security standard.\"

", - "CreateCertificateAuthorityRequest$KeyStorageSecurityStandard": "

Specifies a cryptographic key management compliance standard used for handling CA keys.

Default: FIPS_140_2_LEVEL_3_OR_HIGHER

Note: AWS Region ap-northeast-3 supports only FIPS_140_2_LEVEL_2_OR_HIGHER. You must explicitly specify this parameter and value when creating a CA in that Region. Specifying a different value (or no value) results in an InvalidArgsException with the message \"A certificate authority cannot be created in this region with the specified security standard.\"

" + "CreateCertificateAuthorityRequest$KeyStorageSecurityStandard": "

Specifies a cryptographic key management compliance standard used for handling CA keys.

Default: FIPS_140_2_LEVEL_3_OR_HIGHER

Note: FIPS_140_2_LEVEL_3_OR_HIGHER is not supported in Region ap-northeast-3. When creating a CA in the ap-northeast-3, you must provide FIPS_140_2_LEVEL_2_OR_HIGHER as the argument for KeyStorageSecurityStandard. Failure to do this results in an InvalidArgsException with the message, \"A certificate authority cannot be created in this region with the specified security standard.\"

" } }, "KeyUsage": { @@ -727,6 +727,12 @@ "DescribeCertificateAuthorityAuditReportResponse$S3Key": "

S3 key that uniquely identifies the report file in your S3 bucket.

" } }, + "S3ObjectAcl": { + "base": null, + "refs": { + "CrlConfiguration$S3ObjectAcl": "

Determines whether the CRL will be publicly readable or privately held in the CRL Amazon S3 bucket. If you choose PUBLIC_READ, the CRL will be accessible over the public internet. If you choose BUCKET_OWNER_FULL_CONTROL, only the owner of the CRL S3 bucket can access the CRL, and your PKI clients may need an alternative method of access.

If no value is specified, the default is PUBLIC_READ.

Note: This default can cause CA creation to fail in some circumstances. If you have have enabled the Block Public Access (BPA) feature in your S3 account, then you must specify the value of this parameter as BUCKET_OWNER_FULL_CONTROL, and not doing so results in an error. If you have disabled BPA in S3, then you can specify either BUCKET_OWNER_FULL_CONTROL or PUBLIC_READ as the value.

For more information, see Blocking public access to the S3 bucket.

" + } + }, "SigningAlgorithm": { "base": null, "refs": { @@ -807,7 +813,7 @@ "String3To255": { "base": null, "refs": { - "CrlConfiguration$S3BucketName": "

Name of the S3 bucket that contains the CRL. If you do not provide a value for the CustomCname argument, the name of your S3 bucket is placed into the CRL Distribution Points extension of the issued certificate. You can change the name of your bucket by calling the UpdateCertificateAuthority action. You must specify a bucket policy that allows ACM Private CA to write the CRL to your bucket.

" + "CrlConfiguration$S3BucketName": "

Name of the S3 bucket that contains the CRL. If you do not provide a value for the CustomCname argument, the name of your S3 bucket is placed into the CRL Distribution Points extension of the issued certificate. You can change the name of your bucket by calling the UpdateCertificateAuthority action. You must specify a bucket policy that allows ACM Private CA to write the CRL to your bucket.

" } }, "String40": { diff --git a/models/apis/cloudfront/2020-05-31/docs-2.json b/models/apis/cloudfront/2020-05-31/docs-2.json index 03fcf160f54..0118d92f522 100644 --- a/models/apis/cloudfront/2020-05-31/docs-2.json +++ b/models/apis/cloudfront/2020-05-31/docs-2.json @@ -2942,7 +2942,7 @@ "CloudFrontOriginAccessIdentity$S3CanonicalUserId": "

The Amazon S3 canonical user ID for the origin access identity, used when giving the origin access identity read permission to an object in Amazon S3.

", "CloudFrontOriginAccessIdentityAlreadyExists$Message": null, "CloudFrontOriginAccessIdentityConfig$CallerReference": "

A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.

If the value of CallerReference is new (regardless of the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created.

If the CallerReference is a value already sent in a previous identity request, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request.

If the CallerReference is a value you already sent in a previous request to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

", - "CloudFrontOriginAccessIdentityConfig$Comment": "

An optional comment to describe the origin access identity. The comment cannot be longer than 128 characters.

", + "CloudFrontOriginAccessIdentityConfig$Comment": "

A comment to describe the origin access identity. The comment cannot be longer than 128 characters.

", "CloudFrontOriginAccessIdentityInUse$Message": null, "CloudFrontOriginAccessIdentityList$Marker": "

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

", "CloudFrontOriginAccessIdentityList$NextMarker": "

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your origin access identities where they left off.

", diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 40074613174..5b86edd6df7 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -268,7 +268,8 @@ "method":"POST", "requestUri":"/" }, - "input":{"shape":"AuthorizeSecurityGroupEgressRequest"} + "input":{"shape":"AuthorizeSecurityGroupEgressRequest"}, + "output":{"shape":"AuthorizeSecurityGroupEgressResult"} }, "AuthorizeSecurityGroupIngress":{ "name":"AuthorizeSecurityGroupIngress", @@ -276,7 +277,8 @@ "method":"POST", "requestUri":"/" }, - "input":{"shape":"AuthorizeSecurityGroupIngressRequest"} + "input":{"shape":"AuthorizeSecurityGroupIngressRequest"}, + "output":{"shape":"AuthorizeSecurityGroupIngressResult"} }, "BundleInstance":{ "name":"BundleInstance", @@ -2187,6 +2189,15 @@ "input":{"shape":"DescribeSecurityGroupReferencesRequest"}, "output":{"shape":"DescribeSecurityGroupReferencesResult"} }, + "DescribeSecurityGroupRules":{ + "name":"DescribeSecurityGroupRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSecurityGroupRulesRequest"}, + "output":{"shape":"DescribeSecurityGroupRulesResult"} + }, "DescribeSecurityGroups":{ "name":"DescribeSecurityGroups", "http":{ @@ -3299,6 +3310,15 @@ "input":{"shape":"ModifyReservedInstancesRequest"}, "output":{"shape":"ModifyReservedInstancesResult"} }, + "ModifySecurityGroupRules":{ + "name":"ModifySecurityGroupRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifySecurityGroupRulesRequest"}, + "output":{"shape":"ModifySecurityGroupRulesResult"} + }, "ModifySnapshotAttribute":{ "name":"ModifySnapshotAttribute", "http":{ @@ -5471,6 +5491,10 @@ "shape":"IpPermissionList", "locationName":"ipPermissions" }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "locationName":"TagSpecification" + }, "CidrIp":{ "shape":"String", "locationName":"cidrIp" @@ -5497,6 +5521,19 @@ } } }, + "AuthorizeSecurityGroupEgressResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "locationName":"return" + }, + "SecurityGroupRules":{ + "shape":"SecurityGroupRuleList", + "locationName":"securityGroupRuleSet" + } + } + }, "AuthorizeSecurityGroupIngressRequest":{ "type":"structure", "members":{ @@ -5512,6 +5549,23 @@ "DryRun":{ "shape":"Boolean", "locationName":"dryRun" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "locationName":"TagSpecification" + } + } + }, + "AuthorizeSecurityGroupIngressResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "locationName":"return" + }, + "SecurityGroupRules":{ + "shape":"SecurityGroupRuleList", + "locationName":"securityGroupRuleSet" } } }, @@ -13173,6 +13227,40 @@ } } }, + "DescribeSecurityGroupRulesMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeSecurityGroupRulesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "locationName":"Filter" + }, + "SecurityGroupRuleIds":{ + "shape":"SecurityGroupRuleIdList", + "locationName":"SecurityGroupRuleId" + }, + "DryRun":{"shape":"Boolean"}, + "NextToken":{"shape":"String"}, + "MaxResults":{"shape":"DescribeSecurityGroupRulesMaxResults"} + } + }, + "DescribeSecurityGroupRulesResult":{ + "type":"structure", + "members":{ + "SecurityGroupRules":{ + "shape":"SecurityGroupRuleList", + "locationName":"securityGroupRuleSet" + }, + "NextToken":{ + "shape":"String", + "locationName":"nextToken" + } + } + }, "DescribeSecurityGroupsMaxResults":{ "type":"integer", "max":1000, @@ -20863,6 +20951,10 @@ "Description":{ "shape":"String", "locationName":"description" + }, + "SecurityGroupRuleId":{ + "shape":"SecurityGroupRuleId", + "locationName":"securityGroupRuleId" } } }, @@ -20977,6 +21069,10 @@ "Description":{ "shape":"String", "locationName":"description" + }, + "SecurityGroupRuleId":{ + "shape":"SecurityGroupRuleId", + "locationName":"securityGroupRuleId" } } }, @@ -23068,6 +23164,30 @@ } } }, + "ModifySecurityGroupRulesRequest":{ + "type":"structure", + "required":[ + "GroupId", + "SecurityGroupRules" + ], + "members":{ + "GroupId":{"shape":"SecurityGroupId"}, + "SecurityGroupRules":{ + "shape":"SecurityGroupRuleUpdateList", + "locationName":"SecurityGroupRule" + }, + "DryRun":{"shape":"Boolean"} + } + }, + "ModifySecurityGroupRulesResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "locationName":"return" + } + } + }, "ModifySnapshotAttributeRequest":{ "type":"structure", "required":["SnapshotId"], @@ -25185,6 +25305,10 @@ "PrefixListId":{ "shape":"String", "locationName":"prefixListId" + }, + "SecurityGroupRuleId":{ + "shape":"SecurityGroupRuleId", + "locationName":"securityGroupRuleId" } } }, @@ -25862,6 +25986,31 @@ "locationName":"item" } }, + "ReferencedSecurityGroup":{ + "type":"structure", + "members":{ + "GroupId":{ + "shape":"String", + "locationName":"groupId" + }, + "PeeringStatus":{ + "shape":"String", + "locationName":"peeringStatus" + }, + "UserId":{ + "shape":"String", + "locationName":"userId" + }, + "VpcId":{ + "shape":"String", + "locationName":"vpcId" + }, + "VpcPeeringConnectionId":{ + "shape":"String", + "locationName":"vpcPeeringConnectionId" + } + } + }, "Region":{ "type":"structure", "members":{ @@ -27373,6 +27522,7 @@ "reserved-instances", "route-table", "security-group", + "security-group-rule", "snapshot", "spot-fleet-request", "spot-instances-request", @@ -27626,6 +27776,10 @@ "shape":"IpPermissionList", "locationName":"ipPermissions" }, + "SecurityGroupRuleIds":{ + "shape":"SecurityGroupRuleIdList", + "locationName":"SecurityGroupRuleId" + }, "CidrIp":{ "shape":"String", "locationName":"cidrIp" @@ -27680,6 +27834,10 @@ "DryRun":{ "shape":"Boolean", "locationName":"dryRun" + }, + "SecurityGroupRuleIds":{ + "shape":"SecurityGroupRuleIdList", + "locationName":"SecurityGroupRuleId" } } }, @@ -28573,6 +28731,119 @@ "locationName":"item" } }, + "SecurityGroupRule":{ + "type":"structure", + "members":{ + "SecurityGroupRuleId":{ + "shape":"SecurityGroupRuleId", + "locationName":"securityGroupRuleId" + }, + "GroupId":{ + "shape":"SecurityGroupId", + "locationName":"groupId" + }, + "GroupOwnerId":{ + "shape":"String", + "locationName":"groupOwnerId" + }, + "IsEgress":{ + "shape":"Boolean", + "locationName":"isEgress" + }, + "IpProtocol":{ + "shape":"String", + "locationName":"ipProtocol" + }, + "FromPort":{ + "shape":"Integer", + "locationName":"fromPort" + }, + "ToPort":{ + "shape":"Integer", + "locationName":"toPort" + }, + "CidrIpv4":{ + "shape":"String", + "locationName":"cidrIpv4" + }, + "CidrIpv6":{ + "shape":"String", + "locationName":"cidrIpv6" + }, + "PrefixListId":{ + "shape":"PrefixListResourceId", + "locationName":"prefixListId" + }, + "ReferencedGroupInfo":{ + "shape":"ReferencedSecurityGroup", + "locationName":"referencedGroupInfo" + }, + "Description":{ + "shape":"String", + "locationName":"description" + }, + "Tags":{ + "shape":"TagList", + "locationName":"tagSet" + } + } + }, + "SecurityGroupRuleDescription":{ + "type":"structure", + "members":{ + "SecurityGroupRuleId":{"shape":"String"}, + "Description":{"shape":"String"} + } + }, + "SecurityGroupRuleDescriptionList":{ + "type":"list", + "member":{ + "shape":"SecurityGroupRuleDescription", + "locationName":"item" + } + }, + "SecurityGroupRuleId":{"type":"string"}, + "SecurityGroupRuleIdList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, + "SecurityGroupRuleList":{ + "type":"list", + "member":{ + "shape":"SecurityGroupRule", + "locationName":"item" + } + }, + "SecurityGroupRuleRequest":{ + "type":"structure", + "members":{ + "IpProtocol":{"shape":"String"}, + "FromPort":{"shape":"Integer"}, + "ToPort":{"shape":"Integer"}, + "CidrIpv4":{"shape":"String"}, + "CidrIpv6":{"shape":"String"}, + "PrefixListId":{"shape":"PrefixListResourceId"}, + "ReferencedGroupId":{"shape":"SecurityGroupId"}, + "Description":{"shape":"String"} + } + }, + "SecurityGroupRuleUpdate":{ + "type":"structure", + "members":{ + "SecurityGroupRuleId":{"shape":"SecurityGroupRuleId"}, + "SecurityGroupRule":{"shape":"SecurityGroupRuleRequest"} + } + }, + "SecurityGroupRuleUpdateList":{ + "type":"list", + "member":{ + "shape":"SecurityGroupRuleUpdate", + "locationName":"item" + } + }, "SecurityGroupStringList":{ "type":"list", "member":{ @@ -32110,12 +32381,15 @@ }, "UpdateSecurityGroupRuleDescriptionsEgressRequest":{ "type":"structure", - "required":["IpPermissions"], "members":{ "DryRun":{"shape":"Boolean"}, "GroupId":{"shape":"SecurityGroupId"}, "GroupName":{"shape":"SecurityGroupName"}, - "IpPermissions":{"shape":"IpPermissionList"} + "IpPermissions":{"shape":"IpPermissionList"}, + "SecurityGroupRuleDescriptions":{ + "shape":"SecurityGroupRuleDescriptionList", + "locationName":"SecurityGroupRuleDescription" + } } }, "UpdateSecurityGroupRuleDescriptionsEgressResult":{ @@ -32129,12 +32403,15 @@ }, "UpdateSecurityGroupRuleDescriptionsIngressRequest":{ "type":"structure", - "required":["IpPermissions"], "members":{ "DryRun":{"shape":"Boolean"}, "GroupId":{"shape":"SecurityGroupId"}, "GroupName":{"shape":"SecurityGroupName"}, - "IpPermissions":{"shape":"IpPermissionList"} + "IpPermissions":{"shape":"IpPermissionList"}, + "SecurityGroupRuleDescriptions":{ + "shape":"SecurityGroupRuleDescriptionList", + "locationName":"SecurityGroupRuleDescription" + } } }, "UpdateSecurityGroupRuleDescriptionsIngressResult":{ @@ -32227,6 +32504,10 @@ "VpcPeeringConnectionId":{ "shape":"String", "locationName":"vpcPeeringConnectionId" + }, + "SecurityGroupRuleId":{ + "shape":"SecurityGroupRuleId", + "locationName":"securityGroupRuleId" } } }, diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 195a98bc6a6..8c2db8addc1 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -30,8 +30,8 @@ "AttachVolume": "

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

After you attach an EBS volume, you must make it available. For more information, see Making an EBS volume available for use.

If a volume has an AWS Marketplace product code:

For more information, see Attaching Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.

", "AttachVpnGateway": "

Attaches a virtual private gateway to a VPC. You can attach one virtual private gateway to one VPC at a time.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

", "AuthorizeClientVpnIngress": "

Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization rules act as firewall rules that grant access to networks. You must configure ingress authorization rules to enable clients to access resources in AWS or on-premises networks.

", - "AuthorizeSecurityGroupEgress": "

[VPC only] Adds the specified egress rules to a security group for use with a VPC.

An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 CIDR address ranges, or to the instances associated with the specified destination security groups.

You specify a protocol for each rule (for example, TCP). For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

For more information about VPC security group limits, see Amazon VPC Limits.

", - "AuthorizeSecurityGroupIngress": "

Adds the specified ingress rules to a security group.

An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR address ranges, or from the instances associated with the specified destination security groups.

You specify a protocol for each rule (for example, TCP). For TCP and UDP, you must also specify the destination port or port range. For ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean all types or all codes.

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

For more information about VPC security group limits, see Amazon VPC Limits.

", + "AuthorizeSecurityGroupEgress": "

[VPC only] Adds the specified outbound (egress) rules to a security group for use with a VPC.

An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 CIDR address ranges, or to the instances that are associated with the specified destination security groups.

You specify a protocol for each rule (for example, TCP). For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

You can optionally add a tag to the security group rule.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

For information about VPC security group quotas, see Amazon VPC Limits.

", + "AuthorizeSecurityGroupIngress": "

Adds the specified inbound (ingress) rules to a security group.

An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR address ranges, or from the instances that are associated with the specified destination security groups.

You specify a protocol for each rule (for example, TCP). For TCP and UDP, you must also specify the destination port or port range. For ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean all types or all codes.

[VPC Only] You can optionally add a tag to the security group rule.

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

For information about VPC security group quotas, see Amazon VPC Limits.

", "BundleInstance": "

Bundles an Amazon instance store-backed Windows instance.

During bundling, only the root device volume (C:\\) is bundled. Data on other instance store volumes is not preserved.

This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

", "CancelBundleTask": "

Cancels a bundling operation for an instance store-backed Windows instance.

", "CancelCapacityReservation": "

Cancels the specified Capacity Reservation, releases the reserved capacity, and changes the Capacity Reservation's state to cancelled.

Instances running in the reserved capacity continue running until you stop them. Stopped instances that target the Capacity Reservation can no longer launch. Modify these instances to either target a different Capacity Reservation, launch On-Demand Instance capacity, or run in any open Capacity Reservation that has matching attributes and sufficient capacity.

", @@ -247,6 +247,7 @@ "DescribeScheduledInstanceAvailability": "

Finds available schedules that meet the specified criteria.

You can search for an available schedule no more than 3 months in advance. You must meet the minimum required duration of 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

After you find a schedule that meets your needs, call PurchaseScheduledInstances to purchase Scheduled Instances with that schedule.

", "DescribeScheduledInstances": "

Describes the specified Scheduled Instances or all your Scheduled Instances.

", "DescribeSecurityGroupReferences": "

[VPC only] Describes the VPCs on the other side of a VPC peering connection that are referencing the security groups you've specified in this request.

", + "DescribeSecurityGroupRules": "

Describes one or more of your security group rules.

", "DescribeSecurityGroups": "

Describes the specified security groups or all of your security groups.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

", "DescribeSnapshotAttribute": "

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

", "DescribeSnapshots": "

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other AWS accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or AWS accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the AWS account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify AWS account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSnapshots request to retrieve the remaining results.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

", @@ -372,6 +373,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.

", "ModifyReservedInstances": "

Modifies the Availability Zone, instance count, instance type, or network platform (EC2-Classic or EC2-VPC) of your Reserved Instances. 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 AWS 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 AWS Marketplace product codes cannot be made public. Snapshots encrypted with your default CMK cannot be shared with other accounts.

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

", "ModifySpotFleetRequest": "

Modifies the specified Spot Fleet request.

You can only modify a Spot Fleet request of type maintain.

While the Spot Fleet request is being modified, it is in the modifying state.

To scale up your Spot Fleet, increase its target capacity. The Spot Fleet launches the additional Spot Instances according to the allocation strategy for the Spot Fleet request. If the allocation strategy is lowestPrice, the Spot Fleet launches instances using the Spot Instance pool with the lowest price. If the allocation strategy is diversified, the Spot Fleet distributes the instances across the Spot Instance pools. If the allocation strategy is capacityOptimized, Spot Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.

To scale down your Spot Fleet, decrease its target capacity. First, the Spot Fleet cancels any open requests that exceed the new target capacity. You can request that the Spot Fleet terminate Spot Instances until the size of the fleet no longer exceeds the new target capacity. If the allocation strategy is lowestPrice, the Spot Fleet terminates the instances with the highest price per unit. If the allocation strategy is capacityOptimized, the Spot Fleet terminates the instances in the Spot Instance pools that have the least available Spot Instance capacity. If the allocation strategy is diversified, the Spot Fleet terminates instances across the Spot Instance pools. Alternatively, you can request that the Spot Fleet keep the fleet at its current size, but not replace any Spot Instances that are interrupted or that you terminate manually.

If you are finished with your Spot Fleet for now, but will use it again later, you can set the target capacity to 0.

", "ModifySubnetAttribute": "

Modifies a subnet attribute. You can only modify one attribute at a time.

", @@ -431,8 +433,8 @@ "RestoreAddressToClassic": "

Restores an Elastic IP address that was previously moved to the EC2-VPC platform back to the EC2-Classic platform. You cannot move an Elastic IP address that was originally allocated for use in EC2-VPC. The Elastic IP address must not be associated with an instance or network interface.

", "RestoreManagedPrefixListVersion": "

Restores the entries from a previous version of a managed prefix list to a new version of the prefix list.

", "RevokeClientVpnIngress": "

Removes an ingress authorization rule from a Client VPN endpoint.

", - "RevokeSecurityGroupEgress": "

[VPC only] Removes the specified egress rules from a security group for EC2-VPC. This action does not apply to security groups for use in EC2-Classic. To remove a rule, the values that you specify (for example, ports) must match the existing rule's values exactly.

[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.

AWS recommends that you use DescribeSecurityGroups to verify that the rule has been removed.

Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source security group. 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 have to specify the description to revoke the rule.

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

", - "RevokeSecurityGroupIngress": "

Removes the specified ingress rules from a security group. To remove a rule, the values that you specify (for example, ports) must match the existing rule's values exactly.

[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.

AWS recommends that you use DescribeSecurityGroups to verify that the rule has been removed.

Each rule consists of the protocol and the CIDR range or source security group. 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 have to specify the description to revoke the rule.

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

", + "RevokeSecurityGroupEgress": "

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

You can specify the rules that you want to remove by using one of the following methods:

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

", + "RevokeSecurityGroupIngress": "

Removes the specified ingress rules from a security group. To remove a rule, the values that you specify (for example, ports) must match the existing rule's values exactly.

[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.

AWS recommends that you use DescribeSecurityGroups to verify that the rule has been removed.

You can specify the rules that you want to remove by using one of the following methods:

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

", "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.

", @@ -448,8 +450,8 @@ "UnassignIpv6Addresses": "

Unassigns one or more IPv6 addresses from a network interface.

", "UnassignPrivateIpAddresses": "

Unassigns one or more secondary private IP addresses from a network interface.

", "UnmonitorInstances": "

Disables detailed monitoring for a running instance. For more information, see Monitoring your instances and volumes in the Amazon EC2 User Guide.

", - "UpdateSecurityGroupRuleDescriptionsEgress": "

[VPC only] Updates the description of an egress (outbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.

You specify the description as part of the IP permissions structure. You can remove a description for a security group rule by omitting the description parameter in the request.

", - "UpdateSecurityGroupRuleDescriptionsIngress": "

Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.

You specify the description as part of the IP permissions structure. You can remove a description for a security group rule by omitting the description parameter in the request.

", + "UpdateSecurityGroupRuleDescriptionsEgress": "

[VPC only] Updates the description of an egress (outbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.

You can specify the rule that you want to update by using one of the following methods:

You can remove a description for a security group rule by omitting the description parameter in the request.

", + "UpdateSecurityGroupRuleDescriptionsIngress": "

Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.

You can specify the rule that you want to update by using one of the following methods:

You can remove a description for a security group rule by omitting the description parameter in the request.

", "WithdrawByoipCidr": "

Stops advertising an address range that is provisioned as an address pool.

You can perform this operation at most once every 10 seconds, even if you specify different address ranges each time.

It can take a few minutes before traffic to the specified addresses stops routing to AWS because of BGP propagation delays.

" }, "shapes": { @@ -1173,11 +1175,21 @@ "refs": { } }, + "AuthorizeSecurityGroupEgressResult": { + "base": null, + "refs": { + } + }, "AuthorizeSecurityGroupIngressRequest": { "base": null, "refs": { } }, + "AuthorizeSecurityGroupIngressResult": { + "base": null, + "refs": { + } + }, "AutoAcceptSharedAssociationsValue": { "base": null, "refs": { @@ -1379,7 +1391,9 @@ "AuthorizeClientVpnIngressRequest$AuthorizeAllGroups": "

Indicates whether to grant access to all clients. Specify true to grant all clients who successfully establish a VPN connection access to the network. Must be set to true if AccessGroupId is not specified.

", "AuthorizeClientVpnIngressRequest$DryRun": "

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

", "AuthorizeSecurityGroupEgressRequest$DryRun": "

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

", + "AuthorizeSecurityGroupEgressResult$Return": "

Returns true if the request succeeds; otherwise, returns an error.

", "AuthorizeSecurityGroupIngressRequest$DryRun": "

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

", + "AuthorizeSecurityGroupIngressResult$Return": "

Returns true if the request succeeds; otherwise, returns an error.

", "BundleInstanceRequest$DryRun": "

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

", "CancelBundleTaskRequest$DryRun": "

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

", "CancelCapacityReservationRequest$DryRun": "

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

", @@ -1619,6 +1633,7 @@ "DescribeScheduledInstanceAvailabilityRequest$DryRun": "

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

", "DescribeScheduledInstancesRequest$DryRun": "

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

", "DescribeSecurityGroupReferencesRequest$DryRun": "

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

", + "DescribeSecurityGroupRulesRequest$DryRun": "

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

", "DescribeSecurityGroupsRequest$DryRun": "

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

", "DescribeSnapshotAttributeRequest$DryRun": "

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

", "DescribeSnapshotsRequest$DryRun": "

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

", @@ -1811,6 +1826,8 @@ "ModifyLaunchTemplateRequest$DryRun": "

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

", "ModifyManagedPrefixListRequest$DryRun": "

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

", "ModifyNetworkInterfaceAttributeRequest$DryRun": "

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

", + "ModifySecurityGroupRulesRequest$DryRun": "

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

", + "ModifySecurityGroupRulesResult$Return": "

Returns true if the request succeeds; otherwise, returns an error.

", "ModifySnapshotAttributeRequest$DryRun": "

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

", "ModifySpotFleetRequestResponse$Return": "

Is true if the request succeeds, and an error otherwise.

", "ModifyTrafficMirrorFilterNetworkServicesRequest$DryRun": "

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

", @@ -1934,6 +1951,7 @@ "SearchTransitGatewayMulticastGroupsRequest$DryRun": "

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

", "SearchTransitGatewayRoutesRequest$DryRun": "

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

", "SearchTransitGatewayRoutesResult$AdditionalRoutesAvailable": "

Indicates whether there are additional routes available.

", + "SecurityGroupRule$IsEgress": "

Indicates whether the security group rule is an outbound rule.

", "SendDiagnosticInterruptRequest$DryRun": "

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

", "ServiceConfiguration$AcceptanceRequired": "

Indicates whether requests from other AWS accounts to create an endpoint to the service must first be accepted.

", "ServiceConfiguration$ManagesVpcEndpoints": "

Indicates whether the service manages its VPC endpoints. Management of the service VPC endpoints using the VPC endpoint API is restricted.

", @@ -5315,6 +5333,22 @@ "refs": { } }, + "DescribeSecurityGroupRulesMaxResults": { + "base": null, + "refs": { + "DescribeSecurityGroupRulesRequest$MaxResults": "

The maximum number of results to return in a single call. To retrieve the remaining results, make another request with the returned NextToken value. This value can be between 5 and 1000. If this parameter is not specified, then all results are returned.

" + } + }, + "DescribeSecurityGroupRulesRequest": { + "base": null, + "refs": { + } + }, + "DescribeSecurityGroupRulesResult": { + "base": null, + "refs": { + } + }, "DescribeSecurityGroupsMaxResults": { "base": null, "refs": { @@ -6868,6 +6902,7 @@ "DescribeRouteTablesRequest$Filters": "

One or more 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.

", "DescribeSnapshotsRequest$Filters": "

The filters.

", "DescribeSpotInstanceRequestsRequest$Filters": "

One or more filters.

", @@ -7555,7 +7590,7 @@ "base": null, "refs": { "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 your security groups.

", + "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.

" } @@ -7595,7 +7630,7 @@ "GroupNameStringList": { "base": null, "refs": { - "DescribeSecurityGroupsRequest$GroupNames": "

[EC2-Classic and default VPC only] The names of the security groups. You can specify either the security group name or the security group ID. For security groups in a nondefault VPC, use the group-name filter to describe security groups by name.

Default: Describes all your security groups.

", + "DescribeSecurityGroupsRequest$GroupNames": "

[EC2-Classic and default VPC only] The names of the security groups. You can specify either the security group name or the security group ID. For security groups in a nondefault VPC, use the group-name filter to describe security groups by name.

Default: Describes all of your security groups.

", "ModifySnapshotAttributeRequest$GroupNames": "

The group to modify for the snapshot.

" } }, @@ -8858,6 +8893,10 @@ "ScheduledInstancesNetworkInterface$DeviceIndex": "

The index of the device for the network interface attachment.

", "ScheduledInstancesNetworkInterface$Ipv6AddressCount": "

The number of IPv6 addresses to assign to the network interface. The IPv6 addresses are automatically selected from the subnet range.

", "ScheduledInstancesNetworkInterface$SecondaryPrivateIpAddressCount": "

The number of secondary private IPv4 addresses.

", + "SecurityGroupRule$FromPort": "

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", + "SecurityGroupRule$ToPort": "

The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", + "SecurityGroupRuleRequest$FromPort": "

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", + "SecurityGroupRuleRequest$ToPort": "

The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", "Snapshot$VolumeSize": "

The size of the volume, in GiB.

", "SnapshotInfo$VolumeSize": "

Size of the volume from which this snapshot was created.

", "SpotFleetRequestConfigData$TargetCapacity": "

The number of units to request for the Spot Fleet. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

", @@ -9005,8 +9044,8 @@ "RevokeSecurityGroupIngressResult$UnknownIpPermissions": "

The inbound rules that were unknown to the service. In some cases, unknownIpPermissionSet might be in a different format from the request parameter.

", "SecurityGroup$IpPermissions": "

The inbound rules associated with the security group.

", "SecurityGroup$IpPermissionsEgress": "

[VPC only] The outbound rules associated with the security group.

", - "UpdateSecurityGroupRuleDescriptionsEgressRequest$IpPermissions": "

The IP permissions for the security group rule.

", - "UpdateSecurityGroupRuleDescriptionsIngressRequest$IpPermissions": "

The IP permissions for the security group rule.

" + "UpdateSecurityGroupRuleDescriptionsEgressRequest$IpPermissions": "

The IP permissions for the security group rule. You can either specify this parameter, or the SecurityGroupRuleDescriptions parameter.

", + "UpdateSecurityGroupRuleDescriptionsIngressRequest$IpPermissions": "

The IP permissions for the security group rule. You can either specify this parameter, or the SecurityGroupRuleDescriptions parameter.

" } }, "IpRange": { @@ -9146,7 +9185,7 @@ "KeyNameStringList": { "base": null, "refs": { - "DescribeKeyPairsRequest$KeyNames": "

The key pair names.

Default: Describes all your key pairs.

" + "DescribeKeyPairsRequest$KeyNames": "

The key pair names.

Default: Describes all of your key pairs.

" } }, "KeyPair": { @@ -10300,6 +10339,16 @@ "refs": { } }, + "ModifySecurityGroupRulesRequest": { + "base": null, + "refs": { + } + }, + "ModifySecurityGroupRulesResult": { + "base": null, + "refs": { + } + }, "ModifySnapshotAttributeRequest": { "base": null, "refs": { @@ -11510,6 +11559,8 @@ "PrefixListResourceIdStringList$member": null, "ReplaceRouteRequest$DestinationPrefixListId": "

The ID of the prefix list for the route.

", "RestoreManagedPrefixListVersionRequest$PrefixListId": "

The ID of the prefix list.

", + "SecurityGroupRule$PrefixListId": "

The ID of the prefix list.

", + "SecurityGroupRuleRequest$PrefixListId": "

The ID of the prefix list.

", "TransitGatewayPrefixListReference$PrefixListId": "

The ID of the prefix list.

", "TransitGatewayRoute$PrefixListId": "

The ID of the prefix list used for destination matches.

" } @@ -11885,6 +11936,12 @@ "ReservedInstancesOffering$RecurringCharges": "

The recurring charge tag assigned to the resource.

" } }, + "ReferencedSecurityGroup": { + "base": "

Describes the security group that is referenced in the security group rule.

", + "refs": { + "SecurityGroupRule$ReferencedGroupInfo": "

Describes the security group that is referenced in the rule.

" + } + }, "Region": { "base": "

Describes a Region.

", "refs": { @@ -12903,7 +12960,7 @@ } }, "SecurityGroup": { - "base": "

Describes a security group

", + "base": "

Describes a security group.

", "refs": { "SecurityGroupList$member": null } @@ -12916,11 +12973,14 @@ "ClientVpnSecurityGroupIdSet$member": null, "DeleteSecurityGroupRequest$GroupId": "

The ID of the security group. Required for a nondefault VPC.

", "GroupIds$member": null, + "ModifySecurityGroupRulesRequest$GroupId": "

The ID of the security group.

", "RequestSpotLaunchSpecificationSecurityGroupIdList$member": null, "RevokeSecurityGroupEgressRequest$GroupId": "

The ID of the security group.

", "RevokeSecurityGroupIngressRequest$GroupId": "

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

", "ScheduledInstancesSecurityGroupIdSet$member": null, "SecurityGroupIdStringList$member": null, + "SecurityGroupRule$GroupId": "

The ID of the security group.

", + "SecurityGroupRuleRequest$ReferencedGroupId": "

The ID of the security group that is referenced in the security group rule.

", "UpdateSecurityGroupRuleDescriptionsEgressRequest$GroupId": "

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

", "UpdateSecurityGroupRuleDescriptionsIngressRequest$GroupId": "

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

", "VpcEndpointSecurityGroupIdList$member": null @@ -12974,6 +13034,70 @@ "DescribeSecurityGroupReferencesResult$SecurityGroupReferenceSet": "

Information about the VPCs with the referencing security groups.

" } }, + "SecurityGroupRule": { + "base": "

Describes a security group rule.

", + "refs": { + "SecurityGroupRuleList$member": null + } + }, + "SecurityGroupRuleDescription": { + "base": "

Describes the description of a security group rule.

You can use this when you want to update the security group rule description for either an inbound or outbound rule.

", + "refs": { + "SecurityGroupRuleDescriptionList$member": null + } + }, + "SecurityGroupRuleDescriptionList": { + "base": null, + "refs": { + "UpdateSecurityGroupRuleDescriptionsEgressRequest$SecurityGroupRuleDescriptions": "

The description for the egress security group rules. You can either specify this parameter, or the IpPermissions parameter.

", + "UpdateSecurityGroupRuleDescriptionsIngressRequest$SecurityGroupRuleDescriptions": "

[VPC only] The description for the ingress security group rules. You can either specify this parameter, or the IpPermissions parameter.

" + } + }, + "SecurityGroupRuleId": { + "base": null, + "refs": { + "IpRange$SecurityGroupRuleId": "

The ID of the security group rule.

", + "Ipv6Range$SecurityGroupRuleId": "

The ID of the security group rule.

", + "PrefixListId$SecurityGroupRuleId": "

The ID of the security group rule.

", + "SecurityGroupRule$SecurityGroupRuleId": "

The ID of the security group rule.

", + "SecurityGroupRuleUpdate$SecurityGroupRuleId": "

The ID of the security group rule.

", + "UserIdGroupPair$SecurityGroupRuleId": "

The ID of the security group rule.

" + } + }, + "SecurityGroupRuleIdList": { + "base": null, + "refs": { + "DescribeSecurityGroupRulesRequest$SecurityGroupRuleIds": "

The IDs of the security group rules.

", + "RevokeSecurityGroupEgressRequest$SecurityGroupRuleIds": "

The IDs of the security group rules.

", + "RevokeSecurityGroupIngressRequest$SecurityGroupRuleIds": "

The IDs of the security group rules.

" + } + }, + "SecurityGroupRuleList": { + "base": null, + "refs": { + "AuthorizeSecurityGroupEgressResult$SecurityGroupRules": "

Information about the outbound (egress) security group rules that were added.

", + "AuthorizeSecurityGroupIngressResult$SecurityGroupRules": "

Information about the inbound (ingress) security group rules that were added.

", + "DescribeSecurityGroupRulesResult$SecurityGroupRules": "

Information about security group rules.

" + } + }, + "SecurityGroupRuleRequest": { + "base": "

Describes a security group rule.

You can only use one of the following to specify the rule:

When you run the ModifySecurityGroupRules command, you cannot change the rule type. For example if the rules references CidrIpv4, then you must use CidrIpv4 to reference the rule.

", + "refs": { + "SecurityGroupRuleUpdate$SecurityGroupRule": "

Information about the security group rule.

" + } + }, + "SecurityGroupRuleUpdate": { + "base": "

Describes an update to a security group rule.

", + "refs": { + "SecurityGroupRuleUpdateList$member": null + } + }, + "SecurityGroupRuleUpdateList": { + "base": null, + "refs": { + "ModifySecurityGroupRulesRequest$SecurityGroupRules": "

Information about the security group properties to update.

" + } + }, "SecurityGroupStringList": { "base": null, "refs": { @@ -13579,7 +13703,7 @@ "AuthorizeSecurityGroupEgressRequest$SourceSecurityGroupName": "

Not supported. Use a set of IP permissions to specify a destination security group.

", "AuthorizeSecurityGroupEgressRequest$SourceSecurityGroupOwnerId": "

Not supported. Use a set of IP permissions to specify a destination security group.

", "AuthorizeSecurityGroupIngressRequest$CidrIp": "

The IPv4 address range, in CIDR format. You can't specify this parameter when specifying a source security group. To specify an IPv6 address range, use a set of IP permissions.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

", - "AuthorizeSecurityGroupIngressRequest$IpProtocol": "

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). To specify icmpv6, use a set of IP permissions.

[VPC only] Use -1 to specify all protocols. If you specify -1 or a protocol other than tcp, udp, or icmp, traffic on all ports is allowed, regardless of any ports you specify.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

", + "AuthorizeSecurityGroupIngressRequest$IpProtocol": "

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). To specify icmpv6, use a set of IP permissions.

[VPC only] Use -1 to specify all protocols. If you specify -1 or a protocol other than tcp, udp, or icmp, traffic on all ports is allowed, regardless of any ports that you specify.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

", "AuthorizeSecurityGroupIngressRequest$SourceSecurityGroupName": "

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. For EC2-VPC, the source security group must be in the same VPC.

", "AuthorizeSecurityGroupIngressRequest$SourceSecurityGroupOwnerId": "

[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead.

", "AvailabilityZone$RegionName": "

The name of the Region.

", @@ -13960,6 +14084,8 @@ "DescribeScheduledInstanceAvailabilityResult$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", "DescribeScheduledInstancesRequest$NextToken": "

The token for the next set of results.

", "DescribeScheduledInstancesResult$NextToken": "

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", + "DescribeSecurityGroupRulesRequest$NextToken": "

The token for the next page of results.

", + "DescribeSecurityGroupRulesResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "DescribeSecurityGroupsRequest$NextToken": "

The token to request the next page of results.

", "DescribeSecurityGroupsResult$NextToken": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", "DescribeSnapshotAttributeResult$SnapshotId": "

The ID of the EBS snapshot.

", @@ -14282,7 +14408,7 @@ "ImportInstanceVolumeDetailItem$StatusMessage": "

The status information or errors related to the disk image.

", "ImportKeyPairRequest$KeyName": "

A unique name for the key pair.

", "ImportKeyPairResult$KeyFingerprint": "

The MD5 public key fingerprint as specified in section 4 of RFC 4716.

", - "ImportKeyPairResult$KeyName": "

The key pair name you provided.

", + "ImportKeyPairResult$KeyName": "

The key pair name that you provided.

", "ImportKeyPairResult$KeyPairId": "

The ID of the resulting key pair.

", "ImportSnapshotRequest$ClientToken": "

Token to enable idempotency for VM import requests.

", "ImportSnapshotRequest$Description": "

The description string for the import snapshot task.

", @@ -14633,6 +14759,11 @@ "PurchaseRequest$PurchaseToken": "

The purchase token.

", "PurchaseReservedInstancesOfferingResult$ReservedInstancesId": "

The IDs of the purchased Reserved Instances.

", "PurchaseScheduledInstancesRequest$ClientToken": "

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

", + "ReferencedSecurityGroup$GroupId": "

The ID of the security group.

", + "ReferencedSecurityGroup$PeeringStatus": "

The status of a VPC peering connection, if applicable.

", + "ReferencedSecurityGroup$UserId": "

The AWS account ID.

", + "ReferencedSecurityGroup$VpcId": "

The ID of the VPC.

", + "ReferencedSecurityGroup$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", "Region$Endpoint": "

The Region service endpoint.

", "Region$RegionName": "

The name of the Region.

", "Region$OptInStatus": "

The Region opt-in status. The possible values are opt-in-not-required, opted-in, and not-opted-in.

", @@ -14790,6 +14921,18 @@ "SecurityGroupReference$GroupId": "

The ID of your security group.

", "SecurityGroupReference$ReferencingVpcId": "

The ID of the VPC with the referencing security group.

", "SecurityGroupReference$VpcPeeringConnectionId": "

The ID of the VPC peering connection.

", + "SecurityGroupRule$GroupOwnerId": "

The ID of the AWS account that owns the security group.

", + "SecurityGroupRule$IpProtocol": "

The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers).

Use -1 to specify all protocols.

", + "SecurityGroupRule$CidrIpv4": "

The IPv4 CIDR range.

", + "SecurityGroupRule$CidrIpv6": "

The IPv6 CIDR range.

", + "SecurityGroupRule$Description": "

The security group rule description.

", + "SecurityGroupRuleDescription$SecurityGroupRuleId": "

The ID of the security group rule.

", + "SecurityGroupRuleDescription$Description": "

The description of the security group rule.

", + "SecurityGroupRuleIdList$member": null, + "SecurityGroupRuleRequest$IpProtocol": "

The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers).

Use -1 to specify all protocols.

", + "SecurityGroupRuleRequest$CidrIpv4": "

The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

", + "SecurityGroupRuleRequest$CidrIpv6": "

The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

", + "SecurityGroupRuleRequest$Description": "

The description of the security group rule.

", "ServiceConfiguration$ServiceId": "

The ID of the service.

", "ServiceConfiguration$ServiceName": "

The name of the service.

", "ServiceConfiguration$PrivateDnsName": "

The private DNS name for the service.

", @@ -15312,6 +15455,7 @@ "ReservedInstancesListing$Tags": "

Any tags assigned to the resource.

", "RouteTable$Tags": "

Any tags assigned to the route table.

", "SecurityGroup$Tags": "

Any tags assigned to the security group.

", + "SecurityGroupRule$Tags": "

The tags applied to the security group rule.

", "ServiceConfiguration$Tags": "

Any tags assigned to the service.

", "ServiceDetail$Tags": "

Any tags assigned to the service.

", "Snapshot$Tags": "

Any tags assigned to the snapshot.

", @@ -15352,6 +15496,8 @@ "refs": { "AllocateAddressRequest$TagSpecifications": "

The tags to assign to the Elastic IP address.

", "AllocateHostsRequest$TagSpecifications": "

The tags to apply to the Dedicated Host during creation.

", + "AuthorizeSecurityGroupEgressRequest$TagSpecifications": "

The tags applied to the security group rule.

", + "AuthorizeSecurityGroupIngressRequest$TagSpecifications": "

[VPC Only] The tags applied to the security group rule.

", "CopySnapshotRequest$TagSpecifications": "

The tags to apply to the new snapshot.

", "CreateCapacityReservationRequest$TagSpecifications": "

The tags to apply to the Capacity Reservation during launch.

", "CreateCarrierGatewayRequest$TagSpecifications": "

The tags to associate with the carrier gateway.

", diff --git a/models/apis/ec2/2016-11-15/paginators-1.json b/models/apis/ec2/2016-11-15/paginators-1.json index fde6975e311..e1d041efc2c 100755 --- a/models/apis/ec2/2016-11-15/paginators-1.json +++ b/models/apis/ec2/2016-11-15/paginators-1.json @@ -374,6 +374,12 @@ "output_token": "NextToken", "result_key": "ScheduledInstanceSet" }, + "DescribeSecurityGroupRules": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SecurityGroupRules" + }, "DescribeSecurityGroups": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/models/apis/ecs/2014-11-13/api-2.json b/models/apis/ecs/2014-11-13/api-2.json index 0b2253df7ad..43b9dd3ee5b 100644 --- a/models/apis/ecs/2014-11-13/api-2.json +++ b/models/apis/ecs/2014-11-13/api-2.json @@ -1103,7 +1103,8 @@ "type":"string", "enum":[ "EC2", - "FARGATE" + "FARGATE", + "EXTERNAL" ] }, "CompatibilityList":{ @@ -2023,7 +2024,8 @@ "type":"string", "enum":[ "EC2", - "FARGATE" + "FARGATE", + "EXTERNAL" ] }, "LimitExceededException":{ diff --git a/models/apis/ecs/2014-11-13/docs-2.json b/models/apis/ecs/2014-11-13/docs-2.json index 78aaa1a7c22..75dd36418f6 100644 --- a/models/apis/ecs/2014-11-13/docs-2.json +++ b/models/apis/ecs/2014-11-13/docs-2.json @@ -27,11 +27,11 @@ "ListAttributes": "

Lists the attributes for Amazon ECS resources within a specified target type and cluster. When you specify a target type and cluster, ListAttributes returns a list of attribute objects, one for each attribute on each resource. You can filter the list of results to a single attribute name to only return results that have that name. You can also filter the results by attribute name and value, for example, to see which container instances in a cluster are running a Linux AMI (ecs.os-type=linux).

", "ListClusters": "

Returns a list of existing clusters.

", "ListContainerInstances": "

Returns a list of container instances in a specified cluster. You can filter the results of a ListContainerInstances operation with cluster query language statements inside the filter parameter. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

", - "ListServices": "

Lists the services that are running in a specified cluster.

", + "ListServices": "

Returns a list of services. You can filter the results by cluster, launch type, and scheduling strategy.

", "ListTagsForResource": "

List the tags for an Amazon ECS resource.

", "ListTaskDefinitionFamilies": "

Returns a list of task definition families that are registered to your account (which may include task definition families that no longer have any ACTIVE task definition revisions).

You can filter out task definition families that do not contain any ACTIVE task definition revisions by setting the status parameter to ACTIVE. You can also filter the results with the familyPrefix parameter.

", "ListTaskDefinitions": "

Returns a list of task definitions that are registered to your account. You can filter the results by family name with the familyPrefix parameter or by status with the status parameter.

", - "ListTasks": "

Returns a list of tasks for a specified cluster. You can filter the results by family name, by a particular container instance, or by the desired status of the task with the family, containerInstance, and desiredStatus parameters.

Recently stopped tasks might appear in the returned results. Currently, stopped tasks appear in the returned results for at least one hour.

", + "ListTasks": "

Returns a list of tasks. You can filter the results by cluster, task definition family, container instance, launch type, what IAM principal started the task, or by the desired status of the task.

Recently stopped tasks might appear in the returned results. Currently, stopped tasks appear in the returned results for at least one hour.

", "PutAccountSetting": "

Modifies an account setting. Account settings are set on a per-Region basis.

If you change the account setting for the root user, the default settings for all of the IAM users and roles for which no individual account setting has been specified are reset. For more information, see Account Settings in the Amazon Elastic Container Service Developer Guide.

When serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat are specified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified IAM user, IAM role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource will be defined by the opt-in status of the IAM user or role that created the resource. You must enable this setting to use Amazon ECS features such as resource tagging.

When awsvpcTrunking is specified, the elastic network interface (ENI) limit for any new container instances that support the feature is changed. If awsvpcTrunking is enabled, any new container instances that support the feature are launched have the increased ENI limits available to them. For more information, see Elastic Network Interface Trunking in the Amazon Elastic Container Service Developer Guide.

When containerInsights is specified, the default setting indicating whether CloudWatch Container Insights is enabled for your clusters is changed. If containerInsights is enabled, any new clusters that are created will have Container Insights enabled unless you disable it during cluster creation. For more information, see CloudWatch Container Insights in the Amazon Elastic Container Service Developer Guide.

", "PutAccountSettingDefault": "

Modifies an account setting for all IAM users on an account for whom no individual account setting has been specified. Account settings are set on a per-Region basis.

", "PutAttributes": "

Create or update an attribute on an Amazon ECS resource. If the attribute does not exist, it is created. If the attribute exists, its value is replaced with the specified value. To delete an attribute, use DeleteAttributes. For more information, see Attributes in the Amazon Elastic Container Service Developer Guide.

", @@ -758,7 +758,7 @@ "DesiredStatus": { "base": null, "refs": { - "ListTasksRequest$desiredStatus": "

The task desired status with which to filter the ListTasks results. Specifying a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has set the desired status to STOPPED. This can be useful for debugging tasks that are not starting properly or have died or finished. The default status filter is RUNNING, which shows tasks that Amazon ECS has set the desired status to RUNNING.

Although you can filter results based on a desired status of PENDING, this does not return any results. Amazon ECS never sets the desired status of a task to that value (only a task's lastStatus may have a value of PENDING).

" + "ListTasksRequest$desiredStatus": "

The task desired status to use when filtering the ListTasks results. Specifying a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has set the desired status to STOPPED. This can be useful for debugging tasks that are not starting properly or have died or finished. The default status filter is RUNNING, which shows tasks that Amazon ECS has set the desired status to RUNNING.

Although you can filter results based on a desired status of PENDING, this does not return any results. Amazon ECS never sets the desired status of a task to that value (only a task's lastStatus may have a value of PENDING).

" } }, "Device": { @@ -1073,14 +1073,14 @@ "LaunchType": { "base": null, "refs": { - "CreateServiceRequest$launchType": "

The launch type on which to run your service. The accepted values are FARGATE and EC2. For more information, see Amazon ECS launch types in the Amazon Elastic Container Service Developer Guide.

When a value of FARGATE is specified, your tasks are launched on AWS Fargate On-Demand infrastructure. To use Fargate Spot, you must use a capacity provider strategy with the FARGATE_SPOT capacity provider.

When a value of EC2 is specified, your tasks are launched on Amazon EC2 instances registered to your cluster.

If a launchType is specified, the capacityProviderStrategy parameter must be omitted.

", + "CreateServiceRequest$launchType": "

The infrastructure on which to run your service. For more information, see Amazon ECS launch types in the Amazon Elastic Container Service Developer Guide.

The FARGATE launch type runs your tasks on AWS Fargate On-Demand infrastructure.

Fargate Spot infrastructure is available for use but a capacity provider strategy must be used. For more information, see AWS Fargate capacity providers in the Amazon ECS User Guide for AWS Fargate.

The EC2 launch type runs your tasks on Amazon EC2 instances registered to your cluster.

The EXTERNAL launch type runs your tasks on your on-premise server or virtual machine (VM) capacity registered to your cluster.

A service can use either a launch type or a capacity provider strategy. If a launchType is specified, the capacityProviderStrategy parameter must be omitted.

", "CreateTaskSetRequest$launchType": "

The launch type that new tasks in the task set will use. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

If a launchType is specified, the capacityProviderStrategy parameter must be omitted.

", "Deployment$launchType": "

The launch type the tasks in the service are using. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

", - "ListServicesRequest$launchType": "

The launch type for the services to list.

", - "ListTasksRequest$launchType": "

The launch type for services to list.

", - "RunTaskRequest$launchType": "

The launch type on which to run your task. The accepted values are FARGATE and EC2. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

When a value of FARGATE is specified, your tasks are launched on AWS Fargate On-Demand infrastructure. To use Fargate Spot, you must use a capacity provider strategy with the FARGATE_SPOT capacity provider.

When a value of EC2 is specified, your tasks are launched on Amazon EC2 instances registered to your cluster.

If a launchType is specified, the capacityProviderStrategy parameter must be omitted.

", - "Service$launchType": "

The launch type on which your service is running. If no value is specified, it will default to EC2. Valid values include EC2 and FARGATE. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

", - "Task$launchType": "

The launch type on which your task is running. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

", + "ListServicesRequest$launchType": "

The launch type to use when filtering the ListServices results.

", + "ListTasksRequest$launchType": "

The launch type to use when filtering the ListTasks results.

", + "RunTaskRequest$launchType": "

The infrastructure on which to run your standalone task. For more information, see Amazon ECS launch types in the Amazon Elastic Container Service Developer Guide.

The FARGATE launch type runs your tasks on AWS Fargate On-Demand infrastructure.

Fargate Spot infrastructure is available for use but a capacity provider strategy must be used. For more information, see AWS Fargate capacity providers in the Amazon ECS User Guide for AWS Fargate.

The EC2 launch type runs your tasks on Amazon EC2 instances registered to your cluster.

The EXTERNAL launch type runs your tasks on your on-premise server or virtual machine (VM) capacity registered to your cluster.

A task can use either a launch type or a capacity provider strategy. If a launchType is specified, the capacityProviderStrategy parameter must be omitted.

", + "Service$launchType": "

The infrastructure on which your service is running. For more information, see Amazon ECS launch types in the Amazon Elastic Container Service Developer Guide.

", + "Task$launchType": "

The infrastructure on which your task is running. For more information, see Amazon ECS launch types in the Amazon Elastic Container Service Developer Guide.

", "TaskSet$launchType": "

The launch type the tasks in the task set are using. For more information, see Amazon ECS launch types in the Amazon Elastic Container Service Developer Guide.

" } }, @@ -1624,7 +1624,7 @@ "base": null, "refs": { "CreateServiceRequest$schedulingStrategy": "

The scheduling strategy to use for the service. For more information, see Services.

There are two service scheduler strategies available:

", - "ListServicesRequest$schedulingStrategy": "

The scheduling strategy for services to list.

", + "ListServicesRequest$schedulingStrategy": "

The scheduling strategy to use when filtering the ListServices results.

", "Service$schedulingStrategy": "

The scheduling strategy to use for the service. For more information, see Services.

There are two service scheduler strategies available:

" } }, @@ -1939,7 +1939,7 @@ "ListContainerInstancesRequest$filter": "

You can filter the results of a ListContainerInstances operation with cluster query language statements. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

", "ListContainerInstancesRequest$nextToken": "

The nextToken value returned from a ListContainerInstances request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

", "ListContainerInstancesResponse$nextToken": "

The nextToken value to include in a future ListContainerInstances request. When the results of a ListContainerInstances request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "ListServicesRequest$cluster": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the services to list. If you do not specify a cluster, the default cluster is assumed.

", + "ListServicesRequest$cluster": "

The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the ListServices results. If you do not specify a cluster, the default cluster is assumed.

", "ListServicesRequest$nextToken": "

The nextToken value returned from a ListServices request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

", "ListServicesResponse$nextToken": "

The nextToken value to include in a future ListServices request. When the results of a ListServices request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", "ListTagsForResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are Amazon ECS tasks, services, task definitions, clusters, and container instances.

", @@ -1949,12 +1949,12 @@ "ListTaskDefinitionsRequest$familyPrefix": "

The full family name with which to filter the ListTaskDefinitions results. Specifying a familyPrefix limits the listed task definitions to task definition revisions that belong to that family.

", "ListTaskDefinitionsRequest$nextToken": "

The nextToken value returned from a ListTaskDefinitions request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

", "ListTaskDefinitionsResponse$nextToken": "

The nextToken value to include in a future ListTaskDefinitions request. When the results of a ListTaskDefinitions request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", - "ListTasksRequest$cluster": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the tasks to list. If you do not specify a cluster, the default cluster is assumed.

", - "ListTasksRequest$containerInstance": "

The container instance ID or full ARN of the container instance with which to filter the ListTasks results. Specifying a containerInstance limits the results to tasks that belong to that container instance.

", - "ListTasksRequest$family": "

The name of the family with which to filter the ListTasks results. Specifying a family limits the results to tasks that belong to that family.

", + "ListTasksRequest$cluster": "

The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the ListTasks results. If you do not specify a cluster, the default cluster is assumed.

", + "ListTasksRequest$containerInstance": "

The container instance ID or full ARN of the container instance to use when filtering the ListTasks results. Specifying a containerInstance limits the results to tasks that belong to that container instance.

", + "ListTasksRequest$family": "

The name of the task definition family to use when filtering the ListTasks results. Specifying a family limits the results to tasks that belong to that family.

", "ListTasksRequest$nextToken": "

The nextToken value returned from a ListTasks request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

", "ListTasksRequest$startedBy": "

The startedBy value with which to filter the task results. Specifying a startedBy value limits the results to tasks that were started with that value.

", - "ListTasksRequest$serviceName": "

The name of the service with which to filter the ListTasks results. Specifying a serviceName limits the results to tasks that belong to that service.

", + "ListTasksRequest$serviceName": "

The name of the service to use when filtering the ListTasks results. Specifying a serviceName limits the results to tasks that belong to that service.

", "ListTasksResponse$nextToken": "

The nextToken value to include in a future ListTasks request. When the results of a ListTasks request exceed maxResults, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.

", "LoadBalancer$targetGroupArn": "

The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.

A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a Classic Load Balancer the target group ARN should be omitted.

For services using the ECS deployment controller, you can specify one or multiple target groups. For more information, see Registering Multiple Target Groups with a Service in the Amazon Elastic Container Service Developer Guide.

For services using the CODE_DEPLOY deployment controller, you are required to define two target groups for the load balancer. For more information, see Blue/Green Deployment with CodeDeploy in the Amazon Elastic Container Service Developer Guide.

If your service's task definition uses the awsvpc network mode (which is required for the Fargate launch type), you must choose ip as the target type, not instance, when creating your target groups because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.

", "LoadBalancer$loadBalancerName": "

The name of the load balancer to associate with the Amazon ECS service or task set.

A load balancer name is only specified when using a Classic Load Balancer. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.

", diff --git a/models/apis/mwaa/2020-07-01/api-2.json b/models/apis/mwaa/2020-07-01/api-2.json index 4edeb476ccf..58cc685f580 100644 --- a/models/apis/mwaa/2020-07-01/api-2.json +++ b/models/apis/mwaa/2020-07-01/api-2.json @@ -277,6 +277,7 @@ "PluginsS3Path":{"shape":"RelativePath"}, "RequirementsS3ObjectVersion":{"shape":"S3ObjectVersion"}, "RequirementsS3Path":{"shape":"RelativePath"}, + "Schedulers":{"shape":"Schedulers"}, "SourceBucketArn":{"shape":"S3BucketArn"}, "Tags":{"shape":"TagMap"}, "WebserverAccessMode":{"shape":"WebserverAccessMode"}, @@ -364,6 +365,7 @@ "PluginsS3Path":{"shape":"RelativePath"}, "RequirementsS3ObjectVersion":{"shape":"S3ObjectVersion"}, "RequirementsS3Path":{"shape":"RelativePath"}, + "Schedulers":{"shape":"Schedulers"}, "ServiceRoleArn":{"shape":"IamRoleArn"}, "SourceBucketArn":{"shape":"S3BucketArn"}, "Status":{"shape":"EnvironmentStatus"}, @@ -658,6 +660,11 @@ "max":1024, "min":1 }, + "Schedulers":{ + "type":"integer", + "box":true, + "max":5 + }, "SecurityGroupId":{ "type":"string", "max":1024, @@ -837,6 +844,7 @@ "PluginsS3Path":{"shape":"RelativePath"}, "RequirementsS3ObjectVersion":{"shape":"S3ObjectVersion"}, "RequirementsS3Path":{"shape":"RelativePath"}, + "Schedulers":{"shape":"Schedulers"}, "SourceBucketArn":{"shape":"S3BucketArn"}, "WebserverAccessMode":{"shape":"WebserverAccessMode"}, "WeeklyMaintenanceWindowStart":{"shape":"WeeklyMaintenanceWindowStart"} diff --git a/models/apis/mwaa/2020-07-01/docs-2.json b/models/apis/mwaa/2020-07-01/docs-2.json index cc31f4234e8..159f3ef2150 100644 --- a/models/apis/mwaa/2020-07-01/docs-2.json +++ b/models/apis/mwaa/2020-07-01/docs-2.json @@ -3,16 +3,16 @@ "service": "

Amazon Managed Workflows for Apache Airflow

This section contains the Amazon Managed Workflows for Apache Airflow (MWAA) API reference documentation. For more information, see What Is Amazon MWAA?.

", "operations": { "CreateCliToken": "

Create a CLI token to use Airflow CLI.

", - "CreateEnvironment": "

JSON blob that describes the environment to create.

", + "CreateEnvironment": "

Creates an Amazon Managed Workflows for Apache Airflow (MWAA) environment.

", "CreateWebLoginToken": "

Create a JWT token to be used to login to Airflow Web UI with claims based Authentication.

", - "DeleteEnvironment": "

Delete an existing environment.

", - "GetEnvironment": "

Get details of an existing environment.

", - "ListEnvironments": "

List Amazon MWAA Environments.

", - "ListTagsForResource": "

List the tags for MWAA environments.

", + "DeleteEnvironment": "

Deletes an Amazon Managed Workflows for Apache Airflow (MWAA) environment.

", + "GetEnvironment": "

Retrieves the details of an Amazon Managed Workflows for Apache Airflow (MWAA) environment.

", + "ListEnvironments": "

Lists the Amazon Managed Workflows for Apache Airflow (MWAA) environments.

", + "ListTagsForResource": "

Lists the key-value tag pairs associated to the Amazon Managed Workflows for Apache Airflow (MWAA) environment. For example, \"Environment\": \"Staging\".

", "PublishMetrics": "

An operation for publishing metrics from the customers to the Ops plane.

", - "TagResource": "

Add tag to the MWAA environments.

", - "UntagResource": "

Remove a tag from the MWAA environments.

", - "UpdateEnvironment": "

Update an MWAA environment.

" + "TagResource": "

Associates key-value tag pairs to your Amazon Managed Workflows for Apache Airflow (MWAA) environment.

", + "UntagResource": "

Removes key-value tag pairs associated to your Amazon Managed Workflows for Apache Airflow (MWAA) environment. For example, \"Environment\": \"Staging\".

", + "UpdateEnvironment": "

Updates an Amazon Managed Workflows for Apache Airflow (MWAA) environment.

" }, "shapes": { "AccessDeniedException": { @@ -23,21 +23,21 @@ "AirflowConfigurationOptions": { "base": null, "refs": { - "Environment$AirflowConfigurationOptions": "

The Airflow Configuration Options of the Amazon MWAA Environment.

" + "Environment$AirflowConfigurationOptions": "

A list of key-value pairs containing the Apache Airflow configuration options attached to your environment. To learn more, see Apache Airflow configuration options.

" } }, "AirflowVersion": { "base": null, "refs": { - "CreateEnvironmentInput$AirflowVersion": "

The Apache Airflow version you want to use for your environment.

", - "Environment$AirflowVersion": "

The AirflowV ersion of the Amazon MWAA Environment.

", - "UpdateEnvironmentInput$AirflowVersion": "

The Airflow Version to update of your Amazon MWAA environment.

" + "CreateEnvironmentInput$AirflowVersion": "

The Apache Airflow version for your environment. For example, v1.10.12. If no value is specified, defaults to the latest version. Valid values: v1.10.12.

", + "Environment$AirflowVersion": "

The Apache Airflow version on your environment. For example, v1.10.12.

", + "UpdateEnvironmentInput$AirflowVersion": "

The Apache Airflow version for your environment. For example, v1.10.12. If no value is specified, defaults to the latest version. Valid values: v1.10.12.

" } }, "CloudWatchLogGroupArn": { "base": null, "refs": { - "ModuleLoggingConfiguration$CloudWatchLogGroupArn": "

Provides the ARN for the CloudWatch group where the logs will be published.

" + "ModuleLoggingConfiguration$CloudWatchLogGroupArn": "

The Amazon Resource Name (ARN) for the CloudWatch Logs group where the Apache Airflow log type (e.g. DagProcessingLogs) is published. For example, arn:aws:logs:us-east-1:123456789012:log-group:airflow-MyMWAAEnvironment-MwaaEnvironment-DAGProcessing:*.

" } }, "ConfigKey": { @@ -89,7 +89,7 @@ "CreatedAt": { "base": null, "refs": { - "Environment$CreatedAt": "

The Created At date of the Amazon MWAA Environment.

" + "Environment$CreatedAt": "

The day and time the environment was created.

" } }, "DeleteEnvironmentInput": { @@ -124,66 +124,66 @@ } }, "Environment": { - "base": "

An Amazon MWAA environment.

", + "base": "

The Amazon Managed Workflows for Apache Airflow (MWAA) environment.

", "refs": { - "GetEnvironmentOutput$Environment": "

A JSON blob with environment details.

" + "GetEnvironmentOutput$Environment": "

An object containing all available details about the environment.

" } }, "EnvironmentArn": { "base": null, "refs": { - "CreateEnvironmentOutput$Arn": "

The resulting Amazon MWAA envirnonment ARN.

", - "Environment$Arn": "

The ARN of the Amazon MWAA Environment.

", - "ListTagsForResourceInput$ResourceArn": "

The ARN of the MWAA environment.

", - "TagResourceInput$ResourceArn": "

The tag resource ARN of the MWAA environments.

", - "UntagResourceInput$ResourceArn": "

The tag resource ARN of the MWAA environments.

", - "UpdateEnvironmentOutput$Arn": "

The ARN to update of your Amazon MWAA environment.

" + "CreateEnvironmentOutput$Arn": "

The Amazon Resource Name (ARN) returned in the response for the environment.

", + "Environment$Arn": "

The Amazon Resource Name (ARN) of the Amazon MWAA environment.

", + "ListTagsForResourceInput$ResourceArn": "

The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example, arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment.

", + "TagResourceInput$ResourceArn": "

The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example, arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment.

", + "UntagResourceInput$ResourceArn": "

The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example, arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment.

", + "UpdateEnvironmentOutput$Arn": "

The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example, arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment.

" } }, "EnvironmentClass": { "base": null, "refs": { - "CreateEnvironmentInput$EnvironmentClass": "

The environment class you want to use for your environment. The environment class determines the size of the containers and database used for your Apache Airflow services.

", - "Environment$EnvironmentClass": "

The Environment Class (size) of the Amazon MWAA Environment.

", - "UpdateEnvironmentInput$EnvironmentClass": "

The Environment Class to update of your Amazon MWAA environment.

" + "CreateEnvironmentInput$EnvironmentClass": "

The environment class type. Valid values: mw1.small, mw1.medium, mw1.large. To learn more, see Amazon MWAA environment class.

", + "Environment$EnvironmentClass": "

The environment class type. Valid values: mw1.small, mw1.medium, mw1.large. To learn more, see Amazon MWAA environment class.

", + "UpdateEnvironmentInput$EnvironmentClass": "

The environment class type. Valid values: mw1.small, mw1.medium, mw1.large. To learn more, see Amazon MWAA environment class.

" } }, "EnvironmentList": { "base": null, "refs": { - "ListEnvironmentsOutput$Environments": "

The list of Amazon MWAA Environments.

" + "ListEnvironmentsOutput$Environments": "

Returns the list of Amazon MWAA environments.

" } }, "EnvironmentName": { "base": null, "refs": { "CreateCliTokenRequest$Name": "

Create a CLI token request for a MWAA environment.

", - "CreateEnvironmentInput$Name": "

The name of your MWAA environment.

", + "CreateEnvironmentInput$Name": "

The name of the Amazon MWAA environment. For example, MyMWAAEnvironment.

", "CreateWebLoginTokenRequest$Name": "

Create an Airflow Web UI login token request for a MWAA environment.

", - "DeleteEnvironmentInput$Name": "

The name of the environment to delete.

", - "Environment$Name": "

The name of the Amazon MWAA Environment.

", + "DeleteEnvironmentInput$Name": "

The name of the Amazon MWAA environment. For example, MyMWAAEnvironment.

", + "Environment$Name": "

The name of the Amazon MWAA environment. For example, MyMWAAEnvironment.

", "EnvironmentList$member": null, - "GetEnvironmentInput$Name": "

The name of the environment to retrieve.

", + "GetEnvironmentInput$Name": "

The name of the Amazon MWAA environment. For example, MyMWAAEnvironment.

", "PublishMetricsInput$EnvironmentName": "

Publishes environment metric data to Amazon CloudWatch.

", - "UpdateEnvironmentInput$Name": "

The name of your Amazon MWAA environment that you wish to update.

" + "UpdateEnvironmentInput$Name": "

The name of your Amazon MWAA environment. For example, MyMWAAEnvironment.

" } }, "EnvironmentStatus": { "base": null, "refs": { - "Environment$Status": "

The status of the Amazon MWAA Environment.

" + "Environment$Status": "

The status of the Amazon MWAA environment. Valid values:

We recommend reviewing our troubleshooting guide for a list of common errors and their solutions. To learn more, see Amazon MWAA troubleshooting.

" } }, "ErrorCode": { "base": null, "refs": { - "UpdateError$ErrorCode": "

Error code of update.

" + "UpdateError$ErrorCode": "

The error code that corresponds to the error with the last update.

" } }, "ErrorMessage": { "base": null, "refs": { - "UpdateError$ErrorMessage": "

Error message of update.

" + "UpdateError$ErrorMessage": "

The error message that corresponds to the error code.

" } }, "GetEnvironmentInput": { @@ -206,10 +206,10 @@ "IamRoleArn": { "base": null, "refs": { - "CreateEnvironmentInput$ExecutionRoleArn": "

The Amazon Resource Name (ARN) of the execution role for your environment. An execution role is an AWS Identity and Access Management (IAM) role that grants MWAA permission to access AWS services and resources used by your environment. For example, arn:aws:iam::123456789:role/my-execution-role. For more information, see Managing access to Amazon Managed Workflows for Apache Airflow.

", - "Environment$ExecutionRoleArn": "

The Execution Role ARN of the Amazon MWAA Environment.

", - "Environment$ServiceRoleArn": "

The Service Role ARN of the Amazon MWAA Environment.

", - "UpdateEnvironmentInput$ExecutionRoleArn": "

The Executio Role ARN to update of your Amazon MWAA environment.

" + "CreateEnvironmentInput$ExecutionRoleArn": "

The Amazon Resource Name (ARN) of the execution role for your environment. An execution role is an AWS Identity and Access Management (IAM) role that grants MWAA permission to access AWS services and resources used by your environment. For example, arn:aws:iam::123456789:role/my-execution-role. To learn more, see Amazon MWAA Execution role.

", + "Environment$ExecutionRoleArn": "

The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA to access AWS resources in your environment. For example, arn:aws:iam::123456789:role/my-execution-role. To learn more, see Amazon MWAA Execution role.

", + "Environment$ServiceRoleArn": "

The Amazon Resource Name (ARN) for the service-linked role of the environment. To learn more, see Amazon MWAA Service-linked role.

", + "UpdateEnvironmentInput$ExecutionRoleArn": "

The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA to access AWS resources in your environment. For example, arn:aws:iam::123456789:role/my-execution-role. To learn more, see Amazon MWAA Execution role.

" } }, "Integer": { @@ -226,12 +226,12 @@ "KmsKey": { "base": null, "refs": { - "CreateEnvironmentInput$KmsKey": "

The AWS Key Management Service (KMS) key to encrypt and decrypt the data in your environment. You can use an AWS KMS key managed by MWAA, or a custom KMS key (advanced). For more information, see Customer master keys (CMKs) in the AWS KMS developer guide.

", - "Environment$KmsKey": "

The Kms Key of the Amazon MWAA Environment.

" + "CreateEnvironmentInput$KmsKey": "

The AWS Key Management Service (KMS) key to encrypt the data in your environment. You can use an AWS owned CMK, or a Customer managed CMK (advanced). To learn more, see Get started with Amazon Managed Workflows for Apache Airflow.

", + "Environment$KmsKey": "

The Key Management Service (KMS) encryption key used to encrypt the data in your environment.

" } }, "LastUpdate": { - "base": "

Last update information for the environment.

", + "base": "

The status of the last update on the environment, and any errors that were encountered.

", "refs": { "Environment$LastUpdate": null } @@ -244,7 +244,7 @@ "ListEnvironmentsInputMaxResultsInteger": { "base": null, "refs": { - "ListEnvironmentsInput$MaxResults": "

The maximum results when listing MWAA environments.

" + "ListEnvironmentsInput$MaxResults": "

The maximum number of results to retrieve per page. For example, 5 environments per page.

" } }, "ListEnvironmentsOutput": { @@ -263,38 +263,38 @@ } }, "LoggingConfiguration": { - "base": "

The Logging Configuration of your Amazon MWAA environment.

", + "base": "

Defines the Apache Airflow logs to send to CloudWatch Logs: DagProcessingLogs, SchedulerLogs, TaskLogs, WebserverLogs, WorkerLogs.

", "refs": { - "Environment$LoggingConfiguration": "

The Logging Configuration of the Amazon MWAA Environment.

" + "Environment$LoggingConfiguration": "

The Apache Airflow logs being sent to CloudWatch Logs: DagProcessingLogs, SchedulerLogs, TaskLogs, WebserverLogs, WorkerLogs.

" } }, "LoggingConfigurationInput": { - "base": "

The Logging Configuration of your Amazon MWAA environment.

", + "base": "

Defines the Apache Airflow logs to send to CloudWatch Logs: DagProcessingLogs, SchedulerLogs, TaskLogs, WebserverLogs, WorkerLogs.

", "refs": { - "CreateEnvironmentInput$LoggingConfiguration": "

The Apache Airflow logs you want to send to Amazon CloudWatch Logs.

", - "UpdateEnvironmentInput$LoggingConfiguration": "

The Logging Configuration to update of your Amazon MWAA environment.

" + "CreateEnvironmentInput$LoggingConfiguration": "

Defines the Apache Airflow logs to send to CloudWatch Logs: DagProcessingLogs, SchedulerLogs, TaskLogs, WebserverLogs, WorkerLogs.

", + "UpdateEnvironmentInput$LoggingConfiguration": "

Defines the Apache Airflow logs to send to CloudWatch Logs: DagProcessingLogs, SchedulerLogs, TaskLogs, WebserverLogs, WorkerLogs.

" } }, "LoggingEnabled": { "base": null, "refs": { - "ModuleLoggingConfiguration$Enabled": "

Defines that the logging module is enabled.

", - "ModuleLoggingConfigurationInput$Enabled": "

Defines that the logging module is enabled.

" + "ModuleLoggingConfiguration$Enabled": "

Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs) in CloudWatch Logs.

", + "ModuleLoggingConfigurationInput$Enabled": "

Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs) in CloudWatch Logs.

" } }, "LoggingLevel": { "base": null, "refs": { - "ModuleLoggingConfiguration$LogLevel": "

Defines the log level, which can be CRITICAL, ERROR, WARNING, or INFO.

", - "ModuleLoggingConfigurationInput$LogLevel": "

Defines the log level, which can be CRITICAL, ERROR, WARNING, or INFO.

" + "ModuleLoggingConfiguration$LogLevel": "

Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs) to CloudWatch Logs. Valid values: CRITICAL, ERROR, WARNING, INFO.

", + "ModuleLoggingConfigurationInput$LogLevel": "

Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs) to CloudWatch Logs. Valid values: CRITICAL, ERROR, WARNING, INFO.

" } }, "MaxWorkers": { "base": null, "refs": { - "CreateEnvironmentInput$MaxWorkers": "

The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers and the Fargate containers that run your tasks up to the number you specify in this field. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra containers leaving the one worker that is included with your environment.

", - "Environment$MaxWorkers": "

The maximum number of workers to run in your Amazon MWAA Environment.

", - "UpdateEnvironmentInput$MaxWorkers": "

The maximum number of workers to update of your Amazon MWAA environment.

" + "CreateEnvironmentInput$MaxWorkers": "

The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the MaxWorkers field. For example, 20. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one worker that is included with your environment, or the number you specify in MinWorkers.

", + "Environment$MaxWorkers": "

The maximum number of workers that run in your environment. For example, 20.

", + "UpdateEnvironmentInput$MaxWorkers": "

The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the MaxWorkers field. For example, 20. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one worker that is included with your environment, or the number you specify in MinWorkers.

" } }, "MetricData": { @@ -312,13 +312,13 @@ "MinWorkers": { "base": null, "refs": { - "CreateEnvironmentInput$MinWorkers": "

The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers and the Fargate containers that run your tasks up to the number you specify in the MaxWorkers field. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra containers leaving the worker count you specify in the MinWorkers field.

", - "Environment$MinWorkers": "

The minimum number of workers to run in your Amazon MWAA Environment.

", - "UpdateEnvironmentInput$MinWorkers": "

The minimum number of workers to update of your Amazon MWAA environment.

" + "CreateEnvironmentInput$MinWorkers": "

The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the MaxWorkers field. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the MinWorkers field. For example, 2.

", + "Environment$MinWorkers": "

The minimum number of workers that run in your environment. For example, 2.

", + "UpdateEnvironmentInput$MinWorkers": "

The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the MaxWorkers field. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the MinWorkers field. For example, 2.

" } }, "ModuleLoggingConfiguration": { - "base": "

A JSON blob that provides configuration to use for logging with respect to the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs, WebserverLogs, and WorkerLogs.

", + "base": "

Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs). Valid values: CloudWatchLogGroupArn, Enabled, LogLevel.

", "refs": { "LoggingConfiguration$DagProcessingLogs": null, "LoggingConfiguration$SchedulerLogs": null, @@ -328,7 +328,7 @@ } }, "ModuleLoggingConfigurationInput": { - "base": "

A JSON blob that provides configuration to use for logging with respect to the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs, WebserverLogs, and WorkerLogs.

", + "base": "

Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs). Valid values: CloudWatchLogGroupArn, Enabled, LogLevel.

", "refs": { "LoggingConfigurationInput$DagProcessingLogs": null, "LoggingConfigurationInput$SchedulerLogs": null, @@ -338,17 +338,17 @@ } }, "NetworkConfiguration": { - "base": "

Provide the security group and subnet IDs for the workers and scheduler.

", + "base": "

The VPC networking components used to secure and enable network traffic between the AWS resources for your environment. To learn more, see About networking on Amazon MWAA.

", "refs": { - "CreateEnvironmentInput$NetworkConfiguration": "

The VPC networking components you want to use for your environment. At least two private subnet identifiers and one VPC security group identifier are required to create an environment. For more information, see Creating the VPC network for a MWAA environment.

", + "CreateEnvironmentInput$NetworkConfiguration": "

The VPC networking components used to secure and enable network traffic between the AWS resources for your environment. To learn more, see About networking on Amazon MWAA.

", "Environment$NetworkConfiguration": null } }, "NextToken": { "base": null, "refs": { - "ListEnvironmentsInput$NextToken": "

The Next Token when listing MWAA environments.

", - "ListEnvironmentsOutput$NextToken": "

The Next Token when listing MWAA environments.

" + "ListEnvironmentsInput$NextToken": "

Retrieves the next page of the results.

", + "ListEnvironmentsOutput$NextToken": "

Retrieves the next page of the results.

" } }, "PublishMetricsInput": { @@ -364,15 +364,15 @@ "RelativePath": { "base": null, "refs": { - "CreateEnvironmentInput$DagS3Path": "

The relative path to the DAG folder on your Amazon S3 storage bucket. For example, dags. For more information, see Importing DAGs on Amazon MWAA.

", - "CreateEnvironmentInput$PluginsS3Path": "

The relative path to the plugins.zip file on your Amazon S3 storage bucket. For example, plugins.zip. If a relative path is provided in the request, then PluginsS3ObjectVersion is required. For more information, see Importing DAGs on Amazon MWAA.

", - "CreateEnvironmentInput$RequirementsS3Path": "

The relative path to the requirements.txt file on your Amazon S3 storage bucket. For example, requirements.txt. If a relative path is provided in the request, then RequirementsS3ObjectVersion is required. For more information, see Importing DAGs on Amazon MWAA.

", - "Environment$DagS3Path": "

The Dags S3 Path of the Amazon MWAA Environment.

", - "Environment$PluginsS3Path": "

The Plugins.zip S3 Path of the Amazon MWAA Environment.

", - "Environment$RequirementsS3Path": "

The Requirement.txt S3 Path of the Amazon MWAA Environment.

", - "UpdateEnvironmentInput$DagS3Path": "

The Dags folder S3 Path to update of your Amazon MWAA environment.

", - "UpdateEnvironmentInput$PluginsS3Path": "

The Plugins.zip S3 Path to update of your Amazon MWAA environment.

", - "UpdateEnvironmentInput$RequirementsS3Path": "

The Requirements.txt S3 Path to update of your Amazon MWAA environment.

" + "CreateEnvironmentInput$DagS3Path": "

The relative path to the DAGs folder on your Amazon S3 bucket. For example, dags. To learn more, see Adding or updating DAGs.

", + "CreateEnvironmentInput$PluginsS3Path": "

The relative path to the plugins.zip file on your Amazon S3 bucket. For example, plugins.zip. If specified, then the plugins.zip version is required. To learn more, see Installing custom plugins.

", + "CreateEnvironmentInput$RequirementsS3Path": "

The relative path to the requirements.txt file on your Amazon S3 bucket. For example, requirements.txt. If specified, then a file version is required. To learn more, see Installing Python dependencies.

", + "Environment$DagS3Path": "

The relative path to the DAGs folder on your Amazon S3 bucket. For example, dags. To learn more, see Adding or updating DAGs.

", + "Environment$PluginsS3Path": "

The relative path to the plugins.zip file on your Amazon S3 bucket. For example, plugins.zip. To learn more, see Installing custom plugins.

", + "Environment$RequirementsS3Path": "

The relative path to the requirements.txt file on your Amazon S3 bucket. For example, requirements.txt. To learn more, see Installing Python dependencies.

", + "UpdateEnvironmentInput$DagS3Path": "

The relative path to the DAGs folder on your Amazon S3 bucket. For example, dags. To learn more, see Adding or updating DAGs.

", + "UpdateEnvironmentInput$PluginsS3Path": "

The relative path to the plugins.zip file on your Amazon S3 bucket. For example, plugins.zip. If specified, then the plugins.zip version is required. To learn more, see Installing custom plugins.

", + "UpdateEnvironmentInput$RequirementsS3Path": "

The relative path to the requirements.txt file on your Amazon S3 bucket. For example, requirements.txt. If specified, then a file version is required. To learn more, see Installing Python dependencies.

" } }, "ResourceNotFoundException": { @@ -383,20 +383,28 @@ "S3BucketArn": { "base": null, "refs": { - "CreateEnvironmentInput$SourceBucketArn": "

The Amazon Resource Name (ARN) of your Amazon S3 storage bucket. For example, arn:aws:s3:::airflow-mybucketname.

", - "Environment$SourceBucketArn": "

The Source S3 Bucket ARN of the Amazon MWAA Environment.

", - "UpdateEnvironmentInput$SourceBucketArn": "

The S3 Source Bucket ARN to update of your Amazon MWAA environment.

" + "CreateEnvironmentInput$SourceBucketArn": "

The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For example, arn:aws:s3:::my-airflow-bucket-unique-name. To learn more, see Create an Amazon S3 bucket for Amazon MWAA.

", + "Environment$SourceBucketArn": "

The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For example, arn:aws:s3:::my-airflow-bucket-unique-name. To learn more, see Create an Amazon S3 bucket for Amazon MWAA.

", + "UpdateEnvironmentInput$SourceBucketArn": "

The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For example, arn:aws:s3:::my-airflow-bucket-unique-name. To learn more, see Create an Amazon S3 bucket for Amazon MWAA.

" } }, "S3ObjectVersion": { "base": null, "refs": { - "CreateEnvironmentInput$PluginsS3ObjectVersion": "

The plugins.zip file version you want to use.

", - "CreateEnvironmentInput$RequirementsS3ObjectVersion": "

The requirements.txt file version you want to use.

", - "Environment$PluginsS3ObjectVersion": "

The Plugins.zip S3 Object Version of the Amazon MWAA Environment.

", - "Environment$RequirementsS3ObjectVersion": "

The Requirements.txt file S3 Object Version of the Amazon MWAA Environment.

", - "UpdateEnvironmentInput$PluginsS3ObjectVersion": "

The Plugins.zip S3 Object Version to update of your Amazon MWAA environment.

", - "UpdateEnvironmentInput$RequirementsS3ObjectVersion": "

The Requirements.txt S3 ObjectV ersion to update of your Amazon MWAA environment.

" + "CreateEnvironmentInput$PluginsS3ObjectVersion": "

The version of the plugins.zip file on your Amazon S3 bucket. A version must be specified each time a plugins.zip file is updated. To learn more, see How S3 Versioning works.

", + "CreateEnvironmentInput$RequirementsS3ObjectVersion": "

The version of the requirements.txt file on your Amazon S3 bucket. A version must be specified each time a requirements.txt file is updated. To learn more, see How S3 Versioning works.

", + "Environment$PluginsS3ObjectVersion": "

The version of the plugins.zip file on your Amazon S3 bucket. To learn more, see Installing custom plugins.

", + "Environment$RequirementsS3ObjectVersion": "

The version of the requirements.txt file on your Amazon S3 bucket. To learn more, see Installing Python dependencies.

", + "UpdateEnvironmentInput$PluginsS3ObjectVersion": "

The version of the plugins.zip file on your Amazon S3 bucket. A version must be specified each time a plugins.zip file is updated. To learn more, see How S3 Versioning works.

", + "UpdateEnvironmentInput$RequirementsS3ObjectVersion": "

The version of the requirements.txt file on your Amazon S3 bucket. A version must be specified each time a requirements.txt file is updated. To learn more, see How S3 Versioning works.

" + } + }, + "Schedulers": { + "base": null, + "refs": { + "CreateEnvironmentInput$Schedulers": "

The number of Apache Airflow schedulers to run in your environment.

", + "Environment$Schedulers": "

The number of Apache Airflow schedulers that run in your Amazon MWAA environment.

", + "UpdateEnvironmentInput$Schedulers": "

The number of Apache Airflow schedulers to run in your Amazon MWAA environment.

" } }, "SecurityGroupId": { @@ -408,8 +416,8 @@ "SecurityGroupList": { "base": null, "refs": { - "NetworkConfiguration$SecurityGroupIds": "

A JSON list of 1 or more security groups IDs by name, in the same VPC as the subnets.

", - "UpdateNetworkConfigurationInput$SecurityGroupIds": "

Provide a JSON list of 1 or more security groups IDs by name, in the same VPC as the subnets.

" + "NetworkConfiguration$SecurityGroupIds": "

A list of 1 or more security group IDs. Accepts up to 5 security group IDs. A security group must be attached to the same VPC as the subnets. To learn more, see Security in your VPC on Amazon MWAA.

", + "UpdateNetworkConfigurationInput$SecurityGroupIds": "

A list of 1 or more security group IDs. Accepts up to 5 security group IDs. A security group must be attached to the same VPC as the subnets. To learn more, see Security in your VPC on Amazon MWAA.

" } }, "StatisticSet": { @@ -439,7 +447,7 @@ "SubnetList": { "base": null, "refs": { - "NetworkConfiguration$SubnetIds": "

Provide a JSON list of 2 subnet IDs by name. These must be private subnets, in the same VPC, in two different availability zones.

" + "NetworkConfiguration$SubnetIds": "

A list of 2 subnet IDs. Required to create an environment. Must be private subnets in two different availability zones. A subnet must be attached to the same VPC as the security group.

" } }, "SyntheticCreateCliTokenResponseToken": { @@ -451,7 +459,7 @@ "SyntheticCreateEnvironmentInputAirflowConfigurationOptions": { "base": null, "refs": { - "CreateEnvironmentInput$AirflowConfigurationOptions": "

The Apache Airflow configuration setting you want to override in your environment. For more information, see Environment configuration.

" + "CreateEnvironmentInput$AirflowConfigurationOptions": "

A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your environment. To learn more, see Apache Airflow configuration options.

" } }, "SyntheticCreateWebLoginTokenResponseToken": { @@ -463,7 +471,7 @@ "SyntheticUpdateEnvironmentInputAirflowConfigurationOptions": { "base": null, "refs": { - "UpdateEnvironmentInput$AirflowConfigurationOptions": "

The Airflow Configuration Options to update of your Amazon MWAA environment.

" + "UpdateEnvironmentInput$AirflowConfigurationOptions": "

A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your environment. To learn more, see Apache Airflow configuration options.

" } }, "TagKey": { @@ -476,16 +484,16 @@ "TagKeyList": { "base": null, "refs": { - "UntagResourceInput$tagKeys": "

The tag resource key of the MWAA environments.

" + "UntagResourceInput$tagKeys": "

The key-value tag pair you want to remove. For example, \"Environment\": \"Staging\".

" } }, "TagMap": { "base": null, "refs": { - "CreateEnvironmentInput$Tags": "

The metadata tags you want to attach to your environment. For more information, see Tagging AWS resources.

", - "Environment$Tags": "

The Tags of the Amazon MWAA Environment.

", - "ListTagsForResourceOutput$Tags": "

The tags of the MWAA environments.

", - "TagResourceInput$Tags": "

The tag resource tag of the MWAA environments.

" + "CreateEnvironmentInput$Tags": "

The key-value tag pairs you want to associate to your environment. For example, \"Environment\": \"Staging\". To learn more, see Tagging AWS resources.

", + "Environment$Tags": "

The key-value tag pairs associated to your environment. For example, \"Environment\": \"Staging\". To learn more, see Tagging AWS resources.

", + "ListTagsForResourceOutput$Tags": "

The key-value tag pairs associated to your environment. To learn more, see Tagging AWS resources.

", + "TagResourceInput$Tags": "

The key-value tag pairs you want to associate to your environment. For example, \"Environment\": \"Staging\". To learn more, see Tagging AWS resources.

" } }, "TagResourceInput": { @@ -529,7 +537,7 @@ "UpdateCreatedAt": { "base": null, "refs": { - "LastUpdate$CreatedAt": "

Time that last update occurred.

" + "LastUpdate$CreatedAt": "

The day and time of the last update on the environment.

" } }, "UpdateEnvironmentInput": { @@ -543,21 +551,21 @@ } }, "UpdateError": { - "base": "

Error information of update, if applicable.

", + "base": "

An object containing the error encountered with the last update: ErrorCode, ErrorMessage.

", "refs": { - "LastUpdate$Error": "

Error string of last update, if applicable.

" + "LastUpdate$Error": "

The error that was encountered during the last update of the environment.

" } }, "UpdateNetworkConfigurationInput": { - "base": "

Provide the security group and subnet IDs for the workers and scheduler.

", + "base": "

The VPC networking components used to secure and enable network traffic between the AWS resources for your environment. To learn more, see About networking on Amazon MWAA.

", "refs": { - "UpdateEnvironmentInput$NetworkConfiguration": "

The Network Configuration to update of your Amazon MWAA environment.

" + "UpdateEnvironmentInput$NetworkConfiguration": "

The VPC networking components used to secure and enable network traffic between the AWS resources for your environment. To learn more, see About networking on Amazon MWAA.

" } }, "UpdateStatus": { "base": null, "refs": { - "LastUpdate$Status": "

Status of last update of SUCCESS, FAILED, CREATING, DELETING.

" + "LastUpdate$Status": "

The status of the last update on the environment. Valid values: SUCCESS, PENDING, FAILED.

" } }, "ValidationException": { @@ -568,23 +576,23 @@ "WebserverAccessMode": { "base": null, "refs": { - "CreateEnvironmentInput$WebserverAccessMode": "

The networking access of your Apache Airflow web server. A public network allows your Airflow UI to be accessed over the Internet by users granted access in your IAM policy. A private network limits access of your Airflow UI to users within your VPC. For more information, see Creating the VPC network for a MWAA environment.

", - "Environment$WebserverAccessMode": "

The Webserver Access Mode of the Amazon MWAA Environment (public or private only).

", - "UpdateEnvironmentInput$WebserverAccessMode": "

The Webserver Access Mode to update of your Amazon MWAA environment.

" + "CreateEnvironmentInput$WebserverAccessMode": "

The Apache Airflow Web server access mode. To learn more, see Apache Airflow access modes.

", + "Environment$WebserverAccessMode": "

The Apache Airflow Web server access mode. To learn more, see Apache Airflow access modes.

", + "UpdateEnvironmentInput$WebserverAccessMode": "

The Apache Airflow Web server access mode. To learn more, see Apache Airflow access modes.

" } }, "WebserverUrl": { "base": null, "refs": { - "Environment$WebserverUrl": "

The Webserver URL of the Amazon MWAA Environment.

" + "Environment$WebserverUrl": "

The Apache Airflow Web server host name for the Amazon MWAA environment. To learn more, see Accessing the Apache Airflow UI.

" } }, "WeeklyMaintenanceWindowStart": { "base": null, "refs": { - "CreateEnvironmentInput$WeeklyMaintenanceWindowStart": "

The day and time you want MWAA to start weekly maintenance updates on your environment.

", - "Environment$WeeklyMaintenanceWindowStart": "

The Weekly Maintenance Window Start of the Amazon MWAA Environment.

", - "UpdateEnvironmentInput$WeeklyMaintenanceWindowStart": "

The Weekly Maintenance Window Start to update of your Amazon MWAA environment.

" + "CreateEnvironmentInput$WeeklyMaintenanceWindowStart": "

The day and time of the week to start weekly maintenance updates of your environment in the following format: DAY:HH:MM. For example: TUE:03:30. You can specify a start time in 30 minute increments only. Supported input includes the following:

", + "Environment$WeeklyMaintenanceWindowStart": "

The day and time of the week that weekly maintenance updates are scheduled. For example: TUE:03:30.

", + "UpdateEnvironmentInput$WeeklyMaintenanceWindowStart": "

The day and time of the week to start weekly maintenance updates of your environment in the following format: DAY:HH:MM. For example: TUE:03:30. You can specify a start time in 30 minute increments only. Supported input includes the following:

" } } } diff --git a/models/apis/outposts/2019-12-03/api-2.json b/models/apis/outposts/2019-12-03/api-2.json index f6d4952e246..abb9cf4d558 100644 --- a/models/apis/outposts/2019-12-03/api-2.json +++ b/models/apis/outposts/2019-12-03/api-2.json @@ -23,6 +23,7 @@ "output":{"shape":"CreateOutpostOutput"}, "errors":[ {"shape":"ValidationException"}, + {"shape":"ConflictException"}, {"shape":"NotFoundException"}, {"shape":"AccessDeniedException"}, {"shape":"InternalServerException"}, @@ -39,6 +40,7 @@ "output":{"shape":"DeleteOutpostOutput"}, "errors":[ {"shape":"ValidationException"}, + {"shape":"ConflictException"}, {"shape":"NotFoundException"}, {"shape":"AccessDeniedException"}, {"shape":"InternalServerException"} @@ -54,6 +56,7 @@ "output":{"shape":"DeleteSiteOutput"}, "errors":[ {"shape":"ValidationException"}, + {"shape":"ConflictException"}, {"shape":"NotFoundException"}, {"shape":"AccessDeniedException"}, {"shape":"InternalServerException"} @@ -172,7 +175,8 @@ "AccountId":{ "type":"string", "max":12, - "min":12 + "min":12, + "pattern":"\\d{12}" }, "Arn":{ "type":"string", @@ -183,13 +187,23 @@ "type":"string", "max":1000, "min":1, - "pattern":"[a-z\\d-]+" + "pattern":"^([a-zA-Z]+-){1,3}([a-zA-Z]+)?(\\d+[a-zA-Z]?)?$" }, "AvailabilityZoneId":{ "type":"string", "max":255, "min":1, - "pattern":"[a-z]+[0-9]+-az[0-9]+" + "pattern":"^[a-zA-Z]+\\d-[a-zA-Z]+\\d$" + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "ResourceId":{"shape":"String"}, + "ResourceType":{"shape":"ResourceType"} + }, + "error":{"httpStatusCode":409}, + "exception":true }, "CreateOutpostInput":{ "type":"structure", @@ -404,7 +418,8 @@ "LifeCycleStatus":{"shape":"LifeCycleStatus"}, "AvailabilityZone":{"shape":"AvailabilityZone"}, "AvailabilityZoneId":{"shape":"AvailabilityZoneId"}, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "SiteArn":{"shape":"SiteArn"} } }, "OutpostArn":{ @@ -416,8 +431,8 @@ "OutpostDescription":{ "type":"string", "max":1000, - "min":1, - "pattern":"^[\\S ]+$" + "min":0, + "pattern":"^[\\S ]*$" }, "OutpostId":{ "type":"string", @@ -437,6 +452,10 @@ "min":12, "pattern":"\\d{12}" }, + "ResourceType":{ + "type":"string", + "enum":["OUTPOST"] + }, "ServiceQuotaExceededException":{ "type":"structure", "members":{ @@ -452,12 +471,19 @@ "AccountId":{"shape":"AccountId"}, "Name":{"shape":"SiteName"}, "Description":{"shape":"SiteDescription"}, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "SiteArn":{"shape":"SiteArn"} } }, + "SiteArn":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^arn:aws([a-z-]+)?:outposts:[a-z\\d-]+:\\d{12}:site/(os-[a-f0-9]{17})$" + }, "SiteDescription":{ "type":"string", - "max":1000, + "max":1001, "min":1, "pattern":"^[\\S ]+$" }, @@ -465,7 +491,7 @@ "type":"string", "max":255, "min":1, - "pattern":"os-[a-f0-9]{17}" + "pattern":"^(arn:aws([a-z-]+)?:outposts:[a-z\\d-]+:\\d{12}:site/)?(os-[a-f0-9]{17})$" }, "SiteName":{ "type":"string", @@ -473,6 +499,12 @@ "min":1, "pattern":"^[\\S ]+$" }, + "String":{ + "type":"string", + "max":1000, + "min":1, + "pattern":"^[\\S \\n]+$" + }, "TagKey":{ "type":"string", "max":128, @@ -521,7 +553,7 @@ "type":"string", "max":1005, "min":1, - "pattern":".*\\S.*" + "pattern":"^(\\d+)##(\\S+)$" }, "UntagResourceRequest":{ "type":"structure", diff --git a/models/apis/outposts/2019-12-03/docs-2.json b/models/apis/outposts/2019-12-03/docs-2.json index 804b6873208..fda21dd7b88 100644 --- a/models/apis/outposts/2019-12-03/docs-2.json +++ b/models/apis/outposts/2019-12-03/docs-2.json @@ -47,6 +47,11 @@ "Outpost$AvailabilityZoneId": null } }, + "ConflictException": { + "base": "

Updating or deleting this resource can cause an inconsistent state.

", + "refs": { + } + }, "CreateOutpostInput": { "base": null, "refs": { @@ -81,6 +86,7 @@ "base": null, "refs": { "AccessDeniedException$Message": null, + "ConflictException$Message": null, "InternalServerException$Message": null, "NotFoundException$Message": null, "ServiceQuotaExceededException$Message": null, @@ -224,6 +230,12 @@ "Outpost$OwnerId": null } }, + "ResourceType": { + "base": null, + "refs": { + "ConflictException$ResourceType": "

The type of the resource causing the conflict.

" + } + }, "ServiceQuotaExceededException": { "base": "

You have exceeded a service quota.

", "refs": { @@ -235,6 +247,13 @@ "siteListDefinition$member": null } }, + "SiteArn": { + "base": "

The Amazon Resource Name (ARN) of the site.

", + "refs": { + "Outpost$SiteArn": null, + "Site$SiteArn": null + } + }, "SiteDescription": { "base": "

The description of the site.

", "refs": { @@ -256,6 +275,12 @@ "Site$Name": null } }, + "String": { + "base": null, + "refs": { + "ConflictException$ResourceId": "

The ID of the resource causing the conflict.

" + } + }, "TagKey": { "base": null, "refs": { diff --git a/models/apis/qldb/2019-01-02/api-2.json b/models/apis/qldb/2019-01-02/api-2.json index 0dabb32f7c4..ba98fbbb9d0 100644 --- a/models/apis/qldb/2019-01-02/api-2.json +++ b/models/apis/qldb/2019-01-02/api-2.json @@ -256,6 +256,19 @@ {"shape":"InvalidParameterException"}, {"shape":"ResourceNotFoundException"} ] + }, + "UpdateLedgerPermissionsMode":{ + "name":"UpdateLedgerPermissionsMode", + "http":{ + "method":"PATCH", + "requestUri":"/ledgers/{name}/permissions-mode" + }, + "input":{"shape":"UpdateLedgerPermissionsModeRequest"}, + "output":{"shape":"UpdateLedgerPermissionsModeResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ] } }, "shapes":{ @@ -310,6 +323,7 @@ "Arn":{"shape":"Arn"}, "State":{"shape":"LedgerState"}, "CreationDateTime":{"shape":"Timestamp"}, + "PermissionsMode":{"shape":"PermissionsMode"}, "DeletionProtection":{"shape":"DeletionProtection"} } }, @@ -394,6 +408,7 @@ "Arn":{"shape":"Arn"}, "State":{"shape":"LedgerState"}, "CreationDateTime":{"shape":"Timestamp"}, + "PermissionsMode":{"shape":"PermissionsMode"}, "DeletionProtection":{"shape":"DeletionProtection"} } }, @@ -763,7 +778,10 @@ "ParameterName":{"type":"string"}, "PermissionsMode":{ "type":"string", - "enum":["ALLOW_ALL"] + "enum":[ + "ALLOW_ALL", + "STANDARD" + ] }, "ResourceAlreadyExistsException":{ "type":"structure", @@ -966,6 +984,29 @@ "members":{ } }, + "UpdateLedgerPermissionsModeRequest":{ + "type":"structure", + "required":[ + "Name", + "PermissionsMode" + ], + "members":{ + "Name":{ + "shape":"LedgerName", + "location":"uri", + "locationName":"name" + }, + "PermissionsMode":{"shape":"PermissionsMode"} + } + }, + "UpdateLedgerPermissionsModeResponse":{ + "type":"structure", + "members":{ + "Name":{"shape":"LedgerName"}, + "Arn":{"shape":"Arn"}, + "PermissionsMode":{"shape":"PermissionsMode"} + } + }, "UpdateLedgerRequest":{ "type":"structure", "required":["Name"], diff --git a/models/apis/qldb/2019-01-02/docs-2.json b/models/apis/qldb/2019-01-02/docs-2.json index 7382ef152ac..4acf6f91747 100644 --- a/models/apis/qldb/2019-01-02/docs-2.json +++ b/models/apis/qldb/2019-01-02/docs-2.json @@ -20,7 +20,8 @@ "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.

", "UntagResource": "

Removes one or more tags from a specified Amazon QLDB resource. You can specify up to 50 tag keys to remove.

", - "UpdateLedger": "

Updates properties on a ledger.

" + "UpdateLedger": "

Updates properties on a ledger.

", + "UpdateLedgerPermissionsMode": "

Updates the permissions mode of a ledger.

" }, "shapes": { "Arn": { @@ -38,6 +39,7 @@ "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.

", "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 you want to remove the tags. For example:

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

", + "UpdateLedgerPermissionsModeResponse$Arn": "

The Amazon Resource Name (ARN) for the ledger.

", "UpdateLedgerResponse$Arn": "

The Amazon Resource Name (ARN) for the ledger.

" } }, @@ -253,6 +255,8 @@ "ListJournalKinesisStreamsForLedgerRequest$LedgerName": "

The name of the ledger.

", "ListJournalS3ExportsForLedgerRequest$Name": "

The name of the ledger.

", "StreamJournalToKinesisRequest$LedgerName": "

The name of the ledger.

", + "UpdateLedgerPermissionsModeRequest$Name": "

The name of the ledger.

", + "UpdateLedgerPermissionsModeResponse$Name": "

The name of the ledger.

", "UpdateLedgerRequest$Name": "

The name of the ledger.

", "UpdateLedgerResponse$Name": "

The name of the ledger.

" } @@ -358,7 +362,11 @@ "PermissionsMode": { "base": null, "refs": { - "CreateLedgerRequest$PermissionsMode": "

The permissions mode to assign to the ledger that you want to create.

" + "CreateLedgerRequest$PermissionsMode": "

The permissions mode to assign to the ledger that you want to create. This parameter can have one of the following values:

We strongly recommend using the STANDARD permissions mode to maximize the security of your ledger data.

", + "CreateLedgerResponse$PermissionsMode": "

The permissions mode of the ledger that you created.

", + "DescribeLedgerResponse$PermissionsMode": "

The permissions mode of the ledger.

", + "UpdateLedgerPermissionsModeRequest$PermissionsMode": "

The permissions mode to assign to the ledger. This parameter can have one of the following values:

We strongly recommend using the STANDARD permissions mode to maximize the security of your ledger data.

", + "UpdateLedgerPermissionsModeResponse$PermissionsMode": "

The current permissions mode of the ledger.

" } }, "ResourceAlreadyExistsException": { @@ -535,6 +543,16 @@ "refs": { } }, + "UpdateLedgerPermissionsModeRequest": { + "base": null, + "refs": { + } + }, + "UpdateLedgerPermissionsModeResponse": { + "base": null, + "refs": { + } + }, "UpdateLedgerRequest": { "base": null, "refs": { diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index b79919478be..9a30fd17d2f 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -5977,6 +5977,24 @@ "ap-southeast-2" : { }, "eu-central-1" : { }, "eu-west-1" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "session.qldb-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "session.qldb-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "session.qldb-fips.us-west-2.amazonaws.com" + }, "us-east-1" : { }, "us-east-2" : { }, "us-west-2" : { } diff --git a/service/acmpca/api.go b/service/acmpca/api.go index 587bae29458..f7841b3a6a2 100644 --- a/service/acmpca/api.go +++ b/service/acmpca/api.go @@ -3571,11 +3571,11 @@ type CreateCertificateAuthorityInput struct { // // Default: FIPS_140_2_LEVEL_3_OR_HIGHER // - // Note: AWS Region ap-northeast-3 supports only FIPS_140_2_LEVEL_2_OR_HIGHER. - // You must explicitly specify this parameter and value when creating a CA in - // that Region. Specifying a different value (or no value) results in an InvalidArgsException - // with the message "A certificate authority cannot be created in this region - // with the specified security standard." + // Note: FIPS_140_2_LEVEL_3_OR_HIGHER is not supported in Region ap-northeast-3. + // When creating a CA in the ap-northeast-3, you must provide FIPS_140_2_LEVEL_2_OR_HIGHER + // as the argument for KeyStorageSecurityStandard. Failure to do this results + // in an InvalidArgsException with the message, "A certificate authority cannot + // be created in this region with the specified security standard." KeyStorageSecurityStandard *string `type:"string" enum:"KeyStorageSecurityStandard"` // Contains a Boolean value that you can use to enable a certification revocation @@ -3888,9 +3888,26 @@ type CrlConfiguration struct { // for the CustomCname argument, the name of your S3 bucket is placed into the // CRL Distribution Points extension of the issued certificate. You can change // the name of your bucket by calling the UpdateCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UpdateCertificateAuthority.html) - // action. You must specify a bucket policy that allows ACM Private CA to write - // the CRL to your bucket. + // action. You must specify a bucket policy (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaCreateCa.html#s3-policies) + // that allows ACM Private CA to write the CRL to your bucket. S3BucketName *string `min:"3" type:"string"` + + // Determines whether the CRL will be publicly readable or privately held in + // the CRL Amazon S3 bucket. If you choose PUBLIC_READ, the CRL will be accessible + // over the public internet. If you choose BUCKET_OWNER_FULL_CONTROL, only the + // owner of the CRL S3 bucket can access the CRL, and your PKI clients may need + // an alternative method of access. + // + // If no value is specified, the default is PUBLIC_READ. + // + // Note: This default can cause CA creation to fail in some circumstances. If + // you have have enabled the Block Public Access (BPA) feature in your S3 account, + // then you must specify the value of this parameter as BUCKET_OWNER_FULL_CONTROL, + // and not doing so results in an error. If you have disabled BPA in S3, then + // you can specify either BUCKET_OWNER_FULL_CONTROL or PUBLIC_READ as the value. + // + // For more information, see Blocking public access to the S3 bucket (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaCreateCa.html#s3-bpa). + S3ObjectAcl *string `type:"string" enum:"S3ObjectAcl"` } // String returns the string representation @@ -3946,6 +3963,12 @@ func (s *CrlConfiguration) SetS3BucketName(v string) *CrlConfiguration { return s } +// SetS3ObjectAcl sets the S3ObjectAcl field's value. +func (s *CrlConfiguration) SetS3ObjectAcl(v string) *CrlConfiguration { + s.S3ObjectAcl = &v + return s +} + // Describes the certificate extensions to be added to the certificate signing // request (CSR). type CsrExtensions struct { @@ -8013,6 +8036,22 @@ func RevocationReason_Values() []string { } } +const ( + // S3ObjectAclPublicRead is a S3ObjectAcl enum value + S3ObjectAclPublicRead = "PUBLIC_READ" + + // S3ObjectAclBucketOwnerFullControl is a S3ObjectAcl enum value + S3ObjectAclBucketOwnerFullControl = "BUCKET_OWNER_FULL_CONTROL" +) + +// S3ObjectAcl_Values returns all elements of the S3ObjectAcl enum +func S3ObjectAcl_Values() []string { + return []string{ + S3ObjectAclPublicRead, + S3ObjectAclBucketOwnerFullControl, + } +} + const ( // SigningAlgorithmSha256withecdsa is a SigningAlgorithm enum value SigningAlgorithmSha256withecdsa = "SHA256WITHECDSA" diff --git a/service/cloudfront/api.go b/service/cloudfront/api.go index 045a8ddbd60..a88341c3863 100644 --- a/service/cloudfront/api.go +++ b/service/cloudfront/api.go @@ -19869,8 +19869,8 @@ type OriginAccessIdentityConfig struct { // CallerReference is a required field CallerReference *string `type:"string" required:"true"` - // An optional comment to describe the origin access identity. The comment cannot - // be longer than 128 characters. + // A comment to describe the origin access identity. The comment cannot be longer + // than 128 characters. // // Comment is a required field Comment *string `type:"string" required:"true"` diff --git a/service/ec2/api.go b/service/ec2/api.go index 8550cffea5e..72a783d1dcb 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -2356,29 +2356,29 @@ func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupE output = &AuthorizeSecurityGroupEgressOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud. // -// [VPC only] Adds the specified egress rules to a security group for use with -// a VPC. +// [VPC only] Adds the specified outbound (egress) rules to a security group +// for use with a VPC. // // An outbound rule permits instances to send traffic to the specified IPv4 -// or IPv6 CIDR address ranges, or to the instances associated with the specified -// destination security groups. +// or IPv6 CIDR address ranges, or to the instances that are associated with +// the specified destination security groups. // // You specify a protocol for each rule (for example, TCP). For the TCP and // UDP protocols, you must also specify the destination port or port range. // For the ICMP protocol, you must also specify the ICMP type and code. You // can use -1 for the type or code to mean all types or all codes. // +// You can optionally add a tag to the security group rule. +// // Rule changes are propagated to affected instances as quickly as possible. // However, a small delay might occur. // -// For more information about VPC security group limits, see Amazon VPC Limits -// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html). +// For information about VPC security group quotas, see Amazon VPC Limits (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.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 @@ -2447,28 +2447,28 @@ func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroup output = &AuthorizeSecurityGroupIngressOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } // AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud. // -// Adds the specified ingress rules to a security group. +// Adds the specified inbound (ingress) rules to a security group. // // An inbound rule permits instances to receive traffic from the specified IPv4 -// or IPv6 CIDR address ranges, or from the instances associated with the specified -// destination security groups. +// or IPv6 CIDR address ranges, or from the instances that are associated with +// the specified destination security groups. // // You specify a protocol for each rule (for example, TCP). For TCP and UDP, // you must also specify the destination port or port range. For ICMP/ICMPv6, // you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean // all types or all codes. // +// [VPC Only] You can optionally add a tag to the security group rule. +// // Rule changes are propagated to instances within the security group as quickly // as possible. However, a small delay might occur. // -// For more information about VPC security group limits, see Amazon VPC Limits -// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html). +// For information about VPC security group quotas, see Amazon VPC Limits (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.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 @@ -22869,6 +22869,138 @@ func (c *EC2) DescribeSecurityGroupReferencesWithContext(ctx aws.Context, input return out, req.Send() } +const opDescribeSecurityGroupRules = "DescribeSecurityGroupRules" + +// DescribeSecurityGroupRulesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSecurityGroupRules 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 DescribeSecurityGroupRules for more information on using the DescribeSecurityGroupRules +// 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 DescribeSecurityGroupRulesRequest method. +// req, resp := client.DescribeSecurityGroupRulesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupRules +func (c *EC2) DescribeSecurityGroupRulesRequest(input *DescribeSecurityGroupRulesInput) (req *request.Request, output *DescribeSecurityGroupRulesOutput) { + op := &request.Operation{ + Name: opDescribeSecurityGroupRules, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeSecurityGroupRulesInput{} + } + + output = &DescribeSecurityGroupRulesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSecurityGroupRules API operation for Amazon Elastic Compute Cloud. +// +// Describes one or more of your security group rules. +// +// 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 Elastic Compute Cloud's +// API operation DescribeSecurityGroupRules for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupRules +func (c *EC2) DescribeSecurityGroupRules(input *DescribeSecurityGroupRulesInput) (*DescribeSecurityGroupRulesOutput, error) { + req, out := c.DescribeSecurityGroupRulesRequest(input) + return out, req.Send() +} + +// DescribeSecurityGroupRulesWithContext is the same as DescribeSecurityGroupRules with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSecurityGroupRules 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 *EC2) DescribeSecurityGroupRulesWithContext(ctx aws.Context, input *DescribeSecurityGroupRulesInput, opts ...request.Option) (*DescribeSecurityGroupRulesOutput, error) { + req, out := c.DescribeSecurityGroupRulesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeSecurityGroupRulesPages iterates over the pages of a DescribeSecurityGroupRules operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeSecurityGroupRules 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 DescribeSecurityGroupRules operation. +// pageNum := 0 +// err := client.DescribeSecurityGroupRulesPages(params, +// func(page *ec2.DescribeSecurityGroupRulesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *EC2) DescribeSecurityGroupRulesPages(input *DescribeSecurityGroupRulesInput, fn func(*DescribeSecurityGroupRulesOutput, bool) bool) error { + return c.DescribeSecurityGroupRulesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeSecurityGroupRulesPagesWithContext same as DescribeSecurityGroupRulesPages 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 *EC2) DescribeSecurityGroupRulesPagesWithContext(ctx aws.Context, input *DescribeSecurityGroupRulesInput, fn func(*DescribeSecurityGroupRulesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeSecurityGroupRulesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeSecurityGroupRulesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeSecurityGroupRulesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeSecurityGroups = "DescribeSecurityGroups" // DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the @@ -35134,6 +35266,80 @@ func (c *EC2) ModifyReservedInstancesWithContext(ctx aws.Context, input *ModifyR return out, req.Send() } +const opModifySecurityGroupRules = "ModifySecurityGroupRules" + +// ModifySecurityGroupRulesRequest generates a "aws/request.Request" representing the +// client's request for the ModifySecurityGroupRules 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 ModifySecurityGroupRules for more information on using the ModifySecurityGroupRules +// 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 ModifySecurityGroupRulesRequest method. +// req, resp := client.ModifySecurityGroupRulesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySecurityGroupRules +func (c *EC2) ModifySecurityGroupRulesRequest(input *ModifySecurityGroupRulesInput) (req *request.Request, output *ModifySecurityGroupRulesOutput) { + op := &request.Operation{ + Name: opModifySecurityGroupRules, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifySecurityGroupRulesInput{} + } + + output = &ModifySecurityGroupRulesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifySecurityGroupRules API operation for Amazon Elastic Compute Cloud. +// +// Modifies the rules of a security group. +// +// 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 Elastic Compute Cloud's +// API operation ModifySecurityGroupRules for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySecurityGroupRules +func (c *EC2) ModifySecurityGroupRules(input *ModifySecurityGroupRulesInput) (*ModifySecurityGroupRulesOutput, error) { + req, out := c.ModifySecurityGroupRulesRequest(input) + return out, req.Send() +} + +// ModifySecurityGroupRulesWithContext is the same as ModifySecurityGroupRules with the addition of +// the ability to pass a context and additional request options. +// +// See ModifySecurityGroupRules 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 *EC2) ModifySecurityGroupRulesWithContext(ctx aws.Context, input *ModifySecurityGroupRulesInput, opts ...request.Option) (*ModifySecurityGroupRulesOutput, error) { + req, out := c.ModifySecurityGroupRulesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opModifySnapshotAttribute = "ModifySnapshotAttribute" // ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the @@ -40009,23 +40215,26 @@ func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressI // RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud. // -// [VPC only] Removes the specified egress rules from a security group for EC2-VPC. -// This action does not apply to security groups for use in EC2-Classic. To -// remove a rule, the values that you specify (for example, ports) must match -// the existing rule's values exactly. +// Removes the specified egress (outbound) rules from a security group for EC2-VPC. +// This action does not apply to security groups for use in 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. +// You can specify the rules that you want to remove by using one of the following +// methods: // -// AWS recommends that you use DescribeSecurityGroups to verify that the rule -// has been removed. +// * The security group rule IDs. // -// Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source -// security group. 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 have to specify the description to revoke the rule. +// * The security group rule properties. Each rule consists of the protocol, +// from port, to port, and the IPv4 or IPv6 CIDR range or referenced security +// group or prefix list id. 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 have to specify the description to revoke +// the rule. To remove a rule, the values that you specify (for example, +// ports) must match the existing rule's values exactly. [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. AWS recommends that you use DescribeSecurityGroups to verify +// that the rule has been removed. // // Rule changes are propagated to instances within the security group as quickly // as possible. However, a small delay might occur. @@ -40106,18 +40315,30 @@ func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngres // the values that you specify (for example, ports) must match the existing // rule's values exactly. // -// [EC2-Classic , default VPC] If the values you specify do not match the existing +// [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. // // AWS recommends that you use DescribeSecurityGroups to verify that the rule // has been removed. // -// Each rule consists of the protocol and the CIDR range or source security -// group. 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 have to specify the description to revoke the rule. +// You can specify the rules that you want to remove by using one of the following +// methods: +// +// * [VPC only] The security group rule IDs. +// +// * The security group rule properties. Each rule consists of the protocol, +// from port, to port, and the IPv4 or IPv6 CIDR range or referenced security +// group or prefix list id. 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 have to specify the description to revoke +// the rule. To remove a rule, the values that you specify (for example, +// ports) must match the existing rule's values exactly. [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. AWS recommends that you use DescribeSecurityGroups to verify +// that the rule has been removed. // // Rule changes are propagated to instances within the security group as quickly // as possible. However, a small delay might occur. @@ -41609,8 +41830,14 @@ func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressRequest(input *UpdateSecu // rule. You can replace an existing description, or add a description to a // rule that did not have one previously. // -// You specify the description as part of the IP permissions structure. You -// can remove a description for a security group rule by omitting the description +// You can specify the rule that you want to update by using one of the following +// methods: +// +// * The security group rule descriptions. +// +// * The IP permissions structure. +// +// You can remove a description for a security group rule by omitting the description // parameter in the request. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -41689,8 +41916,14 @@ func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressRequest(input *UpdateSec // can replace an existing description, or add a description to a rule that // did not have one previously. // -// You specify the description as part of the IP permissions structure. You -// can remove a description for a security group rule by omitting the description +// You can specify the rule that you want to update by using one of the following +// methods: +// +// * [VPC only] The security group rule descriptions. +// +// * The IP permissions structure. +// +// You can remove a description for a security group rule by omitting the description // parameter in the request. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -45774,6 +46007,9 @@ type AuthorizeSecurityGroupEgressInput struct { // group. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"` + // The tags applied to the security group rule. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // Not supported. Use a set of IP permissions to specify the port. ToPort *int64 `locationName:"toPort" type:"integer"` } @@ -45849,6 +46085,12 @@ func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v stri return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *AuthorizeSecurityGroupEgressInput) SetTagSpecifications(v []*TagSpecification) *AuthorizeSecurityGroupEgressInput { + s.TagSpecifications = v + return s +} + // SetToPort sets the ToPort field's value. func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurityGroupEgressInput { s.ToPort = &v @@ -45857,6 +46099,12 @@ func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurit type AuthorizeSecurityGroupEgressOutput struct { _ struct{} `type:"structure"` + + // Returns true if the request succeeds; otherwise, returns an error. + Return *bool `locationName:"return" type:"boolean"` + + // Information about the outbound (egress) security group rules that were added. + SecurityGroupRules []*SecurityGroupRule `locationName:"securityGroupRuleSet" locationNameList:"item" type:"list"` } // String returns the string representation @@ -45869,6 +46117,18 @@ func (s AuthorizeSecurityGroupEgressOutput) GoString() string { return s.String() } +// SetReturn sets the Return field's value. +func (s *AuthorizeSecurityGroupEgressOutput) SetReturn(v bool) *AuthorizeSecurityGroupEgressOutput { + s.Return = &v + return s +} + +// SetSecurityGroupRules sets the SecurityGroupRules field's value. +func (s *AuthorizeSecurityGroupEgressOutput) SetSecurityGroupRules(v []*SecurityGroupRule) *AuthorizeSecurityGroupEgressOutput { + s.SecurityGroupRules = v + return s +} + type AuthorizeSecurityGroupIngressInput struct { _ struct{} `type:"structure"` @@ -45911,7 +46171,7 @@ type AuthorizeSecurityGroupIngressInput struct { // // [VPC only] Use -1 to specify all protocols. If you specify -1 or a protocol // other than tcp, udp, or icmp, traffic on all ports is allowed, regardless - // of any ports you specify. + // of any ports that you specify. // // Alternatively, use a set of IP permissions to specify multiple rules and // a description for the rule. @@ -45934,6 +46194,9 @@ type AuthorizeSecurityGroupIngressInput struct { // with a specific IP protocol and port range, use a set of IP permissions instead. SourceSecurityGroupOwnerId *string `type:"string"` + // [VPC Only] The tags applied to the security group rule. + TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + // The end of port range for the TCP and UDP protocols, or an ICMP code number. // For the ICMP code number, use -1 to specify all codes. If you specify all // ICMP types, you must specify all codes. @@ -46007,6 +46270,12 @@ func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v str return s } +// SetTagSpecifications sets the TagSpecifications field's value. +func (s *AuthorizeSecurityGroupIngressInput) SetTagSpecifications(v []*TagSpecification) *AuthorizeSecurityGroupIngressInput { + s.TagSpecifications = v + return s +} + // SetToPort sets the ToPort field's value. func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecurityGroupIngressInput { s.ToPort = &v @@ -46015,6 +46284,12 @@ func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecuri type AuthorizeSecurityGroupIngressOutput struct { _ struct{} `type:"structure"` + + // Returns true if the request succeeds; otherwise, returns an error. + Return *bool `locationName:"return" type:"boolean"` + + // Information about the inbound (ingress) security group rules that were added. + SecurityGroupRules []*SecurityGroupRule `locationName:"securityGroupRuleSet" locationNameList:"item" type:"list"` } // String returns the string representation @@ -46027,6 +46302,18 @@ func (s AuthorizeSecurityGroupIngressOutput) GoString() string { return s.String() } +// SetReturn sets the Return field's value. +func (s *AuthorizeSecurityGroupIngressOutput) SetReturn(v bool) *AuthorizeSecurityGroupIngressOutput { + s.Return = &v + return s +} + +// SetSecurityGroupRules sets the SecurityGroupRules field's value. +func (s *AuthorizeSecurityGroupIngressOutput) SetSecurityGroupRules(v []*SecurityGroupRule) *AuthorizeSecurityGroupIngressOutput { + s.SecurityGroupRules = v + return s +} + // Describes Availability Zones, Local Zones, and Wavelength Zones. type AvailabilityZone struct { _ struct{} `type:"structure"` @@ -69209,7 +69496,7 @@ type DescribeKeyPairsInput struct { // The key pair names. // - // Default: Describes all your key pairs. + // Default: Describes all of your key pairs. KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"` // The IDs of the key pairs. @@ -73218,6 +73505,127 @@ func (s *DescribeSecurityGroupReferencesOutput) SetSecurityGroupReferenceSet(v [ return s } +type DescribeSecurityGroupRulesInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // One or more filters. + // + // * group-id - The ID of the security group. + // + // * security-group-rule-id - The ID of the security group rule. + // + // * tag: - The key/value combination of a tag assigned to the resource. + // Use the tag key in the filter name and the tag value as the filter value. + // For example, to find all resources that have a tag with the key Owner + // and the value TeamA, specify tag:Owner for the filter name and TeamA for + // the filter value. + Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"` + + // The maximum number of results to return in a single call. To retrieve the + // remaining results, make another request with the returned NextToken value. + // This value can be between 5 and 1000. If this parameter is not specified, + // then all results are returned. + MaxResults *int64 `min:"5" type:"integer"` + + // The token for the next page of results. + NextToken *string `type:"string"` + + // The IDs of the security group rules. + SecurityGroupRuleIds []*string `locationName:"SecurityGroupRuleId" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeSecurityGroupRulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSecurityGroupRulesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSecurityGroupRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupRulesInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DescribeSecurityGroupRulesInput) SetDryRun(v bool) *DescribeSecurityGroupRulesInput { + s.DryRun = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeSecurityGroupRulesInput) SetFilters(v []*Filter) *DescribeSecurityGroupRulesInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeSecurityGroupRulesInput) SetMaxResults(v int64) *DescribeSecurityGroupRulesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSecurityGroupRulesInput) SetNextToken(v string) *DescribeSecurityGroupRulesInput { + s.NextToken = &v + return s +} + +// SetSecurityGroupRuleIds sets the SecurityGroupRuleIds field's value. +func (s *DescribeSecurityGroupRulesInput) SetSecurityGroupRuleIds(v []*string) *DescribeSecurityGroupRulesInput { + s.SecurityGroupRuleIds = v + return s +} + +type DescribeSecurityGroupRulesOutput struct { + _ struct{} `type:"structure"` + + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + NextToken *string `locationName:"nextToken" type:"string"` + + // Information about security group rules. + SecurityGroupRules []*SecurityGroupRule `locationName:"securityGroupRuleSet" locationNameList:"item" type:"list"` +} + +// String returns the string representation +func (s DescribeSecurityGroupRulesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSecurityGroupRulesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSecurityGroupRulesOutput) SetNextToken(v string) *DescribeSecurityGroupRulesOutput { + s.NextToken = &v + return s +} + +// SetSecurityGroupRules sets the SecurityGroupRules field's value. +func (s *DescribeSecurityGroupRulesOutput) SetSecurityGroupRules(v []*SecurityGroupRule) *DescribeSecurityGroupRulesOutput { + s.SecurityGroupRules = v + return s +} + type DescribeSecurityGroupsInput struct { _ struct{} `type:"structure"` @@ -73309,7 +73717,7 @@ type DescribeSecurityGroupsInput struct { // The IDs of the security groups. Required for security groups in a nondefault // VPC. // - // Default: Describes all your security groups. + // Default: Describes all of your security groups. GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"` // [EC2-Classic and default VPC only] The names of the security groups. You @@ -73317,7 +73725,7 @@ type DescribeSecurityGroupsInput struct { // security groups in a nondefault VPC, use the group-name filter to describe // security groups by name. // - // Default: Describes all your security groups. + // Default: Describes all of your security groups. GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"` // The maximum number of results to return in a single call. To retrieve the @@ -89818,7 +90226,7 @@ type ImportKeyPairOutput struct { // The MD5 public key fingerprint as specified in section 4 of RFC 4716. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"` - // The key pair name you provided. + // The key pair name that you provided. KeyName *string `locationName:"keyName" type:"string"` // The ID of the resulting key pair. @@ -92895,6 +93303,9 @@ type IpRange struct { // Constraints: Up to 255 characters in length. Allowed characters are a-z, // A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$* Description *string `locationName:"description" type:"string"` + + // The ID of the security group rule. + SecurityGroupRuleId *string `locationName:"securityGroupRuleId" type:"string"` } // String returns the string representation @@ -92919,6 +93330,12 @@ func (s *IpRange) SetDescription(v string) *IpRange { return s } +// SetSecurityGroupRuleId sets the SecurityGroupRuleId field's value. +func (s *IpRange) SetSecurityGroupRuleId(v string) *IpRange { + s.SecurityGroupRuleId = &v + return s +} + // Describes an IPv6 CIDR block association. type Ipv6CidrAssociation struct { _ struct{} `type:"structure"` @@ -93041,6 +93458,9 @@ type Ipv6Range struct { // Constraints: Up to 255 characters in length. Allowed characters are a-z, // A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$* Description *string `locationName:"description" type:"string"` + + // The ID of the security group rule. + SecurityGroupRuleId *string `locationName:"securityGroupRuleId" type:"string"` } // String returns the string representation @@ -93065,6 +93485,12 @@ func (s *Ipv6Range) SetDescription(v string) *Ipv6Range { return s } +// SetSecurityGroupRuleId sets the SecurityGroupRuleId field's value. +func (s *Ipv6Range) SetSecurityGroupRuleId(v string) *Ipv6Range { + s.SecurityGroupRuleId = &v + return s +} + // Describes a key pair. type KeyPairInfo struct { _ struct{} `type:"structure"` @@ -98927,6 +99353,93 @@ func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v str return s } +type ModifySecurityGroupRulesInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the security group. + // + // GroupId is a required field + GroupId *string `type:"string" required:"true"` + + // Information about the security group properties to update. + // + // SecurityGroupRules is a required field + SecurityGroupRules []*SecurityGroupRuleUpdate `locationName:"SecurityGroupRule" locationNameList:"item" type:"list" required:"true"` +} + +// String returns the string representation +func (s ModifySecurityGroupRulesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifySecurityGroupRulesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifySecurityGroupRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifySecurityGroupRulesInput"} + if s.GroupId == nil { + invalidParams.Add(request.NewErrParamRequired("GroupId")) + } + if s.SecurityGroupRules == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupRules")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *ModifySecurityGroupRulesInput) SetDryRun(v bool) *ModifySecurityGroupRulesInput { + s.DryRun = &v + return s +} + +// SetGroupId sets the GroupId field's value. +func (s *ModifySecurityGroupRulesInput) SetGroupId(v string) *ModifySecurityGroupRulesInput { + s.GroupId = &v + return s +} + +// SetSecurityGroupRules sets the SecurityGroupRules field's value. +func (s *ModifySecurityGroupRulesInput) SetSecurityGroupRules(v []*SecurityGroupRuleUpdate) *ModifySecurityGroupRulesInput { + s.SecurityGroupRules = v + return s +} + +type ModifySecurityGroupRulesOutput struct { + _ struct{} `type:"structure"` + + // Returns true if the request succeeds; otherwise, returns an error. + Return *bool `locationName:"return" type:"boolean"` +} + +// String returns the string representation +func (s ModifySecurityGroupRulesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifySecurityGroupRulesOutput) GoString() string { + return s.String() +} + +// SetReturn sets the Return field's value. +func (s *ModifySecurityGroupRulesOutput) SetReturn(v bool) *ModifySecurityGroupRulesOutput { + s.Return = &v + return s +} + type ModifySnapshotAttributeInput struct { _ struct{} `type:"structure"` @@ -104589,6 +105102,9 @@ type PrefixListId struct { // The ID of the prefix. PrefixListId *string `locationName:"prefixListId" type:"string"` + + // The ID of the security group rule. + SecurityGroupRuleId *string `locationName:"securityGroupRuleId" type:"string"` } // String returns the string representation @@ -104613,6 +105129,12 @@ func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId { return s } +// SetSecurityGroupRuleId sets the SecurityGroupRuleId field's value. +func (s *PrefixListId) SetSecurityGroupRuleId(v string) *PrefixListId { + s.SecurityGroupRuleId = &v + return s +} + // Describes the price for a Reserved Instance. type PriceSchedule struct { _ struct{} `type:"structure"` @@ -105961,6 +106483,66 @@ func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge { return s } +// Describes the security group that is referenced in the security group rule. +type ReferencedSecurityGroup struct { + _ struct{} `type:"structure"` + + // The ID of the security group. + GroupId *string `locationName:"groupId" type:"string"` + + // The status of a VPC peering connection, if applicable. + PeeringStatus *string `locationName:"peeringStatus" type:"string"` + + // The AWS account ID. + UserId *string `locationName:"userId" type:"string"` + + // The ID of the VPC. + VpcId *string `locationName:"vpcId" type:"string"` + + // The ID of the VPC peering connection. + VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"` +} + +// String returns the string representation +func (s ReferencedSecurityGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReferencedSecurityGroup) GoString() string { + return s.String() +} + +// SetGroupId sets the GroupId field's value. +func (s *ReferencedSecurityGroup) SetGroupId(v string) *ReferencedSecurityGroup { + s.GroupId = &v + return s +} + +// SetPeeringStatus sets the PeeringStatus field's value. +func (s *ReferencedSecurityGroup) SetPeeringStatus(v string) *ReferencedSecurityGroup { + s.PeeringStatus = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *ReferencedSecurityGroup) SetUserId(v string) *ReferencedSecurityGroup { + s.UserId = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *ReferencedSecurityGroup) SetVpcId(v string) *ReferencedSecurityGroup { + s.VpcId = &v + return s +} + +// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value. +func (s *ReferencedSecurityGroup) SetVpcPeeringConnectionId(v string) *ReferencedSecurityGroup { + s.VpcPeeringConnectionId = &v + return s +} + // Describes a Region. type Region struct { _ struct{} `type:"structure"` @@ -110824,6 +111406,9 @@ type RevokeSecurityGroupEgressInput struct { // number. IpProtocol *string `locationName:"ipProtocol" type:"string"` + // The IDs of the security group rules. + SecurityGroupRuleIds []*string `locationName:"SecurityGroupRuleId" locationNameList:"item" type:"list"` + // Not supported. Use a set of IP permissions to specify a destination security // group. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"` @@ -110895,6 +111480,12 @@ func (s *RevokeSecurityGroupEgressInput) SetIpProtocol(v string) *RevokeSecurity return s } +// SetSecurityGroupRuleIds sets the SecurityGroupRuleIds field's value. +func (s *RevokeSecurityGroupEgressInput) SetSecurityGroupRuleIds(v []*string) *RevokeSecurityGroupEgressInput { + s.SecurityGroupRuleIds = v + return s +} + // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupEgressInput { s.SourceSecurityGroupName = &v @@ -110980,6 +111571,9 @@ type RevokeSecurityGroupIngressInput struct { // Use -1 to specify all. IpProtocol *string `type:"string"` + // The IDs of the security group rules. + SecurityGroupRuleIds []*string `locationName:"SecurityGroupRuleId" locationNameList:"item" type:"list"` + // [EC2-Classic, default VPC] The name of the source security group. You can't // specify this parameter in combination with the following parameters: the // CIDR IP address range, the start of the port range, the IP protocol, and @@ -111053,6 +111647,12 @@ func (s *RevokeSecurityGroupIngressInput) SetIpProtocol(v string) *RevokeSecurit return s } +// SetSecurityGroupRuleIds sets the SecurityGroupRuleIds field's value. +func (s *RevokeSecurityGroupIngressInput) SetSecurityGroupRuleIds(v []*string) *RevokeSecurityGroupIngressInput { + s.SecurityGroupRuleIds = v + return s +} + // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupIngressInput { s.SourceSecurityGroupName = &v @@ -113627,7 +114227,7 @@ func (s *SearchTransitGatewayRoutesOutput) SetRoutes(v []*TransitGatewayRoute) * return s } -// Describes a security group +// Describes a security group. type SecurityGroup struct { _ struct{} `type:"structure"` @@ -113789,6 +114389,324 @@ func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGr return s } +// Describes a security group rule. +type SecurityGroupRule struct { + _ struct{} `type:"structure"` + + // The IPv4 CIDR range. + CidrIpv4 *string `locationName:"cidrIpv4" type:"string"` + + // The IPv6 CIDR range. + CidrIpv6 *string `locationName:"cidrIpv6" type:"string"` + + // The security group rule description. + Description *string `locationName:"description" type:"string"` + + // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 + // type. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 + // types, you must specify all codes. + FromPort *int64 `locationName:"fromPort" type:"integer"` + + // The ID of the security group. + GroupId *string `locationName:"groupId" type:"string"` + + // The ID of the AWS account that owns the security group. + GroupOwnerId *string `locationName:"groupOwnerId" type:"string"` + + // The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers + // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)). + // + // Use -1 to specify all protocols. + IpProtocol *string `locationName:"ipProtocol" type:"string"` + + // Indicates whether the security group rule is an outbound rule. + IsEgress *bool `locationName:"isEgress" type:"boolean"` + + // The ID of the prefix list. + PrefixListId *string `locationName:"prefixListId" type:"string"` + + // Describes the security group that is referenced in the rule. + ReferencedGroupInfo *ReferencedSecurityGroup `locationName:"referencedGroupInfo" type:"structure"` + + // The ID of the security group rule. + SecurityGroupRuleId *string `locationName:"securityGroupRuleId" type:"string"` + + // The tags applied to the security group rule. + Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. + // A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 + // types, you must specify all codes. + ToPort *int64 `locationName:"toPort" type:"integer"` +} + +// String returns the string representation +func (s SecurityGroupRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SecurityGroupRule) GoString() string { + return s.String() +} + +// SetCidrIpv4 sets the CidrIpv4 field's value. +func (s *SecurityGroupRule) SetCidrIpv4(v string) *SecurityGroupRule { + s.CidrIpv4 = &v + return s +} + +// SetCidrIpv6 sets the CidrIpv6 field's value. +func (s *SecurityGroupRule) SetCidrIpv6(v string) *SecurityGroupRule { + s.CidrIpv6 = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *SecurityGroupRule) SetDescription(v string) *SecurityGroupRule { + s.Description = &v + return s +} + +// SetFromPort sets the FromPort field's value. +func (s *SecurityGroupRule) SetFromPort(v int64) *SecurityGroupRule { + s.FromPort = &v + return s +} + +// SetGroupId sets the GroupId field's value. +func (s *SecurityGroupRule) SetGroupId(v string) *SecurityGroupRule { + s.GroupId = &v + return s +} + +// SetGroupOwnerId sets the GroupOwnerId field's value. +func (s *SecurityGroupRule) SetGroupOwnerId(v string) *SecurityGroupRule { + s.GroupOwnerId = &v + return s +} + +// SetIpProtocol sets the IpProtocol field's value. +func (s *SecurityGroupRule) SetIpProtocol(v string) *SecurityGroupRule { + s.IpProtocol = &v + return s +} + +// SetIsEgress sets the IsEgress field's value. +func (s *SecurityGroupRule) SetIsEgress(v bool) *SecurityGroupRule { + s.IsEgress = &v + return s +} + +// SetPrefixListId sets the PrefixListId field's value. +func (s *SecurityGroupRule) SetPrefixListId(v string) *SecurityGroupRule { + s.PrefixListId = &v + return s +} + +// SetReferencedGroupInfo sets the ReferencedGroupInfo field's value. +func (s *SecurityGroupRule) SetReferencedGroupInfo(v *ReferencedSecurityGroup) *SecurityGroupRule { + s.ReferencedGroupInfo = v + return s +} + +// SetSecurityGroupRuleId sets the SecurityGroupRuleId field's value. +func (s *SecurityGroupRule) SetSecurityGroupRuleId(v string) *SecurityGroupRule { + s.SecurityGroupRuleId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *SecurityGroupRule) SetTags(v []*Tag) *SecurityGroupRule { + s.Tags = v + return s +} + +// SetToPort sets the ToPort field's value. +func (s *SecurityGroupRule) SetToPort(v int64) *SecurityGroupRule { + s.ToPort = &v + return s +} + +// Describes the description of a security group rule. +// +// You can use this when you want to update the security group rule description +// for either an inbound or outbound rule. +type SecurityGroupRuleDescription struct { + _ struct{} `type:"structure"` + + // The description of the security group rule. + Description *string `type:"string"` + + // The ID of the security group rule. + SecurityGroupRuleId *string `type:"string"` +} + +// String returns the string representation +func (s SecurityGroupRuleDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SecurityGroupRuleDescription) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *SecurityGroupRuleDescription) SetDescription(v string) *SecurityGroupRuleDescription { + s.Description = &v + return s +} + +// SetSecurityGroupRuleId sets the SecurityGroupRuleId field's value. +func (s *SecurityGroupRuleDescription) SetSecurityGroupRuleId(v string) *SecurityGroupRuleDescription { + s.SecurityGroupRuleId = &v + return s +} + +// Describes a security group rule. +// +// You can only use one of the following to specify the rule: +// +// * CidrIpv4 +// +// * CidrIpv6 +// +// * PrefixListId +// +// * ReferencedGroupId +// +// When you run the ModifySecurityGroupRules (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySecurityGroupRules.html) +// command, you cannot change the rule type. For example if the rules references +// CidrIpv4, then you must use CidrIpv4 to reference the rule. +type SecurityGroupRuleRequest struct { + _ struct{} `type:"structure"` + + // The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix + // length. + CidrIpv4 *string `type:"string"` + + // The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix + // length. + CidrIpv6 *string `type:"string"` + + // The description of the security group rule. + Description *string `type:"string"` + + // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 + // type. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 + // types, you must specify all codes. + FromPort *int64 `type:"integer"` + + // The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers + // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)). + // + // Use -1 to specify all protocols. + IpProtocol *string `type:"string"` + + // The ID of the prefix list. + PrefixListId *string `type:"string"` + + // The ID of the security group that is referenced in the security group rule. + ReferencedGroupId *string `type:"string"` + + // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. + // A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 + // types, you must specify all codes. + ToPort *int64 `type:"integer"` +} + +// String returns the string representation +func (s SecurityGroupRuleRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SecurityGroupRuleRequest) GoString() string { + return s.String() +} + +// SetCidrIpv4 sets the CidrIpv4 field's value. +func (s *SecurityGroupRuleRequest) SetCidrIpv4(v string) *SecurityGroupRuleRequest { + s.CidrIpv4 = &v + return s +} + +// SetCidrIpv6 sets the CidrIpv6 field's value. +func (s *SecurityGroupRuleRequest) SetCidrIpv6(v string) *SecurityGroupRuleRequest { + s.CidrIpv6 = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *SecurityGroupRuleRequest) SetDescription(v string) *SecurityGroupRuleRequest { + s.Description = &v + return s +} + +// SetFromPort sets the FromPort field's value. +func (s *SecurityGroupRuleRequest) SetFromPort(v int64) *SecurityGroupRuleRequest { + s.FromPort = &v + return s +} + +// SetIpProtocol sets the IpProtocol field's value. +func (s *SecurityGroupRuleRequest) SetIpProtocol(v string) *SecurityGroupRuleRequest { + s.IpProtocol = &v + return s +} + +// SetPrefixListId sets the PrefixListId field's value. +func (s *SecurityGroupRuleRequest) SetPrefixListId(v string) *SecurityGroupRuleRequest { + s.PrefixListId = &v + return s +} + +// SetReferencedGroupId sets the ReferencedGroupId field's value. +func (s *SecurityGroupRuleRequest) SetReferencedGroupId(v string) *SecurityGroupRuleRequest { + s.ReferencedGroupId = &v + return s +} + +// SetToPort sets the ToPort field's value. +func (s *SecurityGroupRuleRequest) SetToPort(v int64) *SecurityGroupRuleRequest { + s.ToPort = &v + return s +} + +// Describes an update to a security group rule. +type SecurityGroupRuleUpdate struct { + _ struct{} `type:"structure"` + + // Information about the security group rule. + SecurityGroupRule *SecurityGroupRuleRequest `type:"structure"` + + // The ID of the security group rule. + SecurityGroupRuleId *string `type:"string"` +} + +// String returns the string representation +func (s SecurityGroupRuleUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SecurityGroupRuleUpdate) GoString() string { + return s.String() +} + +// SetSecurityGroupRule sets the SecurityGroupRule field's value. +func (s *SecurityGroupRuleUpdate) SetSecurityGroupRule(v *SecurityGroupRuleRequest) *SecurityGroupRuleUpdate { + s.SecurityGroupRule = v + return s +} + +// SetSecurityGroupRuleId sets the SecurityGroupRuleId field's value. +func (s *SecurityGroupRuleUpdate) SetSecurityGroupRuleId(v string) *SecurityGroupRuleUpdate { + s.SecurityGroupRuleId = &v + return s +} + type SendDiagnosticInterruptInput struct { _ struct{} `type:"structure"` @@ -121192,10 +122110,13 @@ type UpdateSecurityGroupRuleDescriptionsEgressInput struct { // security group ID or the security group name in the request. GroupName *string `type:"string"` - // The IP permissions for the security group rule. - // - // IpPermissions is a required field - IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"` + // The IP permissions for the security group rule. You can either specify this + // parameter, or the SecurityGroupRuleDescriptions parameter. + IpPermissions []*IpPermission `locationNameList:"item" type:"list"` + + // The description for the egress security group rules. You can either specify + // this parameter, or the IpPermissions parameter. + SecurityGroupRuleDescriptions []*SecurityGroupRuleDescription `locationName:"SecurityGroupRuleDescription" locationNameList:"item" type:"list"` } // String returns the string representation @@ -121208,19 +122129,6 @@ func (s UpdateSecurityGroupRuleDescriptionsEgressInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsEgressInput"} - if s.IpPermissions == nil { - invalidParams.Add(request.NewErrParamRequired("IpPermissions")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetDryRun sets the DryRun field's value. func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsEgressInput { s.DryRun = &v @@ -121245,6 +122153,12 @@ func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetIpPermissions(v []*I return s } +// SetSecurityGroupRuleDescriptions sets the SecurityGroupRuleDescriptions field's value. +func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetSecurityGroupRuleDescriptions(v []*SecurityGroupRuleDescription) *UpdateSecurityGroupRuleDescriptionsEgressInput { + s.SecurityGroupRuleDescriptions = v + return s +} + type UpdateSecurityGroupRuleDescriptionsEgressOutput struct { _ struct{} `type:"structure"` @@ -121286,10 +122200,13 @@ type UpdateSecurityGroupRuleDescriptionsIngressInput struct { // either the security group ID or the security group name in the request. GroupName *string `type:"string"` - // The IP permissions for the security group rule. - // - // IpPermissions is a required field - IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"` + // The IP permissions for the security group rule. You can either specify this + // parameter, or the SecurityGroupRuleDescriptions parameter. + IpPermissions []*IpPermission `locationNameList:"item" type:"list"` + + // [VPC only] The description for the ingress security group rules. You can + // either specify this parameter, or the IpPermissions parameter. + SecurityGroupRuleDescriptions []*SecurityGroupRuleDescription `locationName:"SecurityGroupRuleDescription" locationNameList:"item" type:"list"` } // String returns the string representation @@ -121302,19 +122219,6 @@ func (s UpdateSecurityGroupRuleDescriptionsIngressInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsIngressInput"} - if s.IpPermissions == nil { - invalidParams.Add(request.NewErrParamRequired("IpPermissions")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - // SetDryRun sets the DryRun field's value. func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsIngressInput { s.DryRun = &v @@ -121339,6 +122243,12 @@ func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetIpPermissions(v []* return s } +// SetSecurityGroupRuleDescriptions sets the SecurityGroupRuleDescriptions field's value. +func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetSecurityGroupRuleDescriptions(v []*SecurityGroupRuleDescription) *UpdateSecurityGroupRuleDescriptionsIngressInput { + s.SecurityGroupRuleDescriptions = v + return s +} + type UpdateSecurityGroupRuleDescriptionsIngressOutput struct { _ struct{} `type:"structure"` @@ -121479,6 +122389,9 @@ type UserIdGroupPair struct { // The status of a VPC peering connection, if applicable. PeeringStatus *string `locationName:"peeringStatus" type:"string"` + // The ID of the security group rule. + SecurityGroupRuleId *string `locationName:"securityGroupRuleId" type:"string"` + // The ID of an AWS account. // // For a referenced security group in another VPC, the account ID of the referenced @@ -121530,6 +122443,12 @@ func (s *UserIdGroupPair) SetPeeringStatus(v string) *UserIdGroupPair { return s } +// SetSecurityGroupRuleId sets the SecurityGroupRuleId field's value. +func (s *UserIdGroupPair) SetSecurityGroupRuleId(v string) *UserIdGroupPair { + s.SecurityGroupRuleId = &v + return s +} + // SetUserId sets the UserId field's value. func (s *UserIdGroupPair) SetUserId(v string) *UserIdGroupPair { s.UserId = &v @@ -128910,6 +129829,9 @@ const ( // ResourceTypeSecurityGroup is a ResourceType enum value ResourceTypeSecurityGroup = "security-group" + // ResourceTypeSecurityGroupRule is a ResourceType enum value + ResourceTypeSecurityGroupRule = "security-group-rule" + // ResourceTypeSnapshot is a ResourceType enum value ResourceTypeSnapshot = "snapshot" @@ -128997,6 +129919,7 @@ func ResourceType_Values() []string { ResourceTypeReservedInstances, ResourceTypeRouteTable, ResourceTypeSecurityGroup, + ResourceTypeSecurityGroupRule, ResourceTypeSnapshot, ResourceTypeSpotFleetRequest, ResourceTypeSpotInstancesRequest, diff --git a/service/ec2/ec2iface/interface.go b/service/ec2/ec2iface/interface.go index 6580b529195..300c715239e 100644 --- a/service/ec2/ec2iface/interface.go +++ b/service/ec2/ec2iface/interface.go @@ -1208,6 +1208,13 @@ type EC2API interface { DescribeSecurityGroupReferencesWithContext(aws.Context, *ec2.DescribeSecurityGroupReferencesInput, ...request.Option) (*ec2.DescribeSecurityGroupReferencesOutput, error) DescribeSecurityGroupReferencesRequest(*ec2.DescribeSecurityGroupReferencesInput) (*request.Request, *ec2.DescribeSecurityGroupReferencesOutput) + DescribeSecurityGroupRules(*ec2.DescribeSecurityGroupRulesInput) (*ec2.DescribeSecurityGroupRulesOutput, error) + DescribeSecurityGroupRulesWithContext(aws.Context, *ec2.DescribeSecurityGroupRulesInput, ...request.Option) (*ec2.DescribeSecurityGroupRulesOutput, error) + DescribeSecurityGroupRulesRequest(*ec2.DescribeSecurityGroupRulesInput) (*request.Request, *ec2.DescribeSecurityGroupRulesOutput) + + DescribeSecurityGroupRulesPages(*ec2.DescribeSecurityGroupRulesInput, func(*ec2.DescribeSecurityGroupRulesOutput, bool) bool) error + DescribeSecurityGroupRulesPagesWithContext(aws.Context, *ec2.DescribeSecurityGroupRulesInput, func(*ec2.DescribeSecurityGroupRulesOutput, bool) bool, ...request.Option) error + DescribeSecurityGroups(*ec2.DescribeSecurityGroupsInput) (*ec2.DescribeSecurityGroupsOutput, error) DescribeSecurityGroupsWithContext(aws.Context, *ec2.DescribeSecurityGroupsInput, ...request.Option) (*ec2.DescribeSecurityGroupsOutput, error) DescribeSecurityGroupsRequest(*ec2.DescribeSecurityGroupsInput) (*request.Request, *ec2.DescribeSecurityGroupsOutput) @@ -1828,6 +1835,10 @@ type EC2API interface { ModifyReservedInstancesWithContext(aws.Context, *ec2.ModifyReservedInstancesInput, ...request.Option) (*ec2.ModifyReservedInstancesOutput, error) ModifyReservedInstancesRequest(*ec2.ModifyReservedInstancesInput) (*request.Request, *ec2.ModifyReservedInstancesOutput) + ModifySecurityGroupRules(*ec2.ModifySecurityGroupRulesInput) (*ec2.ModifySecurityGroupRulesOutput, error) + ModifySecurityGroupRulesWithContext(aws.Context, *ec2.ModifySecurityGroupRulesInput, ...request.Option) (*ec2.ModifySecurityGroupRulesOutput, error) + ModifySecurityGroupRulesRequest(*ec2.ModifySecurityGroupRulesInput) (*request.Request, *ec2.ModifySecurityGroupRulesOutput) + ModifySnapshotAttribute(*ec2.ModifySnapshotAttributeInput) (*ec2.ModifySnapshotAttributeOutput, error) ModifySnapshotAttributeWithContext(aws.Context, *ec2.ModifySnapshotAttributeInput, ...request.Option) (*ec2.ModifySnapshotAttributeOutput, error) ModifySnapshotAttributeRequest(*ec2.ModifySnapshotAttributeInput) (*request.Request, *ec2.ModifySnapshotAttributeOutput) diff --git a/service/ecs/api.go b/service/ecs/api.go index 1f20cca9b9d..e0606c56e0b 100644 --- a/service/ecs/api.go +++ b/service/ecs/api.go @@ -2857,7 +2857,8 @@ func (c *ECS) ListServicesRequest(input *ListServicesInput) (req *request.Reques // ListServices API operation for Amazon EC2 Container Service. // -// Lists the services that are running in a specified cluster. +// Returns a list of services. You can filter the results by cluster, launch +// type, and scheduling strategy. // // 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 @@ -3399,9 +3400,9 @@ func (c *ECS) ListTasksRequest(input *ListTasksInput) (req *request.Request, out // ListTasks API operation for Amazon EC2 Container Service. // -// Returns a list of tasks for a specified cluster. You can filter the results -// by family name, by a particular container instance, or by the desired status -// of the task with the family, containerInstance, and desiredStatus parameters. +// Returns a list of tasks. You can filter the results by cluster, task definition +// family, container instance, launch type, what IAM principal started the task, +// or by the desired status of the task. // // Recently stopped tasks might appear in the returned results. Currently, stopped // tasks appear in the returned results for at least one hour. @@ -9285,19 +9286,26 @@ type CreateServiceInput struct { // come up. HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` - // The launch type on which to run your service. The accepted values are FARGATE - // and EC2. For more information, see Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) + // The infrastructure on which to run your service. For more information, see + // Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) // in the Amazon Elastic Container Service Developer Guide. // - // When a value of FARGATE is specified, your tasks are launched on AWS Fargate - // On-Demand infrastructure. To use Fargate Spot, you must use a capacity provider - // strategy with the FARGATE_SPOT capacity provider. + // The FARGATE launch type runs your tasks on AWS Fargate On-Demand infrastructure. // - // When a value of EC2 is specified, your tasks are launched on Amazon EC2 instances - // registered to your cluster. + // Fargate Spot infrastructure is available for use but a capacity provider + // strategy must be used. For more information, see AWS Fargate capacity providers + // (https://docs.aws.amazon.com/AmazonECS/latest/userguide/fargate-capacity-providers.html) + // in the Amazon ECS User Guide for AWS Fargate. // - // If a launchType is specified, the capacityProviderStrategy parameter must - // be omitted. + // The EC2 launch type runs your tasks on Amazon EC2 instances registered to + // your cluster. + // + // The EXTERNAL launch type runs your tasks on your on-premise server or virtual + // machine (VM) capacity registered to your cluster. + // + // A service can use either a launch type or a capacity provider strategy. If + // a launchType is specified, the capacityProviderStrategy parameter must be + // omitted. LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` // A load balancer object representing the load balancers to use with your service. @@ -13849,12 +13857,12 @@ func (s *ListContainerInstancesOutput) SetNextToken(v string) *ListContainerInst type ListServicesInput struct { _ struct{} `type:"structure"` - // The short name or full Amazon Resource Name (ARN) of the cluster that hosts - // the services to list. If you do not specify a cluster, the default cluster - // is assumed. + // The short name or full Amazon Resource Name (ARN) of the cluster to use when + // filtering the ListServices results. If you do not specify a cluster, the + // default cluster is assumed. Cluster *string `locationName:"cluster" type:"string"` - // The launch type for the services to list. + // The launch type to use when filtering the ListServices results. LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` // The maximum number of service results returned by ListServices in paginated @@ -13875,7 +13883,7 @@ type ListServicesInput struct { // retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` - // The scheduling strategy for services to list. + // The scheduling strategy to use when filtering the ListServices results. SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` } @@ -14246,17 +14254,17 @@ func (s *ListTaskDefinitionsOutput) SetTaskDefinitionArns(v []*string) *ListTask type ListTasksInput struct { _ struct{} `type:"structure"` - // The short name or full Amazon Resource Name (ARN) of the cluster that hosts - // the tasks to list. If you do not specify a cluster, the default cluster is - // assumed. + // The short name or full Amazon Resource Name (ARN) of the cluster to use when + // filtering the ListTasks results. If you do not specify a cluster, the default + // cluster is assumed. Cluster *string `locationName:"cluster" type:"string"` - // The container instance ID or full ARN of the container instance with which - // to filter the ListTasks results. Specifying a containerInstance limits the + // The container instance ID or full ARN of the container instance to use when + // filtering the ListTasks results. Specifying a containerInstance limits the // results to tasks that belong to that container instance. ContainerInstance *string `locationName:"containerInstance" type:"string"` - // The task desired status with which to filter the ListTasks results. Specifying + // The task desired status to use when filtering the ListTasks results. Specifying // a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has // set the desired status to STOPPED. This can be useful for debugging tasks // that are not starting properly or have died or finished. The default status @@ -14268,11 +14276,12 @@ type ListTasksInput struct { // a task to that value (only a task's lastStatus may have a value of PENDING). DesiredStatus *string `locationName:"desiredStatus" type:"string" enum:"DesiredStatus"` - // The name of the family with which to filter the ListTasks results. Specifying - // a family limits the results to tasks that belong to that family. + // The name of the task definition family to use when filtering the ListTasks + // results. Specifying a family limits the results to tasks that belong to that + // family. Family *string `locationName:"family" type:"string"` - // The launch type for services to list. + // The launch type to use when filtering the ListTasks results. LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` // The maximum number of task results returned by ListTasks in paginated output. @@ -14293,7 +14302,7 @@ type ListTasksInput struct { // retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` - // The name of the service with which to filter the ListTasks results. Specifying + // The name of the service to use when filtering the ListTasks results. Specifying // a serviceName limits the results to tasks that belong to that service. ServiceName *string `locationName:"serviceName" type:"string"` @@ -16952,19 +16961,25 @@ type RunTaskInput struct { // is the family name of the task definition (for example, family:my-family-name). Group *string `locationName:"group" type:"string"` - // The launch type on which to run your task. The accepted values are FARGATE - // and EC2. For more information, see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) + // The infrastructure on which to run your standalone task. For more information, + // see Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) // in the Amazon Elastic Container Service Developer Guide. // - // When a value of FARGATE is specified, your tasks are launched on AWS Fargate - // On-Demand infrastructure. To use Fargate Spot, you must use a capacity provider - // strategy with the FARGATE_SPOT capacity provider. + // The FARGATE launch type runs your tasks on AWS Fargate On-Demand infrastructure. + // + // Fargate Spot infrastructure is available for use but a capacity provider + // strategy must be used. For more information, see AWS Fargate capacity providers + // (https://docs.aws.amazon.com/AmazonECS/latest/userguide/fargate-capacity-providers.html) + // in the Amazon ECS User Guide for AWS Fargate. // - // When a value of EC2 is specified, your tasks are launched on Amazon EC2 instances - // registered to your cluster. + // The EC2 launch type runs your tasks on Amazon EC2 instances registered to + // your cluster. // - // If a launchType is specified, the capacityProviderStrategy parameter must - // be omitted. + // The EXTERNAL launch type runs your tasks on your on-premise server or virtual + // machine (VM) capacity registered to your cluster. + // + // A task can use either a launch type or a capacity provider strategy. If a + // launchType is specified, the capacityProviderStrategy parameter must be omitted. LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` // The network configuration for the task. This parameter is required for task @@ -17461,9 +17476,8 @@ type Service struct { // started. HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` - // The launch type on which your service is running. If no value is specified, - // it will default to EC2. Valid values include EC2 and FARGATE. For more information, - // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) + // The infrastructure on which your service is running. For more information, + // see Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) // in the Amazon Elastic Container Service Developer Guide. LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` @@ -19203,8 +19217,8 @@ type Task struct { // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). LastStatus *string `locationName:"lastStatus" type:"string"` - // The launch type on which your task is running. For more information, see - // Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) + // The infrastructure on which your task is running. For more information, see + // Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) // in the Amazon Elastic Container Service Developer Guide. LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` @@ -21981,6 +21995,9 @@ const ( // CompatibilityFargate is a Compatibility enum value CompatibilityFargate = "FARGATE" + + // CompatibilityExternal is a Compatibility enum value + CompatibilityExternal = "EXTERNAL" ) // Compatibility_Values returns all elements of the Compatibility enum @@ -21988,6 +22005,7 @@ func Compatibility_Values() []string { return []string{ CompatibilityEc2, CompatibilityFargate, + CompatibilityExternal, } } @@ -22277,6 +22295,9 @@ const ( // LaunchTypeFargate is a LaunchType enum value LaunchTypeFargate = "FARGATE" + + // LaunchTypeExternal is a LaunchType enum value + LaunchTypeExternal = "EXTERNAL" ) // LaunchType_Values returns all elements of the LaunchType enum @@ -22284,6 +22305,7 @@ func LaunchType_Values() []string { return []string{ LaunchTypeEc2, LaunchTypeFargate, + LaunchTypeExternal, } } diff --git a/service/mwaa/api.go b/service/mwaa/api.go index 234bba06462..5f602a5272d 100644 --- a/service/mwaa/api.go +++ b/service/mwaa/api.go @@ -140,7 +140,7 @@ func (c *MWAA) CreateEnvironmentRequest(input *CreateEnvironmentInput) (req *req // CreateEnvironment API operation for AmazonMWAA. // -// JSON blob that describes the environment to create. +// Creates an Amazon Managed Workflows for Apache Airflow (MWAA) environment. // // 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 @@ -317,7 +317,7 @@ func (c *MWAA) DeleteEnvironmentRequest(input *DeleteEnvironmentInput) (req *req // DeleteEnvironment API operation for AmazonMWAA. // -// Delete an existing environment. +// Deletes an Amazon Managed Workflows for Apache Airflow (MWAA) environment. // // 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 @@ -404,7 +404,8 @@ func (c *MWAA) GetEnvironmentRequest(input *GetEnvironmentInput) (req *request.R // GetEnvironment API operation for AmazonMWAA. // -// Get details of an existing environment. +// Retrieves the details of an Amazon Managed Workflows for Apache Airflow (MWAA) +// environment. // // 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 @@ -497,7 +498,7 @@ func (c *MWAA) ListEnvironmentsRequest(input *ListEnvironmentsInput) (req *reque // ListEnvironments API operation for AmazonMWAA. // -// List Amazon MWAA Environments. +// Lists the Amazon Managed Workflows for Apache Airflow (MWAA) environments. // // 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 @@ -633,7 +634,8 @@ func (c *MWAA) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req // ListTagsForResource API operation for AmazonMWAA. // -// List the tags for MWAA environments. +// Lists the key-value tag pairs associated to the Amazon Managed Workflows +// for Apache Airflow (MWAA) environment. For example, "Environment": "Staging". // // 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 @@ -806,7 +808,8 @@ func (c *MWAA) TagResourceRequest(input *TagResourceInput) (req *request.Request // TagResource API operation for AmazonMWAA. // -// Add tag to the MWAA environments. +// Associates key-value tag pairs to your Amazon Managed Workflows for Apache +// Airflow (MWAA) environment. // // 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 @@ -894,7 +897,8 @@ func (c *MWAA) UntagResourceRequest(input *UntagResourceInput) (req *request.Req // UntagResource API operation for AmazonMWAA. // -// Remove a tag from the MWAA environments. +// Removes key-value tag pairs associated to your Amazon Managed Workflows for +// Apache Airflow (MWAA) environment. For example, "Environment": "Staging". // // 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 @@ -981,7 +985,7 @@ func (c *MWAA) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *req // UpdateEnvironment API operation for AmazonMWAA. // -// Update an MWAA environment. +// Updates an Amazon Managed Workflows for Apache Airflow (MWAA) environment. // // 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 @@ -1158,109 +1162,114 @@ func (s *CreateCliTokenOutput) SetWebServerHostname(v string) *CreateCliTokenOut type CreateEnvironmentInput struct { _ struct{} `type:"structure"` - // The Apache Airflow configuration setting you want to override in your environment. - // For more information, see Environment configuration (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html). + // A list of key-value pairs containing the Apache Airflow configuration options + // you want to attach to your environment. To learn more, see Apache Airflow + // configuration options (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html). AirflowConfigurationOptions map[string]*string `type:"map" sensitive:"true"` - // The Apache Airflow version you want to use for your environment. + // The Apache Airflow version for your environment. For example, v1.10.12. If + // no value is specified, defaults to the latest version. Valid values: v1.10.12. AirflowVersion *string `min:"1" type:"string"` - // The relative path to the DAG folder on your Amazon S3 storage bucket. For - // example, dags. For more information, see Importing DAGs on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). + // The relative path to the DAGs folder on your Amazon S3 bucket. For example, + // dags. To learn more, see Adding or updating DAGs (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html). // // DagS3Path is a required field DagS3Path *string `min:"1" type:"string" required:"true"` - // The environment class you want to use for your environment. The environment - // class determines the size of the containers and database used for your Apache - // Airflow services. + // The environment class type. Valid values: mw1.small, mw1.medium, mw1.large. + // To learn more, see Amazon MWAA environment class (https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html). EnvironmentClass *string `min:"1" type:"string"` // The Amazon Resource Name (ARN) of the execution role for your environment. // An execution role is an AWS Identity and Access Management (IAM) role that // grants MWAA permission to access AWS services and resources used by your // environment. For example, arn:aws:iam::123456789:role/my-execution-role. - // For more information, see Managing access to Amazon Managed Workflows for - // Apache Airflow (https://docs.aws.amazon.com/mwaa/latest/userguide/manage-access.html). + // To learn more, see Amazon MWAA Execution role (https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html). // // ExecutionRoleArn is a required field ExecutionRoleArn *string `min:"1" type:"string" required:"true"` - // The AWS Key Management Service (KMS) key to encrypt and decrypt the data - // in your environment. You can use an AWS KMS key managed by MWAA, or a custom - // KMS key (advanced). For more information, see Customer master keys (CMKs) - // (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html?icmpid=docs_console_unmapped#master_keys) - // in the AWS KMS developer guide. + // The AWS Key Management Service (KMS) key to encrypt the data in your environment. + // You can use an AWS owned CMK, or a Customer managed CMK (advanced). To learn + // more, see Get started with Amazon Managed Workflows for Apache Airflow (https://docs.aws.amazon.com/mwaa/latest/userguide/get-started.html). KmsKey *string `min:"1" type:"string"` - // The Apache Airflow logs you want to send to Amazon CloudWatch Logs. + // Defines the Apache Airflow logs to send to CloudWatch Logs: DagProcessingLogs, + // SchedulerLogs, TaskLogs, WebserverLogs, WorkerLogs. LoggingConfiguration *LoggingConfigurationInput `type:"structure"` // The maximum number of workers that you want to run in your environment. MWAA - // scales the number of Apache Airflow workers and the Fargate containers that - // run your tasks up to the number you specify in this field. When there are - // no more tasks running, and no more in the queue, MWAA disposes of the extra - // containers leaving the one worker that is included with your environment. + // scales the number of Apache Airflow workers up to the number you specify + // in the MaxWorkers field. For example, 20. When there are no more tasks running, + // and no more in the queue, MWAA disposes of the extra workers leaving the + // one worker that is included with your environment, or the number you specify + // in MinWorkers. MaxWorkers *int64 `min:"1" type:"integer"` // The minimum number of workers that you want to run in your environment. MWAA - // scales the number of Apache Airflow workers and the Fargate containers that - // run your tasks up to the number you specify in the MaxWorkers field. When - // there are no more tasks running, and no more in the queue, MWAA disposes - // of the extra containers leaving the worker count you specify in the MinWorkers - // field. + // scales the number of Apache Airflow workers up to the number you specify + // in the MaxWorkers field. When there are no more tasks running, and no more + // in the queue, MWAA disposes of the extra workers leaving the worker count + // you specify in the MinWorkers field. For example, 2. MinWorkers *int64 `min:"1" type:"integer"` - // The name of your MWAA environment. + // The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. // // Name is a required field Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` - // The VPC networking components you want to use for your environment. At least - // two private subnet identifiers and one VPC security group identifier are - // required to create an environment. For more information, see Creating the - // VPC network for a MWAA environment (https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-mwaa.html). + // The VPC networking components used to secure and enable network traffic between + // the AWS resources for your environment. To learn more, see About networking + // on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html). // // NetworkConfiguration is a required field NetworkConfiguration *NetworkConfiguration `type:"structure" required:"true"` - // The plugins.zip file version you want to use. + // The version of the plugins.zip file on your Amazon S3 bucket. A version must + // be specified each time a plugins.zip file is updated. To learn more, see + // How S3 Versioning works (https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html). PluginsS3ObjectVersion *string `min:"1" type:"string"` - // The relative path to the plugins.zip file on your Amazon S3 storage bucket. - // For example, plugins.zip. If a relative path is provided in the request, - // then PluginsS3ObjectVersion is required. For more information, see Importing - // DAGs on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). + // The relative path to the plugins.zip file on your Amazon S3 bucket. For example, + // plugins.zip. If specified, then the plugins.zip version is required. To learn + // more, see Installing custom plugins (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html). PluginsS3Path *string `min:"1" type:"string"` - // The requirements.txt file version you want to use. + // The version of the requirements.txt file on your Amazon S3 bucket. A version + // must be specified each time a requirements.txt file is updated. To learn + // more, see How S3 Versioning works (https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html). RequirementsS3ObjectVersion *string `min:"1" type:"string"` - // The relative path to the requirements.txt file on your Amazon S3 storage - // bucket. For example, requirements.txt. If a relative path is provided in - // the request, then RequirementsS3ObjectVersion is required. For more information, - // see Importing DAGs on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import.html). + // The relative path to the requirements.txt file on your Amazon S3 bucket. + // For example, requirements.txt. If specified, then a file version is required. + // To learn more, see Installing Python dependencies (https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html). RequirementsS3Path *string `min:"1" type:"string"` - // The Amazon Resource Name (ARN) of your Amazon S3 storage bucket. For example, - // arn:aws:s3:::airflow-mybucketname. + // The number of Apache Airflow schedulers to run in your environment. + Schedulers *int64 `type:"integer"` + + // The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code + // and supporting files are stored. For example, arn:aws:s3:::my-airflow-bucket-unique-name. + // To learn more, see Create an Amazon S3 bucket for Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html). // // SourceBucketArn is a required field SourceBucketArn *string `min:"1" type:"string" required:"true"` - // The metadata tags you want to attach to your environment. For more information, - // see Tagging AWS resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). + // The key-value tag pairs you want to associate to your environment. For example, + // "Environment": "Staging". To learn more, see Tagging AWS resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). Tags map[string]*string `min:"1" type:"map"` - // The networking access of your Apache Airflow web server. A public network - // allows your Airflow UI to be accessed over the Internet by users granted - // access in your IAM policy. A private network limits access of your Airflow - // UI to users within your VPC. For more information, see Creating the VPC network - // for a MWAA environment (https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-mwaa.html). + // The Apache Airflow Web server access mode. To learn more, see Apache Airflow + // access modes (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html). WebserverAccessMode *string `type:"string" enum:"WebserverAccessMode"` - // The day and time you want MWAA to start weekly maintenance updates on your - // environment. + // The day and time of the week to start weekly maintenance updates of your + // environment in the following format: DAY:HH:MM. For example: TUE:03:30. You + // can specify a start time in 30 minute increments only. Supported input includes + // the following: + // + // * MON|TUE|WED|THU|FRI|SAT|SUN:([01]\\d|2[0-3]):(00|30) WeeklyMaintenanceWindowStart *string `min:"1" type:"string"` } @@ -1444,6 +1453,12 @@ func (s *CreateEnvironmentInput) SetRequirementsS3Path(v string) *CreateEnvironm return s } +// SetSchedulers sets the Schedulers field's value. +func (s *CreateEnvironmentInput) SetSchedulers(v int64) *CreateEnvironmentInput { + s.Schedulers = &v + return s +} + // SetSourceBucketArn sets the SourceBucketArn field's value. func (s *CreateEnvironmentInput) SetSourceBucketArn(v string) *CreateEnvironmentInput { s.SourceBucketArn = &v @@ -1471,7 +1486,7 @@ func (s *CreateEnvironmentInput) SetWeeklyMaintenanceWindowStart(v string) *Crea type CreateEnvironmentOutput struct { _ struct{} `type:"structure"` - // The resulting Amazon MWAA envirnonment ARN. + // The Amazon Resource Name (ARN) returned in the response for the environment. Arn *string `min:"1" type:"string"` } @@ -1568,7 +1583,7 @@ func (s *CreateWebLoginTokenOutput) SetWebToken(v string) *CreateWebLoginTokenOu type DeleteEnvironmentInput struct { _ struct{} `type:"structure"` - // The name of the environment to delete. + // The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. // // Name is a required field Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` @@ -1673,84 +1688,135 @@ func (s *Dimension) SetValue(v string) *Dimension { return s } -// An Amazon MWAA environment. +// The Amazon Managed Workflows for Apache Airflow (MWAA) environment. type Environment struct { _ struct{} `type:"structure"` - // The Airflow Configuration Options of the Amazon MWAA Environment. + // A list of key-value pairs containing the Apache Airflow configuration options + // attached to your environment. To learn more, see Apache Airflow configuration + // options (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html). AirflowConfigurationOptions map[string]*string `type:"map"` - // The AirflowV ersion of the Amazon MWAA Environment. + // The Apache Airflow version on your environment. For example, v1.10.12. AirflowVersion *string `min:"1" type:"string"` - // The ARN of the Amazon MWAA Environment. + // The Amazon Resource Name (ARN) of the Amazon MWAA environment. Arn *string `min:"1" type:"string"` - // The Created At date of the Amazon MWAA Environment. + // The day and time the environment was created. CreatedAt *time.Time `type:"timestamp"` - // The Dags S3 Path of the Amazon MWAA Environment. + // The relative path to the DAGs folder on your Amazon S3 bucket. For example, + // dags. To learn more, see Adding or updating DAGs (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html). DagS3Path *string `min:"1" type:"string"` - // The Environment Class (size) of the Amazon MWAA Environment. + // The environment class type. Valid values: mw1.small, mw1.medium, mw1.large. + // To learn more, see Amazon MWAA environment class (https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html). EnvironmentClass *string `min:"1" type:"string"` - // The Execution Role ARN of the Amazon MWAA Environment. + // The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA + // to access AWS resources in your environment. For example, arn:aws:iam::123456789:role/my-execution-role. + // To learn more, see Amazon MWAA Execution role (https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html). ExecutionRoleArn *string `min:"1" type:"string"` - // The Kms Key of the Amazon MWAA Environment. + // The Key Management Service (KMS) encryption key used to encrypt the data + // in your environment. KmsKey *string `min:"1" type:"string"` - // Last update information for the environment. + // The status of the last update on the environment, and any errors that were + // encountered. LastUpdate *LastUpdate `type:"structure"` - // The Logging Configuration of the Amazon MWAA Environment. + // The Apache Airflow logs being sent to CloudWatch Logs: DagProcessingLogs, + // SchedulerLogs, TaskLogs, WebserverLogs, WorkerLogs. LoggingConfiguration *LoggingConfiguration `type:"structure"` - // The maximum number of workers to run in your Amazon MWAA Environment. + // The maximum number of workers that run in your environment. For example, + // 20. MaxWorkers *int64 `min:"1" type:"integer"` - // The minimum number of workers to run in your Amazon MWAA Environment. + // The minimum number of workers that run in your environment. For example, + // 2. MinWorkers *int64 `min:"1" type:"integer"` - // The name of the Amazon MWAA Environment. + // The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. Name *string `min:"1" type:"string"` - // Provide the security group and subnet IDs for the workers and scheduler. + // The VPC networking components used to secure and enable network traffic between + // the AWS resources for your environment. To learn more, see About networking + // on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html). NetworkConfiguration *NetworkConfiguration `type:"structure"` - // The Plugins.zip S3 Object Version of the Amazon MWAA Environment. + // The version of the plugins.zip file on your Amazon S3 bucket. To learn more, + // see Installing custom plugins (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html). PluginsS3ObjectVersion *string `min:"1" type:"string"` - // The Plugins.zip S3 Path of the Amazon MWAA Environment. + // The relative path to the plugins.zip file on your Amazon S3 bucket. For example, + // plugins.zip. To learn more, see Installing custom plugins (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html). PluginsS3Path *string `min:"1" type:"string"` - // The Requirements.txt file S3 Object Version of the Amazon MWAA Environment. + // The version of the requirements.txt file on your Amazon S3 bucket. To learn + // more, see Installing Python dependencies (https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html). RequirementsS3ObjectVersion *string `min:"1" type:"string"` - // The Requirement.txt S3 Path of the Amazon MWAA Environment. + // The relative path to the requirements.txt file on your Amazon S3 bucket. + // For example, requirements.txt. To learn more, see Installing Python dependencies + // (https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html). RequirementsS3Path *string `min:"1" type:"string"` - // The Service Role ARN of the Amazon MWAA Environment. + // The number of Apache Airflow schedulers that run in your Amazon MWAA environment. + Schedulers *int64 `type:"integer"` + + // The Amazon Resource Name (ARN) for the service-linked role of the environment. + // To learn more, see Amazon MWAA Service-linked role (https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-slr.html). ServiceRoleArn *string `min:"1" type:"string"` - // The Source S3 Bucket ARN of the Amazon MWAA Environment. + // The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code + // and supporting files are stored. For example, arn:aws:s3:::my-airflow-bucket-unique-name. + // To learn more, see Create an Amazon S3 bucket for Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html). SourceBucketArn *string `min:"1" type:"string"` - // The status of the Amazon MWAA Environment. + // The status of the Amazon MWAA environment. Valid values: + // + // * CREATING - Indicates the request to create the environment is in progress. + // + // * CREATE_FAILED - Indicates the request to create the environment failed, + // and the environment could not be created. + // + // * AVAILABLE - Indicates the request was successful and the environment + // is ready to use. + // + // * UPDATING - Indicates the request to update the environment is in progress. + // + // * DELETING - Indicates the request to delete the environment is in progress. + // + // * DELETED - Indicates the request to delete the environment is complete, + // and the environment has been deleted. + // + // * UNAVAILABLE - Indicates the request failed, but the environment was + // unable to rollback and is not in a stable state. + // + // * UPDATE_FAILED - Indicates the request to update the environment failed, + // and the environment has rolled back successfully and is ready to use. + // + // We recommend reviewing our troubleshooting guide for a list of common errors + // and their solutions. To learn more, see Amazon MWAA troubleshooting (https://docs.aws.amazon.com/mwaa/latest/userguide/troubleshooting.html). Status *string `type:"string" enum:"EnvironmentStatus"` - // The Tags of the Amazon MWAA Environment. + // The key-value tag pairs associated to your environment. For example, "Environment": + // "Staging". To learn more, see Tagging AWS resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). Tags map[string]*string `min:"1" type:"map"` - // The Webserver Access Mode of the Amazon MWAA Environment (public or private - // only). + // The Apache Airflow Web server access mode. To learn more, see Apache Airflow + // access modes (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html). WebserverAccessMode *string `type:"string" enum:"WebserverAccessMode"` - // The Webserver URL of the Amazon MWAA Environment. + // The Apache Airflow Web server host name for the Amazon MWAA environment. + // To learn more, see Accessing the Apache Airflow UI (https://docs.aws.amazon.com/mwaa/latest/userguide/access-airflow-ui.html). WebserverUrl *string `min:"1" type:"string"` - // The Weekly Maintenance Window Start of the Amazon MWAA Environment. + // The day and time of the week that weekly maintenance updates are scheduled. + // For example: TUE:03:30. WeeklyMaintenanceWindowStart *string `min:"1" type:"string"` } @@ -1872,6 +1938,12 @@ func (s *Environment) SetRequirementsS3Path(v string) *Environment { return s } +// SetSchedulers sets the Schedulers field's value. +func (s *Environment) SetSchedulers(v int64) *Environment { + s.Schedulers = &v + return s +} + // SetServiceRoleArn sets the ServiceRoleArn field's value. func (s *Environment) SetServiceRoleArn(v string) *Environment { s.ServiceRoleArn = &v @@ -1917,7 +1989,7 @@ func (s *Environment) SetWeeklyMaintenanceWindowStart(v string) *Environment { type GetEnvironmentInput struct { _ struct{} `type:"structure"` - // The name of the environment to retrieve. + // The name of the Amazon MWAA environment. For example, MyMWAAEnvironment. // // Name is a required field Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` @@ -1958,7 +2030,7 @@ func (s *GetEnvironmentInput) SetName(v string) *GetEnvironmentInput { type GetEnvironmentOutput struct { _ struct{} `type:"structure"` - // A JSON blob with environment details. + // An object containing all available details about the environment. Environment *Environment `type:"structure"` } @@ -2034,17 +2106,19 @@ func (s *InternalServerException) RequestID() string { return s.RespMetadata.RequestID } -// Last update information for the environment. +// The status of the last update on the environment, and any errors that were +// encountered. type LastUpdate struct { _ struct{} `type:"structure"` - // Time that last update occurred. + // The day and time of the last update on the environment. CreatedAt *time.Time `type:"timestamp"` - // Error string of last update, if applicable. + // The error that was encountered during the last update of the environment. Error *UpdateError `type:"structure"` - // Status of last update of SUCCESS, FAILED, CREATING, DELETING. + // The status of the last update on the environment. Valid values: SUCCESS, + // PENDING, FAILED. Status *string `type:"string" enum:"UpdateStatus"` } @@ -2079,10 +2153,11 @@ func (s *LastUpdate) SetStatus(v string) *LastUpdate { type ListEnvironmentsInput struct { _ struct{} `type:"structure"` - // The maximum results when listing MWAA environments. + // The maximum number of results to retrieve per page. For example, 5 environments + // per page. MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"` - // The Next Token when listing MWAA environments. + // Retrieves the next page of the results. NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` } @@ -2124,12 +2199,12 @@ func (s *ListEnvironmentsInput) SetNextToken(v string) *ListEnvironmentsInput { type ListEnvironmentsOutput struct { _ struct{} `type:"structure"` - // The list of Amazon MWAA Environments. + // Returns the list of Amazon MWAA environments. // // Environments is a required field Environments []*string `type:"list" required:"true"` - // The Next Token when listing MWAA environments. + // Retrieves the next page of the results. NextToken *string `type:"string"` } @@ -2158,7 +2233,8 @@ func (s *ListEnvironmentsOutput) SetNextToken(v string) *ListEnvironmentsOutput type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // The ARN of the MWAA environment. + // The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example, + // arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"` @@ -2199,7 +2275,8 @@ func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResource type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // The tags of the MWAA environments. + // The key-value tag pairs associated to your environment. To learn more, see + // Tagging AWS resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). Tags map[string]*string `min:"1" type:"map"` } @@ -2219,33 +2296,29 @@ func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForRe return s } -// The Logging Configuration of your Amazon MWAA environment. +// Defines the Apache Airflow logs to send to CloudWatch Logs: DagProcessingLogs, +// SchedulerLogs, TaskLogs, WebserverLogs, WorkerLogs. type LoggingConfiguration struct { _ struct{} `type:"structure"` - // A JSON blob that provides configuration to use for logging with respect to - // the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs, - // WebserverLogs, and WorkerLogs. + // Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs). + // Valid values: CloudWatchLogGroupArn, Enabled, LogLevel. DagProcessingLogs *ModuleLoggingConfiguration `type:"structure"` - // A JSON blob that provides configuration to use for logging with respect to - // the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs, - // WebserverLogs, and WorkerLogs. + // Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs). + // Valid values: CloudWatchLogGroupArn, Enabled, LogLevel. SchedulerLogs *ModuleLoggingConfiguration `type:"structure"` - // A JSON blob that provides configuration to use for logging with respect to - // the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs, - // WebserverLogs, and WorkerLogs. + // Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs). + // Valid values: CloudWatchLogGroupArn, Enabled, LogLevel. TaskLogs *ModuleLoggingConfiguration `type:"structure"` - // A JSON blob that provides configuration to use for logging with respect to - // the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs, - // WebserverLogs, and WorkerLogs. + // Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs). + // Valid values: CloudWatchLogGroupArn, Enabled, LogLevel. WebserverLogs *ModuleLoggingConfiguration `type:"structure"` - // A JSON blob that provides configuration to use for logging with respect to - // the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs, - // WebserverLogs, and WorkerLogs. + // Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs). + // Valid values: CloudWatchLogGroupArn, Enabled, LogLevel. WorkerLogs *ModuleLoggingConfiguration `type:"structure"` } @@ -2289,33 +2362,29 @@ func (s *LoggingConfiguration) SetWorkerLogs(v *ModuleLoggingConfiguration) *Log return s } -// The Logging Configuration of your Amazon MWAA environment. +// Defines the Apache Airflow logs to send to CloudWatch Logs: DagProcessingLogs, +// SchedulerLogs, TaskLogs, WebserverLogs, WorkerLogs. type LoggingConfigurationInput struct { _ struct{} `type:"structure"` - // A JSON blob that provides configuration to use for logging with respect to - // the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs, - // WebserverLogs, and WorkerLogs. + // Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs). + // Valid values: CloudWatchLogGroupArn, Enabled, LogLevel. DagProcessingLogs *ModuleLoggingConfigurationInput `type:"structure"` - // A JSON blob that provides configuration to use for logging with respect to - // the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs, - // WebserverLogs, and WorkerLogs. + // Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs). + // Valid values: CloudWatchLogGroupArn, Enabled, LogLevel. SchedulerLogs *ModuleLoggingConfigurationInput `type:"structure"` - // A JSON blob that provides configuration to use for logging with respect to - // the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs, - // WebserverLogs, and WorkerLogs. + // Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs). + // Valid values: CloudWatchLogGroupArn, Enabled, LogLevel. TaskLogs *ModuleLoggingConfigurationInput `type:"structure"` - // A JSON blob that provides configuration to use for logging with respect to - // the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs, - // WebserverLogs, and WorkerLogs. + // Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs). + // Valid values: CloudWatchLogGroupArn, Enabled, LogLevel. WebserverLogs *ModuleLoggingConfigurationInput `type:"structure"` - // A JSON blob that provides configuration to use for logging with respect to - // the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs, - // WebserverLogs, and WorkerLogs. + // Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs). + // Valid values: CloudWatchLogGroupArn, Enabled, LogLevel. WorkerLogs *ModuleLoggingConfigurationInput `type:"structure"` } @@ -2493,19 +2562,21 @@ func (s *MetricDatum) SetValue(v float64) *MetricDatum { return s } -// A JSON blob that provides configuration to use for logging with respect to -// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs, -// WebserverLogs, and WorkerLogs. +// Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs). +// Valid values: CloudWatchLogGroupArn, Enabled, LogLevel. type ModuleLoggingConfiguration struct { _ struct{} `type:"structure"` - // Provides the ARN for the CloudWatch group where the logs will be published. + // The Amazon Resource Name (ARN) for the CloudWatch Logs group where the Apache + // Airflow log type (e.g. DagProcessingLogs) is published. For example, arn:aws:logs:us-east-1:123456789012:log-group:airflow-MyMWAAEnvironment-MwaaEnvironment-DAGProcessing:*. CloudWatchLogGroupArn *string `min:"1" type:"string"` - // Defines that the logging module is enabled. + // Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs) + // in CloudWatch Logs. Enabled *bool `type:"boolean"` - // Defines the log level, which can be CRITICAL, ERROR, WARNING, or INFO. + // Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs) + // to CloudWatch Logs. Valid values: CRITICAL, ERROR, WARNING, INFO. LogLevel *string `type:"string" enum:"LoggingLevel"` } @@ -2537,18 +2608,19 @@ func (s *ModuleLoggingConfiguration) SetLogLevel(v string) *ModuleLoggingConfigu return s } -// A JSON blob that provides configuration to use for logging with respect to -// the various Apache Airflow services: DagProcessingLogs, SchedulerLogs, TaskLogs, -// WebserverLogs, and WorkerLogs. +// Defines the type of logs to send for the Apache Airflow log type (e.g. DagProcessingLogs). +// Valid values: CloudWatchLogGroupArn, Enabled, LogLevel. type ModuleLoggingConfigurationInput struct { _ struct{} `type:"structure"` - // Defines that the logging module is enabled. + // Indicates whether to enable the Apache Airflow log type (e.g. DagProcessingLogs) + // in CloudWatch Logs. // // Enabled is a required field Enabled *bool `type:"boolean" required:"true"` - // Defines the log level, which can be CRITICAL, ERROR, WARNING, or INFO. + // Defines the Apache Airflow logs to send for the log type (e.g. DagProcessingLogs) + // to CloudWatch Logs. Valid values: CRITICAL, ERROR, WARNING, INFO. // // LogLevel is a required field LogLevel *string `type:"string" required:"true" enum:"LoggingLevel"` @@ -2592,16 +2664,20 @@ func (s *ModuleLoggingConfigurationInput) SetLogLevel(v string) *ModuleLoggingCo return s } -// Provide the security group and subnet IDs for the workers and scheduler. +// The VPC networking components used to secure and enable network traffic between +// the AWS resources for your environment. To learn more, see About networking +// on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html). type NetworkConfiguration struct { _ struct{} `type:"structure"` - // A JSON list of 1 or more security groups IDs by name, in the same VPC as - // the subnets. + // A list of 1 or more security group IDs. Accepts up to 5 security group IDs. + // A security group must be attached to the same VPC as the subnets. To learn + // more, see Security in your VPC on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-security.html). SecurityGroupIds []*string `min:"1" type:"list"` - // Provide a JSON list of 2 subnet IDs by name. These must be private subnets, - // in the same VPC, in two different availability zones. + // A list of 2 subnet IDs. Required to create an environment. Must be private + // subnets in two different availability zones. A subnet must be attached to + // the same VPC as the security group. SubnetIds []*string `min:"2" type:"list"` } @@ -2833,12 +2909,14 @@ func (s *StatisticSet) SetSum(v float64) *StatisticSet { type TagResourceInput struct { _ struct{} `type:"structure"` - // The tag resource ARN of the MWAA environments. + // The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example, + // arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"` - // The tag resource tag of the MWAA environments. + // The key-value tag pairs you want to associate to your environment. For example, + // "Environment": "Staging". To learn more, see Tagging AWS resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). // // Tags is a required field Tags map[string]*string `min:"1" type:"map" required:"true"` @@ -2905,12 +2983,13 @@ func (s TagResourceOutput) GoString() string { type UntagResourceInput struct { _ struct{} `type:"structure"` - // The tag resource ARN of the MWAA environments. + // The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example, + // arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment. // // ResourceArn is a required field ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"` - // The tag resource key of the MWAA environments. + // The key-value tag pair you want to remove. For example, "Environment": "Staging". // // TagKeys is a required field TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` @@ -2974,57 +3053,95 @@ func (s UntagResourceOutput) GoString() string { type UpdateEnvironmentInput struct { _ struct{} `type:"structure"` - // The Airflow Configuration Options to update of your Amazon MWAA environment. + // A list of key-value pairs containing the Apache Airflow configuration options + // you want to attach to your environment. To learn more, see Apache Airflow + // configuration options (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html). AirflowConfigurationOptions map[string]*string `type:"map" sensitive:"true"` - // The Airflow Version to update of your Amazon MWAA environment. + // The Apache Airflow version for your environment. For example, v1.10.12. If + // no value is specified, defaults to the latest version. Valid values: v1.10.12. AirflowVersion *string `min:"1" type:"string"` - // The Dags folder S3 Path to update of your Amazon MWAA environment. + // The relative path to the DAGs folder on your Amazon S3 bucket. For example, + // dags. To learn more, see Adding or updating DAGs (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html). DagS3Path *string `min:"1" type:"string"` - // The Environment Class to update of your Amazon MWAA environment. + // The environment class type. Valid values: mw1.small, mw1.medium, mw1.large. + // To learn more, see Amazon MWAA environment class (https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html). EnvironmentClass *string `min:"1" type:"string"` - // The Executio Role ARN to update of your Amazon MWAA environment. + // The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA + // to access AWS resources in your environment. For example, arn:aws:iam::123456789:role/my-execution-role. + // To learn more, see Amazon MWAA Execution role (https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html). ExecutionRoleArn *string `min:"1" type:"string"` - // The Logging Configuration to update of your Amazon MWAA environment. + // Defines the Apache Airflow logs to send to CloudWatch Logs: DagProcessingLogs, + // SchedulerLogs, TaskLogs, WebserverLogs, WorkerLogs. LoggingConfiguration *LoggingConfigurationInput `type:"structure"` - // The maximum number of workers to update of your Amazon MWAA environment. + // The maximum number of workers that you want to run in your environment. MWAA + // scales the number of Apache Airflow workers up to the number you specify + // in the MaxWorkers field. For example, 20. When there are no more tasks running, + // and no more in the queue, MWAA disposes of the extra workers leaving the + // one worker that is included with your environment, or the number you specify + // in MinWorkers. MaxWorkers *int64 `min:"1" type:"integer"` - // The minimum number of workers to update of your Amazon MWAA environment. + // The minimum number of workers that you want to run in your environment. MWAA + // scales the number of Apache Airflow workers up to the number you specify + // in the MaxWorkers field. When there are no more tasks running, and no more + // in the queue, MWAA disposes of the extra workers leaving the worker count + // you specify in the MinWorkers field. For example, 2. MinWorkers *int64 `min:"1" type:"integer"` - // The name of your Amazon MWAA environment that you wish to update. + // The name of your Amazon MWAA environment. For example, MyMWAAEnvironment. // // Name is a required field Name *string `location:"uri" locationName:"Name" min:"1" type:"string" required:"true"` - // The Network Configuration to update of your Amazon MWAA environment. + // The VPC networking components used to secure and enable network traffic between + // the AWS resources for your environment. To learn more, see About networking + // on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html). NetworkConfiguration *UpdateNetworkConfigurationInput `type:"structure"` - // The Plugins.zip S3 Object Version to update of your Amazon MWAA environment. + // The version of the plugins.zip file on your Amazon S3 bucket. A version must + // be specified each time a plugins.zip file is updated. To learn more, see + // How S3 Versioning works (https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html). PluginsS3ObjectVersion *string `min:"1" type:"string"` - // The Plugins.zip S3 Path to update of your Amazon MWAA environment. + // The relative path to the plugins.zip file on your Amazon S3 bucket. For example, + // plugins.zip. If specified, then the plugins.zip version is required. To learn + // more, see Installing custom plugins (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html). PluginsS3Path *string `min:"1" type:"string"` - // The Requirements.txt S3 ObjectV ersion to update of your Amazon MWAA environment. + // The version of the requirements.txt file on your Amazon S3 bucket. A version + // must be specified each time a requirements.txt file is updated. To learn + // more, see How S3 Versioning works (https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html). RequirementsS3ObjectVersion *string `min:"1" type:"string"` - // The Requirements.txt S3 Path to update of your Amazon MWAA environment. + // The relative path to the requirements.txt file on your Amazon S3 bucket. + // For example, requirements.txt. If specified, then a file version is required. + // To learn more, see Installing Python dependencies (https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html). RequirementsS3Path *string `min:"1" type:"string"` - // The S3 Source Bucket ARN to update of your Amazon MWAA environment. + // The number of Apache Airflow schedulers to run in your Amazon MWAA environment. + Schedulers *int64 `type:"integer"` + + // The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code + // and supporting files are stored. For example, arn:aws:s3:::my-airflow-bucket-unique-name. + // To learn more, see Create an Amazon S3 bucket for Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html). SourceBucketArn *string `min:"1" type:"string"` - // The Webserver Access Mode to update of your Amazon MWAA environment. + // The Apache Airflow Web server access mode. To learn more, see Apache Airflow + // access modes (https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html). WebserverAccessMode *string `type:"string" enum:"WebserverAccessMode"` - // The Weekly Maintenance Window Start to update of your Amazon MWAA environment. + // The day and time of the week to start weekly maintenance updates of your + // environment in the following format: DAY:HH:MM. For example: TUE:03:30. You + // can specify a start time in 30 minute increments only. Supported input includes + // the following: + // + // * MON|TUE|WED|THU|FRI|SAT|SUN:([01]\\d|2[0-3]):(00|30) WeeklyMaintenanceWindowStart *string `min:"1" type:"string"` } @@ -3184,6 +3301,12 @@ func (s *UpdateEnvironmentInput) SetRequirementsS3Path(v string) *UpdateEnvironm return s } +// SetSchedulers sets the Schedulers field's value. +func (s *UpdateEnvironmentInput) SetSchedulers(v int64) *UpdateEnvironmentInput { + s.Schedulers = &v + return s +} + // SetSourceBucketArn sets the SourceBucketArn field's value. func (s *UpdateEnvironmentInput) SetSourceBucketArn(v string) *UpdateEnvironmentInput { s.SourceBucketArn = &v @@ -3205,7 +3328,8 @@ func (s *UpdateEnvironmentInput) SetWeeklyMaintenanceWindowStart(v string) *Upda type UpdateEnvironmentOutput struct { _ struct{} `type:"structure"` - // The ARN to update of your Amazon MWAA environment. + // The Amazon Resource Name (ARN) of the Amazon MWAA environment. For example, + // arn:aws:airflow:us-east-1:123456789012:environment/MyMWAAEnvironment. Arn *string `min:"1" type:"string"` } @@ -3225,14 +3349,15 @@ func (s *UpdateEnvironmentOutput) SetArn(v string) *UpdateEnvironmentOutput { return s } -// Error information of update, if applicable. +// An object containing the error encountered with the last update: ErrorCode, +// ErrorMessage. type UpdateError struct { _ struct{} `type:"structure"` - // Error code of update. + // The error code that corresponds to the error with the last update. ErrorCode *string `type:"string"` - // Error message of update. + // The error message that corresponds to the error code. ErrorMessage *string `min:"1" type:"string"` } @@ -3258,12 +3383,15 @@ func (s *UpdateError) SetErrorMessage(v string) *UpdateError { return s } -// Provide the security group and subnet IDs for the workers and scheduler. +// The VPC networking components used to secure and enable network traffic between +// the AWS resources for your environment. To learn more, see About networking +// on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html). type UpdateNetworkConfigurationInput struct { _ struct{} `type:"structure"` - // Provide a JSON list of 1 or more security groups IDs by name, in the same - // VPC as the subnets. + // A list of 1 or more security group IDs. Accepts up to 5 security group IDs. + // A security group must be attached to the same VPC as the subnets. To learn + // more, see Security in your VPC on Amazon MWAA (https://docs.aws.amazon.com/mwaa/latest/userguide/vpc-security.html). // // SecurityGroupIds is a required field SecurityGroupIds []*string `min:"1" type:"list" required:"true"` diff --git a/service/outposts/api.go b/service/outposts/api.go index cd84599628d..0dd84271473 100644 --- a/service/outposts/api.go +++ b/service/outposts/api.go @@ -69,6 +69,9 @@ func (c *Outposts) CreateOutpostRequest(input *CreateOutpostInput) (req *request // * ValidationException // A parameter is not valid. // +// * ConflictException +// Updating or deleting this resource can cause an inconsistent state. +// // * NotFoundException // The specified request is not valid. // @@ -161,6 +164,9 @@ func (c *Outposts) DeleteOutpostRequest(input *DeleteOutpostInput) (req *request // * ValidationException // A parameter is not valid. // +// * ConflictException +// Updating or deleting this resource can cause an inconsistent state. +// // * NotFoundException // The specified request is not valid. // @@ -250,6 +256,9 @@ func (c *Outposts) DeleteSiteRequest(input *DeleteSiteInput) (req *request.Reque // * ValidationException // A parameter is not valid. // +// * ConflictException +// Updating or deleting this resource can cause an inconsistent state. +// // * NotFoundException // The specified request is not valid. // @@ -1056,6 +1065,68 @@ func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } +// Updating or deleting this resource can cause an inconsistent state. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" min:"1" type:"string"` + + // The ID of the resource causing the conflict. + ResourceId *string `min:"1" type:"string"` + + // The type of the resource causing the conflict. + ResourceType *string `type:"string" enum:"ResourceType"` +} + +// String returns the string representation +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + type CreateOutpostInput struct { _ struct{} `type:"structure"` @@ -1070,7 +1141,7 @@ type CreateOutpostInput struct { AvailabilityZoneId *string `min:"1" type:"string"` // The description of the Outpost. - Description *string `min:"1" type:"string"` + Description *string `type:"string"` // The name of the Outpost. // @@ -1105,9 +1176,6 @@ func (s *CreateOutpostInput) Validate() error { if s.AvailabilityZoneId != nil && len(*s.AvailabilityZoneId) < 1 { invalidParams.Add(request.NewErrParamMinLen("AvailabilityZoneId", 1)) } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -1853,7 +1921,7 @@ type Outpost struct { AvailabilityZoneId *string `min:"1" type:"string"` // The description of the Outpost. - Description *string `min:"1" type:"string"` + Description *string `type:"string"` // The life cycle status. LifeCycleStatus *string `type:"string"` @@ -1870,6 +1938,9 @@ type Outpost struct { // The AWS account ID of the Outpost owner. OwnerId *string `min:"12" type:"string"` + // The Amazon Resource Name (ARN) of the site. + SiteArn *string `min:"1" type:"string"` + // The ID of the site. SiteId *string `min:"1" type:"string"` @@ -1935,6 +2006,12 @@ func (s *Outpost) SetOwnerId(v string) *Outpost { return s } +// SetSiteArn sets the SiteArn field's value. +func (s *Outpost) SetSiteArn(v string) *Outpost { + s.SiteArn = &v + return s +} + // SetSiteId sets the SiteId field's value. func (s *Outpost) SetSiteId(v string) *Outpost { s.SiteId = &v @@ -2016,6 +2093,9 @@ type Site struct { // The name of the site. Name *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the site. + SiteArn *string `min:"1" type:"string"` + // The ID of the site. SiteId *string `min:"1" type:"string"` @@ -2051,6 +2131,12 @@ func (s *Site) SetName(v string) *Site { return s } +// SetSiteArn sets the SiteArn field's value. +func (s *Site) SetSiteArn(v string) *Site { + s.SiteArn = &v + return s +} + // SetSiteId sets the SiteId field's value. func (s *Site) SetSiteId(v string) *Site { s.SiteId = &v @@ -2262,3 +2348,15 @@ func (s *ValidationException) StatusCode() int { func (s *ValidationException) RequestID() string { return s.RespMetadata.RequestID } + +const ( + // ResourceTypeOutpost is a ResourceType enum value + ResourceTypeOutpost = "OUTPOST" +) + +// ResourceType_Values returns all elements of the ResourceType enum +func ResourceType_Values() []string { + return []string{ + ResourceTypeOutpost, + } +} diff --git a/service/outposts/errors.go b/service/outposts/errors.go index 7960080b390..39ca0bdea5b 100644 --- a/service/outposts/errors.go +++ b/service/outposts/errors.go @@ -14,6 +14,12 @@ const ( // You do not have permission to perform this operation. ErrCodeAccessDeniedException = "AccessDeniedException" + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // Updating or deleting this resource can cause an inconsistent state. + ErrCodeConflictException = "ConflictException" + // ErrCodeInternalServerException for service response error code // "InternalServerException". // @@ -41,6 +47,7 @@ const ( var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, "InternalServerException": newErrorInternalServerException, "NotFoundException": newErrorNotFoundException, "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, diff --git a/service/qldb/api.go b/service/qldb/api.go index 4a56b87d765..b75a8e83275 100644 --- a/service/qldb/api.go +++ b/service/qldb/api.go @@ -1891,6 +1891,88 @@ func (c *QLDB) UpdateLedgerWithContext(ctx aws.Context, input *UpdateLedgerInput return out, req.Send() } +const opUpdateLedgerPermissionsMode = "UpdateLedgerPermissionsMode" + +// UpdateLedgerPermissionsModeRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLedgerPermissionsMode 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 UpdateLedgerPermissionsMode for more information on using the UpdateLedgerPermissionsMode +// 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 UpdateLedgerPermissionsModeRequest method. +// req, resp := client.UpdateLedgerPermissionsModeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/UpdateLedgerPermissionsMode +func (c *QLDB) UpdateLedgerPermissionsModeRequest(input *UpdateLedgerPermissionsModeInput) (req *request.Request, output *UpdateLedgerPermissionsModeOutput) { + op := &request.Operation{ + Name: opUpdateLedgerPermissionsMode, + HTTPMethod: "PATCH", + HTTPPath: "/ledgers/{name}/permissions-mode", + } + + if input == nil { + input = &UpdateLedgerPermissionsModeInput{} + } + + output = &UpdateLedgerPermissionsModeOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateLedgerPermissionsMode API operation for Amazon QLDB. +// +// Updates the permissions mode of a ledger. +// +// 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 QLDB's +// API operation UpdateLedgerPermissionsMode for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more parameters in the request aren't valid. +// +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/qldb-2019-01-02/UpdateLedgerPermissionsMode +func (c *QLDB) UpdateLedgerPermissionsMode(input *UpdateLedgerPermissionsModeInput) (*UpdateLedgerPermissionsModeOutput, error) { + req, out := c.UpdateLedgerPermissionsModeRequest(input) + return out, req.Send() +} + +// UpdateLedgerPermissionsModeWithContext is the same as UpdateLedgerPermissionsMode with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLedgerPermissionsMode 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 *QLDB) UpdateLedgerPermissionsModeWithContext(ctx aws.Context, input *UpdateLedgerPermissionsModeInput, opts ...request.Option) (*UpdateLedgerPermissionsModeOutput, error) { + req, out := c.UpdateLedgerPermissionsModeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + type CancelJournalKinesisStreamInput struct { _ struct{} `type:"structure"` @@ -1995,7 +2077,24 @@ type CreateLedgerInput struct { // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The permissions mode to assign to the ledger that you want to create. + // The permissions mode to assign to the ledger that you want to create. This + // parameter can have one of the following values: + // + // * ALLOW_ALL: A legacy permissions mode that enables access control with + // API-level granularity for ledgers. This mode allows users who have SendCommand + // permissions for this ledger to run all PartiQL commands (hence, ALLOW_ALL) + // on any tables in the specified ledger. This mode disregards any table-level + // or command-level IAM permissions policies that you create for the ledger. + // + // * STANDARD: (Recommended) A permissions mode that enables access control + // with finer granularity for ledgers, tables, and PartiQL commands. By default, + // this mode denies all user requests to run any PartiQL commands on any + // tables in this ledger. To allow PartiQL commands to run, you must create + // IAM permissions policies for specific table resources and PartiQL actions, + // in addition to SendCommand API permissions for the ledger. + // + // We strongly recommend using the STANDARD permissions mode to maximize the + // security of your ledger data. // // PermissionsMode is a required field PermissionsMode *string `type:"string" required:"true" enum:"PermissionsMode"` @@ -2082,6 +2181,9 @@ type CreateLedgerOutput struct { // The name of the ledger. Name *string `min:"1" type:"string"` + // The permissions mode of the ledger that you created. + PermissionsMode *string `type:"string" enum:"PermissionsMode"` + // The current status of the ledger. State *string `type:"string" enum:"LedgerState"` } @@ -2120,6 +2222,12 @@ func (s *CreateLedgerOutput) SetName(v string) *CreateLedgerOutput { return s } +// SetPermissionsMode sets the PermissionsMode field's value. +func (s *CreateLedgerOutput) SetPermissionsMode(v string) *CreateLedgerOutput { + s.PermissionsMode = &v + return s +} + // SetState sets the State field's value. func (s *CreateLedgerOutput) SetState(v string) *CreateLedgerOutput { s.State = &v @@ -2412,6 +2520,9 @@ type DescribeLedgerOutput struct { // The name of the ledger. Name *string `min:"1" type:"string"` + // The permissions mode of the ledger. + PermissionsMode *string `type:"string" enum:"PermissionsMode"` + // The current status of the ledger. State *string `type:"string" enum:"LedgerState"` } @@ -2450,6 +2561,12 @@ func (s *DescribeLedgerOutput) SetName(v string) *DescribeLedgerOutput { return s } +// SetPermissionsMode sets the PermissionsMode field's value. +func (s *DescribeLedgerOutput) SetPermissionsMode(v string) *DescribeLedgerOutput { + s.PermissionsMode = &v + return s +} + // SetState sets the State field's value. func (s *DescribeLedgerOutput) SetState(v string) *DescribeLedgerOutput { s.State = &v @@ -4714,6 +4831,119 @@ func (s *UpdateLedgerOutput) SetState(v string) *UpdateLedgerOutput { return s } +type UpdateLedgerPermissionsModeInput struct { + _ struct{} `type:"structure"` + + // The name of the ledger. + // + // Name is a required field + Name *string `location:"uri" locationName:"name" min:"1" type:"string" required:"true"` + + // The permissions mode to assign to the ledger. This parameter can have one + // of the following values: + // + // * ALLOW_ALL: A legacy permissions mode that enables access control with + // API-level granularity for ledgers. This mode allows users who have SendCommand + // permissions for this ledger to run all PartiQL commands (hence, ALLOW_ALL) + // on any tables in the specified ledger. This mode disregards any table-level + // or command-level IAM permissions policies that you create for the ledger. + // + // * STANDARD: (Recommended) A permissions mode that enables access control + // with finer granularity for ledgers, tables, and PartiQL commands. By default, + // this mode denies all user requests to run any PartiQL commands on any + // tables in this ledger. To allow PartiQL commands to run, you must create + // IAM permissions policies for specific table resources and PartiQL actions, + // in addition to SendCommand API permissions for the ledger. + // + // We strongly recommend using the STANDARD permissions mode to maximize the + // security of your ledger data. + // + // PermissionsMode is a required field + PermissionsMode *string `type:"string" required:"true" enum:"PermissionsMode"` +} + +// String returns the string representation +func (s UpdateLedgerPermissionsModeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLedgerPermissionsModeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateLedgerPermissionsModeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateLedgerPermissionsModeInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.PermissionsMode == nil { + invalidParams.Add(request.NewErrParamRequired("PermissionsMode")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *UpdateLedgerPermissionsModeInput) SetName(v string) *UpdateLedgerPermissionsModeInput { + s.Name = &v + return s +} + +// SetPermissionsMode sets the PermissionsMode field's value. +func (s *UpdateLedgerPermissionsModeInput) SetPermissionsMode(v string) *UpdateLedgerPermissionsModeInput { + s.PermissionsMode = &v + return s +} + +type UpdateLedgerPermissionsModeOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the ledger. + Arn *string `min:"20" type:"string"` + + // The name of the ledger. + Name *string `min:"1" type:"string"` + + // The current permissions mode of the ledger. + PermissionsMode *string `type:"string" enum:"PermissionsMode"` +} + +// String returns the string representation +func (s UpdateLedgerPermissionsModeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLedgerPermissionsModeOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *UpdateLedgerPermissionsModeOutput) SetArn(v string) *UpdateLedgerPermissionsModeOutput { + s.Arn = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateLedgerPermissionsModeOutput) SetName(v string) *UpdateLedgerPermissionsModeOutput { + s.Name = &v + return s +} + +// SetPermissionsMode sets the PermissionsMode field's value. +func (s *UpdateLedgerPermissionsModeOutput) SetPermissionsMode(v string) *UpdateLedgerPermissionsModeOutput { + s.PermissionsMode = &v + return s +} + // A structure that can contain a value in multiple encoding formats. type ValueHolder struct { _ struct{} `type:"structure" sensitive:"true"` @@ -4814,12 +5044,16 @@ func LedgerState_Values() []string { const ( // PermissionsModeAllowAll is a PermissionsMode enum value PermissionsModeAllowAll = "ALLOW_ALL" + + // PermissionsModeStandard is a PermissionsMode enum value + PermissionsModeStandard = "STANDARD" ) // PermissionsMode_Values returns all elements of the PermissionsMode enum func PermissionsMode_Values() []string { return []string{ PermissionsModeAllowAll, + PermissionsModeStandard, } } diff --git a/service/qldb/qldbiface/interface.go b/service/qldb/qldbiface/interface.go index 72cf9f4152b..a79f7470934 100644 --- a/service/qldb/qldbiface/interface.go +++ b/service/qldb/qldbiface/interface.go @@ -147,6 +147,10 @@ type QLDBAPI interface { UpdateLedger(*qldb.UpdateLedgerInput) (*qldb.UpdateLedgerOutput, error) UpdateLedgerWithContext(aws.Context, *qldb.UpdateLedgerInput, ...request.Option) (*qldb.UpdateLedgerOutput, error) UpdateLedgerRequest(*qldb.UpdateLedgerInput) (*request.Request, *qldb.UpdateLedgerOutput) + + UpdateLedgerPermissionsMode(*qldb.UpdateLedgerPermissionsModeInput) (*qldb.UpdateLedgerPermissionsModeOutput, error) + UpdateLedgerPermissionsModeWithContext(aws.Context, *qldb.UpdateLedgerPermissionsModeInput, ...request.Option) (*qldb.UpdateLedgerPermissionsModeOutput, error) + UpdateLedgerPermissionsModeRequest(*qldb.UpdateLedgerPermissionsModeInput) (*request.Request, *qldb.UpdateLedgerPermissionsModeOutput) } var _ QLDBAPI = (*qldb.QLDB)(nil)