diff --git a/CHANGELOG.md b/CHANGELOG.md index e51fc6ee88..fafdbb11f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +Release v1.51.29 (2024-04-25) +=== + +### Service Client Updates +* `service/appsync`: Updates service API +* `service/fms`: Updates service API and documentation +* `service/ivs`: Updates service API and documentation +* `service/ivs-realtime`: Updates service API +* `service/rds`: Updates service API, documentation, waiters, paginators, and examples + * Updates Amazon RDS documentation for setting local time zones for RDS for Db2 DB instances. +* `service/states`: Updates service API and documentation + * Add new ValidateStateMachineDefinition operation, which performs syntax checking on the definition of a Amazon States Language (ASL) state machine. + Release v1.51.28 (2024-04-24) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 82b117e72b..99dbf98350 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -40239,6 +40239,15 @@ var awsusgovPartition = partition{ }, "email": service{ Endpoints: serviceEndpoints{ + endpointKey{ + Region: "fips-us-gov-east-1", + }: endpoint{ + Hostname: "email-fips.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + Deprecated: boxedTrue, + }, endpointKey{ Region: "fips-us-gov-west-1", }: endpoint{ @@ -40248,6 +40257,15 @@ var awsusgovPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-gov-east-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "email-fips.us-gov-east-1.amazonaws.com", + }, endpointKey{ Region: "us-gov-west-1", }: endpoint{}, @@ -41677,6 +41695,16 @@ var awsusgovPartition = partition{ }: endpoint{}, }, }, + "license-manager-user-subscriptions": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-gov-west-1", + }: endpoint{}, + }, + }, "logs": service{ Endpoints: serviceEndpoints{ endpointKey{ diff --git a/aws/version.go b/aws/version.go index ccfdcff25c..7910bd62ca 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.51.28" +const SDKVersion = "1.51.29" diff --git a/models/apis/appsync/2017-07-25/api-2.json b/models/apis/appsync/2017-07-25/api-2.json index 6386f93f70..758e424b72 100644 --- a/models/apis/appsync/2017-07-25/api-2.json +++ b/models/apis/appsync/2017-07-25/api-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"appsync", "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceAbbreviation":"AWSAppSync", "serviceFullName":"AWS AppSync", "serviceId":"AppSync", @@ -3073,7 +3074,7 @@ "type":"string", "max":2048, "min":20, - "pattern":"^arn:[a-z-]*:secretsmanager:[a-z0-9-]*:\\d{12}:secret:[0-9A-Za-z_/-]*$" + "pattern":"^arn:[a-z-]*:secretsmanager:[a-z0-9-]*:\\d{12}:secret:[0-9A-Za-z_/+=.@!-]*$" }, "RdsHttpEndpointConfig":{ "type":"structure", @@ -3549,7 +3550,8 @@ "type":"structure", "required":[ "apiId", - "name" + "name", + "authenticationType" ], "members":{ "apiId":{ diff --git a/models/apis/fms/2018-01-01/api-2.json b/models/apis/fms/2018-01-01/api-2.json index e4a5ae8d68..a65f6ae9aa 100644 --- a/models/apis/fms/2018-01-01/api-2.json +++ b/models/apis/fms/2018-01-01/api-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"fms", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"FMS", "serviceFullName":"Firewall Management Service", "serviceId":"FMS", @@ -847,6 +848,7 @@ } }, "Boolean":{"type":"boolean"}, + "BooleanObject":{"type":"boolean"}, "CIDR":{ "type":"string", "max":256, @@ -871,6 +873,23 @@ "type":"list", "member":{"shape":"ComplianceViolator"} }, + "CreateNetworkAclAction":{ + "type":"structure", + "members":{ + "Description":{"shape":"LengthBoundedString"}, + "Vpc":{"shape":"ActionTarget"}, + "FMSCanRemediate":{"shape":"Boolean"} + } + }, + "CreateNetworkAclEntriesAction":{ + "type":"structure", + "members":{ + "Description":{"shape":"LengthBoundedString"}, + "NetworkAclId":{"shape":"ActionTarget"}, + "NetworkAclEntriesToBeCreated":{"shape":"EntriesDescription"}, + "FMSCanRemediate":{"shape":"Boolean"} + } + }, "CustomerPolicyScopeId":{ "type":"string", "max":1024, @@ -907,6 +926,15 @@ "ListId":{"shape":"ListId"} } }, + "DeleteNetworkAclEntriesAction":{ + "type":"structure", + "members":{ + "Description":{"shape":"LengthBoundedString"}, + "NetworkAclId":{"shape":"ActionTarget"}, + "NetworkAclEntriesToBeDeleted":{"shape":"EntriesDescription"}, + "FMSCanRemediate":{"shape":"Boolean"} + } + }, "DeleteNotificationChannelRequest":{ "type":"structure", "members":{ @@ -1105,6 +1133,57 @@ "RouteTableId":{"shape":"ActionTarget"} } }, + "EntriesDescription":{ + "type":"list", + "member":{"shape":"EntryDescription"} + }, + "EntriesWithConflicts":{ + "type":"list", + "member":{"shape":"EntryDescription"} + }, + "EntryDescription":{ + "type":"structure", + "members":{ + "EntryDetail":{"shape":"NetworkAclEntry"}, + "EntryRuleNumber":{"shape":"IntegerObjectMinimum0"}, + "EntryType":{"shape":"EntryType"} + } + }, + "EntryType":{ + "type":"string", + "enum":[ + "FMS_MANAGED_FIRST_ENTRY", + "FMS_MANAGED_LAST_ENTRY", + "CUSTOM_ENTRY" + ] + }, + "EntryViolation":{ + "type":"structure", + "members":{ + "ExpectedEntry":{"shape":"EntryDescription"}, + "ExpectedEvaluationOrder":{"shape":"LengthBoundedString"}, + "ActualEvaluationOrder":{"shape":"LengthBoundedString"}, + "EntryAtExpectedEvaluationOrder":{"shape":"EntryDescription"}, + "EntriesWithConflicts":{"shape":"EntriesWithConflicts"}, + "EntryViolationReasons":{"shape":"EntryViolationReasons"} + } + }, + "EntryViolationReason":{ + "type":"string", + "enum":[ + "MISSING_EXPECTED_ENTRY", + "INCORRECT_ENTRY_ORDER", + "ENTRY_CONFLICT" + ] + }, + "EntryViolationReasons":{ + "type":"list", + "member":{"shape":"EntryViolationReason"} + }, + "EntryViolations":{ + "type":"list", + "member":{"shape":"EntryViolation"} + }, "ErrorMessage":{"type":"string"}, "EvaluationResult":{ "type":"structure", @@ -1378,6 +1457,11 @@ "max":65535, "min":0 }, + "IPPortNumberInteger":{ + "type":"integer", + "max":65535, + "min":0 + }, "Identifier":{ "type":"string", "max":2048, @@ -1388,6 +1472,16 @@ "type":"list", "member":{"shape":"Identifier"} }, + "IntegerObject":{ + "type":"integer", + "max":2147483647, + "min":-2147483648 + }, + "IntegerObjectMinimum0":{ + "type":"integer", + "max":2147483647, + "min":0 + }, "InternalErrorException":{ "type":"structure", "members":{ @@ -1402,6 +1496,16 @@ }, "exception":true }, + "InvalidNetworkAclEntriesViolation":{ + "type":"structure", + "members":{ + "Vpc":{"shape":"ResourceId"}, + "Subnet":{"shape":"ResourceId"}, + "SubnetAvailabilityZone":{"shape":"LengthBoundedString"}, + "CurrentAssociatedNetworkAcl":{"shape":"ResourceId"}, + "EntryViolations":{"shape":"EntryViolations"} + } + }, "InvalidOperationException":{ "type":"structure", "members":{ @@ -1421,6 +1525,11 @@ "key":{"shape":"DependentServiceName"}, "value":{"shape":"DetailedInfo"} }, + "LengthBoundedNonEmptyString":{ + "type":"string", + "max":1024, + "min":1 + }, "LengthBoundedString":{ "type":"string", "max":1024, @@ -1654,6 +1763,68 @@ "min":1, "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, + "NetworkAclCommonPolicy":{ + "type":"structure", + "required":["NetworkAclEntrySet"], + "members":{ + "NetworkAclEntrySet":{"shape":"NetworkAclEntrySet"} + } + }, + "NetworkAclEntries":{ + "type":"list", + "member":{"shape":"NetworkAclEntry"} + }, + "NetworkAclEntry":{ + "type":"structure", + "required":[ + "Protocol", + "RuleAction", + "Egress" + ], + "members":{ + "IcmpTypeCode":{"shape":"NetworkAclIcmpTypeCode"}, + "Protocol":{"shape":"LengthBoundedString"}, + "PortRange":{"shape":"NetworkAclPortRange"}, + "CidrBlock":{"shape":"LengthBoundedNonEmptyString"}, + "Ipv6CidrBlock":{"shape":"LengthBoundedNonEmptyString"}, + "RuleAction":{"shape":"NetworkAclRuleAction"}, + "Egress":{"shape":"BooleanObject"} + } + }, + "NetworkAclEntrySet":{ + "type":"structure", + "required":[ + "ForceRemediateForFirstEntries", + "ForceRemediateForLastEntries" + ], + "members":{ + "FirstEntries":{"shape":"NetworkAclEntries"}, + "ForceRemediateForFirstEntries":{"shape":"BooleanObject"}, + "LastEntries":{"shape":"NetworkAclEntries"}, + "ForceRemediateForLastEntries":{"shape":"BooleanObject"} + } + }, + "NetworkAclIcmpTypeCode":{ + "type":"structure", + "members":{ + "Code":{"shape":"IntegerObject"}, + "Type":{"shape":"IntegerObject"} + } + }, + "NetworkAclPortRange":{ + "type":"structure", + "members":{ + "From":{"shape":"IPPortNumberInteger"}, + "To":{"shape":"IPPortNumberInteger"} + } + }, + "NetworkAclRuleAction":{ + "type":"string", + "enum":[ + "allow", + "deny" + ] + }, "NetworkFirewallAction":{ "type":"string", "max":128, @@ -1936,7 +2107,8 @@ "type":"structure", "members":{ "NetworkFirewallPolicy":{"shape":"NetworkFirewallPolicy"}, - "ThirdPartyFirewallPolicy":{"shape":"ThirdPartyFirewallPolicy"} + "ThirdPartyFirewallPolicy":{"shape":"ThirdPartyFirewallPolicy"}, + "NetworkAclCommonPolicy":{"shape":"NetworkAclCommonPolicy"} } }, "PolicySummary":{ @@ -2148,7 +2320,11 @@ "EC2ReplaceRouteTableAssociationAction":{"shape":"EC2ReplaceRouteTableAssociationAction"}, "EC2AssociateRouteTableAction":{"shape":"EC2AssociateRouteTableAction"}, "EC2CreateRouteTableAction":{"shape":"EC2CreateRouteTableAction"}, - "FMSPolicyUpdateFirewallCreationConfigAction":{"shape":"FMSPolicyUpdateFirewallCreationConfigAction"} + "FMSPolicyUpdateFirewallCreationConfigAction":{"shape":"FMSPolicyUpdateFirewallCreationConfigAction"}, + "CreateNetworkAclAction":{"shape":"CreateNetworkAclAction"}, + "ReplaceNetworkAclAssociationAction":{"shape":"ReplaceNetworkAclAssociationAction"}, + "CreateNetworkAclEntriesAction":{"shape":"CreateNetworkAclEntriesAction"}, + "DeleteNetworkAclEntriesAction":{"shape":"DeleteNetworkAclEntriesAction"} } }, "RemediationActionDescription":{ @@ -2171,6 +2347,15 @@ "Order":{"shape":"BasicInteger"} } }, + "ReplaceNetworkAclAssociationAction":{ + "type":"structure", + "members":{ + "Description":{"shape":"LengthBoundedString"}, + "AssociationId":{"shape":"ActionTarget"}, + "NetworkAclId":{"shape":"ActionTarget"}, + "FMSCanRemediate":{"shape":"Boolean"} + } + }, "Resource":{ "type":"structure", "required":["URI"], @@ -2284,7 +2469,7 @@ "ResourceTags":{ "type":"list", "member":{"shape":"ResourceTag"}, - "max":8, + "max":50, "min":0 }, "ResourceType":{ @@ -2316,13 +2501,14 @@ "DnsRuleGroupPriorityConflictViolation":{"shape":"DnsRuleGroupPriorityConflictViolation"}, "DnsDuplicateRuleGroupViolation":{"shape":"DnsDuplicateRuleGroupViolation"}, "DnsRuleGroupLimitExceededViolation":{"shape":"DnsRuleGroupLimitExceededViolation"}, - "PossibleRemediationActions":{"shape":"PossibleRemediationActions"}, "FirewallSubnetIsOutOfScopeViolation":{"shape":"FirewallSubnetIsOutOfScopeViolation"}, "RouteHasOutOfScopeEndpointViolation":{"shape":"RouteHasOutOfScopeEndpointViolation"}, "ThirdPartyFirewallMissingFirewallViolation":{"shape":"ThirdPartyFirewallMissingFirewallViolation"}, "ThirdPartyFirewallMissingSubnetViolation":{"shape":"ThirdPartyFirewallMissingSubnetViolation"}, "ThirdPartyFirewallMissingExpectedRouteTableViolation":{"shape":"ThirdPartyFirewallMissingExpectedRouteTableViolation"}, - "FirewallSubnetMissingVPCEndpointViolation":{"shape":"FirewallSubnetMissingVPCEndpointViolation"} + "FirewallSubnetMissingVPCEndpointViolation":{"shape":"FirewallSubnetMissingVPCEndpointViolation"}, + "InvalidNetworkAclEntriesViolation":{"shape":"InvalidNetworkAclEntriesViolation"}, + "PossibleRemediationActions":{"shape":"PossibleRemediationActions"} } }, "ResourceViolations":{ @@ -2411,7 +2597,8 @@ "NETWORK_FIREWALL", "DNS_FIREWALL", "THIRD_PARTY_FIREWALL", - "IMPORT_NETWORK_FIREWALL" + "IMPORT_NETWORK_FIREWALL", + "NETWORK_ACL_COMMON" ] }, "SecurityServiceTypeList":{ @@ -2666,7 +2853,8 @@ "BLACK_HOLE_ROUTE_DETECTED_IN_FIREWALL_SUBNET", "RESOURCE_MISSING_DNS_FIREWALL", "ROUTE_HAS_OUT_OF_SCOPE_ENDPOINT", - "FIREWALL_SUBNET_MISSING_VPCE_ENDPOINT" + "FIREWALL_SUBNET_MISSING_VPCE_ENDPOINT", + "INVALID_NETWORK_ACL_ENTRY" ] }, "ViolationTarget":{ diff --git a/models/apis/fms/2018-01-01/docs-2.json b/models/apis/fms/2018-01-01/docs-2.json index 7d1dd61e24..387677605b 100644 --- a/models/apis/fms/2018-01-01/docs-2.json +++ b/models/apis/fms/2018-01-01/docs-2.json @@ -14,9 +14,9 @@ "DisassociateAdminAccount": "

