From 103d38d581c92deb7dab0d39326292b29b30e8b0 Mon Sep 17 00:00:00 2001 From: aws-sdk-kotlin-ci Date: Thu, 25 Apr 2024 18:05:29 +0000 Subject: [PATCH 01/16] feat: update AWS API models --- codegen/sdk/aws-models/appsync.json | 5 +- codegen/sdk/aws-models/fms.json | 593 ++++++++++++++++++++++- codegen/sdk/aws-models/ivs-realtime.json | 7 +- codegen/sdk/aws-models/ivs.json | 10 +- codegen/sdk/aws-models/rds.json | 8 +- codegen/sdk/aws-models/sfn.json | 144 ++++++ 6 files changed, 735 insertions(+), 32 deletions(-) diff --git a/codegen/sdk/aws-models/appsync.json b/codegen/sdk/aws-models/appsync.json index 925e9273fe0..2ad99c15cad 100644 --- a/codegen/sdk/aws-models/appsync.json +++ b/codegen/sdk/aws-models/appsync.json @@ -7332,7 +7332,7 @@ "min": 20, "max": 2048 }, - "smithy.api#pattern": "^arn:[a-z-]*:secretsmanager:[a-z0-9-]*:\\d{12}:secret:[0-9A-Za-z_/-]*$" + "smithy.api#pattern": "^arn:[a-z-]*:secretsmanager:[a-z0-9-]*:\\d{12}:secret:[0-9A-Za-z_/+=.@!-]*$" } }, "com.amazonaws.appsync#RdsHttpEndpointConfig": { @@ -8936,7 +8936,8 @@ "authenticationType": { "target": "com.amazonaws.appsync#AuthenticationType", "traits": { - "smithy.api#documentation": "

The new authentication type for the GraphqlApi object.

" + "smithy.api#documentation": "

The new authentication type for the GraphqlApi object.

", + "smithy.api#required": {} } }, "userPoolConfig": { diff --git a/codegen/sdk/aws-models/fms.json b/codegen/sdk/aws-models/fms.json index 1430dd10a28..3a7b700d25a 100644 --- a/codegen/sdk/aws-models/fms.json +++ b/codegen/sdk/aws-models/fms.json @@ -1483,7 +1483,7 @@ "Status": { "target": "com.amazonaws.fms#OrganizationStatus", "traits": { - "smithy.api#documentation": "

The current status of the request to onboard a member account as an Firewall Manager administator.

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

The current status of the request to onboard a member account as an Firewall Manager administrator.

\n " } } }, @@ -2000,6 +2000,9 @@ "smithy.api#default": false } }, + "com.amazonaws.fms#BooleanObject": { + "type": "boolean" + }, "com.amazonaws.fms#CIDR": { "type": "string", "traits": { @@ -2057,6 +2060,66 @@ "target": "com.amazonaws.fms#ComplianceViolator" } }, + "com.amazonaws.fms#CreateNetworkAclAction": { + "type": "structure", + "members": { + "Description": { + "target": "com.amazonaws.fms#LengthBoundedString", + "traits": { + "smithy.api#documentation": "

Brief description of this remediation action.

" + } + }, + "Vpc": { + "target": "com.amazonaws.fms#ActionTarget", + "traits": { + "smithy.api#documentation": "

The VPC that's associated with the remediation action.

" + } + }, + "FMSCanRemediate": { + "target": "com.amazonaws.fms#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether it is possible for Firewall Manager to perform this remediation action. A false value indicates that auto remediation is disabled or Firewall Manager is unable to perform the action due to a conflict of some kind.

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

Information about the CreateNetworkAcl action in Amazon EC2. This is a remediation option in RemediationAction.

" + } + }, + "com.amazonaws.fms#CreateNetworkAclEntriesAction": { + "type": "structure", + "members": { + "Description": { + "target": "com.amazonaws.fms#LengthBoundedString", + "traits": { + "smithy.api#documentation": "

Brief description of this remediation action.

" + } + }, + "NetworkAclId": { + "target": "com.amazonaws.fms#ActionTarget", + "traits": { + "smithy.api#documentation": "

The network ACL that's associated with the remediation action.

" + } + }, + "NetworkAclEntriesToBeCreated": { + "target": "com.amazonaws.fms#EntriesDescription", + "traits": { + "smithy.api#documentation": "

Lists the entries that the remediation action would create.

" + } + }, + "FMSCanRemediate": { + "target": "com.amazonaws.fms#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether it is possible for Firewall Manager to perform this remediation action. A false value indicates that auto remediation is disabled or Firewall Manager is unable to perform the action due to a conflict of some kind.

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

Information about the CreateNetworkAclEntries action in Amazon EC2. This is a remediation option in RemediationAction.

" + } + }, "com.amazonaws.fms#CustomerPolicyScopeId": { "type": "string", "traits": { @@ -2154,6 +2217,39 @@ "smithy.api#input": {} } }, + "com.amazonaws.fms#DeleteNetworkAclEntriesAction": { + "type": "structure", + "members": { + "Description": { + "target": "com.amazonaws.fms#LengthBoundedString", + "traits": { + "smithy.api#documentation": "

Brief description of this remediation action.

" + } + }, + "NetworkAclId": { + "target": "com.amazonaws.fms#ActionTarget", + "traits": { + "smithy.api#documentation": "

The network ACL that's associated with the remediation action.

" + } + }, + "NetworkAclEntriesToBeDeleted": { + "target": "com.amazonaws.fms#EntriesDescription", + "traits": { + "smithy.api#documentation": "

Lists the entries that the remediation action would delete.

" + } + }, + "FMSCanRemediate": { + "target": "com.amazonaws.fms#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether it is possible for Firewall Manager to perform this remediation action. A false value indicates that auto remediation is disabled or Firewall Manager is unable to perform the action due to a conflict of some kind.

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

Information about the DeleteNetworkAclEntries action in Amazon EC2. This is a remediation option in RemediationAction.

" + } + }, "com.amazonaws.fms#DeleteNotificationChannel": { "type": "operation", "input": { @@ -2856,6 +2952,147 @@ "smithy.api#documentation": "

Information about the ReplaceRouteTableAssociation action in Amazon EC2.

" } }, + "com.amazonaws.fms#EntriesDescription": { + "type": "list", + "member": { + "target": "com.amazonaws.fms#EntryDescription" + } + }, + "com.amazonaws.fms#EntriesWithConflicts": { + "type": "list", + "member": { + "target": "com.amazonaws.fms#EntryDescription" + } + }, + "com.amazonaws.fms#EntryDescription": { + "type": "structure", + "members": { + "EntryDetail": { + "target": "com.amazonaws.fms#NetworkAclEntry", + "traits": { + "smithy.api#documentation": "

Describes a rule in a network ACL.

\n

Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules. When determining\nwhether a packet should be allowed in or out of a subnet associated with the network ACL, Amazon Web Services processes the\n entries in the network ACL according to the rule numbers, in ascending order.

\n

When you manage an individual network ACL, you explicitly specify the rule numbers. When you specify the network ACL rules in a Firewall Manager policy, \n you provide the rules to run first, in the order that you want them to run, and the rules to run last, in the order \n that you want them to run. Firewall Manager assigns the rule numbers for you when you save the network ACL policy specification.

" + } + }, + "EntryRuleNumber": { + "target": "com.amazonaws.fms#IntegerObjectMinimum0", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The rule number for the entry. ACL entries are processed in ascending order by rule number. In a Firewall Manager network ACL policy, Firewall Manager \n assigns rule numbers.

" + } + }, + "EntryType": { + "target": "com.amazonaws.fms#EntryType", + "traits": { + "smithy.api#documentation": "

Specifies whether the entry is managed by Firewall Manager or by a user, and, for Firewall Manager-managed entries, specifies whether the entry \n is among those that run first in the network ACL or those that run last.

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

Describes a single rule in a network ACL.

" + } + }, + "com.amazonaws.fms#EntryType": { + "type": "enum", + "members": { + "FMSManagedFirstEntry": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FMS_MANAGED_FIRST_ENTRY" + } + }, + "FMSManagedLastEntry": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FMS_MANAGED_LAST_ENTRY" + } + }, + "CustomEntry": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CUSTOM_ENTRY" + } + } + } + }, + "com.amazonaws.fms#EntryViolation": { + "type": "structure", + "members": { + "ExpectedEntry": { + "target": "com.amazonaws.fms#EntryDescription", + "traits": { + "smithy.api#documentation": "

The Firewall Manager-managed network ACL entry that is involved in the entry violation.

" + } + }, + "ExpectedEvaluationOrder": { + "target": "com.amazonaws.fms#LengthBoundedString", + "traits": { + "smithy.api#documentation": "

The evaluation location within the ordered list of entries where the ExpectedEntry should be, according to the network ACL policy specifications.

" + } + }, + "ActualEvaluationOrder": { + "target": "com.amazonaws.fms#LengthBoundedString", + "traits": { + "smithy.api#documentation": "

The evaluation location within the ordered list of entries where the ExpectedEntry is currently located.

" + } + }, + "EntryAtExpectedEvaluationOrder": { + "target": "com.amazonaws.fms#EntryDescription", + "traits": { + "smithy.api#documentation": "

The entry that's currently in the ExpectedEvaluationOrder location, in place of the expected entry.

" + } + }, + "EntriesWithConflicts": { + "target": "com.amazonaws.fms#EntriesWithConflicts", + "traits": { + "smithy.api#documentation": "

The list of entries that are in conflict with ExpectedEntry.

" + } + }, + "EntryViolationReasons": { + "target": "com.amazonaws.fms#EntryViolationReasons", + "traits": { + "smithy.api#documentation": "

Descriptions of the violations that Firewall Manager found for these entries.

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

Detailed information about an entry violation in a network ACL. The violation is against the network ACL specification inside the\n Firewall Manager network ACL policy. This data object is part of InvalidNetworkAclEntriesViolation.

" + } + }, + "com.amazonaws.fms#EntryViolationReason": { + "type": "enum", + "members": { + "MissingExpectedEntry": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MISSING_EXPECTED_ENTRY" + } + }, + "IncorrectEntryOrder": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INCORRECT_ENTRY_ORDER" + } + }, + "EntryConflict": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENTRY_CONFLICT" + } + } + } + }, + "com.amazonaws.fms#EntryViolationReasons": { + "type": "list", + "member": { + "target": "com.amazonaws.fms#EntryViolationReason" + } + }, + "com.amazonaws.fms#EntryViolations": { + "type": "list", + "member": { + "target": "com.amazonaws.fms#EntryViolation" + } + }, "com.amazonaws.fms#ErrorMessage": { "type": "string" }, @@ -3213,7 +3450,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns information about the specified account's administrative scope. The admistrative scope defines the resources that an Firewall Manager administrator can manage.

" + "smithy.api#documentation": "

Returns information about the specified account's administrative scope. The administrative scope defines the resources that an Firewall Manager administrator can manage.

" } }, "com.amazonaws.fms#GetAdminScopeRequest": { @@ -3222,7 +3459,7 @@ "AdminAccount": { "target": "com.amazonaws.fms#AWSAccountId", "traits": { - "smithy.api#documentation": "

The administator account that you want to get the details for.

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

The administrator account that you want to get the details for.

", "smithy.api#required": {} } } @@ -3243,7 +3480,7 @@ "Status": { "target": "com.amazonaws.fms#OrganizationStatus", "traits": { - "smithy.api#documentation": "

The current status of the request to onboard a member account as an Firewall Manager administator.

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

The current status of the request to onboard a member account as an Firewall Manager administrator.

\n " } } }, @@ -3339,7 +3576,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns detailed compliance information about the specified member account. Details\n include resources that are in and out of compliance with the specified policy.

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

Returns detailed compliance information about the specified member account. Details\n include resources that are in and out of compliance with the specified policy.

\n

The reasons for resources being considered compliant depend on the Firewall Manager policy type.

" } }, "com.amazonaws.fms#GetComplianceDetailRequest": { @@ -3807,7 +4044,7 @@ "PolicyId": { "target": "com.amazonaws.fms#PolicyId", "traits": { - "smithy.api#documentation": "

The ID of the Firewall Manager policy that you want the details for. You can get violation details for the following policy types:

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

The ID of the Firewall Manager policy that you want the details for. You can get violation details for the following policy types:

\n ", "smithy.api#required": {} } }, @@ -3860,6 +4097,15 @@ } } }, + "com.amazonaws.fms#IPPortNumberInteger": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 65535 + } + } + }, "com.amazonaws.fms#Identifier": { "type": "string", "traits": { @@ -3876,6 +4122,25 @@ "target": "com.amazonaws.fms#Identifier" } }, + "com.amazonaws.fms#IntegerObject": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": -2147483648, + "max": 2147483647 + } + } + }, + "com.amazonaws.fms#IntegerObjectMinimum0": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 2147483647 + } + } + }, "com.amazonaws.fms#InternalErrorException": { "type": "structure", "members": { @@ -3900,6 +4165,44 @@ "smithy.api#error": "client" } }, + "com.amazonaws.fms#InvalidNetworkAclEntriesViolation": { + "type": "structure", + "members": { + "Vpc": { + "target": "com.amazonaws.fms#ResourceId", + "traits": { + "smithy.api#documentation": "

The VPC where the violation was found.

" + } + }, + "Subnet": { + "target": "com.amazonaws.fms#ResourceId", + "traits": { + "smithy.api#documentation": "

The subnet that's associated with the network ACL.

" + } + }, + "SubnetAvailabilityZone": { + "target": "com.amazonaws.fms#LengthBoundedString", + "traits": { + "smithy.api#documentation": "

The Availability Zone where the network ACL is in use.

" + } + }, + "CurrentAssociatedNetworkAcl": { + "target": "com.amazonaws.fms#ResourceId", + "traits": { + "smithy.api#documentation": "

The network ACL containing the entry violations.

" + } + }, + "EntryViolations": { + "target": "com.amazonaws.fms#EntryViolations", + "traits": { + "smithy.api#documentation": "

Detailed information about the entry violations in the network ACL.

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

Violation detail for the entries in a network ACL resource.

" + } + }, "com.amazonaws.fms#InvalidOperationException": { "type": "structure", "members": { @@ -3933,6 +4236,15 @@ "target": "com.amazonaws.fms#DetailedInfo" } }, + "com.amazonaws.fms#LengthBoundedNonEmptyString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, "com.amazonaws.fms#LengthBoundedString": { "type": "string", "traits": { @@ -4877,6 +5189,171 @@ "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" } }, + "com.amazonaws.fms#NetworkAclCommonPolicy": { + "type": "structure", + "members": { + "NetworkAclEntrySet": { + "target": "com.amazonaws.fms#NetworkAclEntrySet", + "traits": { + "smithy.api#documentation": "

The definition of the first and last rules for the network ACL policy.

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

Defines a Firewall Manager network ACL policy. This is used in the PolicyOption of a SecurityServicePolicyData for a Policy, when \n the SecurityServicePolicyData type is set to NETWORK_ACL_COMMON.

\n

For information about network ACLs, see \n Control traffic to subnets using network ACLs \n in the Amazon Virtual Private Cloud User Guide.

" + } + }, + "com.amazonaws.fms#NetworkAclEntries": { + "type": "list", + "member": { + "target": "com.amazonaws.fms#NetworkAclEntry" + } + }, + "com.amazonaws.fms#NetworkAclEntry": { + "type": "structure", + "members": { + "IcmpTypeCode": { + "target": "com.amazonaws.fms#NetworkAclIcmpTypeCode", + "traits": { + "smithy.api#documentation": "

ICMP protocol: The ICMP type and code.

" + } + }, + "Protocol": { + "target": "com.amazonaws.fms#LengthBoundedString", + "traits": { + "smithy.api#documentation": "

The protocol number. A value of \"-1\" means all protocols.

", + "smithy.api#required": {} + } + }, + "PortRange": { + "target": "com.amazonaws.fms#NetworkAclPortRange", + "traits": { + "smithy.api#documentation": "

TCP or UDP protocols: The range of ports the rule applies to.

" + } + }, + "CidrBlock": { + "target": "com.amazonaws.fms#LengthBoundedNonEmptyString", + "traits": { + "smithy.api#documentation": "

The IPv4 network range to allow or deny, in CIDR notation.

" + } + }, + "Ipv6CidrBlock": { + "target": "com.amazonaws.fms#LengthBoundedNonEmptyString", + "traits": { + "smithy.api#documentation": "

The IPv6 network range to allow or deny, in CIDR notation.

" + } + }, + "RuleAction": { + "target": "com.amazonaws.fms#NetworkAclRuleAction", + "traits": { + "smithy.api#documentation": "

Indicates whether to allow or deny the traffic that matches the rule.

", + "smithy.api#required": {} + } + }, + "Egress": { + "target": "com.amazonaws.fms#BooleanObject", + "traits": { + "smithy.api#documentation": "

Indicates whether the rule is an egress, or outbound, rule (applied to traffic leaving the subnet). If it's not\n an egress rule, then it's an ingress, or inbound, rule.

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

Describes a rule in a network ACL.

\n

Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules. When determining\nwhether a packet should be allowed in or out of a subnet associated with the network ACL, Amazon Web Services processes the\n entries in the network ACL according to the rule numbers, in ascending order.

\n

When you manage an individual network ACL, you explicitly specify the rule numbers. When you specify the network ACL rules in a Firewall Manager policy, \n you provide the rules to run first, in the order that you want them to run, and the rules to run last, in the order \n that you want them to run. Firewall Manager assigns the rule numbers for you when you save the network ACL policy specification.

" + } + }, + "com.amazonaws.fms#NetworkAclEntrySet": { + "type": "structure", + "members": { + "FirstEntries": { + "target": "com.amazonaws.fms#NetworkAclEntries", + "traits": { + "smithy.api#documentation": "

The rules that you want to run first in the Firewall Manager managed network ACLs.

\n \n

Provide these in the order in which you want them to run. Firewall Manager will assign\n the specific rule numbers for you, in the network ACLs that it creates.

\n
" + } + }, + "ForceRemediateForFirstEntries": { + "target": "com.amazonaws.fms#BooleanObject", + "traits": { + "smithy.api#documentation": "

Applies only when remediation is enabled for the policy as a whole. Firewall Manager uses this setting when it finds policy \n violations that involve conflicts between the custom entries and the policy entries.

\n

If forced remediation is disabled, Firewall Manager marks the network ACL as noncompliant and does not try to \n remediate. For more information about the remediation behavior, see \n Network access control list (ACL) policies \n in the Firewall Manager Developer Guide.

", + "smithy.api#required": {} + } + }, + "LastEntries": { + "target": "com.amazonaws.fms#NetworkAclEntries", + "traits": { + "smithy.api#documentation": "

The rules that you want to run last in the Firewall Manager managed network ACLs.

\n \n

Provide these in the order in which you want them to run. Firewall Manager will assign\n the specific rule numbers for you, in the network ACLs that it creates.

\n
" + } + }, + "ForceRemediateForLastEntries": { + "target": "com.amazonaws.fms#BooleanObject", + "traits": { + "smithy.api#documentation": "

Applies only when remediation is enabled for the policy as a whole. Firewall Manager uses this setting when it finds policy \n violations that involve conflicts between the custom entries and the policy entries.

\n

If forced remediation is disabled, Firewall Manager marks the network ACL as noncompliant and does not try to \n remediate. For more information about the remediation behavior, see \n Network access control list (ACL) policies \n in the Firewall Manager Developer Guide.

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

The configuration of the first and last rules for the network ACL policy, and the remediation settings for each.

" + } + }, + "com.amazonaws.fms#NetworkAclIcmpTypeCode": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.fms#IntegerObject", + "traits": { + "smithy.api#documentation": "

ICMP code.

" + } + }, + "Type": { + "target": "com.amazonaws.fms#IntegerObject", + "traits": { + "smithy.api#documentation": "

ICMP type.

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

ICMP protocol: The ICMP type and code.

" + } + }, + "com.amazonaws.fms#NetworkAclPortRange": { + "type": "structure", + "members": { + "From": { + "target": "com.amazonaws.fms#IPPortNumberInteger", + "traits": { + "smithy.api#documentation": "

The beginning port number of the range.

" + } + }, + "To": { + "target": "com.amazonaws.fms#IPPortNumberInteger", + "traits": { + "smithy.api#documentation": "

The ending port number of the range.

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

TCP or UDP protocols: The range of ports the rule applies to.

" + } + }, + "com.amazonaws.fms#NetworkAclRuleAction": { + "type": "enum", + "members": { + "ALLOW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "allow" + } + }, + "DENY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "deny" + } + } + } + }, "com.amazonaws.fms#NetworkFirewallAction": { "type": "string", "traits": { @@ -5608,7 +6085,7 @@ "ResourceType": { "target": "com.amazonaws.fms#ResourceType", "traits": { - "smithy.api#documentation": "

The type of resource protected by or in scope of the policy. This is in the format shown\n in the Amazon Web Services Resource Types Reference.\n To apply this policy to multiple resource types, specify a resource type of ResourceTypeList and then specify the resource types in a ResourceTypeList.

\n

The following are valid resource types for each Firewall Manager policy type:

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

The type of resource protected by or in scope of the policy. This is in the format shown\n in the Amazon Web Services Resource Types Reference.\n To apply this policy to multiple resource types, specify a resource type of ResourceTypeList and then specify the resource types in a ResourceTypeList.

\n

The following are valid resource types for each Firewall Manager policy type:

\n ", "smithy.api#required": {} } }, @@ -5830,10 +6307,16 @@ "traits": { "smithy.api#documentation": "

Defines the policy options for a third-party firewall policy.

" } + }, + "NetworkAclCommonPolicy": { + "target": "com.amazonaws.fms#NetworkAclCommonPolicy", + "traits": { + "smithy.api#documentation": "

Defines a Firewall Manager network ACL policy.

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

Contains the Network Firewall firewall policy options to configure the policy's deployment model and third-party firewall policy settings.

" + "smithy.api#documentation": "

Contains the settings to configure a network ACL policy, a Network Firewall firewall policy deployment model, or a third-party firewall policy.

" } }, "com.amazonaws.fms#PolicySummary": { @@ -5860,7 +6343,7 @@ "ResourceType": { "target": "com.amazonaws.fms#ResourceType", "traits": { - "smithy.api#documentation": "

The type of resource protected by or in scope of the policy. This is in the format shown\n in the Amazon Web Services Resource Types Reference.\n For WAF and Shield Advanced, examples include\n AWS::ElasticLoadBalancingV2::LoadBalancer and\n AWS::CloudFront::Distribution. For a security group common policy, valid values\n are AWS::EC2::NetworkInterface and AWS::EC2::Instance. For a\n security group content audit policy, valid values are AWS::EC2::SecurityGroup,\n AWS::EC2::NetworkInterface, and AWS::EC2::Instance. For a security\n group usage audit policy, the value is AWS::EC2::SecurityGroup. For an Network Firewall policy or DNS Firewall policy,\n the value is AWS::EC2::VPC.

" + "smithy.api#documentation": "

The type of resource protected by or in scope of the policy. This is in the format shown\n in the Amazon Web Services Resource Types Reference.

" } }, "SecurityServiceType": { @@ -6316,7 +6799,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an Firewall Manager policy.

\n

A Firewall Manager policy is specific to the individual policy type. If you want to enforce multiple\n\t\tpolicy types across accounts, you can create multiple policies. You can create more than one\n\t\tpolicy for each type.

\n

If you add a new account to an organization that you created with Organizations, Firewall Manager\n\t\tautomatically applies the policy to the resources in that account that are within scope of\n\t\tthe policy.

\n

Firewall Manager provides the following types of policies:

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

Creates an Firewall Manager policy.

\n

A Firewall Manager policy is specific to the individual policy type. If you want to enforce multiple\n\t\tpolicy types across accounts, you can create multiple policies. You can create more than one\n\t\tpolicy for each type.

\n

If you add a new account to an organization that you created with Organizations, Firewall Manager\n\t\tautomatically applies the policy to the resources in that account that are within scope of\n\t\tthe policy.

\n

Firewall Manager provides the following types of policies:

\n " } }, "com.amazonaws.fms#PutPolicyRequest": { @@ -6579,6 +7062,30 @@ "traits": { "smithy.api#documentation": "

The remedial action to take when updating a firewall configuration.

" } + }, + "CreateNetworkAclAction": { + "target": "com.amazonaws.fms#CreateNetworkAclAction", + "traits": { + "smithy.api#documentation": "

Information about the CreateNetworkAcl action in Amazon EC2.

" + } + }, + "ReplaceNetworkAclAssociationAction": { + "target": "com.amazonaws.fms#ReplaceNetworkAclAssociationAction", + "traits": { + "smithy.api#documentation": "

Information about the ReplaceNetworkAclAssociation action in Amazon EC2.

" + } + }, + "CreateNetworkAclEntriesAction": { + "target": "com.amazonaws.fms#CreateNetworkAclEntriesAction", + "traits": { + "smithy.api#documentation": "

Information about the CreateNetworkAclEntries action in Amazon EC2.

" + } + }, + "DeleteNetworkAclEntriesAction": { + "target": "com.amazonaws.fms#DeleteNetworkAclEntriesAction", + "traits": { + "smithy.api#documentation": "

Information about the DeleteNetworkAclEntries action in Amazon EC2.

" + } } }, "traits": { @@ -6633,6 +7140,36 @@ "smithy.api#documentation": "

An ordered list of actions you can take to remediate a violation.

" } }, + "com.amazonaws.fms#ReplaceNetworkAclAssociationAction": { + "type": "structure", + "members": { + "Description": { + "target": "com.amazonaws.fms#LengthBoundedString", + "traits": { + "smithy.api#documentation": "

Brief description of this remediation action.

" + } + }, + "AssociationId": { + "target": "com.amazonaws.fms#ActionTarget" + }, + "NetworkAclId": { + "target": "com.amazonaws.fms#ActionTarget", + "traits": { + "smithy.api#documentation": "

The network ACL that's associated with the remediation action.

" + } + }, + "FMSCanRemediate": { + "target": "com.amazonaws.fms#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether it is possible for Firewall Manager to perform this remediation action. A false value indicates that auto remediation is disabled or Firewall Manager is unable to perform the action due to a conflict of some kind.

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

Information about the ReplaceNetworkAclAssociation action in Amazon EC2. This is a remediation option in RemediationAction.

" + } + }, "com.amazonaws.fms#Resource": { "type": "structure", "members": { @@ -6895,7 +7432,7 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 8 + "max": 50 } } }, @@ -7011,12 +7548,6 @@ "smithy.api#documentation": "

Violation detail for a DNS Firewall policy that indicates that the VPC reached the limit for associated DNS Firewall rule groups. Firewall Manager tried to associate another rule group with the VPC and failed.

" } }, - "PossibleRemediationActions": { - "target": "com.amazonaws.fms#PossibleRemediationActions", - "traits": { - "smithy.api#documentation": "

A list of possible remediation action lists. Each individual possible remediation action is a list of individual remediation actions.

" - } - }, "FirewallSubnetIsOutOfScopeViolation": { "target": "com.amazonaws.fms#FirewallSubnetIsOutOfScopeViolation", "traits": { @@ -7052,6 +7583,18 @@ "traits": { "smithy.api#documentation": "

The violation details for a third-party firewall's VPC endpoint subnet that was deleted.

" } + }, + "InvalidNetworkAclEntriesViolation": { + "target": "com.amazonaws.fms#InvalidNetworkAclEntriesViolation", + "traits": { + "smithy.api#documentation": "

Violation detail for the entries in a network ACL resource.

" + } + }, + "PossibleRemediationActions": { + "target": "com.amazonaws.fms#PossibleRemediationActions", + "traits": { + "smithy.api#documentation": "

A list of possible remediation action lists. Each individual possible remediation action is a list of individual remediation actions.

" + } } }, "traits": { @@ -7295,13 +7838,13 @@ "ManagedServiceData": { "target": "com.amazonaws.fms#ManagedServiceData", "traits": { - "smithy.api#documentation": "

Details about the service that are specific to the service type, in JSON format.

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

Details about the service that are specific to the service type, in JSON format.

\n " } }, "PolicyOption": { "target": "com.amazonaws.fms#PolicyOption", "traits": { - "smithy.api#documentation": "

Contains the Network Firewall firewall policy options to configure a centralized deployment\n model.

" + "smithy.api#documentation": "

Contains the settings to configure a network ACL policy, a Network Firewall firewall policy deployment model, or a third-party firewall policy.

" } } }, @@ -7371,6 +7914,12 @@ "traits": { "smithy.api#enumValue": "IMPORT_NETWORK_FIREWALL" } + }, + "NETWORK_ACL_COMMON": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NETWORK_ACL_COMMON" + } } } }, @@ -8171,6 +8720,12 @@ "traits": { "smithy.api#enumValue": "FIREWALL_SUBNET_MISSING_VPCE_ENDPOINT" } + }, + "InvalidNetworkAclEntry": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_NETWORK_ACL_ENTRY" + } } } }, diff --git a/codegen/sdk/aws-models/ivs-realtime.json b/codegen/sdk/aws-models/ivs-realtime.json index 48f09f35dce..8f144a2e2c1 100644 --- a/codegen/sdk/aws-models/ivs-realtime.json +++ b/codegen/sdk/aws-models/ivs-realtime.json @@ -828,7 +828,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$" + "smithy.api#pattern": "^arn:aws:ivs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$" } }, "com.amazonaws.ivsrealtime#ChannelDestinationConfiguration": { @@ -3731,7 +3731,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:[a-z-]/[a-zA-Z0-9-]+$" + "smithy.api#pattern": "^arn:aws:ivs:[a-z0-9-]+:[0-9]+:[a-z-]/[a-zA-Z0-9-]+$" } }, "com.amazonaws.ivsrealtime#ResourceNotFoundException": { @@ -4407,6 +4407,9 @@ { "target": "com.amazonaws.ivsrealtime#AccessDeniedException" }, + { + "target": "com.amazonaws.ivsrealtime#ConflictException" + }, { "target": "com.amazonaws.ivsrealtime#PendingVerification" }, diff --git a/codegen/sdk/aws-models/ivs.json b/codegen/sdk/aws-models/ivs.json index 94571f6d477..3f00894941e 100644 --- a/codegen/sdk/aws-models/ivs.json +++ b/codegen/sdk/aws-models/ivs.json @@ -908,7 +908,7 @@ "arn": { "target": "com.amazonaws.ivs#ResourceArn", "traits": { - "smithy.api#documentation": "

Channel ARN.

" + "smithy.api#documentation": "

ARN of an IVS resource; e.g., channel.

" } }, "code": { @@ -1262,7 +1262,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$" + "smithy.api#pattern": "^arn:aws:ivs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$" } }, "com.amazonaws.ivs#ChannelArnList": { @@ -3249,7 +3249,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:playback-key/[a-zA-Z0-9-]+$" + "smithy.api#pattern": "^arn:aws:ivs:[a-z0-9-]+:[0-9]+:playback-key/[a-zA-Z0-9-]+$" } }, "com.amazonaws.ivs#PlaybackKeyPairFingerprint": { @@ -3755,7 +3755,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:[a-z-]/[a-zA-Z0-9-]+$" + "smithy.api#pattern": "^arn:aws:ivs:[a-z0-9-]+:[0-9]+:[a-z-]/[a-zA-Z0-9-]+$" } }, "com.amazonaws.ivs#ResourceNotFoundException": { @@ -4130,7 +4130,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:stream-key/[a-zA-Z0-9-]+$" + "smithy.api#pattern": "^arn:aws:ivs:[a-z0-9-]+:[0-9]+:stream-key/[a-zA-Z0-9-]+$" } }, "com.amazonaws.ivs#StreamKeyArnList": { diff --git a/codegen/sdk/aws-models/rds.json b/codegen/sdk/aws-models/rds.json index 589480531c8..4d7bd459e53 100644 --- a/codegen/sdk/aws-models/rds.json +++ b/codegen/sdk/aws-models/rds.json @@ -5155,7 +5155,7 @@ "Timezone": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The time zone of the DB instance. \n The time zone parameter is currently supported only by\n Microsoft SQL Server.

" + "smithy.api#documentation": "

The time zone of the DB instance. \n The time zone parameter is currently supported only by RDS for Db2 and\n RDS for SQL Server.

" } }, "EnableIAMDatabaseAuthentication": { @@ -9222,7 +9222,7 @@ "Timezone": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The time zone of the DB instance.\n In most cases, the Timezone element is empty.\n Timezone content appears only for\n Microsoft SQL Server DB instances \n that were created with a time zone specified.

" + "smithy.api#documentation": "

The time zone of the DB instance.\n In most cases, the Timezone element is empty.\n Timezone content appears only for\n RDS for Db2 and RDS for SQL Server DB instances \n that were created with a time zone specified.

" } }, "IAMDatabaseAuthenticationEnabled": { @@ -22068,7 +22068,7 @@ "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The new DB subnet group for the DB instance.\n You can use this parameter to move your DB instance to a different VPC.\n \n \n If your DB instance isn't in a VPC, you can also use this parameter to move your DB instance into a VPC.\n For more information, see \n Working with a DB instance in a VPC \n in the Amazon RDS User Guide.

\n

Changing the subnet group causes an outage during the change. \n The change is applied during the next maintenance window,\n unless you enable ApplyImmediately.

\n

This parameter doesn't apply to RDS Custom DB instances.

\n

Constraints:

\n \n

Example: mydbsubnetgroup\n

" + "smithy.api#documentation": "

The new DB subnet group for the DB instance.\n You can use this parameter to move your DB instance to a different VPC.\n \n \n If your DB instance isn't in a VPC, you can also use this parameter to move your DB instance into a VPC.\n For more information, see \n Working with a DB instance in a VPC \n in the Amazon RDS User Guide.

\n

Changing the subnet group causes an outage during the change. \n The change is applied during the next maintenance window,\n unless you enable ApplyImmediately.

\n

This setting doesn't apply to RDS Custom DB instances.

\n

Constraints:

\n \n

Example: mydbsubnetgroup\n

" } }, "DBSecurityGroups": { @@ -22314,7 +22314,7 @@ "DeletionProtection": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

Specifies whether the DB instance has deletion protection enabled. \n The database can't be deleted when deletion protection is enabled. By default, \n deletion protection isn't enabled. For more information, see \n \n Deleting a DB Instance.

" + "smithy.api#documentation": "

Specifies whether the DB instance has deletion protection enabled. \n The database can't be deleted when deletion protection is enabled. By default, \n deletion protection isn't enabled. For more information, see \n \n Deleting a DB Instance.

\n

This setting doesn't apply to Amazon Aurora DB instances. You can enable or disable deletion protection for the DB cluster. \n For more information, see ModifyDBCluster. DB instances in a DB cluster can be deleted even when deletion protection is enabled for the DB cluster.

" } }, "MaxAllocatedStorage": { diff --git a/codegen/sdk/aws-models/sfn.json b/codegen/sdk/aws-models/sfn.json index a87b87d5195..2ba9e6cc3f2 100644 --- a/codegen/sdk/aws-models/sfn.json +++ b/codegen/sdk/aws-models/sfn.json @@ -140,6 +140,9 @@ }, { "target": "com.amazonaws.sfn#UpdateStateMachineAlias" + }, + { + "target": "com.amazonaws.sfn#ValidateStateMachineDefinition" } ], "traits": { @@ -5304,6 +5307,9 @@ }, { "target": "com.amazonaws.sfn#InvalidArn" + }, + { + "target": "com.amazonaws.sfn#ValidationException" } ], "traits": { @@ -7193,6 +7199,144 @@ "smithy.api#output": {} } }, + "com.amazonaws.sfn#ValidateStateMachineDefinition": { + "type": "operation", + "input": { + "target": "com.amazonaws.sfn#ValidateStateMachineDefinitionInput" + }, + "output": { + "target": "com.amazonaws.sfn#ValidateStateMachineDefinitionOutput" + }, + "errors": [ + { + "target": "com.amazonaws.sfn#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Validates the syntax of a state machine definition.

\n

You can validate that a state machine definition is correct without \n creating a state machine resource. Step Functions will implicitly perform the same\n syntax check when you invoke CreateStateMachine and\n UpdateStateMachine. State machine definitions are specified using a\n JSON-based, structured language. For more information on Amazon States Language see Amazon States Language (ASL).

\n

Suggested uses for ValidateStateMachineDefinition:

\n \n \n

Errors found in the state machine definition will be returned in the response as a list of diagnostic elements, rather than raise an exception.

\n
" + } + }, + "com.amazonaws.sfn#ValidateStateMachineDefinitionCode": { + "type": "string" + }, + "com.amazonaws.sfn#ValidateStateMachineDefinitionDiagnostic": { + "type": "structure", + "members": { + "severity": { + "target": "com.amazonaws.sfn#ValidateStateMachineDefinitionSeverity", + "traits": { + "smithy.api#documentation": "

A value of ERROR means that you cannot create or update a state machine with this definition.

", + "smithy.api#required": {} + } + }, + "code": { + "target": "com.amazonaws.sfn#ValidateStateMachineDefinitionCode", + "traits": { + "smithy.api#documentation": "

Identifying code for the diagnostic.

", + "smithy.api#required": {} + } + }, + "message": { + "target": "com.amazonaws.sfn#ValidateStateMachineDefinitionMessage", + "traits": { + "smithy.api#documentation": "

Message describing the diagnostic condition.

", + "smithy.api#required": {} + } + }, + "location": { + "target": "com.amazonaws.sfn#ValidateStateMachineDefinitionLocation", + "traits": { + "smithy.api#documentation": "

Location of the issue in the state machine, if available.

\n

For errors specific to a field, the location could be in the format: /States//, for example: /States/FailState/ErrorPath.

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

Describes an error found during validation. Validation errors found in the definition\n return in the response as diagnostic elements, rather\n than raise an exception.

" + } + }, + "com.amazonaws.sfn#ValidateStateMachineDefinitionDiagnosticList": { + "type": "list", + "member": { + "target": "com.amazonaws.sfn#ValidateStateMachineDefinitionDiagnostic" + } + }, + "com.amazonaws.sfn#ValidateStateMachineDefinitionInput": { + "type": "structure", + "members": { + "definition": { + "target": "com.amazonaws.sfn#Definition", + "traits": { + "smithy.api#documentation": "

The Amazon States Language definition of the state machine. For more information, see\n Amazon States Language (ASL).

", + "smithy.api#required": {} + } + }, + "type": { + "target": "com.amazonaws.sfn#StateMachineType", + "traits": { + "smithy.api#documentation": "

The target type of state machine for this definition. The default is STANDARD.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.sfn#ValidateStateMachineDefinitionLocation": { + "type": "string" + }, + "com.amazonaws.sfn#ValidateStateMachineDefinitionMessage": { + "type": "string" + }, + "com.amazonaws.sfn#ValidateStateMachineDefinitionOutput": { + "type": "structure", + "members": { + "result": { + "target": "com.amazonaws.sfn#ValidateStateMachineDefinitionResultCode", + "traits": { + "smithy.api#documentation": "

The result value will be OK when no syntax errors are found, or\n FAIL if the workflow definition does not pass verification.

", + "smithy.api#required": {} + } + }, + "diagnostics": { + "target": "com.amazonaws.sfn#ValidateStateMachineDefinitionDiagnosticList", + "traits": { + "smithy.api#documentation": "

If the result is OK, this field will be empty. When there are errors,\n this field will contain an array of Diagnostic objects\n to help you troubleshoot.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.sfn#ValidateStateMachineDefinitionResultCode": { + "type": "enum", + "members": { + "OK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OK" + } + }, + "FAIL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAIL" + } + } + } + }, + "com.amazonaws.sfn#ValidateStateMachineDefinitionSeverity": { + "type": "enum", + "members": { + "ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ERROR" + } + } + } + }, "com.amazonaws.sfn#ValidationException": { "type": "structure", "members": { From 3e53bf3c91a60d428cfd5ec4157fb96041f60e84 Mon Sep 17 00:00:00 2001 From: aws-sdk-kotlin-ci Date: Thu, 25 Apr 2024 18:05:29 +0000 Subject: [PATCH 02/16] feat: update AWS service endpoints metadata --- .../aws/sdk/kotlin/codegen/endpoints.json | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json b/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json index eebad589530..aaebfda15c2 100644 --- a/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json +++ b/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json @@ -23994,6 +23994,13 @@ }, "email" : { "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "hostname" : "email-fips.us-gov-east-1.amazonaws.com" + }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" @@ -24001,6 +24008,12 @@ "deprecated" : true, "hostname" : "email-fips.us-gov-west-1.amazonaws.com" }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "email-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-gov-west-1" : { "variants" : [ { "hostname" : "email-fips.us-gov-west-1.amazonaws.com", @@ -25021,6 +25034,12 @@ "us-gov-west-1" : { } } }, + "license-manager-user-subscriptions" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, "logs" : { "endpoints" : { "fips-us-gov-east-1" : { From 60378fd87d64225122c026196f2cdcada2671d03 Mon Sep 17 00:00:00 2001 From: aws-sdk-kotlin-ci Date: Thu, 25 Apr 2024 18:08:17 +0000 Subject: [PATCH 03/16] chore: release 1.1.26 --- CHANGELOG.md | 12 ++++++++++++ gradle.properties | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7f923994e8..25fbff4b80b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [1.1.26] - 04/25/2024 + +### Features +* (**appsync**) UpdateGraphQLAPI documentation update and datasource introspection secret arn update +* (**fms**) AWS Firewall Manager adds support for network ACL policies to manage Amazon Virtual Private Cloud (VPC) network access control lists (ACLs) for accounts in your organization. +* (**ivs**) Bug Fix: IVS does not support arns with the `svs` prefix +* (**ivsrealtime**) Bug Fix: IVS Real Time does not support ARNs using the `svs` prefix. +* (**sfn**) Add new ValidateStateMachineDefinition operation, which performs syntax checking on the definition of a Amazon States Language (ASL) state machine. + +### Documentation +* (**rds**) Updates Amazon RDS documentation for setting local time zones for RDS for Db2 DB instances. + ## [1.1.25] - 04/24/2024 ### Features diff --git a/gradle.properties b/gradle.properties index e12ff96abd0..2c53c6f3f4c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ kotlin.native.ignoreDisabledTargets=true org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=2G # sdk -sdkVersion=1.1.26-SNAPSHOT +sdkVersion=1.1.26 # dokka config (values specified at build-time as needed) smithyKotlinDocBaseUrl=https://sdk.amazonaws.com/kotlin/api/smithy-kotlin/api/$smithyKotlinRuntimeVersion/ From 6f0da00781485b0921e0f98410876b191b39821d Mon Sep 17 00:00:00 2001 From: aws-sdk-kotlin-ci Date: Thu, 25 Apr 2024 18:08:18 +0000 Subject: [PATCH 04/16] chore: bump snapshot version to 1.1.27-SNAPSHOT --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 2c53c6f3f4c..f398c65cf23 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ kotlin.native.ignoreDisabledTargets=true org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=2G # sdk -sdkVersion=1.1.26 +sdkVersion=1.1.27-SNAPSHOT # dokka config (values specified at build-time as needed) smithyKotlinDocBaseUrl=https://sdk.amazonaws.com/kotlin/api/smithy-kotlin/api/$smithyKotlinRuntimeVersion/ From d998b74b3dbf25c5ea2df207a00f178d113d1551 Mon Sep 17 00:00:00 2001 From: aws-sdk-kotlin-ci Date: Fri, 26 Apr 2024 19:12:45 +0000 Subject: [PATCH 05/16] feat: update AWS API models --- codegen/sdk/aws-models/codepipeline.json | 250 ++++++++++++++++++ .../aws-models/cognito-identity-provider.json | 59 +++-- codegen/sdk/aws-models/connectcampaigns.json | 7 + .../marketplace-entitlement-service.json | 32 +++ codegen/sdk/aws-models/oam.json | 142 ++++++++-- codegen/sdk/aws-models/rds.json | 12 + codegen/sdk/aws-models/support.json | 84 +++++- 7 files changed, 535 insertions(+), 51 deletions(-) diff --git a/codegen/sdk/aws-models/codepipeline.json b/codegen/sdk/aws-models/codepipeline.json index 6c74e204edc..fd5aa3e825c 100644 --- a/codegen/sdk/aws-models/codepipeline.json +++ b/codegen/sdk/aws-models/codepipeline.json @@ -1858,6 +1858,9 @@ { "target": "com.amazonaws.codepipeline#RetryStageExecution" }, + { + "target": "com.amazonaws.codepipeline#RollbackStage" + }, { "target": "com.amazonaws.codepipeline#StartPipelineExecution" }, @@ -3584,6 +3587,23 @@ "smithy.api#documentation": "

The interaction or event that started a pipeline execution.

" } }, + "com.amazonaws.codepipeline#ExecutionType": { + "type": "enum", + "members": { + "STANDARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STANDARD" + } + }, + "ROLLBACK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ROLLBACK" + } + } + } + }, "com.amazonaws.codepipeline#ExecutorConfiguration": { "type": "structure", "members": { @@ -3627,6 +3647,20 @@ "com.amazonaws.codepipeline#ExternalExecutionSummary": { "type": "string" }, + "com.amazonaws.codepipeline#FailureConditions": { + "type": "structure", + "members": { + "result": { + "target": "com.amazonaws.codepipeline#Result", + "traits": { + "smithy.api#documentation": "

The specified result for when the failure conditions are met, such as rolling back the stage.

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

The configuration that specifies the result, such as rollback, to occur upon stage failure.

" + } + }, "com.amazonaws.codepipeline#FailureDetails": { "type": "structure", "members": { @@ -5072,6 +5106,12 @@ "smithy.api#documentation": "

The maximum number of results to return in a single call. To retrieve the remaining\n results, make another call with the returned nextToken value. Pipeline history is\n limited to the most recent 12 months, based on pipeline execution start times. Default\n value is 100.

" } }, + "filter": { + "target": "com.amazonaws.codepipeline#PipelineExecutionFilter", + "traits": { + "smithy.api#documentation": "

The pipeline execution to filter on.

" + } + }, "nextToken": { "target": "com.amazonaws.codepipeline#NextToken", "traits": { @@ -5715,12 +5755,38 @@ "traits": { "smithy.api#documentation": "

The method that the pipeline will use to handle multiple executions. The default\n mode is SUPERSEDED.

" } + }, + "executionType": { + "target": "com.amazonaws.codepipeline#ExecutionType", + "traits": { + "smithy.api#documentation": "

The type of the pipeline execution.

" + } + }, + "rollbackMetadata": { + "target": "com.amazonaws.codepipeline#PipelineRollbackMetadata", + "traits": { + "smithy.api#documentation": "

The metadata about the execution pertaining to stage rollback.

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

Represents information about an execution of a pipeline.

" } }, + "com.amazonaws.codepipeline#PipelineExecutionFilter": { + "type": "structure", + "members": { + "succeededInStage": { + "target": "com.amazonaws.codepipeline#SucceededInStageFilter", + "traits": { + "smithy.api#documentation": "

Filter for pipeline executions where the stage was successful in the current pipeline\n version.

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

The pipeline execution to filter on.

" + } + }, "com.amazonaws.codepipeline#PipelineExecutionId": { "type": "string", "traits": { @@ -5754,6 +5820,18 @@ "smithy.api#error": "client" } }, + "com.amazonaws.codepipeline#PipelineExecutionOutdatedException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.codepipeline#Message" + } + }, + "traits": { + "smithy.api#documentation": "

The specified pipeline execution is outdated and cannot be used as a target pipeline execution for rollback.

", + "smithy.api#error": "client" + } + }, "com.amazonaws.codepipeline#PipelineExecutionStatus": { "type": "enum", "members": { @@ -5819,6 +5897,12 @@ "smithy.api#documentation": "

The status of the pipeline execution.

\n
    \n
  • \n

    InProgress: The pipeline execution is currently running.

    \n
  • \n
  • \n

    Stopped: The pipeline execution was manually stopped. For more information,\n see Stopped Executions.

    \n
  • \n
  • \n

    Stopping: The pipeline execution received a request to be manually stopped.\n Depending on the selected stop mode, the execution is either completing or\n abandoning in-progress actions. For more information, see Stopped Executions.

    \n
  • \n
  • \n

    Succeeded: The pipeline execution was completed successfully.

    \n
  • \n
  • \n

    Superseded: While this pipeline execution was waiting for the next stage to\n be completed, a newer pipeline execution advanced and continued through the\n pipeline instead. For more information, see Superseded Executions.

    \n
  • \n
  • \n

    Failed: The pipeline execution was not completed successfully.

    \n
  • \n
" } }, + "statusSummary": { + "target": "com.amazonaws.codepipeline#PipelineExecutionStatusSummary", + "traits": { + "smithy.api#documentation": "

Status summary for the pipeline.

" + } + }, "startTime": { "target": "com.amazonaws.codepipeline#Timestamp", "traits": { @@ -5854,6 +5938,18 @@ "traits": { "smithy.api#documentation": "

The method that the pipeline will use to handle multiple executions. The default\n mode is SUPERSEDED.

" } + }, + "executionType": { + "target": "com.amazonaws.codepipeline#ExecutionType", + "traits": { + "smithy.api#documentation": "

Type of the pipeline execution.

" + } + }, + "rollbackMetadata": { + "target": "com.amazonaws.codepipeline#PipelineRollbackMetadata", + "traits": { + "smithy.api#documentation": "

The metadata for the stage execution to be rolled back.

" + } } }, "traits": { @@ -5944,6 +6040,20 @@ "smithy.api#error": "client" } }, + "com.amazonaws.codepipeline#PipelineRollbackMetadata": { + "type": "structure", + "members": { + "rollbackTargetPipelineExecutionId": { + "target": "com.amazonaws.codepipeline#PipelineExecutionId", + "traits": { + "smithy.api#documentation": "

The pipeline execution ID to which the stage will be rolled back.

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

The metadata for the stage execution to be rolled back.

" + } + }, "com.amazonaws.codepipeline#PipelineStageDeclarationList": { "type": "list", "member": { @@ -6952,6 +7062,17 @@ "smithy.api#error": "client" } }, + "com.amazonaws.codepipeline#Result": { + "type": "enum", + "members": { + "ROLLBACK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ROLLBACK" + } + } + } + }, "com.amazonaws.codepipeline#RetryStageExecution": { "type": "operation", "input": { @@ -7073,6 +7194,85 @@ "smithy.api#pattern": "^arn:aws(-[\\w]+)*:iam::[0-9]{12}:role/" } }, + "com.amazonaws.codepipeline#RollbackStage": { + "type": "operation", + "input": { + "target": "com.amazonaws.codepipeline#RollbackStageInput" + }, + "output": { + "target": "com.amazonaws.codepipeline#RollbackStageOutput" + }, + "errors": [ + { + "target": "com.amazonaws.codepipeline#ConflictException" + }, + { + "target": "com.amazonaws.codepipeline#PipelineExecutionNotFoundException" + }, + { + "target": "com.amazonaws.codepipeline#PipelineExecutionOutdatedException" + }, + { + "target": "com.amazonaws.codepipeline#PipelineNotFoundException" + }, + { + "target": "com.amazonaws.codepipeline#StageNotFoundException" + }, + { + "target": "com.amazonaws.codepipeline#UnableToRollbackStageException" + }, + { + "target": "com.amazonaws.codepipeline#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Rolls back a stage execution.

" + } + }, + "com.amazonaws.codepipeline#RollbackStageInput": { + "type": "structure", + "members": { + "pipelineName": { + "target": "com.amazonaws.codepipeline#PipelineName", + "traits": { + "smithy.api#documentation": "

The name of the pipeline for which the stage will be rolled back.

", + "smithy.api#required": {} + } + }, + "stageName": { + "target": "com.amazonaws.codepipeline#StageName", + "traits": { + "smithy.api#documentation": "

The name of the stage in the pipeline to be rolled back.

", + "smithy.api#required": {} + } + }, + "targetPipelineExecutionId": { + "target": "com.amazonaws.codepipeline#PipelineExecutionId", + "traits": { + "smithy.api#documentation": "

The pipeline execution ID for the stage to be rolled back to.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.codepipeline#RollbackStageOutput": { + "type": "structure", + "members": { + "pipelineExecutionId": { + "target": "com.amazonaws.codepipeline#PipelineExecutionId", + "traits": { + "smithy.api#documentation": "

The execution ID of the pipeline execution for the stage that has been rolled\n back.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.codepipeline#S3ArtifactLocation": { "type": "structure", "members": { @@ -7311,6 +7511,12 @@ "smithy.api#documentation": "

The actions included in a stage.

", "smithy.api#required": {} } + }, + "onFailure": { + "target": "com.amazonaws.codepipeline#FailureConditions", + "traits": { + "smithy.api#documentation": "

The method to use when a stage has not completed successfully. For example, configuring this field for rollback will roll back a failed stage automatically to the last successful pipeline execution in the stage.

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

The status of the stage, or for a completed stage, the last status of the\n stage.

\n \n

A status of cancelled means that the pipeline’s definition was updated before the\n stage execution could be completed.

\n
", "smithy.api#required": {} } + }, + "type": { + "target": "com.amazonaws.codepipeline#ExecutionType", + "traits": { + "smithy.api#documentation": "

The type of pipeline execution for the stage, such as a rollback pipeline execution.

" + } } }, "traits": { @@ -7704,6 +7916,20 @@ "com.amazonaws.codepipeline#String": { "type": "string" }, + "com.amazonaws.codepipeline#SucceededInStageFilter": { + "type": "structure", + "members": { + "stageName": { + "target": "com.amazonaws.codepipeline#StageName", + "traits": { + "smithy.api#documentation": "

The name of the stage for filtering for pipeline executions where the stage was successful in the current pipeline\n version.

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

Filter for pipeline executions that have successfully completed the stage in the current pipeline version.

" + } + }, "com.amazonaws.codepipeline#Tag": { "type": "structure", "members": { @@ -8038,9 +8264,33 @@ "traits": { "smithy.api#enumValue": "WebhookV2" } + }, + "ManualRollback": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ManualRollback" + } + }, + "AutomatedRollback": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AutomatedRollback" + } } } }, + "com.amazonaws.codepipeline#UnableToRollbackStageException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.codepipeline#String" + } + }, + "traits": { + "smithy.api#documentation": "

Unable to roll back the stage. The cause might be if the pipeline version has changed\n since the target pipeline execution was deployed, the stage is currently running, or an\n incorrect target pipeline execution ID was provided.

", + "smithy.api#error": "client" + } + }, "com.amazonaws.codepipeline#UntagResource": { "type": "operation", "input": { diff --git a/codegen/sdk/aws-models/cognito-identity-provider.json b/codegen/sdk/aws-models/cognito-identity-provider.json index 5770dc03be0..7889954dc8a 100644 --- a/codegen/sdk/aws-models/cognito-identity-provider.json +++ b/codegen/sdk/aws-models/cognito-identity-provider.json @@ -2385,7 +2385,7 @@ "UserLastModifiedDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was modified.

" + "smithy.api#documentation": "

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } }, "Enabled": { @@ -4108,7 +4108,7 @@ "CreationDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was created.

" + "smithy.api#documentation": "

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } }, "EventResponse": { @@ -5295,7 +5295,7 @@ } ], "traits": { - "smithy.api#documentation": "

Adds a configuration and trust relationship between a third-party identity provider (IdP) and a user pool.

\n \n

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For\n this operation, you must use IAM credentials to authorize requests, and you must\n grant yourself the corresponding IAM permission in a policy.

\n

\n Learn more\n

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

Adds a configuration and trust relationship between a third-party identity provider\n (IdP) and a user pool.

\n \n

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For\n this operation, you must use IAM credentials to authorize requests, and you must\n grant yourself the corresponding IAM permission in a policy.

\n

\n Learn more\n

\n \n
" } }, "com.amazonaws.cognitoidentityprovider#CreateIdentityProviderRequest": { @@ -5406,7 +5406,7 @@ "Identifier": { "target": "com.amazonaws.cognitoidentityprovider#ResourceServerIdentifierType", "traits": { - "smithy.api#documentation": "

A unique resource server identifier for the resource server. This could be an HTTPS\n endpoint where the resource server is located, such as\n https://my-weather-api.example.com.

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

A unique resource server identifier for the resource server. The identifier can be an\n API friendly name like solar-system-data. You can also set an API URL like\n https://solar-system-data-api.example.com as your identifier.

\n

Amazon Cognito represents scopes in the access token in the format\n $resource-server-identifier/$scope. Longer scope-identifier strings\n increase the size of your access tokens.

", "smithy.api#required": {} } }, @@ -6266,7 +6266,7 @@ "DefaultRedirectURI": { "target": "com.amazonaws.cognitoidentityprovider#RedirectUrlType", "traits": { - "smithy.api#documentation": "

The default redirect URI. Must be in the CallbackURLs list.

\n

A redirect URI must:

\n
    \n
  • \n

    Be an absolute URI.

    \n
  • \n
  • \n

    Be registered with the authorization server.

    \n
  • \n
  • \n

    Not include a fragment component.

    \n
  • \n
\n

See OAuth 2.0 -\n Redirection Endpoint.

\n

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes\n only.

\n

App callback URLs such as myapp://example are also supported.

" + "smithy.api#documentation": "

The default redirect URI. In app clients with one assigned IdP, replaces\n redirect_uri in authentication requests. Must be in the\n CallbackURLs list.

\n

A redirect URI must:

\n
    \n
  • \n

    Be an absolute URI.

    \n
  • \n
  • \n

    Be registered with the authorization server.

    \n
  • \n
  • \n

    Not include a fragment component.

    \n
  • \n
\n

For more information, see Default redirect URI.

\n

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes\n only.

\n

App callback URLs such as myapp://example are also supported.

" } }, "AllowedOAuthFlows": { @@ -7294,7 +7294,7 @@ "Identifier": { "target": "com.amazonaws.cognitoidentityprovider#ResourceServerIdentifierType", "traits": { - "smithy.api#documentation": "

The identifier for the resource server

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

A unique resource server identifier for the resource server. The identifier can be an\n API friendly name like solar-system-data. You can also set an API URL like\n https://solar-system-data-api.example.com as your identifier.

\n

Amazon Cognito represents scopes in the access token in the format\n $resource-server-identifier/$scope. Longer scope-identifier strings\n increase the size of your access tokens.

", "smithy.api#required": {} } } @@ -7755,7 +7755,7 @@ "DeviceLastModifiedDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was modified.

" + "smithy.api#documentation": "

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } }, "DeviceLastAuthenticatedDate": { @@ -9405,13 +9405,13 @@ "LastModifiedDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was modified.

" + "smithy.api#documentation": "

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } }, "CreationDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was created.