Disassociates an Firewall Manager administrator account. To set a different account as an Firewall Manager administrator, submit a PutAdminAccount request. To set an account as a default administrator account, you must submit an AssociateAdminAccount request.

Disassociation of the default administrator account follows the first in, last out principle. If you are the default administrator, all Firewall Manager administrators within the organization must first disassociate their accounts before you can disassociate your account.

", "DisassociateThirdPartyFirewall": "

Disassociates a Firewall Manager policy administrator from a third-party firewall tenant. When you call DisassociateThirdPartyFirewall, the third-party firewall vendor deletes all of the firewalls that are associated with the account.

", "GetAdminAccount": "

Returns the Organizations account that is associated with Firewall Manager as the Firewall Manager default administrator.

", - "GetAdminScope": "

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

", + "GetAdminScope": "

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

", "GetAppsList": "

Returns information about the specified Firewall Manager applications list.

", - "GetComplianceDetail": "

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

", + "GetComplianceDetail": "

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

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

", "GetNotificationChannel": "

Information about the Amazon Simple Notification Service (SNS) topic that is used to record Firewall Manager SNS logs.

", "GetPolicy": "

Returns information about the specified Firewall Manager policy.

", "GetProtectionStatus": "

If you created a Shield Advanced policy, returns policy-level attack summary information in the event of a potential DDoS attack. Other policy types are currently unsupported.

", @@ -39,7 +39,7 @@ "PutAdminAccount": "

Creates or updates an Firewall Manager administrator account. The account must be a member of the organization that was onboarded to Firewall Manager by AssociateAdminAccount. Only the organization's management account can create an Firewall Manager administrator account. When you create an Firewall Manager administrator account, the service checks to see if the account is already a delegated administrator within Organizations. If the account isn't a delegated administrator, Firewall Manager calls Organizations to delegate the account within Organizations. For more information about administrator accounts within Organizations, see Managing the Amazon Web Services Accounts in Your Organization.

", "PutAppsList": "

Creates an Firewall Manager applications list.

", "PutNotificationChannel": "

Designates the IAM role and Amazon Simple Notification Service (SNS) topic that Firewall Manager uses to record SNS logs.

To perform this action outside of the console, you must first configure the SNS topic's access policy to allow the SnsRoleName to publish SNS logs. If the SnsRoleName provided is a role other than the AWSServiceRoleForFMS service-linked role, this role must have a trust relationship configured to allow the Firewall Manager service principal fms.amazonaws.com to assume this role. For information about configuring an SNS access policy, see Service roles for Firewall Manager in the Firewall Manager Developer Guide.

", - "PutPolicy": "

Creates an Firewall Manager policy.

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

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

Firewall Manager provides the following types of policies:

", + "PutPolicy": "

Creates an Firewall Manager policy.

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

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

Firewall Manager provides the following types of policies:

", "PutProtocolsList": "

Creates an Firewall Manager protocols list.

", "PutResourceSet": "

Creates the resource set.

An Firewall Manager resource set defines the resources to import into an Firewall Manager policy from another Amazon Web Services service.

", "TagResource": "

Adds one or more tags to an Amazon Web Services resource.

", @@ -55,7 +55,7 @@ "AssociateAdminAccountRequest$AdminAccount": "

The Amazon Web Services account ID to associate with Firewall Manager as the Firewall Manager default administrator account. This account must be a member account of the organization in Organizations whose resources you want to protect. For more information about Organizations, see Managing the Amazon Web Services Accounts in Your Organization.

", "DiscoveredResource$AccountId": "

The Amazon Web Services account ID associated with the discovered resource.

", "GetAdminAccountResponse$AdminAccount": "

The account that is set as the Firewall Manager default administrator.

", - "GetAdminScopeRequest$AdminAccount": "

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

", + "GetAdminScopeRequest$AdminAccount": "

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

", "GetComplianceDetailRequest$MemberAccount": "

The Amazon Web Services account that owns the resources that you want to get the details for.

", "GetProtectionStatusRequest$MemberAccountId": "

The Amazon Web Services account that is in scope of the policy that you want to get the details for.

", "GetProtectionStatusResponse$AdminAccountId": "

The ID of the Firewall Manager administrator account for this policy.

", @@ -110,6 +110,9 @@ "ActionTarget": { "base": "

Describes a remediation action target.

", "refs": { + "CreateNetworkAclAction$Vpc": "

The VPC that's associated with the remediation action.

", + "CreateNetworkAclEntriesAction$NetworkAclId": "

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

", + "DeleteNetworkAclEntriesAction$NetworkAclId": "

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

", "EC2AssociateRouteTableAction$RouteTableId": "

The ID of the EC2 route table that is associated with the remediation action.

", "EC2AssociateRouteTableAction$SubnetId": "

The ID of the subnet for the EC2 route table that is associated with the remediation action.

", "EC2AssociateRouteTableAction$GatewayId": "

The ID of the gateway to be used with the EC2 route table that is associated with the remediation action.

", @@ -123,7 +126,9 @@ "EC2ReplaceRouteAction$GatewayId": "

Information about the ID of an internet gateway or virtual private gateway.

", "EC2ReplaceRouteAction$RouteTableId": "

Information about the ID of the route table.

", "EC2ReplaceRouteTableAssociationAction$AssociationId": "

Information about the association ID.

", - "EC2ReplaceRouteTableAssociationAction$RouteTableId": "

Information about the ID of the new route table to associate with the subnet.

" + "EC2ReplaceRouteTableAssociationAction$RouteTableId": "

Information about the ID of the new route table to associate with the subnet.

", + "ReplaceNetworkAclAssociationAction$AssociationId": null, + "ReplaceNetworkAclAssociationAction$NetworkAclId": "

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

" } }, "AdminAccountSummary": { @@ -262,6 +267,9 @@ "AccountScope$AllAccountsEnabled": "

A boolean value that indicates if the administrator can apply policies to all accounts within an organization. If true, the administrator can apply policies to all accounts within the organization. You can either enable management of all accounts through this operation, or you can specify a list of accounts to manage in AccountScope$Accounts. You cannot specify both.

", "AccountScope$ExcludeSpecifiedAccounts": "

A boolean value that excludes the accounts in AccountScope$Accounts from the administrator's scope. If true, the Firewall Manager administrator can apply policies to all members of the organization except for the accounts listed in AccountScope$Accounts. You can either specify a list of accounts to exclude by AccountScope$Accounts, or you can enable management of all accounts by AccountScope$AllAccountsEnabled. You cannot specify both.

", "AdminAccountSummary$DefaultAdmin": "

A boolean value that indicates if the administrator is the default administrator. If true, then this is the default administrator account. The default administrator can manage third-party firewalls and has full administrative scope. There is only one default administrator account per organization. For information about Firewall Manager default administrator accounts, see Managing Firewall Manager administrators in the Firewall Manager Developer Guide.

", + "CreateNetworkAclAction$FMSCanRemediate": "

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.

", + "CreateNetworkAclEntriesAction$FMSCanRemediate": "

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.

", + "DeleteNetworkAclEntriesAction$FMSCanRemediate": "

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.

", "DeletePolicyRequest$DeleteAllPolicyResources": "

If True, the request performs cleanup according to the policy type.

For WAF and Shield Advanced policies, the cleanup does the following:

For security group policies, the cleanup does the following for each security group in the policy:

For security group common policies, even if set to False, Firewall Manager deletes all security groups created by Firewall Manager that aren't associated with any other resources through another policy.

After the cleanup, in-scope resources are no longer protected by web ACLs in this policy. Protection of out-of-scope resources remains unchanged. Scope is determined by tags that you create and accounts that you associate with the policy. When creating the policy, if you specify that only resources in specific accounts or with specific tags are in scope of the policy, those accounts and resources are handled by the policy. All others are out of scope. If you don't specify tags or accounts, all resources are in scope.

", "EvaluationResult$EvaluationLimitExceeded": "

Indicates that over 100 resources are noncompliant with the Firewall Manager policy.

", "GetAppsListRequest$DefaultList": "

Specifies whether the list to retrieve is a default list owned by Firewall Manager.

", @@ -281,9 +289,18 @@ "PolicyTypeScope$AllPolicyTypesEnabled": "

Allows the specified Firewall Manager administrator to manage all Firewall Manager policy types, except for third-party policy types. Third-party policy types can only be managed by the Firewall Manager default administrator.

", "PossibleRemediationAction$IsDefaultAction": "

Information about whether an action is taken by default.

", "RegionScope$AllRegionsEnabled": "

Allows the specified Firewall Manager administrator to manage all Amazon Web Services Regions.

", + "ReplaceNetworkAclAssociationAction$FMSCanRemediate": "

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.

", "SecurityGroupRemediationAction$IsDefaultAction": "

Indicates if the current action is the default action.

" } }, + "BooleanObject": { + "base": null, + "refs": { + "NetworkAclEntry$Egress": "

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

", + "NetworkAclEntrySet$ForceRemediateForFirstEntries": "

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

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

", + "NetworkAclEntrySet$ForceRemediateForLastEntries": "

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

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

" + } + }, "CIDR": { "base": null, "refs": { @@ -318,6 +335,18 @@ "PolicyComplianceDetail$Violators": "

An array of resources that aren't protected by the WAF or Shield Advanced policy or that aren't in compliance with the security group policy.

" } }, + "CreateNetworkAclAction": { + "base": "

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

", + "refs": { + "RemediationAction$CreateNetworkAclAction": "

Information about the CreateNetworkAcl action in Amazon EC2.

" + } + }, + "CreateNetworkAclEntriesAction": { + "base": "

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

", + "refs": { + "RemediationAction$CreateNetworkAclEntriesAction": "

Information about the CreateNetworkAclEntries action in Amazon EC2.

" + } + }, "CustomerPolicyScopeId": { "base": null, "refs": { @@ -355,6 +384,12 @@ "refs": { } }, + "DeleteNetworkAclEntriesAction": { + "base": "

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

", + "refs": { + "RemediationAction$DeleteNetworkAclEntriesAction": "

Information about the DeleteNetworkAclEntries action in Amazon EC2.

" + } + }, "DeleteNotificationChannelRequest": { "base": null, "refs": { @@ -500,6 +535,58 @@ "RemediationAction$EC2ReplaceRouteTableAssociationAction": "

Information about the ReplaceRouteTableAssociation action in the Amazon EC2 API.

" } }, + "EntriesDescription": { + "base": null, + "refs": { + "CreateNetworkAclEntriesAction$NetworkAclEntriesToBeCreated": "

Lists the entries that the remediation action would create.

", + "DeleteNetworkAclEntriesAction$NetworkAclEntriesToBeDeleted": "

Lists the entries that the remediation action would delete.

" + } + }, + "EntriesWithConflicts": { + "base": null, + "refs": { + "EntryViolation$EntriesWithConflicts": "

The list of entries that are in conflict with ExpectedEntry.

" + } + }, + "EntryDescription": { + "base": "

Describes a single rule in a network ACL.

", + "refs": { + "EntriesDescription$member": null, + "EntriesWithConflicts$member": null, + "EntryViolation$ExpectedEntry": "

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

", + "EntryViolation$EntryAtExpectedEvaluationOrder": "

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

" + } + }, + "EntryType": { + "base": null, + "refs": { + "EntryDescription$EntryType": "

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

" + } + }, + "EntryViolation": { + "base": "

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

", + "refs": { + "EntryViolations$member": null + } + }, + "EntryViolationReason": { + "base": null, + "refs": { + "EntryViolationReasons$member": null + } + }, + "EntryViolationReasons": { + "base": null, + "refs": { + "EntryViolation$EntryViolationReasons": "

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

" + } + }, + "EntryViolations": { + "base": null, + "refs": { + "InvalidNetworkAclEntriesViolation$EntryViolations": "

Detailed information about the entry violations in the network ACL.

" + } + }, "ErrorMessage": { "base": null, "refs": { @@ -713,6 +800,13 @@ "SecurityGroupRuleDescription$ToPort": "

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

" } }, + "IPPortNumberInteger": { + "base": null, + "refs": { + "NetworkAclPortRange$From": "

The beginning port number of the range.

", + "NetworkAclPortRange$To": "

The ending port number of the range.

" + } + }, "Identifier": { "base": null, "refs": { @@ -733,6 +827,19 @@ "BatchDisassociateResourceRequest$Items": "

The uniform resource identifiers (URI) of resources that should be disassociated from the resource set. The URIs must be Amazon Resource Names (ARNs).

" } }, + "IntegerObject": { + "base": null, + "refs": { + "NetworkAclIcmpTypeCode$Code": "

ICMP code.

", + "NetworkAclIcmpTypeCode$Type": "

ICMP type.

" + } + }, + "IntegerObjectMinimum0": { + "base": null, + "refs": { + "EntryDescription$EntryRuleNumber": "

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 assigns rule numbers.

" + } + }, "InternalErrorException": { "base": "

The operation failed because of a system problem, even though the request was valid. Retry your request.

", "refs": { @@ -743,6 +850,12 @@ "refs": { } }, + "InvalidNetworkAclEntriesViolation": { + "base": "

Violation detail for the entries in a network ACL resource.

", + "refs": { + "ResourceViolation$InvalidNetworkAclEntriesViolation": "

Violation detail for the entries in a network ACL resource.

" + } + }, "InvalidOperationException": { "base": "

The operation failed because there was nothing to do or the operation wasn't possible. For example, you might have submitted an AssociateAdminAccount request for an account ID that was already set as the Firewall Manager administrator. Or you might have tried to access a Region that's disabled by default, and that you need to enable for the Firewall Manager administrator account and for Organizations before you can access it.

", "refs": { @@ -760,6 +873,13 @@ "PolicyComplianceStatus$IssueInfoMap": "

Details about problems with dependent services, such as WAF or Config, and the error message received that indicates the problem with the service.

" } }, + "LengthBoundedNonEmptyString": { + "base": null, + "refs": { + "NetworkAclEntry$CidrBlock": "

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

", + "NetworkAclEntry$Ipv6CidrBlock": "

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

" + } + }, "LengthBoundedString": { "base": null, "refs": { @@ -767,6 +887,9 @@ "AwsVPCSecurityGroupViolation$ViolationTargetDescription": "

A description of the security group that violates the policy.

", "ComplianceViolatorMetadata$key": null, "ComplianceViolatorMetadata$value": null, + "CreateNetworkAclAction$Description": "

Brief description of this remediation action.

", + "CreateNetworkAclEntriesAction$Description": "

Brief description of this remediation action.

", + "DeleteNetworkAclEntriesAction$Description": "

Brief description of this remediation action.

", "DnsDuplicateRuleGroupViolation$ViolationTargetDescription": "

A description of the violation that specifies the rule group and VPC.

", "DnsRuleGroupLimitExceededViolation$ViolationTargetDescription": "

A description of the violation that specifies the rule group and VPC.

", "DnsRuleGroupPriorityConflictViolation$ViolationTargetDescription": "

A description of the violation that specifies the VPC and the rule group that's already associated with it.

", @@ -777,12 +900,16 @@ "EC2DeleteRouteAction$Description": "

A description of the DeleteRoute action.

", "EC2ReplaceRouteAction$Description": "

A description of the ReplaceRoute action in Amazon EC2.

", "EC2ReplaceRouteTableAssociationAction$Description": "

A description of the ReplaceRouteTableAssociation action in Amazon EC2.

", + "EntryViolation$ExpectedEvaluationOrder": "

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

", + "EntryViolation$ActualEvaluationOrder": "

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

", "FMSPolicyUpdateFirewallCreationConfigAction$Description": "

Describes the remedial action.

", "FirewallSubnetIsOutOfScopeViolation$SubnetAvailabilityZone": "

The Availability Zone of the firewall subnet that violates the policy scope.

", "FirewallSubnetIsOutOfScopeViolation$SubnetAvailabilityZoneId": "

The Availability Zone ID of the firewall subnet that violates the policy scope.

", "FirewallSubnetMissingVPCEndpointViolation$SubnetAvailabilityZone": "

The name of the Availability Zone of the deleted VPC subnet.

", "FirewallSubnetMissingVPCEndpointViolation$SubnetAvailabilityZoneId": "

The ID of the Availability Zone of the deleted VPC subnet.

", + "InvalidNetworkAclEntriesViolation$SubnetAvailabilityZone": "

The Availability Zone where the network ACL is in use.

", "LengthBoundedStringList$member": null, + "NetworkAclEntry$Protocol": "

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

", "NetworkFirewallInternetTrafficNotInspectedViolation$SubnetAvailabilityZone": "

The subnet Availability Zone.

", "NetworkFirewallMissingExpectedRTViolation$AvailabilityZone": "

The Availability Zone of a violating subnet.

", "NetworkFirewallMissingFirewallViolation$AvailabilityZone": "

The Availability Zone of a violating subnet.

", @@ -790,6 +917,7 @@ "PossibleRemediationAction$Description": "

A description of the list of remediation actions.

", "PossibleRemediationActions$Description": "

A description of the possible remediation actions list.

", "RemediationAction$Description": "

A description of a remediation action.

", + "ReplaceNetworkAclAssociationAction$Description": "

Brief description of this remediation action.

", "Route$Destination": "

The destination of the route.

", "Route$Target": "

The route's target.

", "RouteHasOutOfScopeEndpointViolation$SubnetAvailabilityZone": "

The subnet's Availability Zone.

", @@ -949,7 +1077,7 @@ "base": null, "refs": { "FMSPolicyUpdateFirewallCreationConfigAction$FirewallCreationConfig": "

A FirewallCreationConfig that you can copy into your current policy's SecurityServiceData in order to remedy scope violations.

", - "SecurityServicePolicyData$ManagedServiceData": "

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

" + "SecurityServicePolicyData$ManagedServiceData": "

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

" } }, "MarketplaceSubscriptionOnboardingStatus": { @@ -971,6 +1099,50 @@ "ResourceSetSummary$Name": "

The descriptive name of the resource set. You can't change the name of a resource set after you create it.

" } }, + "NetworkAclCommonPolicy": { + "base": "

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

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

", + "refs": { + "PolicyOption$NetworkAclCommonPolicy": "

Defines a Firewall Manager network ACL policy.

" + } + }, + "NetworkAclEntries": { + "base": null, + "refs": { + "NetworkAclEntrySet$FirstEntries": "

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

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

", + "NetworkAclEntrySet$LastEntries": "

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

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

" + } + }, + "NetworkAclEntry": { + "base": "

Describes a rule in a network ACL.

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

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, 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 that you want them to run. Firewall Manager assigns the rule numbers for you when you save the network ACL policy specification.

", + "refs": { + "EntryDescription$EntryDetail": "

Describes a rule in a network ACL.

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

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, 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 that you want them to run. Firewall Manager assigns the rule numbers for you when you save the network ACL policy specification.

", + "NetworkAclEntries$member": null + } + }, + "NetworkAclEntrySet": { + "base": "

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

", + "refs": { + "NetworkAclCommonPolicy$NetworkAclEntrySet": "

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

" + } + }, + "NetworkAclIcmpTypeCode": { + "base": "

ICMP protocol: The ICMP type and code.

", + "refs": { + "NetworkAclEntry$IcmpTypeCode": "

ICMP protocol: The ICMP type and code.

" + } + }, + "NetworkAclPortRange": { + "base": "

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

", + "refs": { + "NetworkAclEntry$PortRange": "

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

" + } + }, + "NetworkAclRuleAction": { + "base": null, + "refs": { + "NetworkAclEntry$RuleAction": "

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

" + } + }, "NetworkFirewallAction": { "base": null, "refs": { @@ -1087,8 +1259,8 @@ "OrganizationStatus": { "base": null, "refs": { - "AdminAccountSummary$Status": "

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

", - "GetAdminScopeResponse$Status": "

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

" + "AdminAccountSummary$Status": "

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

", + "GetAdminScopeResponse$Status": "

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

" } }, "OrganizationalUnitId": { @@ -1207,7 +1379,7 @@ "GetComplianceDetailRequest$PolicyId": "

The ID of the policy that you want to get the details for. PolicyId is returned by PutPolicy and by ListPolicies.

", "GetPolicyRequest$PolicyId": "

The ID of the Firewall Manager policy that you want the details for.

", "GetProtectionStatusRequest$PolicyId": "

The ID of the policy for which you want to get the attack information.

", - "GetViolationDetailsRequest$PolicyId": "

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

", + "GetViolationDetailsRequest$PolicyId": "

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

", "ListComplianceStatusRequest$PolicyId": "

The ID of the Firewall Manager policy that you want the details for.

", "Policy$PolicyId": "

The ID of the Firewall Manager policy.

", "PolicyComplianceDetail$PolicyId": "

The ID of the Firewall Manager policy.

", @@ -1217,9 +1389,9 @@ } }, "PolicyOption": { - "base": "

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

", + "base": "

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

", "refs": { - "SecurityServicePolicyData$PolicyOption": "

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

" + "SecurityServicePolicyData$PolicyOption": "

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

" } }, "PolicySummary": { @@ -1416,6 +1588,12 @@ "OrderedRemediationActions$member": null } }, + "ReplaceNetworkAclAssociationAction": { + "base": "

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

", + "refs": { + "RemediationAction$ReplaceNetworkAclAssociationAction": "

Information about the ReplaceNetworkAclAssociation action in Amazon EC2.

" + } + }, "Resource": { "base": "

Details of a resource that is associated to an Firewall Manager resource set.

", "refs": { @@ -1472,6 +1650,9 @@ "FirewallSubnetMissingVPCEndpointViolation$FirewallSubnetId": "

The ID of the firewall that this VPC endpoint is associated with.

", "FirewallSubnetMissingVPCEndpointViolation$VpcId": "

The resource ID of the VPC associated with the deleted VPC subnet.

", "GetViolationDetailsRequest$ResourceId": "

The ID of the resource that has violations.

", + "InvalidNetworkAclEntriesViolation$Vpc": "

The VPC where the violation was found.

", + "InvalidNetworkAclEntriesViolation$Subnet": "

The subnet that's associated with the network ACL.

", + "InvalidNetworkAclEntriesViolation$CurrentAssociatedNetworkAcl": "

The network ACL containing the entry violations.

", "ListResourceSetResourcesRequest$Identifier": "

A unique identifier for the resource set, used in a request to refer to the resource set.

", "NetworkFirewallBlackHoleRouteDetectedViolation$RouteTableId": "

Information about the route table ID.

", "NetworkFirewallBlackHoleRouteDetectedViolation$VpcId": "

Information about the VPC ID.

", @@ -1621,8 +1802,8 @@ "DiscoveredResource$Type": "

The type of the discovered resource.

", "GetViolationDetailsRequest$ResourceType": "

The resource type. This is in the format shown in the Amazon Web Services Resource Types Reference. Supported resource types are: AWS::EC2::Instance, AWS::EC2::NetworkInterface, AWS::EC2::SecurityGroup, AWS::NetworkFirewall::FirewallPolicy, and AWS::EC2::Subnet.

", "ListDiscoveredResourcesRequest$ResourceType": "

The type of resources to discover.

", - "Policy$ResourceType": "

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

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

", - "PolicySummary$ResourceType": "

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

", + "Policy$ResourceType": "

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

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

", + "PolicySummary$ResourceType": "

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

", "ResourceTypeList$member": null, "ViolationDetail$ResourceType": "

The resource type that the violation details were requested for.