" + "smithy.api#documentation": "

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } } }, @@ -9502,13 +9502,13 @@ "LastModifiedDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was modified.

" + "smithy.api#documentation": "

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } }, "CreationDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was created.

" + "smithy.api#documentation": "

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } } }, @@ -10909,7 +10909,7 @@ "Filter": { "target": "com.amazonaws.cognitoidentityprovider#UserFilterType", "traits": { - "smithy.api#documentation": "

A filter string of the form \"AttributeName\n Filter-Type \"AttributeValue\"\". Quotation marks\n within the filter string must be escaped using the backslash (\\) character. For example,\n \"family_name = \\\"Reddy\\\"\".

\n
    \n
  • \n

    \n AttributeName: The name of the attribute to search for.\n You can only search for one attribute at a time.

    \n
  • \n
  • \n

    \n Filter-Type: For an exact match, use =, for example,\n \"given_name = \\\"Jon\\\"\". For a prefix (\"starts with\") match, use\n ^=, for example, \"given_name ^= \\\"Jon\\\"\".

    \n
  • \n
  • \n

    \n AttributeValue: The attribute value that must be matched\n for each user.

    \n
  • \n
\n

If the filter string is empty, ListUsers returns all users in the user\n pool.

\n

You can only search for the following standard attributes:

\n
    \n
  • \n

    \n username (case-sensitive)

    \n
  • \n
  • \n

    \n email\n

    \n
  • \n
  • \n

    \n phone_number\n

    \n
  • \n
  • \n

    \n name\n

    \n
  • \n
  • \n

    \n given_name\n

    \n
  • \n
  • \n

    \n family_name\n

    \n
  • \n
  • \n

    \n preferred_username\n

    \n
  • \n
  • \n

    \n cognito:user_status (called Status in the Console) (case-insensitive)

    \n
  • \n
  • \n

    \n status (called Enabled in the Console)\n (case-sensitive)\n

    \n
  • \n
  • \n

    \n sub\n

    \n
  • \n
\n

Custom attributes aren't searchable.

\n \n

You can also list users with a client-side filter. The server-side filter matches\n no more than one attribute. For an advanced search, use a client-side filter with\n the --query parameter of the list-users action in the\n CLI. When you use a client-side filter, ListUsers returns a paginated list of zero\n or more users. You can receive multiple pages in a row with zero results. Repeat the\n query with each pagination token that is returned until you receive a null\n pagination token value, and then review the combined result.

\n

For more information about server-side and client-side filtering, see FilteringCLI output in the Command Line Interface\n User Guide.

\n
\n

For more information, see Searching for Users Using the ListUsers API and Examples of Using the ListUsers API in the Amazon Cognito Developer\n Guide.

" + "smithy.api#documentation": "

A filter string of the form \"AttributeName\n Filter-Type \"AttributeValue\"\". Quotation marks\n within the filter string must be escaped using the backslash (\\) character.\n For example, \"family_name = \\\"Reddy\\\"\".

\n
    \n
  • \n

    \n AttributeName: The name of the attribute to search for.\n You can only search for one attribute at a time.

    \n
  • \n
  • \n

    \n Filter-Type: For an exact match, use =, for\n example, \"given_name = \\\"Jon\\\"\". For a prefix (\"starts with\")\n match, use ^=, for example, \"given_name ^= \\\"Jon\\\"\".\n

    \n
  • \n
  • \n

    \n AttributeValue: The attribute value that must be matched\n for each user.

    \n
  • \n
\n

If the filter string is empty, ListUsers returns all users in the user\n pool.

\n

You can only search for the following standard attributes:

\n
    \n
  • \n

    \n username (case-sensitive)

    \n
  • \n
  • \n

    \n email\n

    \n
  • \n
  • \n

    \n phone_number\n

    \n
  • \n
  • \n

    \n name\n

    \n
  • \n
  • \n

    \n given_name\n

    \n
  • \n
  • \n

    \n family_name\n

    \n
  • \n
  • \n

    \n preferred_username\n

    \n
  • \n
  • \n

    \n cognito:user_status (called Status in the Console) (case-insensitive)

    \n
  • \n
  • \n

    \n status (called Enabled in the Console)\n (case-sensitive)\n

    \n
  • \n
  • \n

    \n sub\n

    \n
  • \n
\n

Custom attributes aren't searchable.

\n \n

You can also list users with a client-side filter. The server-side filter matches\n no more than one attribute. For an advanced search, use a client-side filter with\n the --query parameter of the list-users action in the\n CLI. When you use a client-side filter, ListUsers returns a paginated list of zero\n or more users. You can receive multiple pages in a row with zero results. Repeat the\n query with each pagination token that is returned until you receive a null\n pagination token value, and then review the combined result.

\n

For more information about server-side and client-side filtering, see FilteringCLI output in the Command Line Interface\n User Guide.

\n
\n

For more information, see Searching for Users Using the ListUsers API and Examples of Using the ListUsers API in the Amazon Cognito Developer\n Guide.

" } } }, @@ -11238,7 +11238,7 @@ "MaxValue": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

The maximum length of a number attribute value. Must be a number less than or equal to\n 2^1023, represented as a string with a length of 131072 characters or\n fewer.

" + "smithy.api#documentation": "

The maximum length of a number attribute value. Must be a number less than or equal to\n 2^1023, represented as a string with a length of 131072 characters or\n fewer.

" } } }, @@ -11516,7 +11516,7 @@ "CreationDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was created.

" + "smithy.api#documentation": "

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } } }, @@ -11919,7 +11919,7 @@ "Identifier": { "target": "com.amazonaws.cognitoidentityprovider#ResourceServerIdentifierType", "traits": { - "smithy.api#documentation": "

The identifier for the resource server.

" + "smithy.api#documentation": "

A unique resource server identifier for the resource server. The identifier can be an\n API friendly name like solar-system-data. You can also set an API URL like\n https://solar-system-data-api.example.com as your identifier.

\n

Amazon Cognito represents scopes in the access token in the format\n $resource-server-identifier/$scope. Longer scope-identifier strings\n increase the size of your access tokens.

" } }, "Name": { @@ -12218,7 +12218,7 @@ "LastModifiedDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was modified.

" + "smithy.api#documentation": "

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } } }, @@ -12992,6 +12992,9 @@ { "target": "com.amazonaws.cognitoidentityprovider#InvalidSmsRoleTrustRelationshipException" }, + { + "target": "com.amazonaws.cognitoidentityprovider#LimitExceededException" + }, { "target": "com.amazonaws.cognitoidentityprovider#NotAuthorizedException" }, @@ -13412,7 +13415,7 @@ "MaxLength": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