" } diff --git a/models/apis/ivs-realtime/2020-07-14/api-2.json b/models/apis/ivs-realtime/2020-07-14/api-2.json index 92c38d5092..bad17f22a0 100644 --- a/models/apis/ivs-realtime/2020-07-14/api-2.json +++ b/models/apis/ivs-realtime/2020-07-14/api-2.json @@ -457,6 +457,7 @@ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"}, {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, {"shape":"PendingVerification"} ] } @@ -489,7 +490,7 @@ "type":"string", "max":128, "min":1, - "pattern":"^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$" + "pattern":"^arn:aws:ivs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$" }, "ChannelDestinationConfiguration":{ "type":"structure", @@ -1366,7 +1367,7 @@ "type":"string", "max":128, "min":1, - "pattern":"^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:[a-z-]/[a-zA-Z0-9-]+$" + "pattern":"^arn:aws:ivs:[a-z0-9-]+:[0-9]+:[a-z-]/[a-zA-Z0-9-]+$" }, "ResourceNotFoundException":{ "type":"structure", diff --git a/models/apis/ivs/2020-07-14/api-2.json b/models/apis/ivs/2020-07-14/api-2.json index 43a950d2dc..f5fddfd3c2 100644 --- a/models/apis/ivs/2020-07-14/api-2.json +++ b/models/apis/ivs/2020-07-14/api-2.json @@ -690,7 +690,7 @@ "type":"string", "max":128, "min":1, - "pattern":"^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$" + "pattern":"^arn:aws:ivs:[a-z0-9-]+:[0-9]+:channel/[a-zA-Z0-9-]+$" }, "ChannelArnList":{ "type":"list", @@ -1216,7 +1216,7 @@ "type":"string", "max":128, "min":1, - "pattern":"^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:playback-key/[a-zA-Z0-9-]+$" + "pattern":"^arn:aws:ivs:[a-z0-9-]+:[0-9]+:playback-key/[a-zA-Z0-9-]+$" }, "PlaybackKeyPairFingerprint":{"type":"string"}, "PlaybackKeyPairList":{ @@ -1421,7 +1421,7 @@ "type":"string", "max":128, "min":1, - "pattern":"^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:[a-z-]/[a-zA-Z0-9-]+$" + "pattern":"^arn:aws:ivs:[a-z0-9-]+:[0-9]+:[a-z-]/[a-zA-Z0-9-]+$" }, "ResourceNotFoundException":{ "type":"structure", @@ -1558,7 +1558,7 @@ "type":"string", "max":128, "min":1, - "pattern":"^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:stream-key/[a-zA-Z0-9-]+$" + "pattern":"^arn:aws:ivs:[a-z0-9-]+:[0-9]+:stream-key/[a-zA-Z0-9-]+$" }, "StreamKeyArnList":{ "type":"list", diff --git a/models/apis/ivs/2020-07-14/docs-2.json b/models/apis/ivs/2020-07-14/docs-2.json index 328aeed023..8a8f406ce9 100644 --- a/models/apis/ivs/2020-07-14/docs-2.json +++ b/models/apis/ivs/2020-07-14/docs-2.json @@ -809,7 +809,7 @@ "ResourceArn": { "base": null, "refs": { - "BatchError$arn": "

Channel ARN.

", + "BatchError$arn": "

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

", "ListTagsForResourceRequest$resourceArn": "

The ARN of the resource to be retrieved. The ARN must be URL-encoded.

", "TagResourceRequest$resourceArn": "

ARN of the resource for which tags are to be added or updated. The ARN must be URL-encoded.

", "UntagResourceRequest$resourceArn": "

ARN of the resource for which tags are to be removed. The ARN must be URL-encoded.

" diff --git a/models/apis/rds/2014-10-31/api-2.json b/models/apis/rds/2014-10-31/api-2.json index 12e55fd0d7..c7158f15bc 100644 --- a/models/apis/rds/2014-10-31/api-2.json +++ b/models/apis/rds/2014-10-31/api-2.json @@ -4,6 +4,7 @@ "apiVersion":"2014-10-31", "endpointPrefix":"rds", "protocol":"query", + "protocols":["query"], "serviceAbbreviation":"Amazon RDS", "serviceFullName":"Amazon Relational Database Service", "serviceId":"RDS", diff --git a/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json index 16f1707b2f..c960a74424 100644 --- a/models/apis/rds/2014-10-31/docs-2.json +++ b/models/apis/rds/2014-10-31/docs-2.json @@ -657,7 +657,7 @@ "ModifyDBInstanceMessage$EnableIAMDatabaseAuthentication": "

Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.

This setting doesn't apply to Amazon Aurora. Mapping Amazon Web Services IAM accounts to database accounts is managed by the DB cluster.

For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

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

", "ModifyDBInstanceMessage$EnablePerformanceInsights": "

Specifies whether to enable Performance Insights for the DB instance.

For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

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

", "ModifyDBInstanceMessage$UseDefaultProcessorFeatures": "

Specifies whether the DB instance class of the DB instance uses its default processor features.

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

", - "ModifyDBInstanceMessage$DeletionProtection": "

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

", + "ModifyDBInstanceMessage$DeletionProtection": "

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

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

", "ModifyDBInstanceMessage$CertificateRotationRestart": "

Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate.

By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted.

Set this parameter only if you are not using SSL/TLS to connect to the DB instance.

If you are using SSL/TLS to connect to the DB instance, follow the appropriate instructions for your DB engine to rotate your SSL/TLS certificate:

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

", "ModifyDBInstanceMessage$EnableCustomerOwnedIp": "

Specifies whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance from outside of its virtual private cloud (VPC) on your local network.

For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.

For more information about CoIPs, see Customer-owned IP addresses in the Amazon Web Services Outposts User Guide.

", "ModifyDBInstanceMessage$ManageMasterUserPassword": "

Specifies whether to manage the master user password with Amazon Web Services Secrets Manager.

If the DB instance doesn't manage the master user password with Amazon Web Services Secrets Manager, you can turn on this management. In this case, you can't specify MasterUserPassword.

If the DB instance already manages the master user password with Amazon Web Services Secrets Manager, and you specify that the master user password is not managed with Amazon Web Services Secrets Manager, then you must specify MasterUserPassword. In this case, Amazon RDS deletes the secret and uses the new password for the master user specified by MasterUserPassword.

For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.

Constraints:

", @@ -4734,7 +4734,7 @@ "CreateDBInstanceMessage$DomainAuthSecretArn": "

The ARN for the Secrets Manager secret with the credentials for the user joining the domain.

Example: arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456

", "CreateDBInstanceMessage$MonitoringRoleArn": "

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see Setting Up and Enabling Enhanced Monitoring in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

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

", "CreateDBInstanceMessage$DomainIAMRoleName": "

The name of the IAM role to use when making API calls to the Directory Service.

This setting doesn't apply to the following DB instances:

", - "CreateDBInstanceMessage$Timezone": "

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

", + "CreateDBInstanceMessage$Timezone": "

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

", "CreateDBInstanceMessage$PerformanceInsightsKMSKeyId": "

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

If you don't specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

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

", "CreateDBInstanceMessage$CustomIamInstanceProfile": "

The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance.

This setting is required for RDS Custom.

Constraints:

For the list of permissions required for the IAM role, see Configure IAM and your VPC in the Amazon RDS User Guide.

", "CreateDBInstanceMessage$BackupTarget": "

The location for storing automated backups and manual snapshots.

Valid Values:

Default: region

For more information, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.

", @@ -4931,7 +4931,7 @@ "DBInstance$EnhancedMonitoringResourceArn": "

The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance.

", "DBInstance$MonitoringRoleArn": "

The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.

", "DBInstance$DBInstanceArn": "

The Amazon Resource Name (ARN) for the DB instance.

", - "DBInstance$Timezone": "

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

", + "DBInstance$Timezone": "

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

", "DBInstance$PerformanceInsightsKMSKeyId": "

The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

", "DBInstance$AwsBackupRecoveryPointArn": "

The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.

", "DBInstance$ActivityStreamKmsKeyId": "

The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream. The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

", @@ -5335,7 +5335,7 @@ "ModifyDBClusterSnapshotAttributeMessage$AttributeName": "

The name of the DB cluster snapshot attribute to modify.

To manage authorization for other Amazon Web Services accounts to copy or restore a manual DB cluster snapshot, set this value to restore.

To view the list of attributes available to modify, use the DescribeDBClusterSnapshotAttributes API operation.

", "ModifyDBInstanceMessage$DBInstanceIdentifier": "

The identifier of DB instance to modify. This value is stored as a lowercase string.

Constraints:

", "ModifyDBInstanceMessage$DBInstanceClass": "

The new compute and memory capacity of the DB instance, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide or Aurora DB instance classes in the Amazon Aurora User Guide. For RDS Custom, see DB instance class support for RDS Custom for Oracle and DB instance class support for RDS Custom for SQL Server.

If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless you specify ApplyImmediately in your request.

Default: Uses existing setting

Constraints:

", - "ModifyDBInstanceMessage$DBSubnetGroupName": "

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

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

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

Constraints:

Example: mydbsubnetgroup

", + "ModifyDBInstanceMessage$DBSubnetGroupName": "

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

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

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

Constraints:

Example: mydbsubnetgroup

", "ModifyDBInstanceMessage$MasterUserPassword": "

The new password for the master user.

Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response.

Amazon RDS API operations never return the password, so this operation provides a way to regain access to a primary instance user if the password is lost. This includes restoring privileges that might have been accidentally revoked.

This setting doesn't apply to the following DB instances:

Default: Uses existing setting

Constraints:

Length Constraints:

", "ModifyDBInstanceMessage$DBParameterGroupName": "

The name of the DB parameter group to apply to the DB instance.

Changing this setting doesn't result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. In this case, the DB instance isn't rebooted automatically, and the parameter changes aren't applied during the next maintenance window. However, if you modify dynamic parameters in the newly associated DB parameter group, these changes are applied immediately without a reboot.

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

Default: Uses existing setting

Constraints:

", "ModifyDBInstanceMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod parameter. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region. For more information, see Backup window in the Amazon RDS User Guide.

This setting doesn't apply to Amazon Aurora DB instances. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

", diff --git a/models/apis/states/2016-11-23/api-2.json b/models/apis/states/2016-11-23/api-2.json index 4ddf82a033..29633e7e79 100644 --- a/models/apis/states/2016-11-23/api-2.json +++ b/models/apis/states/2016-11-23/api-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"states", "jsonVersion":"1.0", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"AWS SFN", "serviceFullName":"AWS Step Functions", "serviceId":"SFN", @@ -359,7 +360,8 @@ {"shape":"ExecutionDoesNotExist"}, {"shape":"ExecutionNotRedrivable"}, {"shape":"ExecutionLimitExceeded"}, - {"shape":"InvalidArn"} + {"shape":"InvalidArn"}, + {"shape":"ValidationException"} ], "idempotent":true }, @@ -552,6 +554,18 @@ {"shape":"ConflictException"}, {"shape":"StateMachineDeleting"} ] + }, + "ValidateStateMachineDefinition":{ + "name":"ValidateStateMachineDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ValidateStateMachineDefinitionInput"}, + "output":{"shape":"ValidateStateMachineDefinitionOutput"}, + "errors":[ + {"shape":"ValidationException"} + ] } }, "shapes":{ @@ -2426,6 +2440,57 @@ "stateMachineVersionArn":{"shape":"Arn"} } }, + "ValidateStateMachineDefinitionCode":{"type":"string"}, + "ValidateStateMachineDefinitionDiagnostic":{ + "type":"structure", + "required":[ + "severity", + "code", + "message" + ], + "members":{ + "severity":{"shape":"ValidateStateMachineDefinitionSeverity"}, + "code":{"shape":"ValidateStateMachineDefinitionCode"}, + "message":{"shape":"ValidateStateMachineDefinitionMessage"}, + "location":{"shape":"ValidateStateMachineDefinitionLocation"} + } + }, + "ValidateStateMachineDefinitionDiagnosticList":{ + "type":"list", + "member":{"shape":"ValidateStateMachineDefinitionDiagnostic"} + }, + "ValidateStateMachineDefinitionInput":{ + "type":"structure", + "required":["definition"], + "members":{ + "definition":{"shape":"Definition"}, + "type":{"shape":"StateMachineType"} + } + }, + "ValidateStateMachineDefinitionLocation":{"type":"string"}, + "ValidateStateMachineDefinitionMessage":{"type":"string"}, + "ValidateStateMachineDefinitionOutput":{ + "type":"structure", + "required":[ + "result", + "diagnostics" + ], + "members":{ + "result":{"shape":"ValidateStateMachineDefinitionResultCode"}, + "diagnostics":{"shape":"ValidateStateMachineDefinitionDiagnosticList"} + } + }, + "ValidateStateMachineDefinitionResultCode":{ + "type":"string", + "enum":[ + "OK", + "FAIL" + ] + }, + "ValidateStateMachineDefinitionSeverity":{ + "type":"string", + "enum":["ERROR"] + }, "ValidationException":{ "type":"structure", "members":{ diff --git a/models/apis/states/2016-11-23/docs-2.json b/models/apis/states/2016-11-23/docs-2.json index 2f87cf6a16..9c4a495f71 100644 --- a/models/apis/states/2016-11-23/docs-2.json +++ b/models/apis/states/2016-11-23/docs-2.json @@ -37,7 +37,8 @@ "UntagResource": "

Remove a tag from a Step Functions resource

", "UpdateMapRun": "

Updates an in-progress Map Run's configuration to include changes to the settings that control maximum concurrency and Map Run failure.

", "UpdateStateMachine": "

Updates an existing state machine by modifying its definition, roleArn, or loggingConfiguration. Running executions will continue to use the previous definition and roleArn. You must include at least one of definition or roleArn or you will receive a MissingRequiredParameter error.

A qualified state machine ARN refers to a Distributed Map state defined within a state machine. For example, the qualified state machine ARN arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel refers to a Distributed Map state with a label mapStateLabel in the state machine named stateMachineName.

A qualified state machine ARN can either refer to a Distributed Map state defined within a state machine, a version ARN, or an alias ARN.

The following are some examples of qualified and unqualified state machine ARNs:

After you update your state machine, you can set the publish parameter to true in the same action to publish a new version. This way, you can opt-in to strict versioning of your state machine.

Step Functions assigns monotonically increasing integers for state machine versions, starting at version number 1.

All StartExecution calls within a few seconds use the updated definition and roleArn. Executions started immediately after you call UpdateStateMachine may use the previous state machine definition and roleArn.

", - "UpdateStateMachineAlias": "

Updates the configuration of an existing state machine alias by modifying its description or routingConfiguration.

You must specify at least one of the description or routingConfiguration parameters to update a state machine alias.

UpdateStateMachineAlias is an idempotent API. Step Functions bases the idempotency check on the stateMachineAliasArn, description, and routingConfiguration parameters. Requests with the same parameters return an idempotent response.

This operation is eventually consistent. All StartExecution requests made within a few seconds use the latest alias configuration. Executions started immediately after calling UpdateStateMachineAlias may use the previous routing configuration.

Related operations:

" + "UpdateStateMachineAlias": "

Updates the configuration of an existing state machine alias by modifying its description or routingConfiguration.

You must specify at least one of the description or routingConfiguration parameters to update a state machine alias.

UpdateStateMachineAlias is an idempotent API. Step Functions bases the idempotency check on the stateMachineAliasArn, description, and routingConfiguration parameters. Requests with the same parameters return an idempotent response.

This operation is eventually consistent. All StartExecution requests made within a few seconds use the latest alias configuration. Executions started immediately after calling UpdateStateMachineAlias may use the previous routing configuration.

Related operations:

", + "ValidateStateMachineDefinition": "

Validates the syntax of a state machine definition.

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

Suggested uses for ValidateStateMachineDefinition:

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

" }, "shapes": { "ActivityDoesNotExist": { @@ -273,7 +274,8 @@ "DescribeStateMachineForExecutionOutput$definition": "

The Amazon States Language definition of the state machine. See Amazon States Language.

", "DescribeStateMachineOutput$definition": "

The Amazon States Language definition of the state machine. See Amazon States Language.

", "TestStateInput$definition": "

The Amazon States Language (ASL) definition of the state.

", - "UpdateStateMachineInput$definition": "

The Amazon States Language definition of the state machine. See Amazon States Language.

" + "UpdateStateMachineInput$definition": "

The Amazon States Language definition of the state machine. See Amazon States Language.

", + "ValidateStateMachineDefinitionInput$definition": "

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

" } }, "DeleteActivityInput": { @@ -1288,7 +1290,8 @@ "refs": { "CreateStateMachineInput$type": "

Determines whether a Standard or Express state machine is created. The default is STANDARD. You cannot update the type of a state machine once it has been created.

", "DescribeStateMachineOutput$type": "

The type of the state machine (STANDARD or EXPRESS).

", - "StateMachineListItem$type": "

" + "StateMachineListItem$type": "

", + "ValidateStateMachineDefinitionInput$type": "

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

" } }, "StateMachineTypeNotSupported": { @@ -1623,6 +1626,58 @@ "refs": { } }, + "ValidateStateMachineDefinitionCode": { + "base": null, + "refs": { + "ValidateStateMachineDefinitionDiagnostic$code": "

Identifying code for the diagnostic.

" + } + }, + "ValidateStateMachineDefinitionDiagnostic": { + "base": "

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

", + "refs": { + "ValidateStateMachineDefinitionDiagnosticList$member": null + } + }, + "ValidateStateMachineDefinitionDiagnosticList": { + "base": null, + "refs": { + "ValidateStateMachineDefinitionOutput$diagnostics": "

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

" + } + }, + "ValidateStateMachineDefinitionInput": { + "base": null, + "refs": { + } + }, + "ValidateStateMachineDefinitionLocation": { + "base": null, + "refs": { + "ValidateStateMachineDefinitionDiagnostic$location": "

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

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

" + } + }, + "ValidateStateMachineDefinitionMessage": { + "base": null, + "refs": { + "ValidateStateMachineDefinitionDiagnostic$message": "

Message describing the diagnostic condition.

" + } + }, + "ValidateStateMachineDefinitionOutput": { + "base": null, + "refs": { + } + }, + "ValidateStateMachineDefinitionResultCode": { + "base": null, + "refs": { + "ValidateStateMachineDefinitionOutput$result": "

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

" + } + }, + "ValidateStateMachineDefinitionSeverity": { + "base": null, + "refs": { + "ValidateStateMachineDefinitionDiagnostic$severity": "

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

" + } + }, "ValidationException": { "base": "

The input does not satisfy the constraints specified by an Amazon Web Services service.

", "refs": { diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index eebad58953..aaebfda15c 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/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" : { diff --git a/service/appsync/api.go b/service/appsync/api.go index 5a8064e379..843cba2e3f 100644 --- a/service/appsync/api.go +++ b/service/appsync/api.go @@ -17387,7 +17387,9 @@ type UpdateGraphqlApiInput struct { ApiId *string `location:"uri" locationName:"apiId" type:"string" required:"true"` // The new authentication type for the GraphqlApi object. - AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"` + // + // AuthenticationType is a required field + AuthenticationType *string `locationName:"authenticationType" type:"string" required:"true" enum:"AuthenticationType"` // The enhancedMetricsConfig object. EnhancedMetricsConfig *EnhancedMetricsConfig `locationName:"enhancedMetricsConfig" type:"structure"` @@ -17476,6 +17478,9 @@ func (s *UpdateGraphqlApiInput) Validate() error { if s.ApiId != nil && len(*s.ApiId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ApiId", 1)) } + if s.AuthenticationType == nil { + invalidParams.Add(request.NewErrParamRequired("AuthenticationType")) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } diff --git a/service/fms/api.go b/service/fms/api.go index e4ab0de48f..d974c5c22c 100644 --- a/service/fms/api.go +++ b/service/fms/api.go @@ -1220,7 +1220,7 @@ func (c *FMS) GetAdminScopeRequest(input *GetAdminScopeInput) (req *request.Requ // GetAdminScope API operation for Firewall Management Service. // // Returns information about the specified account's administrative scope. The -// admistrative scope defines the resources that an Firewall Manager administrator +// administrative scope defines the resources that an Firewall Manager administrator // can manage. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1416,22 +1416,8 @@ func (c *FMS) GetComplianceDetailRequest(input *GetComplianceDetailInput) (req * // Details include resources that are in and out of compliance with the specified // policy. // -// - Resources are considered noncompliant for WAF and Shield Advanced policies -// if the specified policy has not been applied to them. -// -// - Resources are considered noncompliant for security group policies if -// they are in scope of the policy, they violate one or more of the policy -// rules, and remediation is disabled or not possible. -// -// - Resources are considered noncompliant for Network Firewall policies -// if a firewall is missing in the VPC, if the firewall endpoint isn't set -// up in an expected Availability Zone and subnet, if a subnet created by -// the Firewall Manager doesn't have the expected route table, and for modifications -// to a firewall policy that violate the Firewall Manager policy's rules. -// -// - Resources are considered noncompliant for DNS Firewall policies if a -// DNS Firewall rule group is missing from the rule group associations for -// the VPC. +// The reasons for resources being considered compliant depend on the Firewall +// Manager policy type. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4056,6 +4042,9 @@ func (c *FMS) PutPolicyRequest(input *PutPolicyInput) (req *request.Request, out // // Firewall Manager provides the following types of policies: // +// - WAF policy - This policy applies WAF web ACL protections to specified +// accounts and resources. +// // - Shield Advanced policy - This policy applies Shield Advanced protection // to specified accounts and resources. // @@ -4063,6 +4052,11 @@ func (c *FMS) PutPolicyRequest(input *PutPolicyInput) (req *request.Request, out // security groups that are in use throughout your organization in Organizations // and lets you enforce a baseline set of rules across your organization. // +// - Network ACL policy - This type of policy gives you control over the +// network ACLs that are in use throughout your organization in Organizations +// and lets you enforce a baseline set of first and last network ACL rules +// across your organization. +// // - Network Firewall policy - This policy applies Network Firewall protection // to your organization's VPCs. // @@ -4662,7 +4656,7 @@ type AdminAccountSummary struct { DefaultAdmin *bool `type:"boolean"` // The current status of the request to onboard a member account as an Firewall - // Manager administator. + // Manager administrator. // // * ONBOARDING - The account is onboarding to Firewall Manager as an administrator. // @@ -5643,6 +5637,121 @@ func (s *ComplianceViolator) SetViolationReason(v string) *ComplianceViolator { return s } +// Information about the CreateNetworkAcl action in Amazon EC2. This is a remediation +// option in RemediationAction. +type CreateNetworkAclAction struct { + _ struct{} `type:"structure"` + + // Brief description of this remediation action. + Description *string `type:"string"` + + // 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. + FMSCanRemediate *bool `type:"boolean"` + + // The VPC that's associated with the remediation action. + Vpc *ActionTarget `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateNetworkAclAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateNetworkAclAction) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *CreateNetworkAclAction) SetDescription(v string) *CreateNetworkAclAction { + s.Description = &v + return s +} + +// SetFMSCanRemediate sets the FMSCanRemediate field's value. +func (s *CreateNetworkAclAction) SetFMSCanRemediate(v bool) *CreateNetworkAclAction { + s.FMSCanRemediate = &v + return s +} + +// SetVpc sets the Vpc field's value. +func (s *CreateNetworkAclAction) SetVpc(v *ActionTarget) *CreateNetworkAclAction { + s.Vpc = v + return s +} + +// Information about the CreateNetworkAclEntries action in Amazon EC2. This +// is a remediation option in RemediationAction. +type CreateNetworkAclEntriesAction struct { + _ struct{} `type:"structure"` + + // Brief description of this remediation action. + Description *string `type:"string"` + + // 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. + FMSCanRemediate *bool `type:"boolean"` + + // Lists the entries that the remediation action would create. + NetworkAclEntriesToBeCreated []*EntryDescription `type:"list"` + + // The network ACL that's associated with the remediation action. + NetworkAclId *ActionTarget `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateNetworkAclEntriesAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateNetworkAclEntriesAction) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *CreateNetworkAclEntriesAction) SetDescription(v string) *CreateNetworkAclEntriesAction { + s.Description = &v + return s +} + +// SetFMSCanRemediate sets the FMSCanRemediate field's value. +func (s *CreateNetworkAclEntriesAction) SetFMSCanRemediate(v bool) *CreateNetworkAclEntriesAction { + s.FMSCanRemediate = &v + return s +} + +// SetNetworkAclEntriesToBeCreated sets the NetworkAclEntriesToBeCreated field's value. +func (s *CreateNetworkAclEntriesAction) SetNetworkAclEntriesToBeCreated(v []*EntryDescription) *CreateNetworkAclEntriesAction { + s.NetworkAclEntriesToBeCreated = v + return s +} + +// SetNetworkAclId sets the NetworkAclId field's value. +func (s *CreateNetworkAclEntriesAction) SetNetworkAclId(v *ActionTarget) *CreateNetworkAclEntriesAction { + s.NetworkAclId = v + return s +} + type DeleteAppsListInput struct { _ struct{} `type:"structure"` @@ -5715,6 +5824,68 @@ func (s DeleteAppsListOutput) GoString() string { return s.String() } +// Information about the DeleteNetworkAclEntries action in Amazon EC2. This +// is a remediation option in RemediationAction. +type DeleteNetworkAclEntriesAction struct { + _ struct{} `type:"structure"` + + // Brief description of this remediation action. + Description *string `type:"string"` + + // 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. + FMSCanRemediate *bool `type:"boolean"` + + // Lists the entries that the remediation action would delete. + NetworkAclEntriesToBeDeleted []*EntryDescription `type:"list"` + + // The network ACL that's associated with the remediation action. + NetworkAclId *ActionTarget `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteNetworkAclEntriesAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteNetworkAclEntriesAction) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *DeleteNetworkAclEntriesAction) SetDescription(v string) *DeleteNetworkAclEntriesAction { + s.Description = &v + return s +} + +// SetFMSCanRemediate sets the FMSCanRemediate field's value. +func (s *DeleteNetworkAclEntriesAction) SetFMSCanRemediate(v bool) *DeleteNetworkAclEntriesAction { + s.FMSCanRemediate = &v + return s +} + +// SetNetworkAclEntriesToBeDeleted sets the NetworkAclEntriesToBeDeleted field's value. +func (s *DeleteNetworkAclEntriesAction) SetNetworkAclEntriesToBeDeleted(v []*EntryDescription) *DeleteNetworkAclEntriesAction { + s.NetworkAclEntriesToBeDeleted = v + return s +} + +// SetNetworkAclId sets the NetworkAclId field's value. +func (s *DeleteNetworkAclEntriesAction) SetNetworkAclId(v *ActionTarget) *DeleteNetworkAclEntriesAction { + s.NetworkAclId = v + return s +} + type DeleteNotificationChannelInput struct { _ struct{} `type:"structure"` } @@ -6826,6 +6997,156 @@ func (s *EC2ReplaceRouteTableAssociationAction) SetRouteTableId(v *ActionTarget) return s } +// Describes a single rule in a network ACL. +type EntryDescription struct { + _ struct{} `type:"structure"` + + // Describes a rule in a network ACL. + // + // Each network ACL has a set of numbered ingress rules and a separate set of + // numbered egress rules. When determining whether a packet should be allowed + // in or out of a subnet associated with the network ACL, Amazon Web Services + // processes the entries in the network ACL according to the rule numbers, in + // ascending order. + // + // 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, + // 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 that you want them to run. Firewall + // Manager assigns the rule numbers for you when you save the network ACL policy + // specification. + EntryDetail *NetworkAclEntry `type:"structure"` + + // 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 + // assigns rule numbers. + EntryRuleNumber *int64 `type:"integer"` + + // Specifies whether the entry is managed by Firewall Manager or by a user, + // and, for Firewall Manager-managed entries, specifies whether the entry is + // among those that run first in the network ACL or those that run last. + EntryType *string `type:"string" enum:"EntryType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EntryDescription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EntryDescription) GoString() string { + return s.String() +} + +// SetEntryDetail sets the EntryDetail field's value. +func (s *EntryDescription) SetEntryDetail(v *NetworkAclEntry) *EntryDescription { + s.EntryDetail = v + return s +} + +// SetEntryRuleNumber sets the EntryRuleNumber field's value. +func (s *EntryDescription) SetEntryRuleNumber(v int64) *EntryDescription { + s.EntryRuleNumber = &v + return s +} + +// SetEntryType sets the EntryType field's value. +func (s *EntryDescription) SetEntryType(v string) *EntryDescription { + s.EntryType = &v + return s +} + +// Detailed information about an entry violation in a network ACL. The violation +// is against the network ACL specification inside the Firewall Manager network +// ACL policy. This data object is part of InvalidNetworkAclEntriesViolation. +type EntryViolation struct { + _ struct{} `type:"structure"` + + // The evaluation location within the ordered list of entries where the ExpectedEntry + // is currently located. + ActualEvaluationOrder *string `type:"string"` + + // The list of entries that are in conflict with ExpectedEntry. + EntriesWithConflicts []*EntryDescription `type:"list"` + + // The entry that's currently in the ExpectedEvaluationOrder location, in place + // of the expected entry. + EntryAtExpectedEvaluationOrder *EntryDescription `type:"structure"` + + // Descriptions of the violations that Firewall Manager found for these entries. + EntryViolationReasons []*string `type:"list" enum:"EntryViolationReason"` + + // The Firewall Manager-managed network ACL entry that is involved in the entry + // violation. + ExpectedEntry *EntryDescription `type:"structure"` + + // The evaluation location within the ordered list of entries where the ExpectedEntry + // should be, according to the network ACL policy specifications. + ExpectedEvaluationOrder *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EntryViolation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EntryViolation) GoString() string { + return s.String() +} + +// SetActualEvaluationOrder sets the ActualEvaluationOrder field's value. +func (s *EntryViolation) SetActualEvaluationOrder(v string) *EntryViolation { + s.ActualEvaluationOrder = &v + return s +} + +// SetEntriesWithConflicts sets the EntriesWithConflicts field's value. +func (s *EntryViolation) SetEntriesWithConflicts(v []*EntryDescription) *EntryViolation { + s.EntriesWithConflicts = v + return s +} + +// SetEntryAtExpectedEvaluationOrder sets the EntryAtExpectedEvaluationOrder field's value. +func (s *EntryViolation) SetEntryAtExpectedEvaluationOrder(v *EntryDescription) *EntryViolation { + s.EntryAtExpectedEvaluationOrder = v + return s +} + +// SetEntryViolationReasons sets the EntryViolationReasons field's value. +func (s *EntryViolation) SetEntryViolationReasons(v []*string) *EntryViolation { + s.EntryViolationReasons = v + return s +} + +// SetExpectedEntry sets the ExpectedEntry field's value. +func (s *EntryViolation) SetExpectedEntry(v *EntryDescription) *EntryViolation { + s.ExpectedEntry = v + return s +} + +// SetExpectedEvaluationOrder sets the ExpectedEvaluationOrder field's value. +func (s *EntryViolation) SetExpectedEvaluationOrder(v string) *EntryViolation { + s.ExpectedEvaluationOrder = &v + return s +} + // Describes the compliance status for the account. An account is considered // noncompliant if it includes resources that are not protected by the specified // policy or that don't comply with the policy. @@ -7243,7 +7564,7 @@ func (s *GetAdminAccountOutput) SetRoleStatus(v string) *GetAdminAccountOutput { type GetAdminScopeInput struct { _ struct{} `type:"structure"` - // The administator account that you want to get the details for. + // The administrator account that you want to get the details for. // // AdminAccount is a required field AdminAccount *string `min:"1" type:"string" required:"true"` @@ -7296,7 +7617,7 @@ type GetAdminScopeOutput struct { AdminScope *AdminScope `type:"structure"` // The current status of the request to onboard a member account as an Firewall - // Manager administator. + // Manager administrator. // // * ONBOARDING - The account is onboarding to Firewall Manager as an administrator. // @@ -8214,6 +8535,8 @@ type GetViolationDetailsInput struct { // // * Security group content audit // + // * Network ACL + // // * Third-party firewall // // PolicyId is a required field @@ -8469,6 +8792,74 @@ func (s *InvalidInputException) RequestID() string { return s.RespMetadata.RequestID } +// Violation detail for the entries in a network ACL resource. +type InvalidNetworkAclEntriesViolation struct { + _ struct{} `type:"structure"` + + // The network ACL containing the entry violations. + CurrentAssociatedNetworkAcl *string `min:"1" type:"string"` + + // Detailed information about the entry violations in the network ACL. + EntryViolations []*EntryViolation `type:"list"` + + // The subnet that's associated with the network ACL. + Subnet *string `min:"1" type:"string"` + + // The Availability Zone where the network ACL is in use. + SubnetAvailabilityZone *string `type:"string"` + + // The VPC where the violation was found. + Vpc *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidNetworkAclEntriesViolation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidNetworkAclEntriesViolation) GoString() string { + return s.String() +} + +// SetCurrentAssociatedNetworkAcl sets the CurrentAssociatedNetworkAcl field's value. +func (s *InvalidNetworkAclEntriesViolation) SetCurrentAssociatedNetworkAcl(v string) *InvalidNetworkAclEntriesViolation { + s.CurrentAssociatedNetworkAcl = &v + return s +} + +// SetEntryViolations sets the EntryViolations field's value. +func (s *InvalidNetworkAclEntriesViolation) SetEntryViolations(v []*EntryViolation) *InvalidNetworkAclEntriesViolation { + s.EntryViolations = v + return s +} + +// SetSubnet sets the Subnet field's value. +func (s *InvalidNetworkAclEntriesViolation) SetSubnet(v string) *InvalidNetworkAclEntriesViolation { + s.Subnet = &v + return s +} + +// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value. +func (s *InvalidNetworkAclEntriesViolation) SetSubnetAvailabilityZone(v string) *InvalidNetworkAclEntriesViolation { + s.SubnetAvailabilityZone = &v + return s +} + +// SetVpc sets the Vpc field's value. +func (s *InvalidNetworkAclEntriesViolation) SetVpc(v string) *InvalidNetworkAclEntriesViolation { + s.Vpc = &v + return s +} + // The operation failed because there was nothing to do or the operation wasn't // possible. For example, you might have submitted an AssociateAdminAccount // request for an account ID that was already set as the Firewall Manager administrator. @@ -10057,22 +10448,20 @@ func (s *ListThirdPartyFirewallFirewallPoliciesOutput) SetThirdPartyFirewallFire return s } -// Violation detail for an internet gateway route with an inactive state in -// the customer subnet route table or Network Firewall subnet route table. -type NetworkFirewallBlackHoleRouteDetectedViolation struct { +// Defines a Firewall Manager network ACL policy. This is used in the PolicyOption +// of a SecurityServicePolicyData for a Policy, when the SecurityServicePolicyData +// type is set to NETWORK_ACL_COMMON. +// +// For information about network ACLs, see Control traffic to subnets using +// network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) +// in the Amazon Virtual Private Cloud User Guide. +type NetworkAclCommonPolicy struct { _ struct{} `type:"structure"` - // Information about the route table ID. - RouteTableId *string `min:"1" type:"string"` - - // Information about the route or routes that are in violation. - ViolatingRoutes []*Route `type:"list"` - - // The subnet that has an inactive state. - ViolationTarget *string `type:"string"` - - // Information about the VPC ID. - VpcId *string `min:"1" type:"string"` + // The definition of the first and last rules for the network ACL policy. + // + // NetworkAclEntrySet is a required field + NetworkAclEntrySet *NetworkAclEntrySet `type:"structure" required:"true"` } // String returns the string representation. @@ -10080,7 +10469,7 @@ type NetworkFirewallBlackHoleRouteDetectedViolation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s NetworkFirewallBlackHoleRouteDetectedViolation) String() string { +func (s NetworkAclCommonPolicy) String() string { return awsutil.Prettify(s) } @@ -10089,14 +10478,435 @@ func (s NetworkFirewallBlackHoleRouteDetectedViolation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s NetworkFirewallBlackHoleRouteDetectedViolation) GoString() string { +func (s NetworkAclCommonPolicy) GoString() string { return s.String() } -// SetRouteTableId sets the RouteTableId field's value. -func (s *NetworkFirewallBlackHoleRouteDetectedViolation) SetRouteTableId(v string) *NetworkFirewallBlackHoleRouteDetectedViolation { - s.RouteTableId = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *NetworkAclCommonPolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NetworkAclCommonPolicy"} + if s.NetworkAclEntrySet == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkAclEntrySet")) + } + if s.NetworkAclEntrySet != nil { + if err := s.NetworkAclEntrySet.Validate(); err != nil { + invalidParams.AddNested("NetworkAclEntrySet", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNetworkAclEntrySet sets the NetworkAclEntrySet field's value. +func (s *NetworkAclCommonPolicy) SetNetworkAclEntrySet(v *NetworkAclEntrySet) *NetworkAclCommonPolicy { + s.NetworkAclEntrySet = v + return s +} + +// Describes a rule in a network ACL. +// +// Each network ACL has a set of numbered ingress rules and a separate set of +// numbered egress rules. When determining whether a packet should be allowed +// in or out of a subnet associated with the network ACL, Amazon Web Services +// processes the entries in the network ACL according to the rule numbers, in +// ascending order. +// +// 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, +// 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 that you want them to run. Firewall +// Manager assigns the rule numbers for you when you save the network ACL policy +// specification. +type NetworkAclEntry struct { + _ struct{} `type:"structure"` + + // The IPv4 network range to allow or deny, in CIDR notation. + CidrBlock *string `min:"1" type:"string"` + + // Indicates whether the rule is an egress, or outbound, rule (applied to traffic + // leaving the subnet). If it's not an egress rule, then it's an ingress, or + // inbound, rule. + // + // Egress is a required field + Egress *bool `type:"boolean" required:"true"` + + // ICMP protocol: The ICMP type and code. + IcmpTypeCode *NetworkAclIcmpTypeCode `type:"structure"` + + // The IPv6 network range to allow or deny, in CIDR notation. + Ipv6CidrBlock *string `min:"1" type:"string"` + + // TCP or UDP protocols: The range of ports the rule applies to. + PortRange *NetworkAclPortRange `type:"structure"` + + // The protocol number. A value of "-1" means all protocols. + // + // Protocol is a required field + Protocol *string `type:"string" required:"true"` + + // Indicates whether to allow or deny the traffic that matches the rule. + // + // RuleAction is a required field + RuleAction *string `type:"string" required:"true" enum:"NetworkAclRuleAction"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkAclEntry) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkAclEntry) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NetworkAclEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NetworkAclEntry"} + if s.CidrBlock != nil && len(*s.CidrBlock) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CidrBlock", 1)) + } + if s.Egress == nil { + invalidParams.Add(request.NewErrParamRequired("Egress")) + } + if s.Ipv6CidrBlock != nil && len(*s.Ipv6CidrBlock) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Ipv6CidrBlock", 1)) + } + if s.Protocol == nil { + invalidParams.Add(request.NewErrParamRequired("Protocol")) + } + if s.RuleAction == nil { + invalidParams.Add(request.NewErrParamRequired("RuleAction")) + } + if s.IcmpTypeCode != nil { + if err := s.IcmpTypeCode.Validate(); err != nil { + invalidParams.AddNested("IcmpTypeCode", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCidrBlock sets the CidrBlock field's value. +func (s *NetworkAclEntry) SetCidrBlock(v string) *NetworkAclEntry { + s.CidrBlock = &v + return s +} + +// SetEgress sets the Egress field's value. +func (s *NetworkAclEntry) SetEgress(v bool) *NetworkAclEntry { + s.Egress = &v + return s +} + +// SetIcmpTypeCode sets the IcmpTypeCode field's value. +func (s *NetworkAclEntry) SetIcmpTypeCode(v *NetworkAclIcmpTypeCode) *NetworkAclEntry { + s.IcmpTypeCode = v + return s +} + +// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value. +func (s *NetworkAclEntry) SetIpv6CidrBlock(v string) *NetworkAclEntry { + s.Ipv6CidrBlock = &v + return s +} + +// SetPortRange sets the PortRange field's value. +func (s *NetworkAclEntry) SetPortRange(v *NetworkAclPortRange) *NetworkAclEntry { + s.PortRange = v + return s +} + +// SetProtocol sets the Protocol field's value. +func (s *NetworkAclEntry) SetProtocol(v string) *NetworkAclEntry { + s.Protocol = &v + return s +} + +// SetRuleAction sets the RuleAction field's value. +func (s *NetworkAclEntry) SetRuleAction(v string) *NetworkAclEntry { + s.RuleAction = &v + return s +} + +// The configuration of the first and last rules for the network ACL policy, +// and the remediation settings for each. +type NetworkAclEntrySet struct { + _ struct{} `type:"structure"` + + // The rules that you want to run first in the Firewall Manager managed network + // ACLs. + // + // Provide these in the order in which you want them to run. Firewall Manager + // will assign the specific rule numbers for you, in the network ACLs that it + // creates. + FirstEntries []*NetworkAclEntry `type:"list"` + + // Applies only when remediation is enabled for the policy as a whole. Firewall + // Manager uses this setting when it finds policy violations that involve conflicts + // between the custom entries and the policy entries. + // + // If forced remediation is disabled, Firewall Manager marks the network ACL + // as noncompliant and does not try to remediate. For more information about + // the remediation behavior, see Network access control list (ACL) policies + // (https://docs.aws.amazon.com/waf/latest/developerguide/network-acl-policies.html) + // in the Firewall Manager Developer Guide. + // + // ForceRemediateForFirstEntries is a required field + ForceRemediateForFirstEntries *bool `type:"boolean" required:"true"` + + // Applies only when remediation is enabled for the policy as a whole. Firewall + // Manager uses this setting when it finds policy violations that involve conflicts + // between the custom entries and the policy entries. + // + // If forced remediation is disabled, Firewall Manager marks the network ACL + // as noncompliant and does not try to remediate. For more information about + // the remediation behavior, see Network access control list (ACL) policies + // (https://docs.aws.amazon.com/waf/latest/developerguide/network-acl-policies.html) + // in the Firewall Manager Developer Guide. + // + // ForceRemediateForLastEntries is a required field + ForceRemediateForLastEntries *bool `type:"boolean" required:"true"` + + // The rules that you want to run last in the Firewall Manager managed network + // ACLs. + // + // Provide these in the order in which you want them to run. Firewall Manager + // will assign the specific rule numbers for you, in the network ACLs that it + // creates. + LastEntries []*NetworkAclEntry `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkAclEntrySet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkAclEntrySet) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NetworkAclEntrySet) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NetworkAclEntrySet"} + if s.ForceRemediateForFirstEntries == nil { + invalidParams.Add(request.NewErrParamRequired("ForceRemediateForFirstEntries")) + } + if s.ForceRemediateForLastEntries == nil { + invalidParams.Add(request.NewErrParamRequired("ForceRemediateForLastEntries")) + } + if s.FirstEntries != nil { + for i, v := range s.FirstEntries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FirstEntries", i), err.(request.ErrInvalidParams)) + } + } + } + if s.LastEntries != nil { + for i, v := range s.LastEntries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LastEntries", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFirstEntries sets the FirstEntries field's value. +func (s *NetworkAclEntrySet) SetFirstEntries(v []*NetworkAclEntry) *NetworkAclEntrySet { + s.FirstEntries = v + return s +} + +// SetForceRemediateForFirstEntries sets the ForceRemediateForFirstEntries field's value. +func (s *NetworkAclEntrySet) SetForceRemediateForFirstEntries(v bool) *NetworkAclEntrySet { + s.ForceRemediateForFirstEntries = &v + return s +} + +// SetForceRemediateForLastEntries sets the ForceRemediateForLastEntries field's value. +func (s *NetworkAclEntrySet) SetForceRemediateForLastEntries(v bool) *NetworkAclEntrySet { + s.ForceRemediateForLastEntries = &v + return s +} + +// SetLastEntries sets the LastEntries field's value. +func (s *NetworkAclEntrySet) SetLastEntries(v []*NetworkAclEntry) *NetworkAclEntrySet { + s.LastEntries = v + return s +} + +// ICMP protocol: The ICMP type and code. +type NetworkAclIcmpTypeCode struct { + _ struct{} `type:"structure"` + + // ICMP code. + Code *int64 `type:"integer"` + + // ICMP type. + Type *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkAclIcmpTypeCode) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkAclIcmpTypeCode) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NetworkAclIcmpTypeCode) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NetworkAclIcmpTypeCode"} + if s.Code != nil && *s.Code < -2.147483648e+09 { + invalidParams.Add(request.NewErrParamMinValue("Code", -2.147483648e+09)) + } + if s.Type != nil && *s.Type < -2.147483648e+09 { + invalidParams.Add(request.NewErrParamMinValue("Type", -2.147483648e+09)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCode sets the Code field's value. +func (s *NetworkAclIcmpTypeCode) SetCode(v int64) *NetworkAclIcmpTypeCode { + s.Code = &v + return s +} + +// SetType sets the Type field's value. +func (s *NetworkAclIcmpTypeCode) SetType(v int64) *NetworkAclIcmpTypeCode { + s.Type = &v + return s +} + +// TCP or UDP protocols: The range of ports the rule applies to. +type NetworkAclPortRange struct { + _ struct{} `type:"structure"` + + // The beginning port number of the range. + From *int64 `type:"integer"` + + // The ending port number of the range. + To *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkAclPortRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkAclPortRange) GoString() string { + return s.String() +} + +// SetFrom sets the From field's value. +func (s *NetworkAclPortRange) SetFrom(v int64) *NetworkAclPortRange { + s.From = &v + return s +} + +// SetTo sets the To field's value. +func (s *NetworkAclPortRange) SetTo(v int64) *NetworkAclPortRange { + s.To = &v + return s +} + +// Violation detail for an internet gateway route with an inactive state in +// the customer subnet route table or Network Firewall subnet route table. +type NetworkFirewallBlackHoleRouteDetectedViolation struct { + _ struct{} `type:"structure"` + + // Information about the route table ID. + RouteTableId *string `min:"1" type:"string"` + + // Information about the route or routes that are in violation. + ViolatingRoutes []*Route `type:"list"` + + // The subnet that has an inactive state. + ViolationTarget *string `type:"string"` + + // Information about the VPC ID. + VpcId *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkFirewallBlackHoleRouteDetectedViolation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkFirewallBlackHoleRouteDetectedViolation) GoString() string { + return s.String() +} + +// SetRouteTableId sets the RouteTableId field's value. +func (s *NetworkFirewallBlackHoleRouteDetectedViolation) SetRouteTableId(v string) *NetworkFirewallBlackHoleRouteDetectedViolation { + s.RouteTableId = &v + return s } // SetViolatingRoutes sets the ViolatingRoutes field's value. @@ -11279,15 +12089,17 @@ type Policy struct { // * WAF - AWS::ApiGateway::Stage, AWS::ElasticLoadBalancingV2::LoadBalancer, // and AWS::CloudFront::Distribution. // - // * DNS Firewall, Network Firewall, and third-party firewall - AWS::EC2::VPC. - // // * Shield Advanced - AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::ElasticLoadBalancing::LoadBalancer, // AWS::EC2::EIP, and AWS::CloudFront::Distribution. // + // * Network ACL - AWS::EC2::Subnet. + // + // * Security group usage audit - AWS::EC2::SecurityGroup. + // // * Security group content audit - AWS::EC2::SecurityGroup, AWS::EC2::NetworkInterface, // and AWS::EC2::Instance. // - // * Security group usage audit - AWS::EC2::SecurityGroup. + // * DNS Firewall, Network Firewall, and third-party firewall - AWS::EC2::VPC. // // ResourceType is a required field ResourceType *string `min:"1" type:"string" required:"true"` @@ -11644,11 +12456,14 @@ func (s *PolicyComplianceStatus) SetPolicyOwner(v string) *PolicyComplianceStatu return s } -// Contains the Network Firewall firewall policy options to configure the policy's -// deployment model and third-party firewall policy settings. +// Contains the settings to configure a network ACL policy, a Network Firewall +// firewall policy deployment model, or a third-party firewall policy. type PolicyOption struct { _ struct{} `type:"structure"` + // Defines a Firewall Manager network ACL policy. + NetworkAclCommonPolicy *NetworkAclCommonPolicy `type:"structure"` + // Defines the deployment model to use for the firewall policy. NetworkFirewallPolicy *NetworkFirewallPolicy `type:"structure"` @@ -11674,6 +12489,27 @@ func (s PolicyOption) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *PolicyOption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PolicyOption"} + if s.NetworkAclCommonPolicy != nil { + if err := s.NetworkAclCommonPolicy.Validate(); err != nil { + invalidParams.AddNested("NetworkAclCommonPolicy", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNetworkAclCommonPolicy sets the NetworkAclCommonPolicy field's value. +func (s *PolicyOption) SetNetworkAclCommonPolicy(v *NetworkAclCommonPolicy) *PolicyOption { + s.NetworkAclCommonPolicy = v + return s +} + // SetNetworkFirewallPolicy sets the NetworkFirewallPolicy field's value. func (s *PolicyOption) SetNetworkFirewallPolicy(v *NetworkFirewallPolicy) *PolicyOption { s.NetworkFirewallPolicy = v @@ -11727,13 +12563,6 @@ type PolicySummary struct { // The type of resource protected by or in scope of the policy. This is in the // format shown in the Amazon Web Services Resource Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html). - // For WAF and Shield Advanced, examples include AWS::ElasticLoadBalancingV2::LoadBalancer - // and AWS::CloudFront::Distribution. For a security group common policy, valid - // values are AWS::EC2::NetworkInterface and AWS::EC2::Instance. For a security - // group content audit policy, valid values are AWS::EC2::SecurityGroup, AWS::EC2::NetworkInterface, - // and AWS::EC2::Instance. For a security group usage audit policy, the value - // is AWS::EC2::SecurityGroup. For an Network Firewall policy or DNS Firewall - // policy, the value is AWS::EC2::VPC. ResourceType *string `min:"1" type:"string"` // The service that the policy is using to protect the resources. This specifies @@ -12796,6 +13625,15 @@ func (s *RegionScope) SetRegions(v []*string) *RegionScope { type RemediationAction struct { _ struct{} `type:"structure"` + // Information about the CreateNetworkAcl action in Amazon EC2. + CreateNetworkAclAction *CreateNetworkAclAction `type:"structure"` + + // Information about the CreateNetworkAclEntries action in Amazon EC2. + CreateNetworkAclEntriesAction *CreateNetworkAclEntriesAction `type:"structure"` + + // Information about the DeleteNetworkAclEntries action in Amazon EC2. + DeleteNetworkAclEntriesAction *DeleteNetworkAclEntriesAction `type:"structure"` + // A description of a remediation action. Description *string `type:"string"` @@ -12823,6 +13661,9 @@ type RemediationAction struct { // The remedial action to take when updating a firewall configuration. FMSPolicyUpdateFirewallCreationConfigAction *FMSPolicyUpdateFirewallCreationConfigAction `type:"structure"` + + // Information about the ReplaceNetworkAclAssociation action in Amazon EC2. + ReplaceNetworkAclAssociationAction *ReplaceNetworkAclAssociationAction `type:"structure"` } // String returns the string representation. @@ -12843,6 +13684,24 @@ func (s RemediationAction) GoString() string { return s.String() } +// SetCreateNetworkAclAction sets the CreateNetworkAclAction field's value. +func (s *RemediationAction) SetCreateNetworkAclAction(v *CreateNetworkAclAction) *RemediationAction { + s.CreateNetworkAclAction = v + return s +} + +// SetCreateNetworkAclEntriesAction sets the CreateNetworkAclEntriesAction field's value. +func (s *RemediationAction) SetCreateNetworkAclEntriesAction(v *CreateNetworkAclEntriesAction) *RemediationAction { + s.CreateNetworkAclEntriesAction = v + return s +} + +// SetDeleteNetworkAclEntriesAction sets the DeleteNetworkAclEntriesAction field's value. +func (s *RemediationAction) SetDeleteNetworkAclEntriesAction(v *DeleteNetworkAclEntriesAction) *RemediationAction { + s.DeleteNetworkAclEntriesAction = v + return s +} + // SetDescription sets the Description field's value. func (s *RemediationAction) SetDescription(v string) *RemediationAction { s.Description = &v @@ -12897,6 +13756,12 @@ func (s *RemediationAction) SetFMSPolicyUpdateFirewallCreationConfigAction(v *FM return s } +// SetReplaceNetworkAclAssociationAction sets the ReplaceNetworkAclAssociationAction field's value. +func (s *RemediationAction) SetReplaceNetworkAclAssociationAction(v *ReplaceNetworkAclAssociationAction) *RemediationAction { + s.ReplaceNetworkAclAssociationAction = v + return s +} + // An ordered list of actions you can take to remediate a violation. type RemediationActionWithOrder struct { _ struct{} `type:"structure"` @@ -12938,6 +13803,68 @@ func (s *RemediationActionWithOrder) SetRemediationAction(v *RemediationAction) return s } +// Information about the ReplaceNetworkAclAssociation action in Amazon EC2. +// This is a remediation option in RemediationAction. +type ReplaceNetworkAclAssociationAction struct { + _ struct{} `type:"structure"` + + // Describes a remediation action target. + AssociationId *ActionTarget `type:"structure"` + + // Brief description of this remediation action. + Description *string `type:"string"` + + // 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. + FMSCanRemediate *bool `type:"boolean"` + + // The network ACL that's associated with the remediation action. + NetworkAclId *ActionTarget `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReplaceNetworkAclAssociationAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReplaceNetworkAclAssociationAction) GoString() string { + return s.String() +} + +// SetAssociationId sets the AssociationId field's value. +func (s *ReplaceNetworkAclAssociationAction) SetAssociationId(v *ActionTarget) *ReplaceNetworkAclAssociationAction { + s.AssociationId = v + return s +} + +// SetDescription sets the Description field's value. +func (s *ReplaceNetworkAclAssociationAction) SetDescription(v string) *ReplaceNetworkAclAssociationAction { + s.Description = &v + return s +} + +// SetFMSCanRemediate sets the FMSCanRemediate field's value. +func (s *ReplaceNetworkAclAssociationAction) SetFMSCanRemediate(v bool) *ReplaceNetworkAclAssociationAction { + s.FMSCanRemediate = &v + return s +} + +// SetNetworkAclId sets the NetworkAclId field's value. +func (s *ReplaceNetworkAclAssociationAction) SetNetworkAclId(v *ActionTarget) *ReplaceNetworkAclAssociationAction { + s.NetworkAclId = v + return s +} + // Details of a resource that is associated to an Firewall Manager resource // set. type Resource struct { @@ -13368,6 +14295,9 @@ type ResourceViolation struct { // was deleted. FirewallSubnetMissingVPCEndpointViolation *FirewallSubnetMissingVPCEndpointViolation `type:"structure"` + // Violation detail for the entries in a network ACL resource. + InvalidNetworkAclEntriesViolation *InvalidNetworkAclEntriesViolation `type:"structure"` + // Violation detail for an internet gateway route with an inactive state in // the customer subnet route table or Network Firewall subnet route table. NetworkFirewallBlackHoleRouteDetectedViolation *NetworkFirewallBlackHoleRouteDetectedViolation `type:"structure"` @@ -13491,6 +14421,12 @@ func (s *ResourceViolation) SetFirewallSubnetMissingVPCEndpointViolation(v *Fire return s } +// SetInvalidNetworkAclEntriesViolation sets the InvalidNetworkAclEntriesViolation field's value. +func (s *ResourceViolation) SetInvalidNetworkAclEntriesViolation(v *InvalidNetworkAclEntriesViolation) *ResourceViolation { + s.InvalidNetworkAclEntriesViolation = v + return s +} + // SetNetworkFirewallBlackHoleRouteDetectedViolation sets the NetworkFirewallBlackHoleRouteDetectedViolation field's value. func (s *ResourceViolation) SetNetworkFirewallBlackHoleRouteDetectedViolation(v *NetworkFirewallBlackHoleRouteDetectedViolation) *ResourceViolation { s.NetworkFirewallBlackHoleRouteDetectedViolation = v @@ -13971,7 +14907,7 @@ type SecurityServicePolicyData struct { // otherwise Firewall Manager won't be able to create the policy. When you // enable revertManualSecurityGroupChanges, Firewall Manager identifies and // reports when the security groups created by this policy become non-compliant. - // Firewall Manager won't distrubute system tags added by Amazon Web Services + // Firewall Manager won't distribute system tags added by Amazon Web Services // services into the replica security groups. System tags begin with the // aws: prefix. // @@ -14102,8 +15038,8 @@ type SecurityServicePolicyData struct { // \"BLOCK\"}}" ManagedServiceData *string `min:"1" type:"string"` - // Contains the Network Firewall firewall policy options to configure a centralized - // deployment model. + // Contains the settings to configure a network ACL policy, a Network Firewall + // firewall policy deployment model, or a third-party firewall policy. PolicyOption *PolicyOption `type:"structure"` // The service that the policy is using to protect the resources. This specifies @@ -14144,6 +15080,11 @@ func (s *SecurityServicePolicyData) Validate() error { if s.Type == nil { invalidParams.Add(request.NewErrParamRequired("Type")) } + if s.PolicyOption != nil { + if err := s.PolicyOption.Validate(); err != nil { + invalidParams.AddNested("PolicyOption", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -15051,6 +15992,46 @@ func DestinationType_Values() []string { } } +const ( + // EntryTypeFmsManagedFirstEntry is a EntryType enum value + EntryTypeFmsManagedFirstEntry = "FMS_MANAGED_FIRST_ENTRY" + + // EntryTypeFmsManagedLastEntry is a EntryType enum value + EntryTypeFmsManagedLastEntry = "FMS_MANAGED_LAST_ENTRY" + + // EntryTypeCustomEntry is a EntryType enum value + EntryTypeCustomEntry = "CUSTOM_ENTRY" +) + +// EntryType_Values returns all elements of the EntryType enum +func EntryType_Values() []string { + return []string{ + EntryTypeFmsManagedFirstEntry, + EntryTypeFmsManagedLastEntry, + EntryTypeCustomEntry, + } +} + +const ( + // EntryViolationReasonMissingExpectedEntry is a EntryViolationReason enum value + EntryViolationReasonMissingExpectedEntry = "MISSING_EXPECTED_ENTRY" + + // EntryViolationReasonIncorrectEntryOrder is a EntryViolationReason enum value + EntryViolationReasonIncorrectEntryOrder = "INCORRECT_ENTRY_ORDER" + + // EntryViolationReasonEntryConflict is a EntryViolationReason enum value + EntryViolationReasonEntryConflict = "ENTRY_CONFLICT" +) + +// EntryViolationReason_Values returns all elements of the EntryViolationReason enum +func EntryViolationReason_Values() []string { + return []string{ + EntryViolationReasonMissingExpectedEntry, + EntryViolationReasonIncorrectEntryOrder, + EntryViolationReasonEntryConflict, + } +} + const ( // FailedItemReasonNotValidArn is a FailedItemReason enum value FailedItemReasonNotValidArn = "NOT_VALID_ARN" @@ -15119,6 +16100,22 @@ func MarketplaceSubscriptionOnboardingStatus_Values() []string { } } +const ( + // NetworkAclRuleActionAllow is a NetworkAclRuleAction enum value + NetworkAclRuleActionAllow = "allow" + + // NetworkAclRuleActionDeny is a NetworkAclRuleAction enum value + NetworkAclRuleActionDeny = "deny" +) + +// NetworkAclRuleAction_Values returns all elements of the NetworkAclRuleAction enum +func NetworkAclRuleAction_Values() []string { + return []string{ + NetworkAclRuleActionAllow, + NetworkAclRuleActionDeny, + } +} + const ( // NetworkFirewallOverrideActionDropToAlert is a NetworkFirewallOverrideAction enum value NetworkFirewallOverrideActionDropToAlert = "DROP_TO_ALERT" @@ -15249,6 +16246,9 @@ const ( // SecurityServiceTypeImportNetworkFirewall is a SecurityServiceType enum value SecurityServiceTypeImportNetworkFirewall = "IMPORT_NETWORK_FIREWALL" + + // SecurityServiceTypeNetworkAclCommon is a SecurityServiceType enum value + SecurityServiceTypeNetworkAclCommon = "NETWORK_ACL_COMMON" ) // SecurityServiceType_Values returns all elements of the SecurityServiceType enum @@ -15264,6 +16264,7 @@ func SecurityServiceType_Values() []string { SecurityServiceTypeDnsFirewall, SecurityServiceTypeThirdPartyFirewall, SecurityServiceTypeImportNetworkFirewall, + SecurityServiceTypeNetworkAclCommon, } } @@ -15443,6 +16444,9 @@ const ( // ViolationReasonFirewallSubnetMissingVpceEndpoint is a ViolationReason enum value ViolationReasonFirewallSubnetMissingVpceEndpoint = "FIREWALL_SUBNET_MISSING_VPCE_ENDPOINT" + + // ViolationReasonInvalidNetworkAclEntry is a ViolationReason enum value + ViolationReasonInvalidNetworkAclEntry = "INVALID_NETWORK_ACL_ENTRY" ) // ViolationReason_Values returns all elements of the ViolationReason enum @@ -15476,5 +16480,6 @@ func ViolationReason_Values() []string { ViolationReasonResourceMissingDnsFirewall, ViolationReasonRouteHasOutOfScopeEndpoint, ViolationReasonFirewallSubnetMissingVpceEndpoint, + ViolationReasonInvalidNetworkAclEntry, } } diff --git a/service/ivs/api.go b/service/ivs/api.go index 538742c222..bf49453159 100644 --- a/service/ivs/api.go +++ b/service/ivs/api.go @@ -3540,7 +3540,7 @@ func (s *AudioConfiguration) SetTargetBitrate(v int64) *AudioConfiguration { type BatchError struct { _ struct{} `type:"structure"` - // Channel ARN. + // ARN of an IVS resource; e.g., channel. Arn *string `locationName:"arn" min:"1" type:"string"` // Error code. diff --git a/service/ivsrealtime/api.go b/service/ivsrealtime/api.go index 6110f50941..14270c9b56 100644 --- a/service/ivsrealtime/api.go +++ b/service/ivsrealtime/api.go @@ -2728,6 +2728,8 @@ func (c *IVSRealTime) UpdateStageRequest(input *UpdateStageInput) (req *request. // // - ServiceQuotaExceededException // +// - ConflictException +// // - PendingVerification // // See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/UpdateStage diff --git a/service/rds/api.go b/service/rds/api.go index 10b608b6bc..632afa38f2 100644 --- a/service/rds/api.go +++ b/service/rds/api.go @@ -24479,7 +24479,8 @@ type CreateDBInstanceInput struct { TdeCredentialPassword *string `type:"string"` // The time zone of the DB instance. The time zone parameter is currently supported - // only by Microsoft SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone). + // only by RDS for Db2 (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-time-zone) + // and RDS for SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone). Timezone *string `type:"string"` // A list of Amazon EC2 VPC security groups to associate with this DB instance. @@ -30804,8 +30805,8 @@ type DBInstance struct { TdeCredentialArn *string `type:"string"` // The time zone of the DB instance. In most cases, the Timezone element is - // empty. Timezone content appears only for Microsoft SQL Server DB instances - // that were created with a time zone specified. + // empty. Timezone content appears only for RDS for Db2 and RDS for SQL Server + // DB instances that were created with a time zone specified. Timezone *string `type:"string"` // The list of Amazon EC2 VPC security groups that the DB instance belongs to. @@ -48322,7 +48323,7 @@ type ModifyDBInstanceInput struct { // Changing the subnet group causes an outage during the change. The change // is applied during the next maintenance window, unless you enable ApplyImmediately. // - // This parameter doesn't apply to RDS Custom DB instances. + // This setting doesn't apply to RDS Custom DB instances. // // Constraints: // @@ -48338,6 +48339,11 @@ type ModifyDBInstanceInput struct { // can't be deleted when deletion protection is enabled. By default, deletion // protection isn't enabled. For more information, see Deleting a DB Instance // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html). + // + // This setting doesn't apply to Amazon Aurora DB instances. You can enable + // or disable deletion protection for the DB cluster. For more information, + // see ModifyDBCluster. DB instances in a DB cluster can be deleted even when + // deletion protection is enabled for the DB cluster. DeletionProtection *bool `type:"boolean"` // Specifies whether to remove the DB instance from the Active Directory domain. diff --git a/service/sfn/api.go b/service/sfn/api.go index ff17c215c1..673a046bb9 100644 --- a/service/sfn/api.go +++ b/service/sfn/api.go @@ -2746,6 +2746,10 @@ func (c *SFN) RedriveExecutionRequest(input *RedriveExecutionInput) (req *reques // - InvalidArn // The provided Amazon Resource Name (ARN) is not valid. // +// - ValidationException +// The input does not satisfy the constraints specified by an Amazon Web Services +// service. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/RedriveExecution func (c *SFN) RedriveExecution(input *RedriveExecutionInput) (*RedriveExecutionOutput, error) { req, out := c.RedriveExecutionRequest(input) @@ -4054,6 +4058,104 @@ func (c *SFN) UpdateStateMachineAliasWithContext(ctx aws.Context, input *UpdateS return out, req.Send() } +const opValidateStateMachineDefinition = "ValidateStateMachineDefinition" + +// ValidateStateMachineDefinitionRequest generates a "aws/request.Request" representing the +// client's request for the ValidateStateMachineDefinition operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ValidateStateMachineDefinition for more information on using the ValidateStateMachineDefinition +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ValidateStateMachineDefinitionRequest method. +// req, resp := client.ValidateStateMachineDefinitionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/ValidateStateMachineDefinition +func (c *SFN) ValidateStateMachineDefinitionRequest(input *ValidateStateMachineDefinitionInput) (req *request.Request, output *ValidateStateMachineDefinitionOutput) { + op := &request.Operation{ + Name: opValidateStateMachineDefinition, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ValidateStateMachineDefinitionInput{} + } + + output = &ValidateStateMachineDefinitionOutput{} + req = c.newRequest(op, input, output) + return +} + +// ValidateStateMachineDefinition API operation for AWS Step Functions. +// +// Validates the syntax of a state machine definition. +// +// You can validate that a state machine definition is correct without creating +// a state machine resource. Step Functions will implicitly perform the same +// syntax check when you invoke CreateStateMachine and UpdateStateMachine. State +// machine definitions are specified using a JSON-based, structured language. +// For more information on Amazon States Language see Amazon States Language +// (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html) +// (ASL). +// +// Suggested uses for ValidateStateMachineDefinition: +// +// - Integrate automated checks into your code review or Continuous Integration +// (CI) process to validate state machine definitions before starting deployments. +// +// - Run the validation from a Git pre-commit hook to check your state machine +// definitions before committing them to your source repository. +// +// Errors found in the state machine definition will be returned in the response +// as a list of diagnostic elements, rather than raise an exception. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Step Functions's +// API operation ValidateStateMachineDefinition for usage and error information. +// +// Returned Error Types: +// - ValidationException +// The input does not satisfy the constraints specified by an Amazon Web Services +// service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/ValidateStateMachineDefinition +func (c *SFN) ValidateStateMachineDefinition(input *ValidateStateMachineDefinitionInput) (*ValidateStateMachineDefinitionOutput, error) { + req, out := c.ValidateStateMachineDefinitionRequest(input) + return out, req.Send() +} + +// ValidateStateMachineDefinitionWithContext is the same as ValidateStateMachineDefinition with the addition of +// the ability to pass a context and additional request options. +// +// See ValidateStateMachineDefinition for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SFN) ValidateStateMachineDefinitionWithContext(ctx aws.Context, input *ValidateStateMachineDefinitionInput, opts ...request.Option) (*ValidateStateMachineDefinitionOutput, error) { + req, out := c.ValidateStateMachineDefinitionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + // The specified activity does not exist. type ActivityDoesNotExist struct { _ struct{} `type:"structure"` @@ -14531,6 +14633,187 @@ func (s *UpdateStateMachineOutput) SetUpdateDate(v time.Time) *UpdateStateMachin return s } +// Describes an error found during validation. Validation errors found in the +// definition return in the response as diagnostic elements, rather than raise +// an exception. +type ValidateStateMachineDefinitionDiagnostic struct { + _ struct{} `type:"structure"` + + // Identifying code for the diagnostic. + // + // Code is a required field + Code *string `locationName:"code" type:"string" required:"true"` + + // Location of the issue in the state machine, if available. + // + // For errors specific to a field, the location could be in the format: /States//, + // for example: /States/FailState/ErrorPath. + Location *string `locationName:"location" type:"string"` + + // Message describing the diagnostic condition. + // + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true"` + + // A value of ERROR means that you cannot create or update a state machine with + // this definition. + // + // Severity is a required field + Severity *string `locationName:"severity" type:"string" required:"true" enum:"ValidateStateMachineDefinitionSeverity"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidateStateMachineDefinitionDiagnostic) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidateStateMachineDefinitionDiagnostic) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ValidateStateMachineDefinitionDiagnostic) SetCode(v string) *ValidateStateMachineDefinitionDiagnostic { + s.Code = &v + return s +} + +// SetLocation sets the Location field's value. +func (s *ValidateStateMachineDefinitionDiagnostic) SetLocation(v string) *ValidateStateMachineDefinitionDiagnostic { + s.Location = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ValidateStateMachineDefinitionDiagnostic) SetMessage(v string) *ValidateStateMachineDefinitionDiagnostic { + s.Message = &v + return s +} + +// SetSeverity sets the Severity field's value. +func (s *ValidateStateMachineDefinitionDiagnostic) SetSeverity(v string) *ValidateStateMachineDefinitionDiagnostic { + s.Severity = &v + return s +} + +type ValidateStateMachineDefinitionInput struct { + _ struct{} `type:"structure"` + + // The Amazon States Language definition of the state machine. For more information, + // see Amazon States Language (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html) + // (ASL). + // + // Definition is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ValidateStateMachineDefinitionInput's + // String and GoString methods. + // + // Definition is a required field + Definition *string `locationName:"definition" min:"1" type:"string" required:"true" sensitive:"true"` + + // The target type of state machine for this definition. The default is STANDARD. + Type *string `locationName:"type" type:"string" enum:"StateMachineType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidateStateMachineDefinitionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidateStateMachineDefinitionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ValidateStateMachineDefinitionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ValidateStateMachineDefinitionInput"} + if s.Definition == nil { + invalidParams.Add(request.NewErrParamRequired("Definition")) + } + if s.Definition != nil && len(*s.Definition) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Definition", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefinition sets the Definition field's value. +func (s *ValidateStateMachineDefinitionInput) SetDefinition(v string) *ValidateStateMachineDefinitionInput { + s.Definition = &v + return s +} + +// SetType sets the Type field's value. +func (s *ValidateStateMachineDefinitionInput) SetType(v string) *ValidateStateMachineDefinitionInput { + s.Type = &v + return s +} + +type ValidateStateMachineDefinitionOutput struct { + _ struct{} `type:"structure"` + + // If the result is OK, this field will be empty. When there are errors, this + // field will contain an array of Diagnostic objects to help you troubleshoot. + // + // Diagnostics is a required field + Diagnostics []*ValidateStateMachineDefinitionDiagnostic `locationName:"diagnostics" type:"list" required:"true"` + + // The result value will be OK when no syntax errors are found, or FAIL if the + // workflow definition does not pass verification. + // + // Result is a required field + Result *string `locationName:"result" type:"string" required:"true" enum:"ValidateStateMachineDefinitionResultCode"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidateStateMachineDefinitionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidateStateMachineDefinitionOutput) GoString() string { + return s.String() +} + +// SetDiagnostics sets the Diagnostics field's value. +func (s *ValidateStateMachineDefinitionOutput) SetDiagnostics(v []*ValidateStateMachineDefinitionDiagnostic) *ValidateStateMachineDefinitionOutput { + s.Diagnostics = v + return s +} + +// SetResult sets the Result field's value. +func (s *ValidateStateMachineDefinitionOutput) SetResult(v string) *ValidateStateMachineDefinitionOutput { + s.Result = &v + return s +} + // The input does not satisfy the constraints specified by an Amazon Web Services // service. type ValidationException struct { @@ -15064,6 +15347,34 @@ func TestExecutionStatus_Values() []string { } } +const ( + // ValidateStateMachineDefinitionResultCodeOk is a ValidateStateMachineDefinitionResultCode enum value + ValidateStateMachineDefinitionResultCodeOk = "OK" + + // ValidateStateMachineDefinitionResultCodeFail is a ValidateStateMachineDefinitionResultCode enum value + ValidateStateMachineDefinitionResultCodeFail = "FAIL" +) + +// ValidateStateMachineDefinitionResultCode_Values returns all elements of the ValidateStateMachineDefinitionResultCode enum +func ValidateStateMachineDefinitionResultCode_Values() []string { + return []string{ + ValidateStateMachineDefinitionResultCodeOk, + ValidateStateMachineDefinitionResultCodeFail, + } +} + +const ( + // ValidateStateMachineDefinitionSeverityError is a ValidateStateMachineDefinitionSeverity enum value + ValidateStateMachineDefinitionSeverityError = "ERROR" +) + +// ValidateStateMachineDefinitionSeverity_Values returns all elements of the ValidateStateMachineDefinitionSeverity enum +func ValidateStateMachineDefinitionSeverity_Values() []string { + return []string{ + ValidateStateMachineDefinitionSeverityError, + } +} + const ( // ValidationExceptionReasonApiDoesNotSupportLabeledArns is a ValidationExceptionReason enum value ValidationExceptionReasonApiDoesNotSupportLabeledArns = "API_DOES_NOT_SUPPORT_LABELED_ARNS" diff --git a/service/sfn/sfniface/interface.go b/service/sfn/sfniface/interface.go index 7679554bd5..cb63dece59 100644 --- a/service/sfn/sfniface/interface.go +++ b/service/sfn/sfniface/interface.go @@ -218,6 +218,10 @@ type SFNAPI interface { UpdateStateMachineAlias(*sfn.UpdateStateMachineAliasInput) (*sfn.UpdateStateMachineAliasOutput, error) UpdateStateMachineAliasWithContext(aws.Context, *sfn.UpdateStateMachineAliasInput, ...request.Option) (*sfn.UpdateStateMachineAliasOutput, error) UpdateStateMachineAliasRequest(*sfn.UpdateStateMachineAliasInput) (*request.Request, *sfn.UpdateStateMachineAliasOutput) + + ValidateStateMachineDefinition(*sfn.ValidateStateMachineDefinitionInput) (*sfn.ValidateStateMachineDefinitionOutput, error) + ValidateStateMachineDefinitionWithContext(aws.Context, *sfn.ValidateStateMachineDefinitionInput, ...request.Option) (*sfn.ValidateStateMachineDefinitionOutput, error) + ValidateStateMachineDefinitionRequest(*sfn.ValidateStateMachineDefinitionInput) (*request.Request, *sfn.ValidateStateMachineDefinitionOutput) } var _ SFNAPI = (*sfn.SFN)(nil)