The maximum length of a string attribute value. Must be a number less than or equal to\n 2^1023, represented as a string with a length of 131072 characters or\n fewer.

" + "smithy.api#documentation": "

The maximum length of a string attribute value. Must be a number less than or equal to\n 2^1023, represented as a string with a length of 131072 characters or\n fewer.

" } } }, @@ -13651,13 +13654,13 @@ "LastModifiedDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was modified.

" + "smithy.api#documentation": "

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } }, "CreationDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was created.

" + "smithy.api#documentation": "

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } } }, @@ -14192,7 +14195,7 @@ "Identifier": { "target": "com.amazonaws.cognitoidentityprovider#ResourceServerIdentifierType", "traits": { - "smithy.api#documentation": "

The identifier for the resource server.

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

A unique resource server identifier for the resource server. The identifier can be an\n API friendly name like solar-system-data. You can also set an API URL like\n https://solar-system-data-api.example.com as your identifier.

\n

Amazon Cognito represents scopes in the access token in the format\n $resource-server-identifier/$scope. Longer scope-identifier strings\n increase the size of your access tokens.

", "smithy.api#required": {} } }, @@ -14960,7 +14963,7 @@ "CreationDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was created.

" + "smithy.api#documentation": "

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } }, "StartDate": { @@ -15175,13 +15178,13 @@ "LastModifiedDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was modified.

" + "smithy.api#documentation": "

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } }, "CreationDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was created.

" + "smithy.api#documentation": "

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } }, "RefreshTokenValidity": { @@ -15338,13 +15341,13 @@ "LastModifiedDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was modified.

" + "smithy.api#documentation": "

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } }, "CreationDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was created.

" + "smithy.api#documentation": "

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } } }, @@ -15488,13 +15491,13 @@ "LastModifiedDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was modified.

" + "smithy.api#documentation": "

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } }, "CreationDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was created.

" + "smithy.api#documentation": "

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } }, "SchemaAttributes": { @@ -15724,7 +15727,7 @@ "UserLastModifiedDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 format, when the item was modified.

" + "smithy.api#documentation": "

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a \nhuman-readable format like ISO 8601 or a Java Date object.

" } }, "Enabled": { diff --git a/codegen/sdk/aws-models/connectcampaigns.json b/codegen/sdk/aws-models/connectcampaigns.json index 5315bb12fe6..a3d8e26f473 100644 --- a/codegen/sdk/aws-models/connectcampaigns.json +++ b/codegen/sdk/aws-models/connectcampaigns.json @@ -820,6 +820,13 @@ "smithy.api#documentation": "Enable or disable answering machine detection", "smithy.api#required": {} } + }, + "awaitAnswerMachinePrompt": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Enable or disable await answer machine prompt" + } } }, "traits": { diff --git a/codegen/sdk/aws-models/marketplace-entitlement-service.json b/codegen/sdk/aws-models/marketplace-entitlement-service.json index 4e908dd8f24..216f9a9406c 100644 --- a/codegen/sdk/aws-models/marketplace-entitlement-service.json +++ b/codegen/sdk/aws-models/marketplace-entitlement-service.json @@ -344,6 +344,25 @@ ], "type": "tree" }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "cn-northwest-1" + ] + } + ], + "endpoint": { + "url": "https://entitlement-marketplace.cn-northwest-1.amazonaws.com.cn", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [ { @@ -445,6 +464,19 @@ "UseDualStack": true } }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://entitlement-marketplace.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false + } + }, { "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { diff --git a/codegen/sdk/aws-models/oam.json b/codegen/sdk/aws-models/oam.json index d6ed3a8d78b..eacdd89b6ad 100644 --- a/codegen/sdk/aws-models/oam.json +++ b/codegen/sdk/aws-models/oam.json @@ -58,7 +58,7 @@ "aws:RequestTag/${TagKey}", "oam:ResourceTypes" ], - "smithy.api#documentation": "

Creates a link between a source account and a sink that you have created in a monitoring account.

\n

Before you create a link, you must create a sink in the monitoring account and create a\n sink policy in that account. The sink policy must permit the source account to link to it. You\n can grant permission to source accounts by granting permission to an entire organization or to\n individual accounts.

\n

For more information, see\n CreateSink and\n PutSinkPolicy.

\n

Each monitoring account can be linked to as many as 100,000 source accounts.

\n

Each source account can be linked to as many as five monitoring accounts.

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

Creates a link between a source account and a sink that you have created in a monitoring account. After the link is created, \n data is sent from the source account to the monitoring account. When you create a link, you can optionally specify filters\n that specify which metric namespaces and which log groups are shared from the source account to the monitoring account.

\n

Before you create a link, you must create a sink in the monitoring account and create a\n sink policy in that account. The sink policy must permit the source account to link to it. You\n can grant permission to source accounts by granting permission to an entire organization or to\n individual accounts.

\n

For more information, see \n CreateSink and\n PutSinkPolicy.

\n

Each monitoring account can be linked to as many as 100,000 source accounts.

\n

Each source account can be linked to as many as five monitoring accounts.

", "smithy.api#http": { "method": "POST", "uri": "/CreateLink" @@ -71,28 +71,34 @@ "LabelTemplate": { "target": "com.amazonaws.oam#LabelTemplate", "traits": { - "smithy.api#documentation": "

Specify a friendly human-readable name to use to identify this source account when you are viewing data from it in the monitoring\n account.

\n

You can use a custom label or use the following variables:

\n
    \n
  • \n

    \n $AccountName is the name of the account

    \n
  • \n
  • \n

    \n $AccountEmail is the globally unique email address of the account

    \n
  • \n
  • \n

    \n $AccountEmailNoDomain is the email address of the account without the domain name

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

Specify a friendly human-readable name to use to identify this source account when you are viewing data from it in the monitoring\n account.

\n

You can use a custom label or use the following variables:

\n
    \n
  • \n

    \n $AccountName is the name of the account

    \n
  • \n
  • \n

    \n $AccountEmail is the globally unique email address of the account

    \n
  • \n
  • \n

    \n $AccountEmailNoDomain is the email address of the account without the domain name

    \n
  • \n
", "smithy.api#required": {} } }, "ResourceTypes": { "target": "com.amazonaws.oam#ResourceTypesInput", "traits": { - "smithy.api#documentation": "

An array of strings that define which types of data that the source account shares with the monitoring\n account.

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

An array of strings that define which types of data that the source account shares with the monitoring \n account.

", "smithy.api#required": {} } }, "SinkIdentifier": { "target": "com.amazonaws.oam#ResourceIdentifier", "traits": { - "smithy.api#documentation": "

The ARN of the sink to use to create this link. You can use ListSinks to find the ARNs of sinks.

\n

For more information about sinks, see\n CreateSink.

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

The ARN of the sink to use to create this link. You can use ListSinks to find the ARNs of sinks.

\n

For more information about sinks, see \n CreateSink.

", "smithy.api#required": {} } }, "Tags": { "target": "com.amazonaws.oam#TagMapInput", "traits": { - "smithy.api#documentation": "

Assigns one or more tags (key-value pairs) to the link.

\n

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

\n

For more information about using tags to control access, see\n Controlling access to Amazon Web Services resources using tags.

" + "smithy.api#documentation": "

Assigns one or more tags (key-value pairs) to the link.

\n

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

\n

For more information about using tags to control access, see \n Controlling access to Amazon Web Services resources using tags.

" + } + }, + "LinkConfiguration": { + "target": "com.amazonaws.oam#LinkConfiguration", + "traits": { + "smithy.api#documentation": "

Use this structure to optionally create filters that specify that only some metric namespaces or log groups are to be shared from \n the source account to the monitoring account.

" } } }, @@ -118,7 +124,7 @@ "Label": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The label that you assigned to this link. If the labelTemplate includes variables,\n this field displays the variables resolved to their actual values.

" + "smithy.api#documentation": "

The label that you assigned to this link. If the labelTemplate includes variables, \n this field displays the variables resolved to their actual values.

" } }, "LabelTemplate": { @@ -144,6 +150,12 @@ "traits": { "smithy.api#documentation": "

The tags assigned to the link.

" } + }, + "LinkConfiguration": { + "target": "com.amazonaws.oam#LinkConfiguration", + "traits": { + "smithy.api#documentation": "

This structure includes filters that specify which metric namespaces and which log groups are shared from \n the source account to the monitoring account.

" + } } }, "traits": { @@ -180,7 +192,7 @@ "aws:TagKeys", "aws:RequestTag/${TagKey}" ], - "smithy.api#documentation": "

Use this to create a sink in the current account, so that it can be\n used as a monitoring account in CloudWatch cross-account observability. A sink is a resource that\n represents an attachment point in a monitoring account. Source accounts can link to the sink\n to send observability data.

\n

After you create a sink, you must create a sink policy that allows source accounts to attach to it.\n For more information, see PutSinkPolicy.

\n

Each account can contain one sink. If you delete a sink, you can then create a new one in that account.

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

Use this to create a sink in the current account, so that it can be\n used as a monitoring account in CloudWatch cross-account observability. A sink is a resource that\n represents an attachment point in a monitoring account. Source accounts can link to the sink\n to send observability data.

\n

After you create a sink, you must create a sink policy that allows source accounts to attach to it. \n For more information, see PutSinkPolicy.

\n

Each account can contain one sink per Region. If you delete a sink, you can then create a new one in that Region.

", "smithy.api#http": { "method": "POST", "uri": "/CreateSink" @@ -200,7 +212,7 @@ "Tags": { "target": "com.amazonaws.oam#TagMapInput", "traits": { - "smithy.api#documentation": "

Assigns one or more tags (key-value pairs) to the link.

\n

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

\n

For more information about using tags to control access, see\n Controlling access to Amazon Web Services resources using tags.

" + "smithy.api#documentation": "

Assigns one or more tags (key-value pairs) to the link.

\n

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

\n

For more information about using tags to control access, see \n Controlling access to Amazon Web Services resources using tags.

" } } }, @@ -266,7 +278,7 @@ "aws.iam#conditionKeys": [ "aws:ResourceTag/${TagKey}" ], - "smithy.api#documentation": "

Deletes a link between a monitoring account sink and a source account. You must run this operation\n in the source account.

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

Deletes a link between a monitoring account sink and a source account. You must run this operation\n in the source account.

", "smithy.api#http": { "method": "POST", "uri": "/DeleteLink" @@ -446,6 +458,12 @@ "traits": { "smithy.api#documentation": "

The tags assigned to the link.

" } + }, + "LinkConfiguration": { + "target": "com.amazonaws.oam#LinkConfiguration", + "traits": { + "smithy.api#documentation": "

This structure includes filters that specify which metric namespaces and which log groups are shared from \n the source account to the monitoring account.

" + } } }, "traits": { @@ -559,7 +577,7 @@ "aws.iam#conditionKeys": [ "aws:ResourceTag/${TagKey}" ], - "smithy.api#documentation": "

Returns the current sink policy attached to this sink. The sink policy specifies what\n accounts can attach to this sink as source accounts, and what types of data they can share.

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

Returns the current sink policy attached to this sink. The sink policy specifies what \n accounts can attach to this sink as source accounts, and what types of data they can share.

", "smithy.api#http": { "method": "POST", "uri": "/GetSinkPolicy" @@ -657,6 +675,26 @@ } } }, + "com.amazonaws.oam#LinkConfiguration": { + "type": "structure", + "members": { + "LogGroupConfiguration": { + "target": "com.amazonaws.oam#LogGroupConfiguration", + "traits": { + "smithy.api#documentation": "

Use this structure to filter which log groups are to send log events from \n the source account to the monitoring account.

" + } + }, + "MetricConfiguration": { + "target": "com.amazonaws.oam#MetricConfiguration", + "traits": { + "smithy.api#documentation": "

Use this structure to filter which metric namespaces are to be shared from \n the source account to the monitoring account.

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

Use this structure to optionally create filters that specify that only some metric namespaces or log groups are to be shared from \n the source account to the monitoring account.

" + } + }, "com.amazonaws.oam#ListAttachedLinks": { "type": "operation", "input": { @@ -748,7 +786,7 @@ } }, "traits": { - "smithy.api#documentation": "

A structure that contains information about one link attached to this monitoring\n account sink.

" + "smithy.api#documentation": "

A structure that contains information about one link attached to this monitoring \n account sink.

" } }, "com.amazonaws.oam#ListAttachedLinksItems": { @@ -807,7 +845,7 @@ } ], "traits": { - "smithy.api#documentation": "

Use this operation in a source account to return a list of links to monitoring account sinks that\n this source account has.

\n

To find a list of links for one monitoring account sink, use ListAttachedLinks from within the monitoring account.

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

Use this operation in a source account to return a list of links to monitoring account sinks that\n this source account has.

\n

To find a list of links for one monitoring account sink, use ListAttachedLinks from within the monitoring account.

", "smithy.api#http": { "method": "POST", "uri": "/ListLinks" @@ -1066,7 +1104,7 @@ "ResourceArn": { "target": "com.amazonaws.oam#Arn", "traits": { - "smithy.api#documentation": "

The ARN of the resource that you want to view tags for.

\n

The ARN format of a sink is\n arn:aws:oam:Region:account-id:sink/sink-id\n \n

\n

The ARN format of a link is\n arn:aws:oam:Region:account-id:link/link-id\n \n

\n

For more information about ARN format, see CloudWatch Logs\n resources and operations.

\n \n

Unlike tagging permissions in other Amazon Web Services services, to retrieve the list of tags\n for links or sinks you must have the oam:RequestTag permission. The\n aws:ReguestTag permission does not allow you to tag and untag links and\n sinks.

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

The ARN of the resource that you want to view tags for.

\n

The ARN format of a sink is \n arn:aws:oam:Region:account-id:sink/sink-id\n \n

\n

The ARN format of a link is \n arn:aws:oam:Region:account-id:link/link-id\n \n

\n

For more information about ARN format, see CloudWatch Logs \n resources and operations.

\n \n

Unlike tagging permissions in other Amazon Web Services services, to retrieve the list of tags\n for links or sinks you must have the oam:RequestTag permission. The\n aws:ReguestTag permission does not allow you to tag and untag links and\n sinks.

\n
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1090,6 +1128,54 @@ "smithy.api#output": {} } }, + "com.amazonaws.oam#LogGroupConfiguration": { + "type": "structure", + "members": { + "Filter": { + "target": "com.amazonaws.oam#LogsFilter", + "traits": { + "smithy.api#documentation": "

Use this field to specify which log groups are to share their log events with the monitoring account. Use the term LogGroupName and one or\n more of the following operands. Use single quotation marks (') around log group names. The matching of log group names is case sensitive.\n Each filter has a limit of five conditional operands. Conditional operands are AND and OR.

\n
    \n
  • \n

    \n = and !=\n

    \n
  • \n
  • \n

    \n AND\n

    \n
  • \n
  • \n

    \n OR\n

    \n
  • \n
  • \n

    \n LIKE and NOT LIKE. These can be used only as prefix searches. Include a % at the end\n of the string that you want to search for and include.

    \n
  • \n
  • \n

    \n IN and NOT IN, using parentheses ( )\n

    \n
  • \n
\n

Examples:

\n
    \n
  • \n

    \n LogGroupName IN ('This-Log-Group', 'Other-Log-Group') includes only the log groups with names This-Log-Group and \n Other-Log-Group.

    \n
  • \n
  • \n

    \n LogGroupName NOT IN ('Private-Log-Group', 'Private-Log-Group-2') includes all log groups except the log groups with names Private-Log-Group and \n Private-Log-Group-2.

    \n
  • \n
  • \n

    \n LogGroupName LIKE 'aws/lambda/%' OR LogGroupName LIKE 'AWSLogs%' includes all log groups that have names that start with aws/lambda/ or \n AWSLogs.

    \n
  • \n
\n \n

If you are updating a link that uses filters, you can specify * as the only value for the \n filter parameter to delete the filter and share all log groups with the monitoring account.

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

This structure contains the Filter parameter which you can use to specify which log groups are to \n share log events from this source account to the monitoring account.

" + } + }, + "com.amazonaws.oam#LogsFilter": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2000 + } + } + }, + "com.amazonaws.oam#MetricConfiguration": { + "type": "structure", + "members": { + "Filter": { + "target": "com.amazonaws.oam#MetricsFilter", + "traits": { + "smithy.api#documentation": "

Use this field to specify which metrics are to be shared with the monitoring account. Use the term Namespace and one or\n more of the following operands. Use single quotation marks (') around namespace names. The matching of namespace names is case sensitive.\n Each filter has a limit of five conditional operands. Conditional operands are AND and OR.

\n
    \n
  • \n

    \n = and !=\n

    \n
  • \n
  • \n

    \n AND\n

    \n
  • \n
  • \n

    \n OR\n

    \n
  • \n
  • \n

    \n LIKE and NOT LIKE. These can be used only as prefix searches. Include a % at the end\n of the string that you want to search for and include.

    \n
  • \n
  • \n

    \n IN and NOT IN, using parentheses ( )\n

    \n
  • \n
\n

Examples:

\n
    \n
  • \n

    \n Namespace NOT LIKE 'AWS/%' includes only namespaces that don't start with AWS/, such as custom namespaces.

    \n
  • \n
  • \n

    \n Namespace IN ('AWS/EC2', 'AWS/ELB', 'AWS/S3') includes only the metrics in the EC2, Elastic Load Balancing, and Amazon S3 namespaces.

    \n
  • \n
  • \n

    \n Namespace = 'AWS/EC2' OR Namespace NOT LIKE 'AWS/%' includes only the EC2 namespace and your custom namespaces.

    \n
  • \n
\n \n

If you are updating a link that uses filters, you can specify * as the only value for the \n filter parameter to delete the filter and share all metric namespaces with the monitoring account.

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

This structure contains the Filter parameter which you can use to specify which metric namespaces are to \n be shared from this source account to the monitoring account.

" + } + }, + "com.amazonaws.oam#MetricsFilter": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2000 + } + } + }, "com.amazonaws.oam#MissingRequiredParameterException": { "type": "structure", "members": { @@ -1139,7 +1225,7 @@ "aws.iam#conditionKeys": [ "aws:ResourceTag/${TagKey}" ], - "smithy.api#documentation": "

Creates or updates the resource policy that grants permissions to source\n accounts to link to the monitoring account sink. When you create a sink policy, you can grant\n permissions to all accounts in an organization or to individual accounts.

\n

You can also use a sink policy to limit the types of data that is shared. The three types that\n you can allow or deny are:

\n
    \n
  • \n

    \n Metrics - Specify with\n AWS::CloudWatch::Metric\n

    \n
  • \n
  • \n

    \n Log groups - Specify with AWS::Logs::LogGroup\n

    \n
  • \n
  • \n

    \n Traces - Specify with AWS::XRay::Trace\n

    \n
  • \n
  • \n

    \n Application Insights - Applications - Specify with AWS::ApplicationInsights::Application\n

    \n
  • \n
\n

See the examples in this section to see how to specify permitted source accounts and data types.

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

Creates or updates the resource policy that grants permissions to source\n accounts to link to the monitoring account sink. When you create a sink policy, you can grant\n permissions to all accounts in an organization or to individual accounts.

\n

You can also use a sink policy to limit the types of data that is shared. The three types that \n you can allow or deny are:

\n
    \n
  • \n

    \n Metrics - Specify with\n AWS::CloudWatch::Metric\n

    \n
  • \n
  • \n

    \n Log groups - Specify with AWS::Logs::LogGroup\n

    \n
  • \n
  • \n

    \n Traces - Specify with AWS::XRay::Trace\n

    \n
  • \n
  • \n

    \n Application Insights - Applications - Specify with AWS::ApplicationInsights::Application\n

    \n
  • \n
\n

See the examples in this section to see how to specify permitted source accounts and data types.

", "smithy.api#http": { "method": "POST", "uri": "/PutSinkPolicy" @@ -1159,7 +1245,7 @@ "Policy": { "target": "com.amazonaws.oam#SinkPolicy", "traits": { - "smithy.api#documentation": "

The JSON policy to use. If you are updating an existing policy, the entire existing policy is\n replaced by what you specify here.

\n

The policy must be in JSON string format with quotation marks escaped and no newlines.

\n

For examples of different types of policies, see the Examples section on this page.

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

The JSON policy to use. If you are updating an existing policy, the entire existing policy is\n replaced by what you specify here.

\n

The policy must be in JSON string format with quotation marks escaped and no newlines.

\n

For examples of different types of policies, see the Examples section on this page.

", "smithy.api#required": {} } } @@ -1368,7 +1454,7 @@ "aws:TagKeys", "aws:RequestTag/${TagKey}" ], - "smithy.api#documentation": "

Assigns one or more tags (key-value pairs) to the specified resource.\n Both sinks and links can be tagged.

\n

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

\n

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

\n

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

\n

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

\n \n

Unlike tagging permissions in other Amazon Web Services services, to tag or untag links and\n sinks you must have the oam:ResourceTag permission. The\n iam:ResourceTag permission does not allow you to tag and untag links and\n sinks.

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

Assigns one or more tags (key-value pairs) to the specified resource. \n Both sinks and links can be tagged.

\n

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

\n

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

\n

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

\n

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

\n \n

Unlike tagging permissions in other Amazon Web Services services, to tag or untag links and\n sinks you must have the oam:ResourceTag permission. The\n iam:ResourceTag permission does not allow you to tag and untag links and\n sinks.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/tags/{ResourceArn}", @@ -1382,7 +1468,7 @@ "ResourceArn": { "target": "com.amazonaws.oam#Arn", "traits": { - "smithy.api#documentation": "

The ARN of the resource that you're adding tags to.

\n

The ARN format of a sink is\n arn:aws:oam:Region:account-id:sink/sink-id\n \n

\n

The ARN format of a link is\n arn:aws:oam:Region:account-id:link/link-id\n \n

\n

For more information about ARN format, see CloudWatch Logs\n resources and operations.

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

The ARN of the resource that you're adding tags to.

\n

The ARN format of a sink is \n arn:aws:oam:Region:account-id:sink/sink-id\n \n

\n

The ARN format of a link is \n arn:aws:oam:Region:account-id:link/link-id\n \n

\n

For more information about ARN format, see CloudWatch Logs \n resources and operations.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1450,7 +1536,7 @@ "aws.iam#conditionKeys": [ "aws:TagKeys" ], - "smithy.api#documentation": "

Removes one or more tags from the specified resource.

\n \n

Unlike tagging permissions in other Amazon Web Services services, to tag or untag links and\n sinks you must have the oam:ResourceTag permission. The\n iam:TagResource permission does not allow you to tag and untag links and\n sinks.

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

Removes one or more tags from the specified resource.

\n \n

Unlike tagging permissions in other Amazon Web Services services, to tag or untag links and\n sinks you must have the oam:ResourceTag permission. The\n iam:TagResource permission does not allow you to tag and untag links and\n sinks.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/tags/{ResourceArn}", @@ -1464,7 +1550,7 @@ "ResourceArn": { "target": "com.amazonaws.oam#Arn", "traits": { - "smithy.api#documentation": "

The ARN of the resource that you're removing tags from.

\n

The ARN format of a sink is\n arn:aws:oam:Region:account-id:sink/sink-id\n \n

\n

The ARN format of a link is\n arn:aws:oam:Region:account-id:link/link-id\n \n

\n

For more information about ARN format, see CloudWatch Logs\n resources and operations.

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

The ARN of the resource that you're removing tags from.

\n

The ARN format of a sink is \n arn:aws:oam:Region:account-id:sink/sink-id\n \n

\n

The ARN format of a link is \n arn:aws:oam:Region:account-id:link/link-id\n \n

\n

For more information about ARN format, see CloudWatch Logs \n resources and operations.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1516,7 +1602,7 @@ "aws:ResourceTag/${TagKey}", "oam:ResourceTypes" ], - "smithy.api#documentation": "

Use this operation to change what types of data are shared from a source account to its linked\n monitoring account sink. You can't change the sink or change the monitoring account with this operation.

\n

To update the list of tags associated with the sink, use\n TagResource.

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

Use this operation to change what types of data are shared from a source account to its linked\n monitoring account sink. You can't change the sink or change the monitoring account with this operation.

\n

When you update a link, you can optionally specify filters\n that specify which metric namespaces and which log groups are shared from the source account to the monitoring account.

\n

To update the list of tags associated with the sink, use \n TagResource.

", "smithy.api#http": { "method": "POST", "uri": "/UpdateLink" @@ -1536,9 +1622,15 @@ "ResourceTypes": { "target": "com.amazonaws.oam#ResourceTypesInput", "traits": { - "smithy.api#documentation": "

An array of strings that define which types of data that the source account will send to the monitoring\n account.

\n

Your input here replaces the current set of data types that are shared.

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

An array of strings that define which types of data that the source account will send to the monitoring \n account.

\n

Your input here replaces the current set of data types that are shared.

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

Use this structure to filter which metric namespaces and which log groups are to be shared from \n the source account to the monitoring account.

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

The tags assigned to the link.

" } + }, + "LinkConfiguration": { + "target": "com.amazonaws.oam#LinkConfiguration", + "traits": { + "smithy.api#documentation": "

This structure includes filters that specify which metric namespaces and which log groups are shared from \n the source account to the monitoring account.

" + } } }, "traits": { @@ -1702,7 +1800,7 @@ "X-Amz-Requested-Operation" ] }, - "smithy.api#documentation": "

Use Amazon CloudWatch Observability Access Manager to create and manage links between source accounts and\n monitoring accounts by using CloudWatch cross-account observability. With\n CloudWatch cross-account observability, you can monitor and troubleshoot applications that span\n multiple accounts within a Region. Seamlessly search, visualize, and analyze your metrics,\n logs, traces, and Application Insights applications in any of the linked accounts without account boundaries.

\n

Set up one or more Amazon Web Services accounts as monitoring\n accounts and link them with multiple source accounts. A\n monitoring account is a central Amazon Web Services account that can view and interact with\n observability data generated from source accounts. A source account is an individual Amazon Web Services account that generates observability data for the resources that reside in it.\n Source accounts share their observability data with the monitoring account. The shared\n observability data can include metrics in Amazon CloudWatch, logs in Amazon CloudWatch Logs, traces in X-Ray, and applications in Amazon CloudWatch Application Insights.

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

Use Amazon CloudWatch Observability Access Manager to create and manage links between source accounts and\n monitoring accounts by using CloudWatch cross-account observability. With\n CloudWatch cross-account observability, you can monitor and troubleshoot applications that span\n multiple accounts within a Region. Seamlessly search, visualize, and analyze your metrics,\n logs, traces, and Application Insights applications in any of the linked accounts without account boundaries.

\n

Set up one or more Amazon Web Services accounts as monitoring\n accounts and link them with multiple source accounts. A\n monitoring account is a central Amazon Web Services account that can view and interact with\n observability data generated from source accounts. A source account is an individual Amazon Web Services account that generates observability data for the resources that reside in it.\n Source accounts share their observability data with the monitoring account. The shared\n observability data can include metrics in Amazon CloudWatch, logs in Amazon CloudWatch Logs, traces in X-Ray, and applications in Amazon CloudWatch Application Insights.

", "smithy.api#title": "CloudWatch Observability Access Manager", "smithy.rules#endpointRuleSet": { "version": "1.0", diff --git a/codegen/sdk/aws-models/rds.json b/codegen/sdk/aws-models/rds.json index 4d7bd459e53..b1c3b4943d9 100644 --- a/codegen/sdk/aws-models/rds.json +++ b/codegen/sdk/aws-models/rds.json @@ -8857,6 +8857,12 @@ "smithy.api#documentation": "

JSON string that lists the installation files and parameters that RDS Custom uses to create a custom engine version (CEV). \n RDS Custom applies the patches in the order in which they're listed in the manifest. You can set the Oracle home, Oracle base, \n and UNIX/Linux user and group using the installation parameters. For more information, \n see JSON fields in the CEV manifest in the Amazon RDS User Guide.\n

" } }, + "SupportsLimitlessDatabase": { + "target": "com.amazonaws.rds#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether the DB engine version supports Aurora Limitless Database.

" + } + }, "SupportsCertificateRotationWithoutRestart": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { @@ -31159,6 +31165,12 @@ "smithy.api#documentation": "

Indicates whether you can use Babelfish for Aurora PostgreSQL with the target engine version.

" } }, + "SupportsLimitlessDatabase": { + "target": "com.amazonaws.rds#BooleanOptional", + "traits": { + "smithy.api#documentation": "

Indicates whether the DB engine version supports Aurora Limitless Database.

" + } + }, "SupportsLocalWriteForwarding": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { diff --git a/codegen/sdk/aws-models/support.json b/codegen/sdk/aws-models/support.json index 1904589ac00..b0f5eb9a8eb 100644 --- a/codegen/sdk/aws-models/support.json +++ b/codegen/sdk/aws-models/support.json @@ -364,6 +364,57 @@ }, "type": "endpoint" }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://support.us-gov-west-1.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "support", + "signingRegion": "us-gov-west-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [ { @@ -858,6 +909,28 @@ "UseDualStack": false } }, + { + "documentation": "For region aws-us-gov-global with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "support", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://support.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "aws-us-gov-global", + "UseFIPS": true, + "UseDualStack": false + } + }, { "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { @@ -875,7 +948,16 @@ "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://support-fips.us-gov-east-1.amazonaws.com" + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "support", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://support.us-gov-west-1.amazonaws.com" } }, "params": { From b798aa5fd36dd5ac38f58eb10866f34f1c0aadf8 Mon Sep 17 00:00:00 2001 From: aws-sdk-kotlin-ci Date: Fri, 26 Apr 2024 19:12:46 +0000 Subject: [PATCH 06/16] feat: update AWS service endpoints metadata --- .../src/main/resources/aws/sdk/kotlin/codegen/endpoints.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json b/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json index aaebfda15c2..85d596c563a 100644 --- a/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json +++ b/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json @@ -21263,7 +21263,7 @@ "region" : "cn-northwest-1" }, "hostname" : "entitlement-marketplace.cn-northwest-1.amazonaws.com.cn", - "protocols" : [ "HTTPS" ] + "protocols" : [ "https" ] } } }, From e394ad2658c4fbfdea42b5473b09bcebafe120ac Mon Sep 17 00:00:00 2001 From: aws-sdk-kotlin-ci Date: Fri, 26 Apr 2024 19:15:38 +0000 Subject: [PATCH 07/16] chore: release 1.1.27 --- CHANGELOG.md | 11 +++++++++++ gradle.properties | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25fbff4b80b..96d24796aa5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## [1.1.27] - 04/26/2024 + +### Features +* (**codepipeline**) Add ability to manually and automatically roll back a pipeline stage to a previously successful execution. +* (**cognitoidentityprovider**) Add LimitExceededException to SignUp errors +* (**connectcampaigns**) This release adds support for specifying if Answering Machine should wait for prompt sound. +* (**marketplaceentitlementservice**) Releasing minor endpoint updates. +* (**oam**) This release introduces support for Source Accounts to define which Metrics and Logs to share with the Monitoring Account +* (**rds**) SupportsLimitlessDatabase field added to describe-db-engine-versions to indicate whether the DB engine version supports Aurora Limitless Database. +* (**support**) Releasing minor endpoint updates. + ## [1.1.26] - 04/25/2024 ### Features diff --git a/gradle.properties b/gradle.properties index f398c65cf23..88293ddb6d5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ kotlin.native.ignoreDisabledTargets=true org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=2G # sdk -sdkVersion=1.1.27-SNAPSHOT +sdkVersion=1.1.27 # dokka config (values specified at build-time as needed) smithyKotlinDocBaseUrl=https://sdk.amazonaws.com/kotlin/api/smithy-kotlin/api/$smithyKotlinRuntimeVersion/ From 773cab3ee9bdac43aed4f0f03216d74f760eda24 Mon Sep 17 00:00:00 2001 From: aws-sdk-kotlin-ci Date: Fri, 26 Apr 2024 19:15:40 +0000 Subject: [PATCH 08/16] chore: bump snapshot version to 1.1.28-SNAPSHOT --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 88293ddb6d5..6acfc173fa4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ kotlin.native.ignoreDisabledTargets=true org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=2G # sdk -sdkVersion=1.1.27 +sdkVersion=1.1.28-SNAPSHOT # dokka config (values specified at build-time as needed) smithyKotlinDocBaseUrl=https://sdk.amazonaws.com/kotlin/api/smithy-kotlin/api/$smithyKotlinRuntimeVersion/ From 0a392c7f7cdf11c2b1b99898a37f5112b32d1f63 Mon Sep 17 00:00:00 2001 From: Matas Date: Sat, 27 Apr 2024 16:15:40 -0400 Subject: [PATCH 09/16] misc!: v1.2.0 (#1297) * fix: apply clock skew interceptor to clients created via `invoke` (#1284) * Add new changelog * Upgrade Kotlin version to match smithy-kotlin --------- Co-authored-by: Ian Botsford <83236726+ianbotsf@users.noreply.github.com> --- .../811e504c-89f0-44e3-8216-5024ce6657ac.json | 6 +++ .../f164451a-1adc-4220-9a7d-1765959c23d3.json | 9 ++++ aws-runtime/aws-config/api/aws-config.api | 5 +-- .../config/AbstractAwsSdkClientFactory.kt | 12 +++--- .../codegen/AwsServiceConfigIntegration.kt | 7 +++ .../ServiceClientCompanionObjectWriter.kt | 43 +++++++------------ .../AccountIdEndpointBuiltinCustomization.kt | 9 +++- .../s3/ClientConfigIntegration.kt | 9 +++- .../ServiceClientCompanionObjectWriterTest.kt | 20 ++++----- gradle/libs.versions.toml | 6 +-- 10 files changed, 70 insertions(+), 56 deletions(-) create mode 100644 .changes/811e504c-89f0-44e3-8216-5024ce6657ac.json create mode 100644 .changes/f164451a-1adc-4220-9a7d-1765959c23d3.json diff --git a/.changes/811e504c-89f0-44e3-8216-5024ce6657ac.json b/.changes/811e504c-89f0-44e3-8216-5024ce6657ac.json new file mode 100644 index 00000000000..b8a83ac0927 --- /dev/null +++ b/.changes/811e504c-89f0-44e3-8216-5024ce6657ac.json @@ -0,0 +1,6 @@ +{ + "id": "811e504c-89f0-44e3-8216-5024ce6657ac", + "type": "misc", + "description": "⚠️ **IMPORTANT**: Upgrade to latest versions of OkHttp, Okio, Kotlin", + "requiresMinorVersionBump": true +} \ No newline at end of file diff --git a/.changes/f164451a-1adc-4220-9a7d-1765959c23d3.json b/.changes/f164451a-1adc-4220-9a7d-1765959c23d3.json new file mode 100644 index 00000000000..3fa22df23d7 --- /dev/null +++ b/.changes/f164451a-1adc-4220-9a7d-1765959c23d3.json @@ -0,0 +1,9 @@ +{ + "id": "f164451a-1adc-4220-9a7d-1765959c23d3", + "type": "bugfix", + "description": "⚠️ **IMPORTANT**: Apply clock skew interceptor to clients created via `invoke`", + "issues": [ + "awslabs/aws-sdk-kotlin#1211" + ], + "requiresMinorVersionBump": true +} diff --git a/aws-runtime/aws-config/api/aws-config.api b/aws-runtime/aws-config/api/aws-config.api index dd458dfb8cf..05589280306 100644 --- a/aws-runtime/aws-config/api/aws-config.api +++ b/aws-runtime/aws-config/api/aws-config.api @@ -215,12 +215,11 @@ public final class aws/sdk/kotlin/runtime/auth/credentials/internal/ManagedCrede public static final fun manage (Laws/smithy/kotlin/runtime/auth/awscredentials/CloseableCredentialsProvider;)Laws/smithy/kotlin/runtime/auth/awscredentials/CredentialsProvider; } -public abstract class aws/sdk/kotlin/runtime/config/AbstractAwsSdkClientFactory : aws/smithy/kotlin/runtime/client/SdkClientFactory { +public abstract class aws/sdk/kotlin/runtime/config/AbstractAwsSdkClientFactory : aws/smithy/kotlin/runtime/client/AbstractSdkClientFactory { public fun ()V - protected fun finalizeConfig (Laws/smithy/kotlin/runtime/client/SdkClient$Builder;Laws/smithy/kotlin/runtime/util/LazyAsyncValue;Laws/smithy/kotlin/runtime/util/LazyAsyncValue;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + protected fun finalizeEnvironmentalConfig (Laws/smithy/kotlin/runtime/client/SdkClient$Builder;Laws/smithy/kotlin/runtime/util/LazyAsyncValue;Laws/smithy/kotlin/runtime/util/LazyAsyncValue;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public final fun fromEnvironment (Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun fromEnvironment$default (Laws/sdk/kotlin/runtime/config/AbstractAwsSdkClientFactory;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public fun invoke (Lkotlin/jvm/functions/Function1;)Laws/smithy/kotlin/runtime/client/SdkClient; } public final class aws/sdk/kotlin/runtime/config/AwsSdkSetting { diff --git a/aws-runtime/aws-config/common/src/aws/sdk/kotlin/runtime/config/AbstractAwsSdkClientFactory.kt b/aws-runtime/aws-config/common/src/aws/sdk/kotlin/runtime/config/AbstractAwsSdkClientFactory.kt index b4c1fccea6b..ed5f4b0cd99 100644 --- a/aws-runtime/aws-config/common/src/aws/sdk/kotlin/runtime/config/AbstractAwsSdkClientFactory.kt +++ b/aws-runtime/aws-config/common/src/aws/sdk/kotlin/runtime/config/AbstractAwsSdkClientFactory.kt @@ -19,10 +19,7 @@ import aws.sdk.kotlin.runtime.region.resolveRegion import aws.sdk.kotlin.runtime.region.resolveSigV4aSigningRegionSet import aws.smithy.kotlin.runtime.ExperimentalApi import aws.smithy.kotlin.runtime.auth.awscredentials.SigV4aClientConfig -import aws.smithy.kotlin.runtime.client.RetryStrategyClientConfig -import aws.smithy.kotlin.runtime.client.SdkClient -import aws.smithy.kotlin.runtime.client.SdkClientConfig -import aws.smithy.kotlin.runtime.client.SdkClientFactory +import aws.smithy.kotlin.runtime.client.* import aws.smithy.kotlin.runtime.client.config.ClientSettings import aws.smithy.kotlin.runtime.client.config.CompressionClientConfig import aws.smithy.kotlin.runtime.config.resolve @@ -46,7 +43,7 @@ public abstract class AbstractAwsSdkClientFactory< TConfigBuilder, TClient : SdkClient, TClientBuilder : SdkClient.Builder, - > : SdkClientFactory + > : AbstractSdkClientFactory() where TConfig : SdkClientConfig, TConfig : AwsSdkClientConfig, TConfigBuilder : SdkClientConfig.Builder, @@ -97,7 +94,8 @@ public abstract class AbstractAwsSdkClientFactory< config.sigV4aSigningRegionSet ?: resolveSigV4aSigningRegionSet(platform, profile) } - finalizeConfig(builder, sharedConfig, profile) + finalizeConfig(builder) + finalizeEnvironmentalConfig(builder, sharedConfig, profile) } return builder.build() } @@ -105,7 +103,7 @@ public abstract class AbstractAwsSdkClientFactory< /** * Inject any client-specific config. */ - protected open suspend fun finalizeConfig( + protected open suspend fun finalizeEnvironmentalConfig( builder: TClientBuilder, sharedConfig: LazyAsyncValue, activeProfile: LazyAsyncValue, diff --git a/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/AwsServiceConfigIntegration.kt b/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/AwsServiceConfigIntegration.kt index 766ee91ebbc..044fd39bb71 100644 --- a/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/AwsServiceConfigIntegration.kt +++ b/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/AwsServiceConfigIntegration.kt @@ -121,6 +121,13 @@ class AwsServiceConfigIntegration : KotlinIntegration { override val sectionWriters: List = listOf( SectionWriterBinding(ServiceClientGenerator.Sections.CompanionObject, ServiceClientCompanionObjectWriter()), + SectionWriterBinding(ServiceClientGenerator.Sections.CompanionObject.SuperTypes) { writer, _ -> + writer.write( + "#T()", + AwsRuntimeTypes.Config.AbstractAwsSdkClientFactory, + writer.getContextValue(ServiceClientGenerator.Sections.CompanionObject.ServiceSymbol), + ) + }, ) override fun additionalServiceConfigProps(ctx: CodegenContext): List = buildList { diff --git a/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/ServiceClientCompanionObjectWriter.kt b/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/ServiceClientCompanionObjectWriter.kt index 918d0bb5c05..4f015735231 100644 --- a/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/ServiceClientCompanionObjectWriter.kt +++ b/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/ServiceClientCompanionObjectWriter.kt @@ -5,8 +5,8 @@ package aws.sdk.kotlin.codegen import software.amazon.smithy.kotlin.codegen.core.* -import software.amazon.smithy.kotlin.codegen.integration.SectionWriter -import software.amazon.smithy.kotlin.codegen.lang.KotlinTypes +import software.amazon.smithy.kotlin.codegen.integration.AppendingSectionWriter +import software.amazon.smithy.kotlin.codegen.integration.SectionId import software.amazon.smithy.kotlin.codegen.rendering.ServiceClientGenerator import software.amazon.smithy.kotlin.codegen.utils.toPascalCase @@ -15,38 +15,27 @@ import software.amazon.smithy.kotlin.codegen.utils.toPascalCase * * Includes the ability to extend the config finalizer, which by default handles resolution of endpoint url config. */ -class ServiceClientCompanionObjectWriter : SectionWriter { - override fun write(writer: KotlinWriter, previousValue: String?) { - val serviceSymbol = writer.getContextValue(ServiceClientGenerator.Sections.CompanionObject.ServiceSymbol) +class ServiceClientCompanionObjectWriter : AppendingSectionWriter { + /** + * The [SectionId] used for rendering the `finalizeEnvironmentalConfig` method body. + */ + object FinalizeEnvironmentalConfig : SectionId + override fun append(writer: KotlinWriter) { + val funName = "finalizeEnvironmentalConfig" + writer.write("") writer.withBlock( - "public companion object : #T() {", - "}", - AwsRuntimeTypes.Config.AbstractAwsSdkClientFactory, - serviceSymbol, - ) { - writeBuilder() - write("") - - writeFinalizeConfig() - } - } - - private fun KotlinWriter.writeBuilder() { - write("@#T", KotlinTypes.Jvm.JvmStatic) - write("override fun builder(): Builder = Builder()") - } - - private fun KotlinWriter.writeFinalizeConfig() { - withBlock( - "override suspend fun finalizeConfig(builder: Builder, sharedConfig: #1T<#2T>, activeProfile: #1T<#3T>) {", + "override suspend fun #1L(builder: Builder, sharedConfig: #2T<#3T>, activeProfile: #2T<#4T>) {", "}", + funName, RuntimeTypes.Core.Utils.LazyAsyncValue, AwsRuntimeTypes.Config.Profile.AwsSharedConfig, AwsRuntimeTypes.Config.Profile.AwsProfile, ) { - writeResolveEndpointUrl() - declareSection(ServiceClientGenerator.Sections.FinalizeConfig) + declareSection(FinalizeEnvironmentalConfig) { + write("super.#L(builder, sharedConfig, activeProfile)", funName) + writeResolveEndpointUrl() + } } } diff --git a/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/customization/AccountIdEndpointBuiltinCustomization.kt b/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/customization/AccountIdEndpointBuiltinCustomization.kt index 89f72199399..104e19d863e 100644 --- a/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/customization/AccountIdEndpointBuiltinCustomization.kt +++ b/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/customization/AccountIdEndpointBuiltinCustomization.kt @@ -5,6 +5,7 @@ package aws.sdk.kotlin.codegen.customization import aws.sdk.kotlin.codegen.AwsRuntimeTypes +import aws.sdk.kotlin.codegen.ServiceClientCompanionObjectWriter import aws.sdk.kotlin.codegen.endpoints.AwsBuiltins import software.amazon.smithy.kotlin.codegen.KotlinSettings import software.amazon.smithy.kotlin.codegen.core.CodegenContext @@ -13,7 +14,6 @@ import software.amazon.smithy.kotlin.codegen.integration.KotlinIntegration import software.amazon.smithy.kotlin.codegen.integration.SectionWriterBinding import software.amazon.smithy.kotlin.codegen.model.expectShape import software.amazon.smithy.kotlin.codegen.model.getEndpointRules -import software.amazon.smithy.kotlin.codegen.rendering.ServiceClientGenerator import software.amazon.smithy.kotlin.codegen.rendering.util.ConfigProperty import software.amazon.smithy.kotlin.codegen.rendering.util.ConfigPropertyType import software.amazon.smithy.model.Model @@ -42,7 +42,12 @@ class AccountIdEndpointBuiltinCustomization : KotlinIntegration { } override val sectionWriters: List - get() = listOf(SectionWriterBinding(ServiceClientGenerator.Sections.FinalizeConfig, resolveAccountIdEndpointModeSectionWriter)) + get() = listOf( + SectionWriterBinding( + ServiceClientCompanionObjectWriter.FinalizeEnvironmentalConfig, + resolveAccountIdEndpointModeSectionWriter, + ), + ) private val resolveAccountIdEndpointModeSectionWriter = AppendingSectionWriter { writer -> writer.write( diff --git a/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/customization/s3/ClientConfigIntegration.kt b/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/customization/s3/ClientConfigIntegration.kt index 82fd6388ac1..1019d976ee0 100644 --- a/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/customization/s3/ClientConfigIntegration.kt +++ b/codegen/aws-sdk-codegen/src/main/kotlin/aws/sdk/kotlin/codegen/customization/s3/ClientConfigIntegration.kt @@ -4,6 +4,7 @@ */ package aws.sdk.kotlin.codegen.customization.s3 +import aws.sdk.kotlin.codegen.ServiceClientCompanionObjectWriter import software.amazon.smithy.kotlin.codegen.KotlinSettings import software.amazon.smithy.kotlin.codegen.core.CodegenContext import software.amazon.smithy.kotlin.codegen.integration.AppendingSectionWriter @@ -12,7 +13,6 @@ import software.amazon.smithy.kotlin.codegen.integration.SectionWriterBinding import software.amazon.smithy.kotlin.codegen.lang.KotlinTypes import software.amazon.smithy.kotlin.codegen.model.buildSymbol import software.amazon.smithy.kotlin.codegen.model.expectShape -import software.amazon.smithy.kotlin.codegen.rendering.ServiceClientGenerator import software.amazon.smithy.kotlin.codegen.rendering.util.ConfigProperty import software.amazon.smithy.model.Model import software.amazon.smithy.model.shapes.ServiceShape @@ -96,7 +96,12 @@ class ClientConfigIntegration : KotlinIntegration { ) override val sectionWriters: List - get() = listOf(SectionWriterBinding(ServiceClientGenerator.Sections.FinalizeConfig, finalizeS3ConfigWriter)) + get() = listOf( + SectionWriterBinding( + ServiceClientCompanionObjectWriter.FinalizeEnvironmentalConfig, + finalizeS3ConfigWriter, + ), + ) // add S3-specific config finalization private val finalizeS3ConfigWriter = AppendingSectionWriter { writer -> diff --git a/codegen/aws-sdk-codegen/src/test/kotlin/aws/sdk/kotlin/codegen/ServiceClientCompanionObjectWriterTest.kt b/codegen/aws-sdk-codegen/src/test/kotlin/aws/sdk/kotlin/codegen/ServiceClientCompanionObjectWriterTest.kt index 9a5d4c0fe59..e8c8346afa6 100644 --- a/codegen/aws-sdk-codegen/src/test/kotlin/aws/sdk/kotlin/codegen/ServiceClientCompanionObjectWriterTest.kt +++ b/codegen/aws-sdk-codegen/src/test/kotlin/aws/sdk/kotlin/codegen/ServiceClientCompanionObjectWriterTest.kt @@ -23,18 +23,14 @@ class ServiceClientCompanionObjectWriterTest { ServiceClientCompanionObjectWriter().write(writer, null) val expected = """ - public companion object : AbstractAwsSdkClientFactory() { - @JvmStatic - override fun builder(): Builder = Builder() - - override suspend fun finalizeConfig(builder: Builder, sharedConfig: LazyAsyncValue, activeProfile: LazyAsyncValue) { - builder.config.endpointUrl = builder.config.endpointUrl ?: resolveEndpointUrl( - sharedConfig, - "TestGenerator", - "TEST_GENERATOR", - "test_generator", - ) - } + override suspend fun finalizeEnvironmentalConfig(builder: Builder, sharedConfig: LazyAsyncValue, activeProfile: LazyAsyncValue) { + super.finalizeEnvironmentalConfig(builder, sharedConfig, activeProfile) + builder.config.endpointUrl = builder.config.endpointUrl ?: resolveEndpointUrl( + sharedConfig, + "TestGenerator", + "TEST_GENERATOR", + "test_generator", + ) } """.trimIndent() diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a864227fadb..0c7e57bcf8b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -kotlin-version = "1.9.21" +kotlin-version = "1.9.23" dokka-version = "1.9.10" aws-kotlin-repo-tools-version = "0.4.0" @@ -9,8 +9,8 @@ coroutines-version = "1.7.3" atomicfu-version = "0.23.1" # smithy-kotlin codegen and runtime are versioned separately -smithy-kotlin-runtime-version = "1.1.5" -smithy-kotlin-codegen-version = "0.31.5" +smithy-kotlin-runtime-version = "1.2.1" +smithy-kotlin-codegen-version = "0.32.1" # codegen smithy-version = "1.47.0" From bd5f8bf2354e88e4ba7b83826c54a95aac4b0f22 Mon Sep 17 00:00:00 2001 From: aws-sdk-kotlin-ci Date: Sat, 27 Apr 2024 20:31:13 +0000 Subject: [PATCH 10/16] chore: release 1.2.0 --- .changes/811e504c-89f0-44e3-8216-5024ce6657ac.json | 6 ------ .changes/f164451a-1adc-4220-9a7d-1765959c23d3.json | 9 --------- CHANGELOG.md | 8 ++++++++ gradle.properties | 2 +- 4 files changed, 9 insertions(+), 16 deletions(-) delete mode 100644 .changes/811e504c-89f0-44e3-8216-5024ce6657ac.json delete mode 100644 .changes/f164451a-1adc-4220-9a7d-1765959c23d3.json diff --git a/.changes/811e504c-89f0-44e3-8216-5024ce6657ac.json b/.changes/811e504c-89f0-44e3-8216-5024ce6657ac.json deleted file mode 100644 index b8a83ac0927..00000000000 --- a/.changes/811e504c-89f0-44e3-8216-5024ce6657ac.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "id": "811e504c-89f0-44e3-8216-5024ce6657ac", - "type": "misc", - "description": "⚠️ **IMPORTANT**: Upgrade to latest versions of OkHttp, Okio, Kotlin", - "requiresMinorVersionBump": true -} \ No newline at end of file diff --git a/.changes/f164451a-1adc-4220-9a7d-1765959c23d3.json b/.changes/f164451a-1adc-4220-9a7d-1765959c23d3.json deleted file mode 100644 index 3fa22df23d7..00000000000 --- a/.changes/f164451a-1adc-4220-9a7d-1765959c23d3.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "id": "f164451a-1adc-4220-9a7d-1765959c23d3", - "type": "bugfix", - "description": "⚠️ **IMPORTANT**: Apply clock skew interceptor to clients created via `invoke`", - "issues": [ - "awslabs/aws-sdk-kotlin#1211" - ], - "requiresMinorVersionBump": true -} diff --git a/CHANGELOG.md b/CHANGELOG.md index 96d24796aa5..44113f45b5f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [1.2.0] - 04/27/2024 + +### Fixes +* [#1211](https://github.com/awslabs/aws-sdk-kotlin/issues/1211) ⚠️ **IMPORTANT**: Apply clock skew interceptor to clients created via `invoke` + +### Miscellaneous +* ⚠️ **IMPORTANT**: Upgrade to latest versions of OkHttp, Okio, Kotlin + ## [1.1.27] - 04/26/2024 ### Features diff --git a/gradle.properties b/gradle.properties index 6acfc173fa4..bdab1429062 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ kotlin.native.ignoreDisabledTargets=true org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=2G # sdk -sdkVersion=1.1.28-SNAPSHOT +sdkVersion=1.2.0 # dokka config (values specified at build-time as needed) smithyKotlinDocBaseUrl=https://sdk.amazonaws.com/kotlin/api/smithy-kotlin/api/$smithyKotlinRuntimeVersion/ From f09057e3776e98c2bfe8be3cef4ebacf7813335c Mon Sep 17 00:00:00 2001 From: aws-sdk-kotlin-ci Date: Sat, 27 Apr 2024 20:31:14 +0000 Subject: [PATCH 11/16] chore: bump snapshot version to 1.2.1-SNAPSHOT --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index bdab1429062..f56429b0002 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ kotlin.native.ignoreDisabledTargets=true org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=2G # sdk -sdkVersion=1.2.0 +sdkVersion=1.2.1-SNAPSHOT # dokka config (values specified at build-time as needed) smithyKotlinDocBaseUrl=https://sdk.amazonaws.com/kotlin/api/smithy-kotlin/api/$smithyKotlinRuntimeVersion/ From 8a22491f934c3251c7a2be871259cd769494e410 Mon Sep 17 00:00:00 2001 From: aws-sdk-kotlin-ci Date: Mon, 29 Apr 2024 18:05:58 +0000 Subject: [PATCH 12/16] feat: update AWS API models --- codegen/sdk/aws-models/amplify.json | 12 +- codegen/sdk/aws-models/connectcases.json | 287 ++++++++++- codegen/sdk/aws-models/inspector2.json | 125 ++++- codegen/sdk/aws-models/timestream-query.json | 166 ++++++- codegen/sdk/aws-models/transcribe.json | 88 +++- codegen/sdk/aws-models/trustedadvisor.json | 490 ++++++++++++++----- 6 files changed, 1024 insertions(+), 144 deletions(-) diff --git a/codegen/sdk/aws-models/amplify.json b/codegen/sdk/aws-models/amplify.json index 33106f35034..a3f1beea1c1 100644 --- a/codegen/sdk/aws-models/amplify.json +++ b/codegen/sdk/aws-models/amplify.json @@ -4341,7 +4341,7 @@ } }, "maxResults": { - "target": "com.amazonaws.amplify#MaxResults", + "target": "com.amazonaws.amplify#MaxResultsForListApps", "traits": { "smithy.api#default": 0, "smithy.api#documentation": "

The maximum number of records to list in a single response.

", @@ -5006,6 +5006,16 @@ } }, "com.amazonaws.amplify#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.amplify#MaxResultsForListApps": { "type": "integer", "traits": { "smithy.api#default": 0, diff --git a/codegen/sdk/aws-models/connectcases.json b/codegen/sdk/aws-models/connectcases.json index cef8ca763b3..b166f762eb1 100644 --- a/codegen/sdk/aws-models/connectcases.json +++ b/codegen/sdk/aws-models/connectcases.json @@ -892,7 +892,7 @@ } }, "traits": { - "smithy.api#documentation": "

Object to store union of Field values.

\n \n

This data type is a UNION, so only one of the following members can be specified when\n used or returned.

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

Object to store union of Field values.

" } }, "com.amazonaws.connectcases#AuditEventId": { @@ -2076,6 +2076,219 @@ "type": "structure", "members": {} }, + "com.amazonaws.connectcases#DeleteField": { + "type": "operation", + "input": { + "target": "com.amazonaws.connectcases#DeleteFieldRequest" + }, + "output": { + "target": "com.amazonaws.connectcases#DeleteFieldResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connectcases#AccessDeniedException" + }, + { + "target": "com.amazonaws.connectcases#ConflictException" + }, + { + "target": "com.amazonaws.connectcases#InternalServerException" + }, + { + "target": "com.amazonaws.connectcases#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connectcases#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.connectcases#ThrottlingException" + }, + { + "target": "com.amazonaws.connectcases#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a field from a cases template. You can delete up to 100 fields per domain.

\n

After a field is deleted:

\n
    \n
  • \n

    You can still retrieve the field by calling BatchGetField.

    \n
  • \n
  • \n

    You cannot update a deleted field by calling UpdateField; it throws a\n ValidationException.

    \n
  • \n
  • \n

    Deleted fields are not included in the ListFields response.

    \n
  • \n
  • \n

    Calling CreateCase with a deleted field throws a ValidationException denoting\n which field IDs in the request have been deleted.

    \n
  • \n
  • \n

    Calling GetCase with a deleted field ID returns the deleted field's value if one\n exists.

    \n
  • \n
  • \n

    Calling UpdateCase with a deleted field ID throws a ValidationException if the\n case does not already contain a value for the deleted field. Otherwise it succeeds,\n allowing you to update or remove (using emptyValue: {}) the field's value from the\n case.

    \n
  • \n
  • \n

    \n GetTemplate does not return field IDs for deleted fields.

    \n
  • \n
  • \n

    \n GetLayout does not return field IDs for deleted fields.

    \n
  • \n
  • \n

    Calling SearchCases with the deleted field ID as a filter returns any cases that\n have a value for the deleted field that matches the filter criteria.

    \n
  • \n
  • \n

    Calling SearchCases with a searchTerm value that matches a deleted field's value on a\n case returns the case in the response.

    \n
  • \n
  • \n

    Calling BatchPutFieldOptions with a deleted field ID throw a ValidationException.

    \n
  • \n
  • \n

    Calling GetCaseEventConfiguration does not return field IDs for deleted fields.

    \n
  • \n
", + "smithy.api#http": { + "uri": "/domains/{domainId}/fields/{fieldId}", + "method": "DELETE" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.connectcases#DeleteFieldRequest": { + "type": "structure", + "members": { + "domainId": { + "target": "com.amazonaws.connectcases#DomainId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the Cases domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "fieldId": { + "target": "com.amazonaws.connectcases#FieldId", + "traits": { + "smithy.api#documentation": "

The unique identifier of a field.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connectcases#DeleteFieldResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.connectcases#DeleteLayout": { + "type": "operation", + "input": { + "target": "com.amazonaws.connectcases#DeleteLayoutRequest" + }, + "output": { + "target": "com.amazonaws.connectcases#DeleteLayoutResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connectcases#AccessDeniedException" + }, + { + "target": "com.amazonaws.connectcases#ConflictException" + }, + { + "target": "com.amazonaws.connectcases#InternalServerException" + }, + { + "target": "com.amazonaws.connectcases#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connectcases#ThrottlingException" + }, + { + "target": "com.amazonaws.connectcases#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a layout from a cases template. You can delete up to 100 layouts per domain.

\n\n

After a layout is deleted:

\n
    \n
  • \n

    You can still retrieve the layout by calling GetLayout.

    \n
  • \n
  • \n

    You cannot update a deleted layout by calling UpdateLayout; it throws a\n ValidationException.

    \n
  • \n
  • \n

    Deleted layouts are not included in the ListLayouts response.

    \n
  • \n
", + "smithy.api#http": { + "uri": "/domains/{domainId}/layouts/{layoutId}", + "method": "DELETE" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.connectcases#DeleteLayoutRequest": { + "type": "structure", + "members": { + "domainId": { + "target": "com.amazonaws.connectcases#DomainId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the Cases domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "layoutId": { + "target": "com.amazonaws.connectcases#LayoutId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the layout.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connectcases#DeleteLayoutResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.connectcases#DeleteTemplate": { + "type": "operation", + "input": { + "target": "com.amazonaws.connectcases#DeleteTemplateRequest" + }, + "output": { + "target": "com.amazonaws.connectcases#DeleteTemplateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connectcases#AccessDeniedException" + }, + { + "target": "com.amazonaws.connectcases#ConflictException" + }, + { + "target": "com.amazonaws.connectcases#InternalServerException" + }, + { + "target": "com.amazonaws.connectcases#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connectcases#ThrottlingException" + }, + { + "target": "com.amazonaws.connectcases#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a cases template. You can delete up to 100 templates per domain.

\n\n

After a cases template is deleted:

\n
    \n
  • \n

    You can still retrieve the template by calling GetTemplate.

    \n
  • \n
  • \n

    You cannot update the template.

    \n
  • \n
  • \n

    You cannot create a case by using the deleted template.

    \n
  • \n
  • \n

    Deleted templates are not included in the ListTemplates response.

    \n
  • \n
", + "smithy.api#http": { + "uri": "/domains/{domainId}/templates/{templateId}", + "method": "DELETE" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.connectcases#DeleteTemplateRequest": { + "type": "structure", + "members": { + "domainId": { + "target": "com.amazonaws.connectcases#DomainId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the Cases domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "templateId": { + "target": "com.amazonaws.connectcases#TemplateId", + "traits": { + "smithy.api#documentation": "

A unique identifier of a template.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connectcases#DeleteTemplateResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.connectcases#Deleted": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, "com.amazonaws.connectcases#Domain": { "type": "resource", "identifiers": { @@ -2255,6 +2468,9 @@ "update": { "target": "com.amazonaws.connectcases#UpdateField" }, + "delete": { + "target": "com.amazonaws.connectcases#DeleteField" + }, "list": { "target": "com.amazonaws.connectcases#ListFields" }, @@ -3127,6 +3343,25 @@ "traits": { "smithy.api#documentation": "

A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.

" } + }, + "deleted": { + "target": "com.amazonaws.connectcases#Deleted", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the resource has been deleted.

" + } + }, + "createdTime": { + "target": "com.amazonaws.connectcases#CreatedTime", + "traits": { + "smithy.api#documentation": "

The timestamp for when the resource was created.

" + } + }, + "lastModifiedTime": { + "target": "com.amazonaws.connectcases#LastModifiedTime", + "traits": { + "smithy.api#documentation": "

The timestamp for when the resource was created or last modified.

" + } } }, "traits": { @@ -3224,6 +3459,25 @@ "traits": { "smithy.api#documentation": "

A map of of key-value pairs that represent tags on a resource. Tags are used to organize, track, or control access for this resource.

" } + }, + "deleted": { + "target": "com.amazonaws.connectcases#Deleted", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the resource has been deleted.

" + } + }, + "createdTime": { + "target": "com.amazonaws.connectcases#CreatedTime", + "traits": { + "smithy.api#documentation": "

The timestamp for when the resource was created.

" + } + }, + "lastModifiedTime": { + "target": "com.amazonaws.connectcases#LastModifiedTime", + "traits": { + "smithy.api#documentation": "

The timestamp for when the resource was created or last modified.

" + } } } }, @@ -3336,6 +3590,25 @@ "smithy.api#documentation": "

The status of the template.

", "smithy.api#required": {} } + }, + "deleted": { + "target": "com.amazonaws.connectcases#Deleted", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether the resource has been deleted.

" + } + }, + "createdTime": { + "target": "com.amazonaws.connectcases#CreatedTime", + "traits": { + "smithy.api#documentation": "

The timestamp for when the resource was created.

" + } + }, + "lastModifiedTime": { + "target": "com.amazonaws.connectcases#LastModifiedTime", + "traits": { + "smithy.api#documentation": "

The timestamp for when the resource was created or last modified.

" + } } } }, @@ -3372,6 +3645,12 @@ "smithy.api#retryable": {} } }, + "com.amazonaws.connectcases#LastModifiedTime": { + "type": "timestamp", + "traits": { + "smithy.api#timestampFormat": "date-time" + } + }, "com.amazonaws.connectcases#Layout": { "type": "resource", "identifiers": { @@ -3391,6 +3670,9 @@ "update": { "target": "com.amazonaws.connectcases#UpdateLayout" }, + "delete": { + "target": "com.amazonaws.connectcases#DeleteLayout" + }, "list": { "target": "com.amazonaws.connectcases#ListLayouts" }, @@ -4900,6 +5182,9 @@ "update": { "target": "com.amazonaws.connectcases#UpdateTemplate" }, + "delete": { + "target": "com.amazonaws.connectcases#DeleteTemplate" + }, "list": { "target": "com.amazonaws.connectcases#ListTemplates" }, diff --git a/codegen/sdk/aws-models/inspector2.json b/codegen/sdk/aws-models/inspector2.json index 9ae0a85b886..ad3b25afb0a 100644 --- a/codegen/sdk/aws-models/inspector2.json +++ b/codegen/sdk/aws-models/inspector2.json @@ -3530,6 +3530,12 @@ "smithy.api#documentation": "

Filters Amazon Web Services resources based on whether Amazon Inspector has checked them for vulnerabilities within the specified time range.

" } }, + "scanMode": { + "target": "com.amazonaws.inspector2#CoverageStringFilterList", + "traits": { + "smithy.api#documentation": "

The filter to search for Amazon EC2 instance coverage by scan mode. Valid values are EC2_SSM_AGENT_BASED and EC2_HYBRID.

" + } + }, "imagePulledAt": { "target": "com.amazonaws.inspector2#CoverageDateFilterList", "traits": { @@ -3721,6 +3727,12 @@ "traits": { "smithy.api#documentation": "

The date and time the resource was last checked for vulnerabilities.

" } + }, + "scanMode": { + "target": "com.amazonaws.inspector2#ScanMode", + "traits": { + "smithy.api#documentation": "

The scan method that is applied to the instance.

" + } } }, "traits": { @@ -4952,6 +4964,35 @@ } } }, + "com.amazonaws.inspector2#Ec2Configuration": { + "type": "structure", + "members": { + "scanMode": { + "target": "com.amazonaws.inspector2#Ec2ScanMode", + "traits": { + "smithy.api#documentation": "

The scan method that is applied to the instance.

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

Enables agent-based scanning, which scans instances that are not managed by SSM.

" + } + }, + "com.amazonaws.inspector2#Ec2ConfigurationState": { + "type": "structure", + "members": { + "scanModeState": { + "target": "com.amazonaws.inspector2#Ec2ScanModeState", + "traits": { + "smithy.api#documentation": "

An object that contains details about the state of the Amazon EC2 scan mode.

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

Details about the state of the EC2 scan configuration for your environment.

" + } + }, "com.amazonaws.inspector2#Ec2DeepInspectionStatus": { "type": "string", "traits": { @@ -5142,6 +5183,56 @@ ] } }, + "com.amazonaws.inspector2#Ec2ScanMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "EC2_SSM_AGENT_BASED", + "name": "EC2_SSM_AGENT_BASED" + }, + { + "value": "EC2_HYBRID", + "name": "EC2_HYBRID" + } + ] + } + }, + "com.amazonaws.inspector2#Ec2ScanModeState": { + "type": "structure", + "members": { + "scanMode": { + "target": "com.amazonaws.inspector2#Ec2ScanMode", + "traits": { + "smithy.api#documentation": "

The scan method that is applied to the instance.

" + } + }, + "scanModeStatus": { + "target": "com.amazonaws.inspector2#Ec2ScanModeStatus", + "traits": { + "smithy.api#documentation": "

The status of the Amazon EC2 scan mode setting.

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

The state of your Amazon EC2 scan mode configuration.

" + } + }, + "com.amazonaws.inspector2#Ec2ScanModeStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "SUCCESS", + "name": "SUCCESS" + }, + { + "value": "PENDING", + "name": "PENDING" + } + ] + } + }, "com.amazonaws.inspector2#EcrConfiguration": { "type": "structure", "members": { @@ -6308,7 +6399,7 @@ "lastObservedAt": { "target": "com.amazonaws.inspector2#DateTimeTimestamp", "traits": { - "smithy.api#documentation": "

The date and time that the finding was last observed.

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

\n The date and time the finding was last observed. \n This timestamp for this field remains unchanged until a finding is updated.\n

", "smithy.api#required": {} } }, @@ -6944,7 +7035,7 @@ "url": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

\n The URL where the CIS scan report PDF can be downloaded.\n

" + "smithy.api#documentation": "

\n The URL where a PDF of the CIS scan report can be downloaded.\n

" } }, "status": { @@ -7151,6 +7242,12 @@ "traits": { "smithy.api#documentation": "

Specifies how the ECR automated re-scan duration is currently configured for your environment.

" } + }, + "ec2Configuration": { + "target": "com.amazonaws.inspector2#Ec2ConfigurationState", + "traits": { + "smithy.api#documentation": "

Specifies how the Amazon EC2 automated scan mode is currently configured for your environment.

" + } } } }, @@ -12454,6 +12551,21 @@ ] } }, + "com.amazonaws.inspector2#ScanMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "EC2_SSM_AGENT_BASED", + "name": "EC2_SSM_AGENT_BASED" + }, + { + "value": "EC2_AGENTLESS", + "name": "EC2_AGENTLESS" + } + ] + } + }, "com.amazonaws.inspector2#ScanStatus": { "type": "structure", "members": { @@ -14393,8 +14505,13 @@ "ecrConfiguration": { "target": "com.amazonaws.inspector2#EcrConfiguration", "traits": { - "smithy.api#documentation": "

Specifies how the ECR automated re-scan will be updated for your environment.

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

Specifies how the ECR automated re-scan will be updated for your environment.

" + } + }, + "ec2Configuration": { + "target": "com.amazonaws.inspector2#Ec2Configuration", + "traits": { + "smithy.api#documentation": "

Specifies how the Amazon EC2 automated scan will be updated for your environment.

" } } } diff --git a/codegen/sdk/aws-models/timestream-query.json b/codegen/sdk/aws-models/timestream-query.json index 0b3e199f75d..720ffb35606 100644 --- a/codegen/sdk/aws-models/timestream-query.json +++ b/codegen/sdk/aws-models/timestream-query.json @@ -401,6 +401,62 @@ "smithy.api#input": {} } }, + "com.amazonaws.timestreamquery#DescribeAccountSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.timestreamquery#DescribeAccountSettingsRequest" + }, + "output": { + "target": "com.amazonaws.timestreamquery#DescribeAccountSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.timestreamquery#AccessDeniedException" + }, + { + "target": "com.amazonaws.timestreamquery#InternalServerException" + }, + { + "target": "com.amazonaws.timestreamquery#InvalidEndpointException" + }, + { + "target": "com.amazonaws.timestreamquery#ThrottlingException" + } + ], + "traits": { + "aws.api#clientDiscoveredEndpoint": { + "required": true + }, + "smithy.api#documentation": "

Describes the settings for your account that include the query pricing model and the configured maximum TCUs the service can use for your query workload.

\n

You're charged only for the duration of compute units used for your workloads.

" + } + }, + "com.amazonaws.timestreamquery#DescribeAccountSettingsRequest": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.timestreamquery#DescribeAccountSettingsResponse": { + "type": "structure", + "members": { + "MaxQueryTCU": { + "target": "com.amazonaws.timestreamquery#MaxQueryCapacity", + "traits": { + "smithy.api#documentation": "

The maximum number of Timestream compute units (TCUs) the service will use at any point in time to serve your queries.

" + } + }, + "QueryPricingModel": { + "target": "com.amazonaws.timestreamquery#QueryPricingModel", + "traits": { + "smithy.api#documentation": "

The pricing model for queries in your account.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.timestreamquery#DescribeEndpoints": { "type": "operation", "input": { @@ -706,6 +762,13 @@ "smithy.api#documentation": "

Bytes metered for a single scheduled query run.

" } }, + "CumulativeBytesScanned": { + "target": "com.amazonaws.timestreamquery#Long", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

Bytes scanned for a single scheduled query run.

" + } + }, "RecordsIngested": { "target": "com.amazonaws.timestreamquery#Long", "traits": { @@ -733,7 +796,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n Timestream was unable to fully process this request because of an internal\n server error.

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

\n The service was unable to fully process this request because of an internal\n server error.

", "smithy.api#error": "server", "smithy.api#httpError": 500 } @@ -919,6 +982,9 @@ "smithy.api#default": 0 } }, + "com.amazonaws.timestreamquery#MaxQueryCapacity": { + "type": "integer" + }, "com.amazonaws.timestreamquery#MaxQueryResults": { "type": "integer", "traits": { @@ -1302,6 +1368,23 @@ "smithy.api#pattern": "^[a-zA-Z0-9]+$" } }, + "com.amazonaws.timestreamquery#QueryPricingModel": { + "type": "enum", + "members": { + "BYTES_SCANNED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BYTES_SCANNED" + } + }, + "COMPUTE_UNITS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COMPUTE_UNITS" + } + } + } + }, "com.amazonaws.timestreamquery#QueryRequest": { "type": "structure", "members": { @@ -1861,7 +1944,7 @@ "min": 1, "max": 64 }, - "smithy.api#pattern": "^[a-zA-Z0-9_.-]+$" + "smithy.api#pattern": "^[a-zA-Z0-9|!\\-_*'\\(\\)]([a-zA-Z0-9]|[!\\-_*'\\(\\)\\/.])+$" } }, "com.amazonaws.timestreamquery#ScheduledQueryRunStatus": { @@ -2335,6 +2418,9 @@ { "target": "com.amazonaws.timestreamquery#DeleteScheduledQuery" }, + { + "target": "com.amazonaws.timestreamquery#DescribeAccountSettings" + }, { "target": "com.amazonaws.timestreamquery#DescribeEndpoints" }, @@ -2362,6 +2448,9 @@ { "target": "com.amazonaws.timestreamquery#UntagResource" }, + { + "target": "com.amazonaws.timestreamquery#UpdateAccountSettings" + }, { "target": "com.amazonaws.timestreamquery#UpdateScheduledQuery" } @@ -3104,6 +3193,79 @@ "smithy.api#output": {} } }, + "com.amazonaws.timestreamquery#UpdateAccountSettings": { + "type": "operation", + "input": { + "target": "com.amazonaws.timestreamquery#UpdateAccountSettingsRequest" + }, + "output": { + "target": "com.amazonaws.timestreamquery#UpdateAccountSettingsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.timestreamquery#AccessDeniedException" + }, + { + "target": "com.amazonaws.timestreamquery#InternalServerException" + }, + { + "target": "com.amazonaws.timestreamquery#InvalidEndpointException" + }, + { + "target": "com.amazonaws.timestreamquery#ThrottlingException" + }, + { + "target": "com.amazonaws.timestreamquery#ValidationException" + } + ], + "traits": { + "aws.api#clientDiscoveredEndpoint": { + "required": true + }, + "smithy.api#documentation": "

Transitions your account to use TCUs for query pricing and modifies the maximum query compute units that you've configured. If you reduce the value of MaxQueryTCU to a desired configuration, the new value can take up to 24 hours to be effective.

\n \n

After you've transitioned your account to use TCUs for query pricing, you can't transition to using bytes scanned for query pricing.

\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.timestreamquery#UpdateAccountSettingsRequest": { + "type": "structure", + "members": { + "MaxQueryTCU": { + "target": "com.amazonaws.timestreamquery#MaxQueryCapacity", + "traits": { + "smithy.api#documentation": "

The maximum number of compute units the service will use at any point in time to serve your queries. To run queries, you must set a minimum capacity of 4 TCU. You can set the maximum number of TCU in multiples of 4, for example, 4, 8, 16, 32, and so on.

\n

The maximum value supported for MaxQueryTCU is 1000. To request an increase to this soft limit, contact Amazon Web Services Support. For information about the default quota for maxQueryTCU, see Default quotas.

" + } + }, + "QueryPricingModel": { + "target": "com.amazonaws.timestreamquery#QueryPricingModel", + "traits": { + "smithy.api#documentation": "

The pricing model for queries in an account.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.timestreamquery#UpdateAccountSettingsResponse": { + "type": "structure", + "members": { + "MaxQueryTCU": { + "target": "com.amazonaws.timestreamquery#MaxQueryCapacity", + "traits": { + "smithy.api#documentation": "

The configured maximum number of compute units the service will use at any point in time to serve your queries.

" + } + }, + "QueryPricingModel": { + "target": "com.amazonaws.timestreamquery#QueryPricingModel", + "traits": { + "smithy.api#documentation": "

The pricing model for an account.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.timestreamquery#UpdateScheduledQuery": { "type": "operation", "input": { diff --git a/codegen/sdk/aws-models/transcribe.json b/codegen/sdk/aws-models/transcribe.json index 61361b501d7..9446a7bc143 100644 --- a/codegen/sdk/aws-models/transcribe.json +++ b/codegen/sdk/aws-models/transcribe.json @@ -141,6 +141,17 @@ } } }, + "com.amazonaws.transcribe#CallAnalyticsFeature": { + "type": "enum", + "members": { + "GENERATIVE_SUMMARIZATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GENERATIVE_SUMMARIZATION" + } + } + } + }, "com.amazonaws.transcribe#CallAnalyticsJob": { "type": "structure", "members": { @@ -156,6 +167,12 @@ "smithy.api#documentation": "

Provides the status of the specified Call Analytics job.

\n

If the status is COMPLETED, the job is finished and you can find the\n results at the location specified in TranscriptFileUri (or\n RedactedTranscriptFileUri, if you requested transcript redaction). If\n the status is FAILED, FailureReason provides details on why\n your transcription job failed.

" } }, + "CallAnalyticsJobDetails": { + "target": "com.amazonaws.transcribe#CallAnalyticsJobDetails", + "traits": { + "smithy.api#documentation": "

Provides detailed information about a call analytics job, including information about skipped analytics features.

" + } + }, "LanguageCode": { "target": "com.amazonaws.transcribe#LanguageCode", "traits": { @@ -236,6 +253,20 @@ "smithy.api#documentation": "

Provides detailed information about a Call Analytics job.

\n

To view the job's status, refer to CallAnalyticsJobStatus. If the status\n is COMPLETED, the job is finished. You can find your completed transcript\n at the URI specified in TranscriptFileUri. If the status is\n FAILED, FailureReason provides details on why your\n transcription job failed.

\n

If you enabled personally identifiable information (PII) redaction, the redacted\n transcript appears at the location specified in\n RedactedTranscriptFileUri.

\n

If you chose to redact the audio in your media file, you can find your redacted media\n file at the location specified in the RedactedMediaFileUri field of your\n response.

" } }, + "com.amazonaws.transcribe#CallAnalyticsJobDetails": { + "type": "structure", + "members": { + "Skipped": { + "target": "com.amazonaws.transcribe#CallAnalyticsSkippedFeatureList", + "traits": { + "smithy.api#documentation": "

Contains information about any skipped analytics features during the analysis of a call analytics job.

\n

This array lists all the analytics features that were skipped, along with their corresponding reason code and message.

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

Contains details about a call analytics job, including information about skipped analytics features.

" + } + }, "com.amazonaws.transcribe#CallAnalyticsJobName": { "type": "string", "traits": { @@ -373,6 +404,12 @@ "smithy.api#documentation": "

Provides the status of your Call Analytics job.

\n

If the status is COMPLETED, the job is finished and you can find the\n results at the location specified in TranscriptFileUri (or\n RedactedTranscriptFileUri, if you requested transcript redaction). If\n the status is FAILED, FailureReason provides details on why\n your transcription job failed.

" } }, + "CallAnalyticsJobDetails": { + "target": "com.amazonaws.transcribe#CallAnalyticsJobDetails", + "traits": { + "smithy.api#documentation": "

Provides detailed information about a call analytics job, including information about skipped analytics features.

" + } + }, "FailureReason": { "target": "com.amazonaws.transcribe#FailureReason", "traits": { @@ -384,6 +421,55 @@ "smithy.api#documentation": "

Provides detailed information about a specific Call Analytics job.

" } }, + "com.amazonaws.transcribe#CallAnalyticsSkippedFeature": { + "type": "structure", + "members": { + "Feature": { + "target": "com.amazonaws.transcribe#CallAnalyticsFeature", + "traits": { + "smithy.api#documentation": "

Indicates the type of analytics feature that was skipped during the analysis of a call analytics job.

" + } + }, + "ReasonCode": { + "target": "com.amazonaws.transcribe#CallAnalyticsSkippedReasonCode", + "traits": { + "smithy.api#documentation": "

Provides a code indicating the reason why a specific analytics feature was skipped during the analysis of a call analytics job.

" + } + }, + "Message": { + "target": "com.amazonaws.transcribe#String", + "traits": { + "smithy.api#documentation": "

Contains additional information or a message explaining why a specific analytics feature was skipped during the analysis of a call analytics job.

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

Represents a skipped analytics feature during the analysis of a call analytics job.

\n

The Feature field indicates the type of analytics feature that was skipped.

\n

The Message field contains additional information or a message explaining why the analytics feature was skipped.

\n

The ReasonCode field provides a code indicating the reason why the analytics feature was skipped.

" + } + }, + "com.amazonaws.transcribe#CallAnalyticsSkippedFeatureList": { + "type": "list", + "member": { + "target": "com.amazonaws.transcribe#CallAnalyticsSkippedFeature" + } + }, + "com.amazonaws.transcribe#CallAnalyticsSkippedReasonCode": { + "type": "enum", + "members": { + "INSUFFICIENT_CONVERSATION_CONTENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INSUFFICIENT_CONVERSATION_CONTENT" + } + }, + "FAILED_SAFETY_GUIDELINES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_SAFETY_GUIDELINES" + } + } + } + }, "com.amazonaws.transcribe#CategoryName": { "type": "string", "traits": { @@ -3927,7 +4013,7 @@ "traits": { "smithy.api#range": { "min": 2, - "max": 10 + "max": 30 } } }, diff --git a/codegen/sdk/aws-models/trustedadvisor.json b/codegen/sdk/aws-models/trustedadvisor.json index 0c2e7dcc5b8..03d3ad81b54 100644 --- a/codegen/sdk/aws-models/trustedadvisor.json +++ b/codegen/sdk/aws-models/trustedadvisor.json @@ -110,6 +110,94 @@ "target": "com.amazonaws.trustedadvisor#AccountRecommendationLifecycleSummary" } }, + "com.amazonaws.trustedadvisor#BatchUpdateRecommendationResourceExclusion": { + "type": "operation", + "input": { + "target": "com.amazonaws.trustedadvisor#BatchUpdateRecommendationResourceExclusionRequest" + }, + "output": { + "target": "com.amazonaws.trustedadvisor#BatchUpdateRecommendationResourceExclusionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.trustedadvisor#AccessDeniedException" + }, + { + "target": "com.amazonaws.trustedadvisor#ConflictException" + }, + { + "target": "com.amazonaws.trustedadvisor#InternalServerException" + }, + { + "target": "com.amazonaws.trustedadvisor#ThrottlingException" + }, + { + "target": "com.amazonaws.trustedadvisor#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Update one or more exclusion status for a list of recommendation resources

", + "smithy.api#examples": [ + { + "title": "Batch updates the exclusion status for a list of recommendation resources", + "input": { + "recommendationResourceExclusions": [ + { + "arn": "arn:aws:trustedadvisor::000000000000:recommendation-resource/55fa4d2e-bbb7-491a-833b-5773e9589578/18959a1f1973cff8e706e9d9bde28bba36cd602a6b2cb86c8b61252835236010", + "isExcluded": true + } + ] + }, + "output": { + "batchUpdateRecommendationResourceExclusionErrors": [ + { + "arn": "arn:aws:trustedadvisor::000000000000:recommendation-resource/55fa4d2e-bbb7-491a-833b-5773e9589578/18959a1f1973cff8e706e9d9bde28bba36cd602a6b2cb86c8b61252835236010", + "errorCode": "404", + "errorMessage": "Exception that the requested resource has not been found" + } + ] + } + } + ], + "smithy.api#http": { + "method": "PUT", + "uri": "/v1/batch-update-recommendation-resource-exclusion", + "code": 200 + }, + "smithy.api#idempotent": {}, + "smithy.api#tags": [] + } + }, + "com.amazonaws.trustedadvisor#BatchUpdateRecommendationResourceExclusionRequest": { + "type": "structure", + "members": { + "recommendationResourceExclusions": { + "target": "com.amazonaws.trustedadvisor#RecommendationResourceExclusionList", + "traits": { + "smithy.api#documentation": "

A list of recommendation resource ARNs and exclusion status to update

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.trustedadvisor#BatchUpdateRecommendationResourceExclusionResponse": { + "type": "structure", + "members": { + "batchUpdateRecommendationResourceExclusionErrors": { + "target": "com.amazonaws.trustedadvisor#UpdateRecommendationResourceExclusionErrorList", + "traits": { + "smithy.api#documentation": "

A list of recommendation resource ARNs whose exclusion status failed to update, if any

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.trustedadvisor#CheckArn": { "type": "string", "traits": { @@ -216,6 +304,23 @@ "smithy.api#httpError": 409 } }, + "com.amazonaws.trustedadvisor#ExclusionStatus": { + "type": "enum", + "members": { + "EXCLUDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "excluded" + } + }, + "INCLUDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "included" + } + } + } + }, "com.amazonaws.trustedadvisor#GetOrganizationRecommendation": { "type": "operation", "input": { @@ -264,13 +369,13 @@ "security" ], "resourcesAggregates": { - "errorCount": 150, - "okCount": 500, - "warningCount": 100 + "errorCount": 0, + "okCount": 0, + "warningCount": 0 }, "source": "ta_check", - "status": "ok", - "type": "standard" + "status": "warning", + "type": "priority" } } } @@ -368,7 +473,7 @@ "security" ], "resourcesAggregates": { - "errorCount": 0, + "errorCount": 1, "okCount": 0, "warningCount": 0 }, @@ -472,7 +577,15 @@ ], "description": "Checks security groups for rules that allow unrestricted access to a resource. Unrestricted access increases opportunities for malicious activity (hacking, denial-of-service attacks, loss of data).\n
\n
Note: This check only evaluates security groups that you create and their inbound rules for IPv4 addresses. Security groups created by AWS Directory Services are flagged as red or yellow, but they don’t pose a security risk and can be safely ignored or excluded. For more information, see the Trusted Advisor FAQ.\n
\n
\n

Alert Criteria

\n
\nRed: A security group rule has a source IP address with a /0 suffix for ports other than 25, 80, or 443.\n
\n
\n

Recommended Action

\n
\nRestrict access to only those IP addresses that require it. To restrict access to a specific IP address, set the suffix to /32 (for example, 192.0.2.10/32). Be sure to delete overly permissive rules after creating rules that are more restrictive.\n
\n
\n

Additional Resources

\n
Amazon EC2 Security Groups
\nClassless Inter-Domain Routing (Wikipedia)", "id": "1iG5NDGVre", - "metadata": {}, + "metadata": { + "0": "Region", + "1": "Security Group Name", + "2": "Security Group ID", + "3": "Protocol", + "4": "Port", + "5": "Status", + "6": "IP Range" + }, "name": "Security Groups - Unrestricted Access", "pillars": [ "security" @@ -487,22 +600,22 @@ "description": "Checks your usage of RDS and provides recommendations on purchase of Reserved Instances to help reduce costs incurred from using RDS On-Demand. AWS generates these recommendations by analyzing your On-Demand usage for the past 30 days. We then simulate every combination of reservations in the generated category of usage in order to identify the best number of each type of Reserved Instance to purchase to maximize your savings. This check covers recommendations based on partial upfront payment option with 1-year or 3-year commitment. This check is not available to accounts linked in Consolidated Billing. Recommendations are only available for the Paying Account.

\r\n

Alert Criteria


\nYellow: Optimizing the purchase of RDS Reserved Instances can help reduce costs.

\r\n

Recommended Action


\r\nSee the Cost Explorer page for more detailed recommendations, customization options (e.g. look-back period, payment option, etc.) and to purchase RDS Reserved Instances.\n
\n
\n

Additional Resources


\nInformation on RDS Reserved Instances and how they can save you money can be found here.
\nFor more information on this recommendation, see Reserved Instance Optimization Check Questions in the Trusted Advisor FAQs.
\nFor more detailed description of fields, see Cost Explorer documentation", "id": "1qazXsw23e", "metadata": { - "properties.averageUtilization": "Expected Average Reserved Instance Utilization", - "properties.databaseEdition": "Database Edition", - "properties.databaseEngine": "Database Engine", - "properties.deploymentOption": "Deployment Option", - "properties.estimatedBreakEvenInMonths": "Estimated Break Even (months)", - "properties.estimatedMonthlyOnDemandCost": "Estimated On-Demand Cost Post Recommended Reserved Instance Purchase (monthly)", - "properties.estimatedMonthlySavingsAmount": "Estimated Savings with Recommendation (monthly)", - "properties.family": "Family", - "properties.instanceType": "Instance Type", - "properties.licenseModel": "License Model", - "properties.lookbackPeriodInDays": "Lookback Period (days)", - "properties.recommendedNumberOfInstancesToPurchase": "Recommended number of Reserved Instances to purchase", - "properties.recurringStandardMonthlyCost": "Estimated cost of Reserved Instances (monthly)", - "properties.region": "Region", - "properties.termInYears": "Term (years)", - "properties.upfrontCost": "Upfront Cost of Reserved Instances" + "0": "Region", + "1": "Family", + "10": "Upfront Cost of Reserved Instances", + "11": "Estimated cost of Reserved Instances (monthly)", + "12": "Estimated On-Demand Cost Post Recommended Reserved Instance Purchase (monthly)", + "13": "Estimated Break Even (months)", + "14": "Lookback Period (days)", + "15": "Term (years)", + "2": "Instance Type", + "3": "License Model", + "4": "Database Edition", + "5": "Database Engine", + "6": "Deployment Option", + "7": "Recommended number of Reserved Instances to purchase", + "8": "Expected Average Reserved Instance Utilization", + "9": "Estimated Savings with Recommendation (monthly)" }, "name": "Amazon Relational Database Service (RDS) Reserved Instance Optimization", "pillars": [ @@ -518,18 +631,18 @@ "description": "Checks your usage of Redshift and provides recommendations on purchase of Reserved Nodes to help reduce costs incurred from using Redshift On-Demand. AWS generates these recommendations by analyzing your On-Demand usage for the past 30 days. We then simulate every combination of reservations in the generated category of usage in order to identify the best number of each type of Reserved Nodes to purchase to maximize your savings. This check covers recommendations based on partial upfront payment option with 1-year or 3-year commitment. This check is not available to accounts linked in Consolidated Billing. Recommendations are only available for the Paying Account.

\n

Alert Criteria


Yellow: Optimizing the purchase of Redshift Reserved Nodes can help reduce costs.

\n

Recommended Action


See the Cost Explorer page for more detailed recommendations, customization options (e.g. look-back period, payment option, etc.) and to purchase Redshift Reserved Nodes.

\n

Additional Resources


Information on Redshift Reserved Nodes and how they can save you money can be found here.
\nFor more information on this recommendation, see Reserved Instance Optimization Check Questions in the Trusted Advisor FAQs.
\nFor more detailed description of fields, see Cost Explorer documentation", "id": "1qw23er45t", "metadata": { - "properties.averageUtilization": "Expected Average Reserved Node Utilization", - "properties.estimatedBreakEvenInMonths": "Estimated Break Even (months)", - "properties.estimatedMonthlyOnDemandCost": "Estimated On-Demand Cost Post Recommended Reserved Nodes Purchase (monthly)", - "properties.estimatedMonthlySavingsAmount": "Estimated Savings with Recommendation (monthly)", - "properties.family": "Family", - "properties.lookbackPeriodInDays": "Lookback Period (days)", - "properties.nodeType": "Node Type", - "properties.recommendedNumberOfInstancesToPurchase": "Recommended number of Reserved Nodes to purchase", - "properties.recurringStandardMonthlyCost": "Estimated cost of Reserved Nodes (monthly)", - "properties.region": "Region", - "properties.termInYears": "Term (years)", - "properties.upfrontCost": "Upfront Cost of Reserved Nodes" + "0": "Region", + "1": "Family", + "10": "Lookback Period (days)", + "11": "Term (years)", + "2": "Node Type", + "3": "Recommended number of Reserved Nodes to purchase", + "4": "Expected Average Reserved Node Utilization", + "5": "Estimated Savings with Recommendation (monthly)", + "6": "Upfront Cost of Reserved Nodes", + "7": "Estimated cost of Reserved Nodes (monthly)", + "8": "Estimated On-Demand Cost Post Recommended Reserved Nodes Purchase (monthly)", + "9": "Estimated Break Even (months)" }, "name": "Amazon Redshift Reserved Node Optimization", "pillars": [ @@ -538,7 +651,7 @@ "source": "ta_check" } ], - "nextToken": "AAMA-EFRSURBSGhRVGVBMmRTaGNReVg2WmJuREtyc2QxUDBYdktFVDg3dXVCMkM2UHVseVBBRVVwQzBxdDBCOFAzZDRJczV2aGN0cUFBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTWxoM2N4K1JBTm9TM2tqVHNBZ0VRZ0R0U1hlNzVJNG4vZHljU0plUWN6NHJONVVHZmVEQ1FsT3pQdmx3V29lUndJMWs4QldJZ3FIRnNJMDUzSTRNSnlWQUsxeCtJN1ROM2hrcmZPUT09sJdl-7H5vLEjKO0UvvSHSUgK48BRPR5gU8d9MbO68zE_aQsbJcIiW0AAVnc6YGhUFEcdpnIszLoB6QHKZwTnEIXv5jkt7nFhorlfeT_YqCAPMrQsbJKGwCRAyTkHYPbQCHZtlE-hb9TnGmBO1I44yB9yoqE2iy9BwsdGm_GDAtBkDWng_WJP0_qWBnZlbtGnJrseVbV5UN1vNfTvxFJ1TQ8JSQpiFwgQ_JIMcj3fVyhON1K1QoWGn6fPpYyN5ZwNh4imjrIBl3O3RoKz5EXpJG3yFqA_UhXIfQa0eaNcRqNadbYkLok=" + "nextToken": "" } } ], @@ -678,10 +791,13 @@ { "accountId": "000000000000", "accountRecommendationArn": "arn:aws:trustedadvisor::000000000000:recommendation/9534ec9b-bf3a-44e8-8213-2ed68b39d9d5", - "lifecycleStage": "resolved" + "lifecycleStage": "resolved", + "updateReason": "Resolved issue", + "updateReasonCode": "valid_business_case", + "lastUpdatedAt": "2023-01-17T18:25:44.552Z" } ], - "nextToken": "AAMA-EFRSURBSGhRVGVBMmRTaGNReVg2WmJuREtyc2QxUDBYdktFVDg3dXVCMkM2UHVseVBBRXh1QXZLTHlrTTFGcExuNmxVbWcxdEFBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTUY2WWU5NVVZZXVBY0ZyOS9BZ0VRZ0RzZmZWdkFNYWU3akxUS0Fmc1dBUmdsTlJadWI3ZDhGWHF5eTNBOTloenpzNUJ3WUZnWjY3MzM1N3B2eGVQcDhQMHl3NGJrSFlHMTNEN0NaQT09KF3n6Ghj-Z9I8pjzwpxNB8fZMSZCS2Eh5pZdfoz5BP87e0KUXIzWLwupY-OGmK_klEh_J6lQMjVZmvR_C1BqTqZs0t3O0UNh29UPNdvfxIC2y2Wkrl4vKf8Zjs60ysx_eP9vVX01kpv1mxacIji9gp6lCRkMEAMmCfqW8a4bUKLZ93umoGVdYCPn_nKZHMHvqDtpHO-zHMeW2hXf8RQNQKR9pfWDsp_NBjWBqkaTuNyjOE3ardMrFnyK7CMvIHjBwn8_8guzGpY0UKVNldWzyUQRbgVXTxF-xkSMzxrOm6rxMXFbrAE=" + "nextToken": "" } } ], @@ -811,18 +927,19 @@ "id": "bb38affc0ce0681d9a6cd13f302383ba03a8f63dfe7a379dc403c619119d86af", "lastUpdatedAt": "2023-11-01T15:09:51.891Z", "metadata": { - "daysSinceLastConnection": "14", - "estimatedMonthlySavings": "208.79999999999998", - "instanceName": "database-1-instance-1", - "instanceType": "db.r5.large", - "multiAZ": "false", - "region": "us-west-2", - "resourceARN": "arn:aws:rds:us-west-2:000000000000:db:database-1-instance-1", - "storageSizeGB": "1" + "0": "14", + "1": "208.79999999999998", + "2": "database-1-instance-1", + "3": "db.r5.large", + "4": "false", + "5": "us-west-2", + "6": "arn:aws:rds:us-west-2:000000000000:db:database-1-instance-1", + "7": "1" }, "recommendationArn": "arn:aws:trustedadvisor:::organization-recommendation/5a694939-2e54-45a2-ae72-730598fa89d0", "regionCode": "us-west-2", - "status": "warning" + "status": "warning", + "exclusionStatus": "excluded" }, { "arn": "arn:aws:trustedadvisor::000000000000:recommendation-resource/5a694939-2e54-45a2-ae72-730598fa89d0/51fded4d7a3278818df9cfe344ff5762cec46c095a6763d1ba1ba53bd0e1b0e6", @@ -830,18 +947,19 @@ "id": "51fded4d7a3278818df9cfe344ff5762cec46c095a6763d1ba1ba53bd0e1b0e6", "lastUpdatedAt": "2023-11-01T15:09:51.891Z", "metadata": { - "daysSinceLastConnection": "14", - "estimatedMonthlySavings": "31.679999999999996", - "instanceName": "database-1", - "instanceType": "db.t3.small", - "multiAZ": "false", - "region": "us-west-2", - "resourceARN": "arn:aws:rds:us-west-2:000000000000:db:database-1", - "storageSizeGB": "20" + "0": "14", + "1": "31.679999999999996", + "2": "database-1", + "3": "db.t3.small", + "4": "false", + "5": "us-west-2", + "6": "arn:aws:rds:us-west-2:000000000000:db:database-1", + "7": "20" }, "recommendationArn": "arn:aws:trustedadvisor:::organization-recommendation/5a694939-2e54-45a2-ae72-730598fa89d0", "regionCode": "us-west-2", - "status": "warning" + "status": "warning", + "exclusionStatus": "excluded" }, { "arn": "arn:aws:trustedadvisor::000000000000:recommendation-resource/5a694939-2e54-45a2-ae72-730598fa89d0/f4d01bd20f4cd5372062aafc8786c489e48f0ead7cdab121463bf9f89e40a36b", @@ -849,21 +967,22 @@ "id": "f4d01bd20f4cd5372062aafc8786c489e48f0ead7cdab121463bf9f89e40a36b", "lastUpdatedAt": "2023-11-01T15:09:51.891Z", "metadata": { - "daysSinceLastConnection": "14", - "estimatedMonthlySavings": "187.20000000000002", - "instanceName": "database-2-instance-1-us-west-2a", - "instanceType": "db.r6g.large", - "multiAZ": "true", - "region": "us-west-2", - "resourceARN": "arn:aws:rds:us-west-2:000000000000:db:database-2-instance-1-us-west-2a", - "storageSizeGB": "1" + "0": "14", + "1": "187.20000000000002", + "2": "database-2-instance-1-us-west-2a", + "3": "db.r6g.large", + "4": "true", + "5": "us-west-2", + "6": "arn:aws:rds:us-west-2:000000000000:db:database-2-instance-1-us-west-2a", + "7": "1" }, "recommendationArn": "arn:aws:trustedadvisor:::organization-recommendation/5a694939-2e54-45a2-ae72-730598fa89d0", "regionCode": "us-west-2", - "status": "warning" + "status": "warning", + "exclusionStatus": "included" } ], - "nextToken": "AAMA-EFRSURBSGhRVGVBMmRTaGNReVg2WmJuREtyc2QxUDBYdktFVDg3dXVCMkM2UHVseVBBRkh6azN0L1pnN1RldmE4L0N2TjRBOUFBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTTF2dEdvL0hyYjgrekZxL3FBZ0VRZ0Rzem5HWHZiV2NhOG5TdEE5ZmFoWHpSRm1xU0dUcVAvOFBteW5OWFFkZjNKT3NMUXNDblVsMTlCUnZHS3BKQnFZTlNwbXl2VEllaGFEU1gvUT09W0JMIfQ6puz70ZdK2v6sV1XDCgBIh_e6D-jVUuQQjUaIoy0uLO9QfGrlcSiJ-WvNfhbg8zO0JLcNl6s6bXqZZPZYtnMXiZ_-ygAQhajX_ObCAOedCjpcfikGf6d6KwrjVUplGOaO_NA0Xp6LJExCnViusJCzmKbLOHoBSsdEknb4kY88-iZ1lebblumsWBxsZ8ADcguSLon5IXlejoDf6UukwoM3Z7EjIue3O_OR0gT9DST52shjyNObOzPizO-auI2ZoNKE1y4bzIKtWHzqRfAHHMT4VspFBm58564FqedKqF-D71k=" + "nextToken": "" } } ], @@ -914,6 +1033,13 @@ "smithy.api#httpQuery": "status" } }, + "exclusionStatus": { + "target": "com.amazonaws.trustedadvisor#ExclusionStatus", + "traits": { + "smithy.api#documentation": "

The exclusion status of the resource

", + "smithy.api#httpQuery": "exclusionStatus" + } + }, "regionCode": { "target": "smithy.api#String", "traits": { @@ -1009,13 +1135,13 @@ "security" ], "resourcesAggregates": { - "errorCount": 150, - "okCount": 500, - "warningCount": 100 + "errorCount": 0, + "okCount": 0, + "warningCount": 0 }, "source": "ta_check", - "status": "ok", - "type": "standard" + "status": "warning", + "type": "priority" }, { "arn": "arn:aws:trustedadvisor:::organization-recommendation/4ecff4d4-1bc1-4c99-a5b8-0fff9ee500d6", @@ -1030,23 +1156,23 @@ "security" ], "resourcesAggregates": { - "errorCount": 150, - "okCount": 500, - "warningCount": 100 + "errorCount": 0, + "okCount": 0, + "warningCount": 0 }, "source": "ta_check", - "status": "ok", - "type": "standard" + "status": "warning", + "type": "priority" } ], - "nextToken": "AAMA-EFRSURBSGhRVGVBCmRTaGNReVg2WmJuREtyc2QxUDBYdktFVDg3dXVCMkM2UHVseVBBSEwveUo0WGtzUERDZUEweDdjVXNJUkFBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTVA1Q0tvVHlvaVBMMXBheFJBZ0VRZ0R0M3NSQXhJNVNoNVJGdFpXN2tjc3JRenlDSDFqaHRkbXp6VTYxZkw0V2lKbkhWeTFqZllaY2prNERPd1hUM2lZVjdZdnJpblRjRFNIVHExZz09wONgOWmSmHcQa82lL7tfrIIiz5kwiP348ZRHDFnNtRRBmuyjwEy8nWAjw_ldisYaifLWtlT31JCln5EAe7tt9c5D_pn2gh-m6EIakcQKX61DY-wuxYIKfeu1ibferY2wq_dTEbqXY6OVN-0N84GKe2azBRV9N80PLouIpG-bt9VjsqdTviEFs3eQnEDJnxRGQmgXrJQFTZIqSLDSsC2-niOVkY7HNvWtLT3fHvXUfFDfD5XlMeWL3DBbnD9beij553VbvnbuKj50BcoV2zWqgc8_eFM4xM0Gsc16OajX0Xio6ZdmwOM=" + "nextToken": "" } }, { "title": "Filter and return a max of one AWS Organization Recommendation that is a part of the \"security\" pillar", "input": { "pillar": "security", - "maxResults": 1 + "maxResults": 100 }, "output": { "organizationRecommendationSummaries": [ @@ -1063,24 +1189,24 @@ "security" ], "resourcesAggregates": { - "errorCount": 150, - "okCount": 500, - "warningCount": 100 + "errorCount": 0, + "okCount": 0, + "warningCount": 0 }, "source": "ta_check", - "status": "ok", - "type": "standard" + "status": "warning", + "type": "priority" } ], - "nextToken": "AAMA-EFRSURBSGhRVGVBMmRTaGNReVg2WmJuREtyc2QxUDBYdktFVDg3dXVCMkM2UHVseVBBSG15cmpVYXd3bUtUM0J2dzhleUsyakFBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTUFadFFiRTl2VmlCZWN4WHNBZ0VRZ0RzdWRPMTFVWDNjUW9MNStEeTU0QktWQlNMeDBSa3RoeG9UZVJONjRFQzJBUDdvMTdvRTMxTWlJL1FvdE9neGtYWk1aZmx1dFpybHBwRjRTUT093orMKsmELla57p7di2_DnzTGQJxzgjD9HBZApR3831zITqaZo5aTHJ8q59gon_DhD0s2sm3dY8f3SmZxI7IevqI6Vz1UTY0C3IIsyA6XrQiXwfNo36mumo_W7eSf9xNk1CD_to2qwxq-b6m1-88SfNzfvzoA4x52DBczJZNYERmdQRkh-CRs3CSnTdFdXvb8fuyONmJnJuSB5x06IIBpMhLIQqNYLkofnsWRxDUAppOE0aRNfzC4iajmWq9JiYytfc9yGsbU4bqplPYerEtSIRau0QfBrnfifJL7VilfaIwrEs_j_ekqLQ==" + "nextToken": "" } }, { "title": "Use the \"nextToken\" returned from a previous request to fetch the next page of filtered AWS Organization Recommendations that are a part of the \"security\" pillar", "input": { - "nextToken": "AAMA-EFRSURBSGhRVGVBMmRTaGNReVg2WmJuREtyc2QxUDBYdktFVDg3dXVCMkM2UHVseVBBSG15cmpVYXd3bUtUM0J2dzhleUsyakFBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTUFadFFiRTl2VmlCZWN4WHNBZ0VRZ0RzdWRPMTFVWDNjUW9MNStEeTU0QktWQlNMeDBSa3RoeG9UZVJONjRFQzJBUDdvMTdvRTMxTWlJL1FvdE9neGtYWk1aZmx1dFpybHBwRjRTUT093orMKsmELla57p7di2_DnzTGQJxzgjD9HBZApR3831zITqaZo5aTHJ8q59gon_DhD0s2sm3dY8f3SmZxI7IevqI6Vz1UTY0C3IIsyA6XrQiXwfNo36mumo_W7eSf9xNk1CD_to2qwxq-b6m1-88SfNzfvzoA4x52DBczJZNYERmdQRkh-CRs3CSnTdFdXvb8fuyONmJnJuSB5x06IIBpMhLIQqNYLkofnsWRxDUAppOE0aRNfzC4iajmWq9JiYytfc9yGsbU4bqplPYerEtSIRau0QfBrnfifJL7VilfaIwrEs_j_ekqLQ==", + "nextToken": "", "pillar": "security", - "maxResults": 1 + "maxResults": 100 }, "output": { "organizationRecommendationSummaries": [ @@ -1097,13 +1223,13 @@ "security" ], "resourcesAggregates": { - "errorCount": 150, - "okCount": 500, - "warningCount": 100 + "errorCount": 0, + "okCount": 0, + "warningCount": 0 }, "source": "ta_check", - "status": "ok", - "type": "standard" + "status": "warning", + "type": "priority" } ] } @@ -1276,18 +1402,19 @@ "awsResourceId": "webcms-dev-01", "lastUpdatedAt": "2023-11-01T15:09:51.891Z", "metadata": { - "daysSinceLastConnection": "14", - "estimatedMonthlySavings": "123.12000000000002", - "instanceName": "webcms-dev-01", - "instanceType": "db.m6i.large", - "multiAZ": "false", - "region": "us-east-1", - "resourceARN": "arn:aws:rds:us-east-1:000000000000:db:webcms-dev-01", - "storageSizeGB": "20" + "0": "14", + "1": "123.12000000000002", + "2": "webcms-dev-01", + "3": "db.m6i.large", + "4": "false", + "5": "us-east-1", + "6": "arn:aws:rds:us-east-1:000000000000:db:webcms-dev-01", + "7": "20" }, "recommendationArn": "arn:aws:trustedadvisor::000000000000:recommendation/55fa4d2e-bbb7-491a-833b-5773e9589578", "regionCode": "us-east-1", - "status": "warning" + "status": "warning", + "exclusionStatus": "excluded" }, { "arn": "arn:aws:trustedadvisor::000000000000:recommendation-resource/55fa4d2e-bbb7-491a-833b-5773e9589578/e6367ff500ac90db8e4adeb4892e39ee9c36bbf812dcbce4b9e4fefcec9eb63e", @@ -1295,18 +1422,19 @@ "awsResourceId": "aws-dev-db-stack-instance-1", "lastUpdatedAt": "2023-11-01T15:09:51.891Z", "metadata": { - "daysSinceLastConnection": "14", - "estimatedMonthlySavings": "29.52", - "instanceName": "aws-dev-db-stack-instance-1", - "instanceType": "db.t2.small", - "multiAZ": "false", - "region": "us-east-1", - "resourceARN": "arn:aws:rds:us-east-1:000000000000:db:aws-dev-db-stack-instance-1", - "storageSizeGB": "1" + "0": "14", + "1": "29.52", + "2": "aws-dev-db-stack-instance-1", + "3": "db.t2.small", + "4": "false", + "5": "us-east-1", + "6": "arn:aws:rds:us-east-1:000000000000:db:aws-dev-db-stack-instance-1", + "7": "1" }, "recommendationArn": "arn:aws:trustedadvisor::000000000000:recommendation/55fa4d2e-bbb7-491a-833b-5773e9589578", "regionCode": "us-east-1", - "status": "warning" + "status": "warning", + "exclusionStatus": "included" }, { "arn": "arn:aws:trustedadvisor::000000000000:recommendation-resource/55fa4d2e-bbb7-491a-833b-5773e9589578/31aa78ba050a5015d2d38cca7f5f1ce88f70857c4e1c3ad03f8f9fd95dad7459", @@ -1314,21 +1442,22 @@ "awsResourceId": "aws-awesome-apps-stack-db", "lastUpdatedAt": "2023-11-01T15:09:51.891Z", "metadata": { - "daysSinceLastConnection": "14", - "estimatedMonthlySavings": "114.48000000000002", - "instanceName": "aws-awesome-apps-stack-db", - "instanceType": "db.m6g.large", - "multiAZ": "false", - "region": "us-east-1", - "resourceARN": "arn:aws:rds:us-east-1:000000000000:db:aws-awesome-apps-stack-db", - "storageSizeGB": "100" + "0": "14", + "1": "114.48000000000002", + "2": "aws-awesome-apps-stack-db", + "3": "db.m6g.large", + "4": "false", + "5": "us-east-1", + "6": "arn:aws:rds:us-east-1:000000000000:db:aws-awesome-apps-stack-db", + "7": "100" }, "recommendationArn": "arn:aws:trustedadvisor::000000000000:recommendation/55fa4d2e-bbb7-491a-833b-5773e9589578", "regionCode": "us-east-1", - "status": "warning" + "status": "warning", + "exclusionStatus": "excluded" } ], - "nextToken": "AAMA-EFRSURBSGhRVGVBMmJTaGNReVg2WmJuREtyc2QxUDBYdktFVDg3dXVCMkM2UHVseVBBRmZpZ2taY09rdSt5VXhocEdLR0k3TUFBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTWZoU3BQNUxtMkt3THpCTG5BZ0VRZ0R2WjBHdzljc3RsV2ZiSkg0QkcvUkJQZDhIc0dGTHNLOXhLc1p5bU8vVlBtYy90dThSYmVKVUhxM3RTS1JwUDB4bWp2dU1jSGQxV3BOTU40UT09pyOzpADaUjX5i75XDGEpw6TEkHoxZsepcoWjQtXjvAYrKILVkdI0lpSZqghK4mPnFGgecInr0_-BJ4ud9TPCZmnNxr7MuYTYJVFWArAaddEw3oJFOY8YLQHjJ37LsY_dEpMN6oDwdAdcdyEZBUBeK71f6XPQa0S1sw5Si_NYuJEvQ3bPZiS8V07IUkUUhe_gE1_xjGK2mA3eTW0wiylW0l8jfz3u8lC6md_5GmvVrtphEkWoc4A9DIfR9CsX_bmvOa4P3NI9rZ9-gezuhkd3k3nXqH52hZPI1fl5iyd4vSFXlvaeawI=" + "nextToken": "" } } ], @@ -1379,6 +1508,13 @@ "smithy.api#httpQuery": "status" } }, + "exclusionStatus": { + "target": "com.amazonaws.trustedadvisor#ExclusionStatus", + "traits": { + "smithy.api#documentation": "

The exclusion status of the resource

", + "smithy.api#httpQuery": "exclusionStatus" + } + }, "regionCode": { "target": "smithy.api#String", "traits": { @@ -1473,7 +1609,7 @@ "security" ], "resourcesAggregates": { - "errorCount": 0, + "errorCount": 1, "okCount": 0, "warningCount": 0 }, @@ -1501,22 +1637,22 @@ ], "resourcesAggregates": { "errorCount": 0, - "okCount": 0, - "warningCount": 0 + "okCount": 3, + "warningCount": 6 }, "source": "ta_check", - "status": "ok", + "status": "warning", "type": "standard" } ], - "nextToken": "AAMA-EFRSURBSGhRVGVBMmRTaGNReVg2WmJuREtyc2QxUDBYdktFVDg3dXVCMkM2UHVseVBBR3RUWW1ma3MwY0plS0llWENTZHV0SkFBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTUVSUDNkclhLblpkd3h4MW5BZ0VRZ0RzTFBpOTlzZmppYXJxMjJoMHlRWDV6bkFuRGZna3FOZEpKaWtuUGloUWpFRzFrSnR6eWV2UGVjWFZudEw1RHQ0dkdvQ1RXL2hGeERFNG44QT09NZONpU850LXJxneOHiAMVmAkpDmCUH5-ob34VBXNqkq9y3s54mW4se3VGv6Ds85WwEaW9uEAM3HpLWMLJjw6u3rLFdwzvNsmicgmGvBd_kZVXJ_bo3Oqgo9koXDg5ltCZt8nxhp-6FnU8dyBDdSENAlQ3ldIb6QIyyRCH5185coh7UYIjbtd7Ne-TMgHk2HsLongKnbz1Lq6dfOm3mqHyJHAmrU8Qnbm10X2Ph9ZsolloEw4HiGMdEKL5-DnGRgXp3gZLuOTrAuukHwqpd1-cRZYHxmjaIUFiSuVuSC4QlWDeeiqlPo=" + "nextToken": "" } }, { "title": "Filter and return a max of one Recommendation that is a part of AWS IAM", "input": { "awsService": "iam", - "maxResults": 1 + "maxResults": 100 }, "output": { "recommendationSummaries": [ @@ -1539,7 +1675,7 @@ "security" ], "resourcesAggregates": { - "errorCount": 0, + "errorCount": 1, "okCount": 0, "warningCount": 0 }, @@ -1548,15 +1684,15 @@ "type": "standard" } ], - "nextToken": "AAMA-EFRSURBSGhRVGVBMmRTaGNReVg2WmJuREtyc2QxUDBYdktFVDg3dXVCMkM2UHVseVBBR01zYktEMDlmSm5nSkM1TGYzaWtTNkFBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTVlwVDdDRk01cTdzV0JnRmhBZ0VRZ0R1dVg4dkVOYjZYTHJ6WVhvUlBWQVg1YU5KZkkraElsNk5lTjh3TXpzWkhHUEVzWXNkbXI2bTZzNTl1TEhKWUN2dGpqOENpTzVzM0FDT3BqZz09S35zPCUsSxxYFtdXw7z8BaSuDmz9P1Toit_MFrXsfpnPmDd6Q1f1NaJhi3O8NoZvzinXknKoKxTeqSumUaHe7W3n6Xa3661LF979aPdhifpKw3-MQpb5oGdXGgU7UMlXHzwISkND7sLlh_s0V-jkRvWPZjLHwLg4dUCQnIqMEwo5G3IG6Ffn-SKHhqPimTnzgOrxK2i9LA0EEj6msvH00h4YXuG9M3hFP9X52T19ZGZfdDPhVKCtSshXtQ8zcCUB8ykgw8ROJvAwzQk8I1PMIS4dirHySKOgoowu4Um3bZE6hHex-zXsjA==" + "nextToken": "" } }, { - "title": "Use the \"nextToken\" returned from a previous request to fetch the next page of filtered Recommendations that are a part of AWS IAM", + "title": "Use the \"nextToken\" returned from a previous request to fetch the next page of filtered Recommendations", "input": { - "nextToken": "AAMA-EFRSURBSGhRVGVBMmRTaGNReVg2WmJuREtyc2QxUDBYdktFVDg3dXVCMkM2UHVseVBBR01zYktEMDlmSm5nSkM1TGYzaWtTNkFBQUFmakI4QmdrcWhraUc5dzBCQndhZ2J6QnRBZ0VBTUdnR0NTcUdTSWIzRFFFSEFUQWVCZ2xnaGtnQlpRTUVBUzR3RVFRTVlwVDdDRk01cTdzV0JnRmhBZ0VRZ0R1dVg4dkVOYjZYTHJ6WVhvUlBWQVg1YU5KZkkraElsNk5lTjh3TXpzWkhHUEVzWXNkbXI2bTZzNTl1TEhKWUN2dGpqOENpTzVzM0FDT3BqZz09S35zPCUsSxxYFtdXw7z8BaSuDmz9P1Toit_MFrXsfpnPmDd6Q1f1NaJhi3O8NoZvzinXknKoKxTeqSumUaHe7W3n6Xa3661LF979aPdhifpKw3-MQpb5oGdXGgU7UMlXHzwISkND7sLlh_s0V-jkRvWPZjLHwLg4dUCQnIqMEwo5G3IG6Ffn-SKHhqPimTnzgOrxK2i9LA0EEj6msvH00h4YXuG9M3hFP9X52T19ZGZfdDPhVKCtSshXtQ8zcCUB8ykgw8ROJvAwzQk8I1PMIS4dirHySKOgoowu4Um3bZE6hHex-zXsjA==", - "awsService": "iam", - "maxResults": 1 + "nextToken": "", + "awsService": "rds", + "maxResults": 100 }, "output": { "recommendationSummaries": [ @@ -1580,11 +1716,11 @@ ], "resourcesAggregates": { "errorCount": 0, - "okCount": 0, - "warningCount": 0 + "okCount": 3, + "warningCount": 6 }, "source": "ta_check", - "status": "ok", + "status": "warning", "type": "standard" } ] @@ -1936,6 +2072,13 @@ "smithy.api#timestampFormat": "date-time" } }, + "exclusionStatus": { + "target": "com.amazonaws.trustedadvisor#ExclusionStatus", + "traits": { + "smithy.api#default": "included", + "smithy.api#documentation": "

The exclusion status of the Recommendation Resource

" + } + }, "accountId": { "target": "com.amazonaws.trustedadvisor#AccountId", "traits": { @@ -2437,6 +2580,41 @@ "smithy.api#pattern": "^arn:[\\w-]+:trustedadvisor::\\d{12}:recommendation-resource\\/[\\w-]+\\/[\\w-]+$" } }, + "com.amazonaws.trustedadvisor#RecommendationResourceExclusion": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.trustedadvisor#RecommendationResourceArn", + "traits": { + "smithy.api#documentation": "

The ARN of the Recommendation Resource

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

The exclusion status

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

The request entry for Recommendation Resource exclusion. Each entry is a combination of Recommendation Resource ARN and corresponding exclusion status

" + } + }, + "com.amazonaws.trustedadvisor#RecommendationResourceExclusionList": { + "type": "list", + "member": { + "target": "com.amazonaws.trustedadvisor#RecommendationResourceExclusion" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#uniqueItems": {} + } + }, "com.amazonaws.trustedadvisor#RecommendationResourceSummary": { "type": "structure", "members": { @@ -2490,6 +2668,13 @@ "smithy.api#timestampFormat": "date-time" } }, + "exclusionStatus": { + "target": "com.amazonaws.trustedadvisor#ExclusionStatus", + "traits": { + "smithy.api#default": "included", + "smithy.api#documentation": "

The exclusion status of the Recommendation Resource

" + } + }, "recommendationArn": { "target": "com.amazonaws.trustedadvisor#AccountRecommendationArn", "traits": { @@ -2850,6 +3035,9 @@ "type": "service", "version": "2022-09-15", "operations": [ + { + "target": "com.amazonaws.trustedadvisor#BatchUpdateRecommendationResourceExclusion" + }, { "target": "com.amazonaws.trustedadvisor#GetOrganizationRecommendation" }, @@ -3624,7 +3812,7 @@ } ], "traits": { - "smithy.api#documentation": "

Update the lifecyle of a Recommendation within an Organization. This API only supports prioritized\n recommendations.\n

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

Update the lifecycle of a Recommendation within an Organization. This API only supports prioritized\n recommendations.\n

", "smithy.api#examples": [ { "title": "Update the lifecycle stage of an AWS Organization's Recommendation that is managed by AWS Trusted Advisor Priority", @@ -3843,6 +4031,38 @@ } } }, + "com.amazonaws.trustedadvisor#UpdateRecommendationResourceExclusionError": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.trustedadvisor#RecommendationResourceArn", + "traits": { + "smithy.api#documentation": "

The ARN of the Recommendation Resource

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

The error code

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

The error message

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

The error entry for Recommendation Resource exclusion. Each entry is a combination of Recommendation Resource ARN, error code and error message

" + } + }, + "com.amazonaws.trustedadvisor#UpdateRecommendationResourceExclusionErrorList": { + "type": "list", + "member": { + "target": "com.amazonaws.trustedadvisor#UpdateRecommendationResourceExclusionError" + } + }, "com.amazonaws.trustedadvisor#ValidationException": { "type": "structure", "members": { From 3a20afd47a91602fca80208f0993ee59d646ac73 Mon Sep 17 00:00:00 2001 From: aws-sdk-kotlin-ci Date: Mon, 29 Apr 2024 18:05:59 +0000 Subject: [PATCH 13/16] feat: update AWS service endpoints metadata --- .../src/main/resources/aws/sdk/kotlin/codegen/endpoints.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json b/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json index 85d596c563a..1081e9296cf 100644 --- a/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json +++ b/codegen/aws-sdk-codegen/src/main/resources/aws/sdk/kotlin/codegen/endpoints.json @@ -21565,7 +21565,7 @@ "credentialScope" : { "region" : "cn-northwest-1" }, - "hostname" : "subscribe.mediaconvert.cn-northwest-1.amazonaws.com.cn" + "hostname" : "mediaconvert.cn-northwest-1.amazonaws.com.cn" } } }, From 5b7a7439b8b3f7c9fbf27b668de1357375d1d18d Mon Sep 17 00:00:00 2001 From: aws-sdk-kotlin-ci Date: Mon, 29 Apr 2024 18:08:46 +0000 Subject: [PATCH 14/16] chore: release 1.2.1 --- CHANGELOG.md | 10 ++++++++++ gradle.properties | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 44113f45b5f..c782e2f582e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## [1.2.1] - 04/29/2024 + +### Features +* (**amplify**) Updating max results limit for listing any resources (Job, Artifacts, Branch, BackendResources, DomainAssociation) to 50 with the exception of list apps that where max results can be up to 100. +* (**connectcases**) This feature releases DeleteField, DeletedLayout, and DeleteTemplate API's +* (**inspector2**) Update Inspector2 to include new Agentless API parameters. +* (**timestreamquery**) This change allows users to update and describe account settings associated with their accounts. +* (**transcribe**) This update provides error messaging for generative call summarization in Transcribe Call Analytics +* (**trustedadvisor**) This release adds the BatchUpdateRecommendationResourceExclusion API to support batch updates of Recommendation Resource exclusion statuses and introduces a new exclusion status filter to the ListRecommendationResources and ListOrganizationRecommendationResources APIs. + ## [1.2.0] - 04/27/2024 ### Fixes diff --git a/gradle.properties b/gradle.properties index f56429b0002..fabec16fb67 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ kotlin.native.ignoreDisabledTargets=true org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=2G # sdk -sdkVersion=1.2.1-SNAPSHOT +sdkVersion=1.2.1 # dokka config (values specified at build-time as needed) smithyKotlinDocBaseUrl=https://sdk.amazonaws.com/kotlin/api/smithy-kotlin/api/$smithyKotlinRuntimeVersion/ From c0099ac76d7cf585a722f71f759c5005e4402dd7 Mon Sep 17 00:00:00 2001 From: aws-sdk-kotlin-ci Date: Mon, 29 Apr 2024 18:08:48 +0000 Subject: [PATCH 15/16] chore: bump snapshot version to 1.2.2-SNAPSHOT --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index fabec16fb67..2164f2c870e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ kotlin.native.ignoreDisabledTargets=true org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=2G # sdk -sdkVersion=1.2.1 +sdkVersion=1.2.2-SNAPSHOT # dokka config (values specified at build-time as needed) smithyKotlinDocBaseUrl=https://sdk.amazonaws.com/kotlin/api/smithy-kotlin/api/$smithyKotlinRuntimeVersion/ From 2c511991a8b3b3533e24bf485629c38fc638de1f Mon Sep 17 00:00:00 2001 From: 0marperez <60363173+0marperez@users.noreply.github.com> Date: Mon, 29 Apr 2024 13:59:49 -0600 Subject: [PATCH 16/16] feat: artifact size metrics (#1290) --- .github/actions/setup-build/action.yml | 2 +- .github/scripts/run-codebuild-batch-job.sh | 46 +++++-- .github/workflows/codebuild-ci.yml | 152 ++++++++++++++++++++- build.gradle.kts | 8 ++ gradle/libs.versions.toml | 3 +- 5 files changed, 195 insertions(+), 16 deletions(-) diff --git a/.github/actions/setup-build/action.yml b/.github/actions/setup-build/action.yml index 9a01b590a6a..8201ca1f38f 100644 --- a/.github/actions/setup-build/action.yml +++ b/.github/actions/setup-build/action.yml @@ -10,7 +10,7 @@ runs: with: path: 'aws-kotlin-repo-tools' repository: 'awslabs/aws-kotlin-repo-tools' - ref: '0.2.3' + ref: '0.4.2' sparse-checkout: | .github - name: Checkout smithy-kotlin diff --git a/.github/scripts/run-codebuild-batch-job.sh b/.github/scripts/run-codebuild-batch-job.sh index 357427a6a4a..46d585d96b4 100755 --- a/.github/scripts/run-codebuild-batch-job.sh +++ b/.github/scripts/run-codebuild-batch-job.sh @@ -8,8 +8,11 @@ error_exit() { PROJECT_NAME=gh-aws-sdk-kotlin-svc-check-batch # get the source version to be built (defaults to main branch if not specified) SOURCE_VERSION=main -SDK_PR="" -SMITHY_PR="" +GITHUB_RELEASE="" +GITHUB_PULL_REQUEST_NUMBER="" +GITHUB_REPOSITORY_NO_ORG="" +EXTERNAL_CONTRIBUTOR_SDK_PR="" +EXTERNAL_CONTRIBUTOR_SMITHY_PR="" while [[ $# -gt 0 ]]; do case "$1" in @@ -29,19 +32,43 @@ while [[ $# -gt 0 ]]; do shift 2 fi ;; - --sdk-pr) + --release) if [[ "$2" == --* ]]; then shift 1 else - SDK_PR="$2" + GITHUB_RELEASE="$2" shift 2 fi ;; - --smithy-pr) + --pr-number) + if [[ "$2" == --* ]]; then + shift 1 + else + GITHUB_PULL_REQUEST_NUMBER="$2" + shift 2 + fi + ;; + --repository) + if [[ "$2" == --* ]]; then + shift 1 + else + GITHUB_REPOSITORY_NO_ORG="$2" + shift 2 + fi + ;; + --external-contributor-sdk-pr-number) + if [[ "$2" == --* ]]; then + shift 1 + else + EXTERNAL_CONTRIBUTOR_SDK_PR="$2" + shift 2 + fi + ;; + --external-contributor-smithy-pr-number) if [[ "$2" == --* || -z "$2" ]]; then shift 1 else - SMITHY_PR="$2" + EXTERNAL_CONTRIBUTOR_SMITHY_PR="$2" shift 2 fi ;; @@ -52,8 +79,11 @@ while [[ $# -gt 0 ]]; do esac done -export SDK_PR -export SMITHY_PR +export GITHUB_RELEASE +export GITHUB_PULL_REQUEST_NUMBER +export GITHUB_REPOSITORY_NO_ORG +export EXTERNAL_CONTRIBUTOR_SDK_PR +export EXTERNAL_CONTRIBUTOR_SMITHY_PR echo "Starting CodeBuild project ${PROJECT_NAME}" diff --git a/.github/workflows/codebuild-ci.yml b/.github/workflows/codebuild-ci.yml index 201399c6568..48a5b88634a 100644 --- a/.github/workflows/codebuild-ci.yml +++ b/.github/workflows/codebuild-ci.yml @@ -1,9 +1,11 @@ name: AWS CodeBuild CI on: + release: + types: [ published ] pull_request: - branches: - - main + types: [ opened, synchronize, reopened, labeled, unlabeled ] + branches: [ main ] workflow_dispatch: inputs: aws-sdk-kotlin-pr: @@ -27,6 +29,7 @@ env: permissions: id-token: write contents: read + pull-requests: write # Allow one instance of this workflow per pull request, and cancel older runs when new changes are pushed concurrency: @@ -35,6 +38,7 @@ concurrency: jobs: e2e-tests: + if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest steps: - name: Verify PRs are not running malicious code @@ -63,7 +67,8 @@ jobs: aws codebuild stop-build --id $BUILD_ID fi - service-check-batch: + service-check-batch-and-artifact-size-metrics: + if: github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest steps: - name: Verify PRs are not running malicious code @@ -78,14 +83,143 @@ jobs: with: role-to-assume: ${{ secrets.CI_AWS_ROLE_ARN }} aws-region: us-west-2 - - name: Run Service Check Batch + - name: Run Service Check Batch and Calculate Artifact Size Metrics + id: svc-check-batch + run: | + REPOSITORY=$(echo ${{ github.repository }} | cut -d '/' -f 2) + PULL_REQUEST="" + INTERNAL=${{ github.event.number }} + EXTERNAL=${{ inputs.aws-sdk-kotlin-pr }} + + if [ ! -z "$INTERNAL" ]; then + PULL_REQUEST=${{ github.event.number }} + echo "Identified this an internal pull request build: $PULL_REQUEST" + elif [ ! -z "$EXTERNAL" ]; then + PULL_REQUEST=${{ inputs.aws-sdk-kotlin-pr }} + echo "Identified this as an external pull request build: $PULL_REQUEST" + else + echo "Couldn't identify this as an internal or external pull request" + exit 1 + fi + + .github/scripts/run-codebuild-batch-job.sh \ + --project gh-aws-sdk-kotlin-svc-check-batch \ + --source ${{ github.event.pull_request.head.sha }} \ + --pr-number $PULL_REQUEST \ + --repository $REPOSITORY \ + --external-contributor-sdk-pr-number ${{ inputs.aws-sdk-kotlin-pr }} \ + --external-contributor-smithy-pr-number ${{ inputs.smithy-kotlin-pr }} + - name: Cancel build + if: ${{ cancelled() }} + env: + BUILD_ID: ${{ steps.svc-check-batch.outputs.aws-build-id }} + run: | + if [ ! -z "$BUILD_ID" ]; then + echo "cancelling in-progress batch build: id=$BUILD_ID" + aws codebuild stop-build --id $BUILD_ID + fi + - name: Collect Artifact Size Metrics + run: | + PULL_REQUEST="" + INTERNAL=${{ github.event.number }} + EXTERNAL=${{ inputs.aws-sdk-kotlin-pr }} + + if [ ! -z "$INTERNAL" ]; then + PULL_REQUEST=${{ github.event.number }} + echo "Identified this an internal pull request build: $PULL_REQUEST" + elif [ ! -z "$EXTERNAL" ]; then + PULL_REQUEST=${{ inputs.aws-sdk-kotlin-pr }} + echo "Identified this as an external pull request build: $PULL_REQUEST" + else + echo "Couldn't identify this as an internal or external pull request" + exit 1 + fi + + ./gradlew collectDelegatedArtifactSizeMetrics -PpullRequest=$PULL_REQUEST + - name: Analyze Artifact Size Metrics + run: ./gradlew analyzeArtifactSizeMetrics + - name: Show Results + uses: actions/github-script@v7 + with: + script: | + const getComments = + `query { + repository(owner:"${context.repo.owner}", name:"${context.repo.repo}"){ + pullRequest(number: ${context.issue.number}) { + id + comments(last:100) { + nodes { + id + body + author { + login + } + isMinimized + } + } + } + } + }` + + const response = await github.graphql(getComments) + const comments = response.repository.pullRequest.comments.nodes + + const mutations = comments + .filter(comment => comment.author.login == 'github-actions' && !comment.isMinimized && comment.body.startsWith('Affected Artifacts')) + .map(comment => + github.graphql( + `mutation { + minimizeComment(input:{subjectId:"${comment.id}", classifier:OUTDATED}){ + clientMutationId + } + }` + ) + ) + await Promise.all(mutations) + + const fs = require('node:fs') + const comment = fs.readFileSync('build/reports/metrics/artifact-analysis.md', 'utf8') + + const writeComment = + `mutation { + addComment(input:{body:"""${comment}""", subjectId:"${response.repository.pullRequest.id}"}){ + clientMutationId + } + }` + + await github.graphql(writeComment) + + - name: Evaluate Result + if: ${{ !contains(github.event.pull_request.labels.*.name, 'acknowledge-artifact-size-increase') }} + run: | + cd build/reports/metrics + cat has-significant-change.txt | grep false || { + echo An artifact increased in size by more than allowed or a new artifact was created. + echo If this is expected please add the 'acknowledge-artifact-size-increase' label to this pull request. + exit 1 + } + + release-artifact-size-metrics: + if: github.event_name == 'release' + runs-on: ubuntu-latest + steps: + - name: Checkout sources + uses: actions/checkout@v2 + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ secrets.CI_AWS_ROLE_ARN }} + aws-region: us-west-2 + - name: Calculate Artifact Size Metrics id: svc-check-batch run: | + REPOSITORY=$(echo ${{ github.repository }} | cut -d '/' -f 2) + .github/scripts/run-codebuild-batch-job.sh \ --project gh-aws-sdk-kotlin-svc-check-batch \ --source ${{ github.event.pull_request.head.sha }} \ - --sdk-pr ${{ inputs.aws-sdk-kotlin-pr }} \ - --smithy-pr ${{ inputs.smithy-kotlin-pr }} + --repository $REPOSITORY \ + --release ${{ github.event.release.tag_name }} - name: Cancel build if: ${{ cancelled() }} env: @@ -95,3 +229,9 @@ jobs: echo "cancelling in-progress batch build: id=$BUILD_ID" aws codebuild stop-build --id $BUILD_ID fi + - name: Collect Artifact Size Metrics + run: ./gradlew collectDelegatedArtifactSizeMetrics -Prelease=${{ github.event.release.tag_name }} + - name: Save Artifact Size Metrics + run: ./gradlew saveArtifactSizeMetrics + - name: Put Artifact Size Metrics in CloudWatch + run: ./gradlew putArtifactSizeMetricsInCloudWatch -Prelease=${{ github.event.release.tag_name }} diff --git a/build.gradle.kts b/build.gradle.kts index 11f19cc45d0..f2f6e5accb5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -22,6 +22,14 @@ plugins { // ensure the correct version of KGP ends up on our buildscript classpath alias(libs.plugins.kotlin.multiplatform) apply false alias(libs.plugins.kotlin.jvm) apply false + alias(libs.plugins.aws.kotlin.repo.tools.artifactsizemetrics) +} + +artifactSizeMetrics { + artifactPrefixes = setOf(":services", ":aws-runtime") + closurePrefixes = setOf(":services") + significantChangeThresholdPercentage = 5.0 + projectRepositoryName = "aws-sdk-kotlin" } val testJavaVersion = typedProp("test.java.version")?.let { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0c7e57bcf8b..f8b76dd2cf1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,7 +2,7 @@ kotlin-version = "1.9.23" dokka-version = "1.9.10" -aws-kotlin-repo-tools-version = "0.4.0" +aws-kotlin-repo-tools-version = "0.4.4" # libs coroutines-version = "1.7.3" @@ -135,3 +135,4 @@ kotlinx-binary-compatibility-validator = { id = "org.jetbrains.kotlinx.binary-co kotlinx-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin-version"} aws-kotlin-repo-tools-kmp = { id = "aws.sdk.kotlin.gradle.kmp", version.ref = "aws-kotlin-repo-tools-version" } aws-kotlin-repo-tools-smithybuild = { id = "aws.sdk.kotlin.gradle.smithybuild", version.ref = "aws-kotlin-repo-tools-version" } +aws-kotlin-repo-tools-artifactsizemetrics = { id = "aws.sdk.kotlin.gradle.artifactsizemetrics", version.ref = "aws-kotlin-repo-tools-version" }