diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c62e51c156..f23b5692020 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +Release v1.38.11 (2021-04-01) +=== + +### Service Client Updates +* `service/ec2`: Updates service API and documentation + * VPC Flow Logs Service adds a new API, GetFlowLogsIntegrationTemplate, which generates CloudFormation templates for Athena. For more info, see https://docs.aws.amazon.com/console/vpc/flow-logs/athena +* `service/fms`: Updates service API and documentation +* `service/kendra`: Updates service API and documentation + * AWS Kendra's ServiceNow data source now supports OAuth 2.0 authentication and knowledge article filtering via a ServiceNow query. +* `service/lex-models`: Updates service API +* `service/lightsail`: Updates service API and documentation + * - This release adds support for state detail for Amazon Lightsail container services. +* `service/mediaconvert`: Updates service API and documentation + * MediaConvert now supports HLS ingest, sidecar WebVTT ingest, Teletext color & style passthrough to TTML subtitles, TTML to WebVTT subtitle conversion with style, & DRC profiles in AC3 audio. +* `service/route53resolver`: Updates service API, documentation, and paginators +* `service/runtime.lex`: Updates service API and documentation +* `service/wafv2`: Updates service API and documentation + Release v1.38.10 (2021-03-31) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index c0fe972897b..9899cfe9c48 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -744,6 +744,7 @@ var awsPartition = partition{ "ap-northeast-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-west-2": endpoint{}, "us-east-1": endpoint{}, @@ -1778,6 +1779,7 @@ var awsPartition = partition{ "ap-northeast-1": endpoint{}, "ap-southeast-1": endpoint{}, "ap-southeast-2": endpoint{}, + "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-west-2": endpoint{}, "us-east-1": endpoint{}, @@ -3360,8 +3362,15 @@ var awsPartition = partition{ Endpoints: endpoints{ "af-south-1": endpoint{}, "ap-southeast-2": endpoint{}, + "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, "eu-west-1": endpoint{}, + "fips-us-east-1": endpoint{ + Hostname: "groundstation-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, "fips-us-east-2": endpoint{ Hostname: "groundstation-fips.us-east-2.amazonaws.com", CredentialScope: credentialScope{ @@ -3375,6 +3384,7 @@ var awsPartition = partition{ }, }, "me-south-1": endpoint{}, + "us-east-1": endpoint{}, "us-east-2": endpoint{}, "us-west-2": endpoint{}, }, diff --git a/aws/version.go b/aws/version.go index b1fb1d8836d..dabd1d47ec7 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.38.10" +const SDKVersion = "1.38.11" diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 6cd6a8b6cce..c5dd01c677c 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -2899,6 +2899,15 @@ "input":{"shape":"GetEbsEncryptionByDefaultRequest"}, "output":{"shape":"GetEbsEncryptionByDefaultResult"} }, + "GetFlowLogsIntegrationTemplate":{ + "name":"GetFlowLogsIntegrationTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFlowLogsIntegrationTemplateRequest"}, + "output":{"shape":"GetFlowLogsIntegrationTemplateResult"} + }, "GetGroupsForCapacityReservation":{ "name":"GetGroupsForCapacityReservation", "http":{ @@ -4986,17 +4995,17 @@ "AssociateSubnetCidrBlockRequest":{ "type":"structure", "required":[ - "SubnetId", - "Ipv6CidrBlock" + "Ipv6CidrBlock", + "SubnetId" ], "members":{ - "SubnetId":{ - "shape":"SubnetId", - "locationName":"subnetId" - }, "Ipv6CidrBlock":{ "shape":"String", "locationName":"ipv6CidrBlock" + }, + "SubnetId":{ + "shape":"SubnetId", + "locationName":"subnetId" } } }, @@ -5169,6 +5178,28 @@ "disassociated" ] }, + "AthenaIntegration":{ + "type":"structure", + "required":[ + "IntegrationResultS3DestinationArn", + "PartitionLoadFrequency" + ], + "members":{ + "IntegrationResultS3DestinationArn":{"shape":"String"}, + "PartitionLoadFrequency":{"shape":"PartitionLoadFrequency"}, + "PartitionStartDate":{"shape":"MillisecondDateTime"}, + "PartitionEndDate":{"shape":"MillisecondDateTime"} + } + }, + "AthenaIntegrationsSet":{ + "type":"list", + "member":{ + "shape":"AthenaIntegration", + "locationName":"item" + }, + "max":10, + "min":1 + }, "AttachClassicLinkVpcRequest":{ "type":"structure", "required":[ @@ -8486,8 +8517,8 @@ "CreateSubnetRequest":{ "type":"structure", "required":[ - "VpcId", - "CidrBlock" + "CidrBlock", + "VpcId" ], "members":{ "TagSpecifications":{ @@ -8496,14 +8527,14 @@ }, "AvailabilityZone":{"shape":"String"}, "AvailabilityZoneId":{"shape":"String"}, + "CidrBlock":{"shape":"String"}, "Ipv6CidrBlock":{"shape":"String"}, "OutpostArn":{"shape":"String"}, "VpcId":{"shape":"VpcId"}, "DryRun":{ "shape":"Boolean", "locationName":"dryRun" - }, - "CidrBlock":{"shape":"String"} + } } }, "CreateSubnetResult":{ @@ -17200,6 +17231,32 @@ } } }, + "GetFlowLogsIntegrationTemplateRequest":{ + "type":"structure", + "required":[ + "FlowLogId", + "ConfigDeliveryS3DestinationArn", + "IntegrateServices" + ], + "members":{ + "DryRun":{"shape":"Boolean"}, + "FlowLogId":{"shape":"VpcFlowLogId"}, + "ConfigDeliveryS3DestinationArn":{"shape":"String"}, + "IntegrateServices":{ + "shape":"IntegrateServices", + "locationName":"IntegrateService" + } + } + }, + "GetFlowLogsIntegrationTemplateResult":{ + "type":"structure", + "members":{ + "Result":{ + "shape":"String", + "locationName":"result" + } + } + }, "GetGroupsForCapacityReservationRequest":{ "type":"structure", "required":["CapacityReservationId"], @@ -20545,6 +20602,15 @@ } }, "Integer":{"type":"integer"}, + "IntegrateServices":{ + "type":"structure", + "members":{ + "AthenaIntegrations":{ + "shape":"AthenaIntegrationsSet", + "locationName":"AthenaIntegration" + } + } + }, "InterfacePermissionType":{ "type":"string", "enum":[ @@ -24421,6 +24487,15 @@ "locationName":"Owner" } }, + "PartitionLoadFrequency":{ + "type":"string", + "enum":[ + "none", + "daily", + "weekly", + "monthly" + ] + }, "PathComponent":{ "type":"structure", "members":{ diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index d7dc5b20eaa..2b7dd470136 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -327,6 +327,7 @@ "GetDefaultCreditSpecification": "

Describes the default credit option for CPU usage of a burstable performance instance family.

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

", "GetEbsDefaultKmsKeyId": "

Describes the default customer master key (CMK) for EBS encryption by default for your account in this Region. You can change the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

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

", "GetEbsEncryptionByDefault": "

Describes whether EBS encryption by default is enabled for your account in the current Region.

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

", + "GetFlowLogsIntegrationTemplate": "

Generates a CloudFormation template that streamlines and automates the integration of VPC flow logs with Amazon Athena. This make it easier for you to query and gain insights from VPC flow logs data. Based on the information that you provide, we configure resources in the template to do the following:

", "GetGroupsForCapacityReservation": "

Lists the resource groups to which a Capacity Reservation has been added.

", "GetHostReservationPurchasePreview": "

Preview a reservation purchase with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation.

This is a preview of the PurchaseHostReservation action and does not result in the offering being purchased.

", "GetLaunchTemplateData": "

Retrieves the configuration data of the specified instance. You can use this data to create a launch template.

This action calls on other describe actions to get instance information. Depending on your instance configuration, you may need to allow the following actions in your IAM policy: DescribeSpotInstanceRequests, DescribeInstanceCreditSpecifications, DescribeVolumes, DescribeInstanceAttribute, and DescribeElasticGpus. Or, you can allow describe* depending on your instance requirements.

", @@ -1030,6 +1031,18 @@ "AssociationStatus$Code": "

The state of the target network association.

" } }, + "AthenaIntegration": { + "base": "

Describes integration options for Amazon Athena.

", + "refs": { + "AthenaIntegrationsSet$member": null + } + }, + "AthenaIntegrationsSet": { + "base": null, + "refs": { + "IntegrateServices$AthenaIntegrations": "

Information about the integration with Amazon Athena.

" + } + }, "AttachClassicLinkVpcRequest": { "base": null, "refs": { @@ -1703,6 +1716,7 @@ "GetEbsDefaultKmsKeyIdRequest$DryRun": "

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

", "GetEbsEncryptionByDefaultRequest$DryRun": "

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

", "GetEbsEncryptionByDefaultResult$EbsEncryptionByDefault": "

Indicates whether encryption by default is enabled.

", + "GetFlowLogsIntegrationTemplateRequest$DryRun": "

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

", "GetGroupsForCapacityReservationRequest$DryRun": "

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

", "GetLaunchTemplateDataRequest$DryRun": "

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

", "GetManagedPrefixListAssociationsRequest$DryRun": "

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

", @@ -6816,7 +6830,7 @@ "DescribeSnapshotsRequest$Filters": "

The filters.

", "DescribeSpotInstanceRequestsRequest$Filters": "

One or more filters.

", "DescribeSpotPriceHistoryRequest$Filters": "

One or more filters.

", - "DescribeSubnetsRequest$Filters": "

One or more filters.

", + "DescribeSubnetsRequest$Filters": "

One or more filters.

", "DescribeTagsRequest$Filters": "

The filters.

", "DescribeTrafficMirrorFiltersRequest$Filters": "

One or more filters. The possible values are:

", "DescribeTrafficMirrorSessionsRequest$Filters": "

One or more filters. The possible values are:

", @@ -7294,6 +7308,16 @@ "refs": { } }, + "GetFlowLogsIntegrationTemplateRequest": { + "base": null, + "refs": { + } + }, + "GetFlowLogsIntegrationTemplateResult": { + "base": null, + "refs": { + } + }, "GetGroupsForCapacityReservationRequest": { "base": null, "refs": { @@ -8838,6 +8862,12 @@ "VpnTunnelOptionsSpecification$DPDTimeoutSeconds": "

The number of seconds after which a DPD timeout occurs.

Constraints: A value between 0 and 30.

Default: 30

" } }, + "IntegrateServices": { + "base": "

Describes service integrations with VPC Flow logs.

", + "refs": { + "GetFlowLogsIntegrationTemplateRequest$IntegrateServices": "

Information about the service integration.

" + } + }, "InterfacePermissionType": { "base": null, "refs": { @@ -9985,6 +10015,8 @@ "MillisecondDateTime": { "base": null, "refs": { + "AthenaIntegration$PartitionStartDate": "

The start date for the partition.

", + "AthenaIntegration$PartitionEndDate": "

The end date for the partition.

", "CapacityReservation$StartDate": "

The date and time at which the Capacity Reservation was started.

", "DescribeFastSnapshotRestoreSuccessItem$EnablingTime": "

The time at which fast snapshot restores entered the enabling state.

", "DescribeFastSnapshotRestoreSuccessItem$OptimizingTime": "

The time at which fast snapshot restores entered the optimizing state.

", @@ -10981,6 +11013,12 @@ "DescribeSnapshotsRequest$OwnerIds": "

Scopes the results to snapshots with the specified owners. You can specify a combination of AWS account IDs, self, and amazon.

" } }, + "PartitionLoadFrequency": { + "base": null, + "refs": { + "AthenaIntegration$PartitionLoadFrequency": "

The schedule for adding new partitions to the table.

" + } + }, "PathComponent": { "base": "

Describes a path component.

", "refs": { @@ -13441,6 +13479,7 @@ "AssociatedRole$EncryptionKmsKeyId": "

The ID of the KMS customer master key (CMK) used to encrypt the private key.

", "AssociatedTargetNetwork$NetworkId": "

The ID of the subnet.

", "AssociationStatus$Message": "

A message about the status of the target network association, if applicable.

", + "AthenaIntegration$IntegrationResultS3DestinationArn": "

The location in Amazon S3 to store the generated CloudFormation template.

", "AttachNetworkInterfaceResult$AttachmentId": "

The ID of the network interface attachment.

", "AttachVolumeRequest$Device": "

The device name (for example, /dev/sdh or xvdh).

", "AttributeValue$Value": "

The attribute value. The value is case-sensitive.

", @@ -13658,9 +13697,9 @@ "CreateSpotDatafeedSubscriptionRequest$Prefix": "

The prefix for the data feed file names.

", "CreateSubnetRequest$AvailabilityZone": "

The Availability Zone or Local Zone for the subnet.

Default: AWS selects one for you. If you create more than one subnet in your VPC, we do not necessarily select a different zone for each subnet.

To create a subnet in a Local Zone, set this value to the Local Zone ID, for example us-west-2-lax-1a. For information about the Regions that support Local Zones, see Available Regions in the Amazon Elastic Compute Cloud User Guide.

To create a subnet in an Outpost, set this value to the Availability Zone for the Outpost and specify the Outpost ARN.

", "CreateSubnetRequest$AvailabilityZoneId": "

The AZ ID or the Local Zone ID of the subnet.

", + "CreateSubnetRequest$CidrBlock": "

The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

", "CreateSubnetRequest$Ipv6CidrBlock": "

The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length.

", "CreateSubnetRequest$OutpostArn": "

The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost ARN, you must also specify the Availability Zone of the Outpost subnet.

", - "CreateSubnetRequest$CidrBlock": "

The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

", "CreateTrafficMirrorFilterRequest$Description": "

The description of the Traffic Mirror filter.

", "CreateTrafficMirrorFilterRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", "CreateTrafficMirrorFilterResult$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", @@ -14039,6 +14078,8 @@ "GetConsoleScreenshotResult$ImageData": "

The data that comprises the image.

", "GetConsoleScreenshotResult$InstanceId": "

The ID of the instance.

", "GetEbsDefaultKmsKeyIdResult$KmsKeyId": "

The Amazon Resource Name (ARN) of the default CMK for encryption by default.

", + "GetFlowLogsIntegrationTemplateRequest$ConfigDeliveryS3DestinationArn": "

To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.

", + "GetFlowLogsIntegrationTemplateResult$Result": "

The generated CloudFormation template.

", "GetGroupsForCapacityReservationRequest$NextToken": "

The token to use to retrieve the next page of results.

", "GetGroupsForCapacityReservationResult$NextToken": "

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

", "GetHostReservationPurchasePreviewResult$TotalHourlyPrice": "

The potential total hourly price of the reservation per hour.

", @@ -16902,7 +16943,8 @@ "VpcFlowLogId": { "base": null, "refs": { - "FlowLogIdList$member": null + "FlowLogIdList$member": null, + "GetFlowLogsIntegrationTemplateRequest$FlowLogId": "

The ID of the flow log.

" } }, "VpcId": { diff --git a/models/apis/fms/2018-01-01/api-2.json b/models/apis/fms/2018-01-01/api-2.json index f326e89e13f..1a1f5176fe5 100644 --- a/models/apis/fms/2018-01-01/api-2.json +++ b/models/apis/fms/2018-01-01/api-2.json @@ -484,6 +484,11 @@ "PossibleSecurityGroupRemediationActions":{"shape":"SecurityGroupRemediationActions"} } }, + "BasicInteger":{ + "type":"integer", + "max":2147483647, + "min":-2147483648 + }, "Boolean":{"type":"boolean"}, "CIDR":{ "type":"string", @@ -572,6 +577,40 @@ "members":{ } }, + "DnsDuplicateRuleGroupViolation":{ + "type":"structure", + "members":{ + "ViolationTarget":{"shape":"ViolationTarget"}, + "ViolationTargetDescription":{"shape":"LengthBoundedString"} + } + }, + "DnsRuleGroupLimitExceededViolation":{ + "type":"structure", + "members":{ + "ViolationTarget":{"shape":"ViolationTarget"}, + "ViolationTargetDescription":{"shape":"LengthBoundedString"}, + "NumberOfRuleGroupsAlreadyAssociated":{"shape":"BasicInteger"} + } + }, + "DnsRuleGroupPriorities":{ + "type":"list", + "member":{"shape":"DnsRuleGroupPriority"} + }, + "DnsRuleGroupPriority":{ + "type":"integer", + "max":10000, + "min":0 + }, + "DnsRuleGroupPriorityConflictViolation":{ + "type":"structure", + "members":{ + "ViolationTarget":{"shape":"ViolationTarget"}, + "ViolationTargetDescription":{"shape":"LengthBoundedString"}, + "ConflictingPriority":{"shape":"DnsRuleGroupPriority"}, + "ConflictingPolicyId":{"shape":"PolicyId"}, + "UnavailablePriorities":{"shape":"DnsRuleGroupPriorities"} + } + }, "ErrorMessage":{"type":"string"}, "EvaluationResult":{ "type":"structure", @@ -1239,7 +1278,10 @@ "NetworkFirewallMissingFirewallViolation":{"shape":"NetworkFirewallMissingFirewallViolation"}, "NetworkFirewallMissingSubnetViolation":{"shape":"NetworkFirewallMissingSubnetViolation"}, "NetworkFirewallMissingExpectedRTViolation":{"shape":"NetworkFirewallMissingExpectedRTViolation"}, - "NetworkFirewallPolicyModifiedViolation":{"shape":"NetworkFirewallPolicyModifiedViolation"} + "NetworkFirewallPolicyModifiedViolation":{"shape":"NetworkFirewallPolicyModifiedViolation"}, + "DnsRuleGroupPriorityConflictViolation":{"shape":"DnsRuleGroupPriorityConflictViolation"}, + "DnsDuplicateRuleGroupViolation":{"shape":"DnsDuplicateRuleGroupViolation"}, + "DnsRuleGroupLimitExceededViolation":{"shape":"DnsRuleGroupLimitExceededViolation"} } }, "ResourceViolations":{ @@ -1287,7 +1329,8 @@ "SECURITY_GROUPS_COMMON", "SECURITY_GROUPS_CONTENT_AUDIT", "SECURITY_GROUPS_USAGE_AUDIT", - "NETWORK_FIREWALL" + "NETWORK_FIREWALL", + "DNS_FIREWALL" ] }, "StatefulRuleGroup":{ @@ -1433,10 +1476,12 @@ "RESOURCE_VIOLATES_AUDIT_SECURITY_GROUP", "SECURITY_GROUP_UNUSED", "SECURITY_GROUP_REDUNDANT", + "FMS_CREATED_SECURITY_GROUP_EDITED", "MISSING_FIREWALL", "MISSING_FIREWALL_SUBNET_IN_AZ", "MISSING_EXPECTED_ROUTE_TABLE", - "NETWORK_FIREWALL_POLICY_MODIFIED" + "NETWORK_FIREWALL_POLICY_MODIFIED", + "RESOURCE_MISSING_DNS_FIREWALL" ] }, "ViolationTarget":{ diff --git a/models/apis/fms/2018-01-01/docs-2.json b/models/apis/fms/2018-01-01/docs-2.json index ad2487b7963..5baed74a53a 100644 --- a/models/apis/fms/2018-01-01/docs-2.json +++ b/models/apis/fms/2018-01-01/docs-2.json @@ -117,6 +117,12 @@ "ResourceViolation$AwsVPCSecurityGroupViolation": "

Violation details for security groups.

" } }, + "BasicInteger": { + "base": null, + "refs": { + "DnsRuleGroupLimitExceededViolation$NumberOfRuleGroupsAlreadyAssociated": "

The number of rule groups currently associated with the VPC.

" + } + }, "Boolean": { "base": null, "refs": { @@ -214,6 +220,37 @@ "refs": { } }, + "DnsDuplicateRuleGroupViolation": { + "base": "

A DNS Firewall rule group that Firewall Manager tried to associate with a VPC is already associated with the VPC and can't be associated again.

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

Violation detail for a DNS Firewall policy that indicates that a rule group that Firewall Manager tried to associate with a VPC is already associated with the VPC and can't be associated again.

" + } + }, + "DnsRuleGroupLimitExceededViolation": { + "base": "

The VPC that Firewall Manager was applying a DNS Fireall policy to reached the limit for associated DNS Firewall rule groups. Firewall Manager tried to associate another rule group with the VPC and failed due to the limit.

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

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

" + } + }, + "DnsRuleGroupPriorities": { + "base": null, + "refs": { + "DnsRuleGroupPriorityConflictViolation$UnavailablePriorities": "

The priorities of rule groups that are already associated with the VPC. To retry your operation, choose priority settings that aren't in this list for the rule groups in your new DNS Firewall policy.

" + } + }, + "DnsRuleGroupPriority": { + "base": null, + "refs": { + "DnsRuleGroupPriorities$member": null, + "DnsRuleGroupPriorityConflictViolation$ConflictingPriority": "

The priority setting of the two conflicting rule groups.

" + } + }, + "DnsRuleGroupPriorityConflictViolation": { + "base": "

A rule group that Firewall Manager tried to associate with a VPC has the same priority as a rule group that's already associated.

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

Violation detail for a DNS Firewall policy that indicates that a rule group that Firewall Manager tried to associate with a VPC has the same priority as a rule group that's already associated.

" + } + }, "ErrorMessage": { "base": null, "refs": { @@ -356,6 +393,9 @@ "base": null, "refs": { "AwsVPCSecurityGroupViolation$ViolationTargetDescription": "

A description of the security group that violates the policy.

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

", "NetworkFirewallMissingExpectedRTViolation$AvailabilityZone": "

The Availability Zone of a violating subnet.

", "NetworkFirewallMissingFirewallViolation$AvailabilityZone": "

The Availability Zone of a violating subnet.

", "NetworkFirewallMissingSubnetViolation$AvailabilityZone": "

The Availability Zone of a violating subnet.

", @@ -581,6 +621,7 @@ "base": null, "refs": { "DeletePolicyRequest$PolicyId": "

The ID of the policy that you want to delete. You can retrieve this ID from PutPolicy and ListPolicies.

", + "DnsRuleGroupPriorityConflictViolation$ConflictingPolicyId": "

The ID of the Firewall Manager DNS Firewall policy that was already applied to the VPC. This policy contains the rule group that's already associated with the VPC.

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

", @@ -1015,6 +1056,9 @@ "AwsEc2InstanceViolation$ViolationTarget": "

The resource ID of the EC2 instance.

", "AwsEc2NetworkInterfaceViolation$ViolationTarget": "

The resource ID of the network interface.

", "AwsVPCSecurityGroupViolation$ViolationTarget": "

The security group rule that is being evaluated.

", + "DnsDuplicateRuleGroupViolation$ViolationTarget": "

The ID of the VPC.

", + "DnsRuleGroupLimitExceededViolation$ViolationTarget": "

The ID of the VPC.

", + "DnsRuleGroupPriorityConflictViolation$ViolationTarget": "

The ID of the VPC.

", "NetworkFirewallMissingExpectedRTViolation$ViolationTarget": "

The ID of the AWS Network Firewall or VPC resource that's in violation.

", "NetworkFirewallMissingFirewallViolation$ViolationTarget": "

The ID of the AWS Network Firewall or VPC resource that's in violation.

", "NetworkFirewallMissingSubnetViolation$ViolationTarget": "

The ID of the AWS Network Firewall or VPC resource that's in violation.

", diff --git a/models/apis/kendra/2019-02-03/api-2.json b/models/apis/kendra/2019-02-03/api-2.json index 607b807ed7a..3b82b0e57d6 100644 --- a/models/apis/kendra/2019-02-03/api-2.json +++ b/models/apis/kendra/2019-02-03/api-2.json @@ -2400,6 +2400,13 @@ "KmsKeyId":{"shape":"KmsKeyId"} } }, + "ServiceNowAuthenticationType":{ + "type":"string", + "enum":[ + "HTTP_BASIC", + "OAUTH2" + ] + }, "ServiceNowBuildVersionType":{ "type":"string", "enum":[ @@ -2419,7 +2426,8 @@ "SecretArn":{"shape":"SecretArn"}, "ServiceNowBuildVersion":{"shape":"ServiceNowBuildVersionType"}, "KnowledgeArticleConfiguration":{"shape":"ServiceNowKnowledgeArticleConfiguration"}, - "ServiceCatalogConfiguration":{"shape":"ServiceNowServiceCatalogConfiguration"} + "ServiceCatalogConfiguration":{"shape":"ServiceNowServiceCatalogConfiguration"}, + "AuthenticationType":{"shape":"ServiceNowAuthenticationType"} } }, "ServiceNowHostUrl":{ @@ -2437,9 +2445,16 @@ "ExcludeAttachmentFilePatterns":{"shape":"DataSourceInclusionsExclusionsStrings"}, "DocumentDataFieldName":{"shape":"DataSourceFieldName"}, "DocumentTitleFieldName":{"shape":"DataSourceFieldName"}, - "FieldMappings":{"shape":"DataSourceToIndexFieldMappingList"} + "FieldMappings":{"shape":"DataSourceToIndexFieldMappingList"}, + "FilterQuery":{"shape":"ServiceNowKnowledgeArticleFilterQuery"} } }, + "ServiceNowKnowledgeArticleFilterQuery":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^\\P{C}*$" + }, "ServiceNowServiceCatalogConfiguration":{ "type":"structure", "required":["DocumentDataFieldName"], diff --git a/models/apis/kendra/2019-02-03/docs-2.json b/models/apis/kendra/2019-02-03/docs-2.json index 8c906fb928a..db70ef13127 100644 --- a/models/apis/kendra/2019-02-03/docs-2.json +++ b/models/apis/kendra/2019-02-03/docs-2.json @@ -2,15 +2,15 @@ "version": "2.0", "service": "

Amazon Kendra is a service for indexing large document sets.

", "operations": { - "BatchDeleteDocument": "

Removes one or more documents from an index. The documents must have been added with the BatchPutDocument operation.

The documents are deleted asynchronously. You can see the progress of the deletion by using AWS CloudWatch. Any error messages releated to the processing of the batch are sent to you CloudWatch log.

", + "BatchDeleteDocument": "

Removes one or more documents from an index. The documents must have been added with the BatchPutDocument operation.

The documents are deleted asynchronously. You can see the progress of the deletion by using AWS CloudWatch. Any error messages related to the processing of the batch are sent to you CloudWatch log.

", "BatchPutDocument": "

Adds one or more documents to an index.

The BatchPutDocument operation enables you to ingest inline documents or a set of documents stored in an Amazon S3 bucket. Use this operation to ingest your text and unstructured text into an index, add custom attributes to the documents, and to attach an access control list to the documents added to the index.

The documents are indexed asynchronously. You can see the progress of the batch using AWS CloudWatch. Any error messages related to processing the batch are sent to your AWS CloudWatch log.

", "CreateDataSource": "

Creates a data source that you use to with an Amazon Kendra index.

You specify a name, data source connector type and description for your data source. You also specify configuration information such as document metadata (author, source URI, and so on) and user context information.

CreateDataSource is a synchronous operation. The operation returns 200 if the data source was successfully created. Otherwise, an exception is raised.

", "CreateFaq": "

Creates an new set of frequently asked question (FAQ) questions and answers.

", - "CreateIndex": "

Creates a new Amazon Kendra index. Index creation is an asynchronous operation. To determine if index creation has completed, check the Status field returned from a call to . The Status field is set to ACTIVE when the index is ready to use.

Once the index is active you can index your documents using the operation or using one of the supported data sources.

", + "CreateIndex": "

Creates a new Amazon Kendra index. Index creation is an asynchronous operation. To determine if index creation has completed, check the Status field returned from a call to DescribeIndex. The Status field is set to ACTIVE when the index is ready to use.

Once the index is active you can index your documents using the BatchPutDocument operation or using one of the supported data sources.

", "CreateThesaurus": "

Creates a thesaurus for an index. The thesaurus contains a list of synonyms in Solr format.

", - "DeleteDataSource": "

Deletes an Amazon Kendra data source. An exception is not thrown if the data source is already being deleted. While the data source is being deleted, the Status field returned by a call to the operation is set to DELETING. For more information, see Deleting Data Sources.

", + "DeleteDataSource": "

Deletes an Amazon Kendra data source. An exception is not thrown if the data source is already being deleted. While the data source is being deleted, the Status field returned by a call to the DescribeDataSource operation is set to DELETING. For more information, see Deleting Data Sources.

", "DeleteFaq": "

Removes an FAQ from an index.

", - "DeleteIndex": "

Deletes an existing Amazon Kendra index. An exception is not thrown if the index is already being deleted. While the index is being deleted, the Status field returned by a call to the DescribeIndex operation is set to DELETING.

", + "DeleteIndex": "

Deletes an existing Amazon Kendra index. An exception is not thrown if the index is already being deleted. While the index is being deleted, the Status field returned by a call to the DescribeIndex operation is set to DELETING.

", "DeleteThesaurus": "

Deletes an existing Amazon Kendra thesaurus.

", "DescribeDataSource": "

Gets information about a Amazon Kendra data source.

", "DescribeFaq": "

Gets information about an FAQ list.

", @@ -108,7 +108,7 @@ } }, "BatchDeleteDocumentResponseFailedDocument": { - "base": "

Provides information about documents that could not be removed from an index by the BatchDeleteDocument operation.

", + "base": "

Provides information about documents that could not be removed from an index by the BatchDeleteDocument operation.

", "refs": { "BatchDeleteDocumentResponseFailedDocuments$member": null } @@ -170,8 +170,8 @@ "CapacityUnitsConfiguration": { "base": "

Specifies capacity units configured for your index. You can add and remove capacity units to tune an index to your requirements.

", "refs": { - "DescribeIndexResponse$CapacityUnits": "

For enterprise edtion indexes, you can choose to use additional capacity to meet the needs of your application. This contains the capacity units used for the index. A 0 for the query capacity or the storage capacity indicates that the index is using the default capacity for the index.

", - "UpdateIndexRequest$CapacityUnits": "

Sets the number of addtional storage and query capacity units that should be used by the index. You can change the capacity of the index up to 5 times per day.

If you are using extra storage units, you can't reduce the storage capacity below that required to meet the storage needs for your index.

" + "DescribeIndexResponse$CapacityUnits": "

For Enterprise edition indexes, you can choose to use additional capacity to meet the needs of your application. This contains the capacity units used for the index. A 0 for the query capacity or the storage capacity indicates that the index is using the default capacity for the index.

", + "UpdateIndexRequest$CapacityUnits": "

Sets the number of additional storage and query capacity units that should be used by the index. You can change the capacity of the index up to 5 times per day.

If you are using extra storage units, you can't reduce the storage capacity below that required to meet the storage needs for your index.

" } }, "ChangeDetectingColumns": { @@ -187,7 +187,7 @@ } }, "ClickFeedback": { - "base": "

Gathers information about when a particular result was clicked by a user. Your application uses the SubmitFeedback operation to provide click information.

", + "base": "

Gathers information about when a particular result was clicked by a user. Your application uses the SubmitFeedback operation to provide click information.

", "refs": { "ClickFeedbackList$member": null } @@ -216,7 +216,7 @@ "ColumnName": { "base": null, "refs": { - "AclConfiguration$AllowedGroupsColumnName": "

A list of groups, separated by semi-colons, that filters a query response based on user context. The document is only returned to users that are in one of the groups specified in the UserContext field of the Query operation.

", + "AclConfiguration$AllowedGroupsColumnName": "

A list of groups, separated by semi-colons, that filters a query response based on user context. The document is only returned to users that are in one of the groups specified in the UserContext field of the Query operation.

", "ChangeDetectingColumns$member": null, "ColumnConfiguration$DocumentIdColumnName": "

The column that provides the document's unique identifier.

", "ColumnConfiguration$DocumentDataColumnName": "

The column that contains the contents of the document.

", @@ -243,17 +243,17 @@ "ConfluenceAttachmentFieldName": { "base": null, "refs": { - "ConfluenceAttachmentToIndexFieldMapping$DataSourceFieldName": "

The name of the field in the data source.

You must first create the index field using the operation.

" + "ConfluenceAttachmentToIndexFieldMapping$DataSourceFieldName": "

The name of the field in the data source.

You must first create the index field using the UpdateIndex operation.

" } }, "ConfluenceAttachmentToIndexFieldMapping": { - "base": "

Defines the mapping between a field in the Confluence data source to a Amazon Kendra index field.

You must first create the index field using the operation.

", + "base": "

Defines the mapping between a field in the Confluence data source to a Amazon Kendra index field.

You must first create the index field using the UpdateIndex operation.

", "refs": { "ConfluenceAttachmentFieldMappingsList$member": null } }, "ConfluenceBlogConfiguration": { - "base": "

Specifies the blog settings for the Confluence data source. Blogs are always indexed unless filtered from the index by the ExclusionPatterns or InclusionPatterns fields in the data type.

", + "base": "

Specifies the blog settings for the Confluence data source. Blogs are always indexed unless filtered from the index by the ExclusionPatterns or InclusionPatterns fields in the ConfluenceConfiguration type.

", "refs": { "ConfluenceConfiguration$BlogConfiguration": "

Specifies configuration information for indexing Confluence blogs.

" } @@ -271,7 +271,7 @@ } }, "ConfluenceBlogToIndexFieldMapping": { - "base": "

Defines the mapping between a blog field in the Confluence data source to a Amazon Kendra index field.

You must first create the index field using the operation.

", + "base": "

Defines the mapping between a blog field in the Confluence data source to a Amazon Kendra index field.

You must first create the index field using the UpdateIndex operation.

", "refs": { "ConfluenceBlogFieldMappingsList$member": null } @@ -301,7 +301,7 @@ } }, "ConfluencePageToIndexFieldMapping": { - "base": "

Defines the mapping between a field in the Confluence data source to a Amazon Kendra index field.

You must first create the index field using the operation.

", + "base": "

Defines the mapping between a field in the Confluence data source to a Amazon Kendra index field.

You must first create the index field using the UpdateIndex operation.

", "refs": { "ConfluencePageFieldMappingsList$member": null } @@ -338,7 +338,7 @@ } }, "ConfluenceSpaceToIndexFieldMapping": { - "base": "

Defines the mapping between a field in the Confluence data source to a Amazon Kendra index field.

You must first create the index field using the operation.

", + "base": "

Defines the mapping between a field in the Confluence data source to a Amazon Kendra index field.

You must first create the index field using the UpdateIndex operation.

", "refs": { "ConfluenceSpaceFieldMappingsList$member": null } @@ -431,7 +431,7 @@ "SalesforceStandardKnowledgeArticleTypeConfiguration$DocumentTitleFieldName": "

The name of the field that contains the document title.

", "SalesforceStandardObjectAttachmentConfiguration$DocumentTitleFieldName": "

The name of the field used for the document title.

", "SalesforceStandardObjectConfiguration$DocumentDataFieldName": "

The name of the field in the standard object table that contains the document contents.

", - "SalesforceStandardObjectConfiguration$DocumentTitleFieldName": "

The name of the field in the standard object table that contains the document titleB.

", + "SalesforceStandardObjectConfiguration$DocumentTitleFieldName": "

The name of the field in the standard object table that contains the document title.

", "ServiceNowKnowledgeArticleConfiguration$DocumentDataFieldName": "

The name of the ServiceNow field that is mapped to the index document contents field in the Amazon Kendra index.

", "ServiceNowKnowledgeArticleConfiguration$DocumentTitleFieldName": "

The name of the ServiceNow field that is mapped to the index document title field.

", "ServiceNowServiceCatalogConfiguration$DocumentDataFieldName": "

The name of the ServiceNow field that is mapped to the index document contents field in the Amazon Kendra index.

", @@ -470,8 +470,8 @@ "SalesforceConfiguration$ExcludeAttachmentFilePatterns": "

A list of regular expression patterns. Documents that match the patterns are excluded from the index. Documents that don't match the patterns are included in the index. If a document matches both an exclusion pattern and an inclusion pattern, the document is not included in the index.

The regex is applied to the name of the attached file.

", "ServiceNowKnowledgeArticleConfiguration$IncludeAttachmentFilePatterns": "

List of regular expressions applied to knowledge articles. Items that don't match the inclusion pattern are not indexed. The regex is applied to the field specified in the PatternTargetField.

", "ServiceNowKnowledgeArticleConfiguration$ExcludeAttachmentFilePatterns": "

List of regular expressions applied to knowledge articles. Items that don't match the inclusion pattern are not indexed. The regex is applied to the field specified in the PatternTargetField

", - "ServiceNowServiceCatalogConfiguration$IncludeAttachmentFilePatterns": "

Determines the types of file attachments that are included in the index.

", - "ServiceNowServiceCatalogConfiguration$ExcludeAttachmentFilePatterns": "

Determines the types of file attachments that are excluded from the index.

", + "ServiceNowServiceCatalogConfiguration$IncludeAttachmentFilePatterns": "

A list of regular expression patterns. Documents that match the patterns are included in the index. Documents that don't match the patterns are excluded from the index. If a document matches both an exclusion pattern and an inclusion pattern, the document is not included in the index.

The regex is applied to the file name of the attachment.

", + "ServiceNowServiceCatalogConfiguration$ExcludeAttachmentFilePatterns": "

A list of regular expression patterns. Documents that match the patterns are excluded from the index. Documents that don't match the patterns are included in the index. If a document matches both an exclusion pattern and an inclusion pattern, the document is not included in the index.

The regex is applied to the file name of the attachment.

", "SharePointConfiguration$InclusionPatterns": "

A list of regular expression patterns. Documents that match the patterns are included in the index. Documents that don't match the patterns are excluded from the index. If a document matches both an inclusion pattern and an exclusion pattern, the document is not included in the index.

The regex is applied to the display URL of the SharePoint document.

", "SharePointConfiguration$ExclusionPatterns": "

A list of regular expression patterns. Documents that match the patterns are excluded from the index. Documents that don't match the patterns are included in the index. If a document matches both an exclusion pattern and an inclusion pattern, the document is not included in the index.

The regex is applied to the display URL of the SharePoint document.

" } @@ -494,12 +494,12 @@ "DataSourceStatus": { "base": null, "refs": { - "DataSourceSummary$Status": "

The status of the data source. When the status is ATIVE the data source is ready to use.

", + "DataSourceSummary$Status": "

The status of the data source. When the status is ACTIVE the data source is ready to use.

", "DescribeDataSourceResponse$Status": "

The current status of the data source. When the status is ACTIVE the data source is ready to use. When the status is FAILED, the ErrorMessage field contains the reason that the data source failed.

" } }, "DataSourceSummary": { - "base": "

Summary information for a Amazon Kendra data source. Returned in a call to .

", + "base": "

Summary information for a Amazon Kendra data source. Returned in a call to the DescribeDataSource operation.

", "refs": { "DataSourceSummaryList$member": null } @@ -548,7 +548,7 @@ } }, "DataSourceToIndexFieldMapping": { - "base": "

Maps a column or attribute in the data source to an index field. You must first create the fields in the index using the UpdateIndex operation.

", + "base": "

Maps a column or attribute in the data source to an index field. You must first create the fields in the index using the UpdateIndex operation.

", "refs": { "DataSourceToIndexFieldMappingList$member": null } @@ -556,8 +556,8 @@ "DataSourceToIndexFieldMappingList": { "base": null, "refs": { - "ColumnConfiguration$FieldMappings": "

An array of objects that map database column names to the corresponding fields in an index. You must first create the fields in the index using the UpdateIndex operation.

", - "GoogleDriveConfiguration$FieldMappings": "

Defines mapping between a field in the Google Drive and a Amazon Kendra index field.

If you are using the console, you can define index fields when creating the mapping. If you are using the API, you must first create the field using the UpdateIndex operation.

", + "ColumnConfiguration$FieldMappings": "

An array of objects that map database column names to the corresponding fields in an index. You must first create the fields in the index using the UpdateIndex operation.

", + "GoogleDriveConfiguration$FieldMappings": "

Defines mapping between a field in the Google Drive and a Amazon Kendra index field.

If you are using the console, you can define index fields when creating the mapping. If you are using the API, you must first create the field using the UpdateIndex operation.

", "OneDriveConfiguration$FieldMappings": "

A list of DataSourceToIndexFieldMapping objects that map Microsoft OneDrive fields to custom fields in the Amazon Kendra index. You must first create the index fields before you map OneDrive fields.

", "SalesforceChatterFeedConfiguration$FieldMappings": "

Maps fields from a Salesforce chatter feed into Amazon Kendra index fields.

", "SalesforceCustomKnowledgeArticleTypeConfiguration$FieldMappings": "

One or more objects that map fields in the custom knowledge article to fields in the Amazon Kendra index.

", @@ -566,7 +566,7 @@ "SalesforceStandardObjectConfiguration$FieldMappings": "

One or more objects that map fields in the standard object to Amazon Kendra index fields. The index field must exist before you can map a Salesforce field to it.

", "ServiceNowKnowledgeArticleConfiguration$FieldMappings": "

Mapping between ServiceNow fields and Amazon Kendra index fields. You must create the index field before you map the field.

", "ServiceNowServiceCatalogConfiguration$FieldMappings": "

Mapping between ServiceNow fields and Amazon Kendra index fields. You must create the index field before you map the field.

", - "SharePointConfiguration$FieldMappings": "

A list of DataSourceToIndexFieldMapping objects that map Microsoft SharePoint attributes to custom fields in the Amazon Kendra index. You must first create the index fields using the operation before you map SharePoint attributes. For more information, see Mapping Data Source Fields.

" + "SharePointConfiguration$FieldMappings": "

A list of DataSourceToIndexFieldMapping objects that map Microsoft SharePoint attributes to custom fields in the Amazon Kendra index. You must first create the index fields using the UpdateIndex operation before you map SharePoint attributes. For more information, see Mapping Data Source Fields.

" } }, "DataSourceType": { @@ -1030,7 +1030,7 @@ "base": null, "refs": { "BatchDeleteDocumentRequest$IndexId": "

The identifier of the index that contains the documents to delete.

", - "BatchPutDocumentRequest$IndexId": "

The identifier of the index to add the documents to. You need to create the index first using the CreateIndex operation.

", + "BatchPutDocumentRequest$IndexId": "

The identifier of the index to add the documents to. You need to create the index first using the CreateIndex operation.

", "CreateDataSourceRequest$IndexId": "

The identifier of the index that should be associated with this data source.

", "CreateFaqRequest$IndexId": "

The identifier of the index that contains the FAQ.

", "CreateIndexResponse$Id": "

The unique identifier of the index. Use this identifier when you query an index, set up a data source, or index a document.

", @@ -1052,7 +1052,7 @@ "ListDataSourcesRequest$IndexId": "

The identifier of the index that contains the data source.

", "ListFaqsRequest$IndexId": "

The index that contains the FAQ lists.

", "ListThesauriRequest$IndexId": "

The identifier of the index associated with the thesaurus to list.

", - "QueryRequest$IndexId": "

The unique identifier of the index to search. The identifier is returned in the response from the operation.

", + "QueryRequest$IndexId": "

The unique identifier of the index to search. The identifier is returned in the response from the CreateIndex operation.

", "StartDataSourceSyncJobRequest$IndexId": "

The identifier of the index that contains the data source.

", "StopDataSourceSyncJobRequest$IndexId": "

The identifier of the index that contains the data source.

", "SubmitFeedbackRequest$IndexId": "

The identifier of the index that was queried.

", @@ -1341,7 +1341,7 @@ "base": null, "refs": { "QueryResult$QueryId": "

The unique identifier for the search. You use QueryId to identify the search when using the feedback API.

", - "SubmitFeedbackRequest$QueryId": "

The identifier of the specific query for which you are submitting feedback. The query ID is returned in the response to the operation.

" + "SubmitFeedbackRequest$QueryId": "

The identifier of the specific query for which you are submitting feedback. The query ID is returned in the response to the Query operation.

" } }, "QueryIdentifiersEnclosingOption": { @@ -1398,7 +1398,7 @@ } }, "RelevanceFeedback": { - "base": "

Provides feedback on how relevant a document is to a search. Your application uses the SubmitFeedback operation to provide relevance information.

", + "base": "

Provides feedback on how relevant a document is to a search. Your application uses the SubmitFeedback operation to provide relevance information.

", "refs": { "RelevanceFeedbackList$member": null } @@ -1537,9 +1537,9 @@ } }, "SalesforceKnowledgeArticleConfiguration": { - "base": "

Specifies configuration information for the knowlege article types that Amazon Kendra indexes. Amazon Kendra indexes standard knowledge articles and the standard fields of knowledge articles, or the custom fields of custom knowledge articles, but not both

", + "base": "

Specifies configuration information for the knowledge article types that Amazon Kendra indexes. Amazon Kendra indexes standard knowledge articles and the standard fields of knowledge articles, or the custom fields of custom knowledge articles, but not both

", "refs": { - "SalesforceConfiguration$KnowledgeArticleConfiguration": "

Specifies configuration information for the knowlege article types that Amazon Kendra indexes. Amazon Kendra indexes standard knowledge articles and the standard fields of knowledge articles, or the custom fields of custom knowledge articles, but not both.

" + "SalesforceConfiguration$KnowledgeArticleConfiguration": "

Specifies configuration information for the knowledge article types that Amazon Kendra indexes. Amazon Kendra indexes standard knowledge articles and the standard fields of knowledge articles, or the custom fields of custom knowledge articles, but not both.

" } }, "SalesforceKnowledgeArticleState": { @@ -1567,7 +1567,7 @@ } }, "SalesforceStandardObjectConfiguration": { - "base": "

Specifies confguration information for indexing a single standard object.

", + "base": "

Specifies configuration information for indexing a single standard object.

", "refs": { "SalesforceStandardObjectConfigurationList$member": null } @@ -1635,6 +1635,12 @@ "DescribeIndexResponse$ServerSideEncryptionConfiguration": "

The identifier of the AWS KMS customer master key (CMK) used to encrypt your data. Amazon Kendra doesn't support asymmetric CMKs.

" } }, + "ServiceNowAuthenticationType": { + "base": null, + "refs": { + "ServiceNowConfiguration$AuthenticationType": "

Determines the type of authentication used to connect to the ServiceNow instance. If you choose HTTP_BASIC, Amazon Kendra is authenticated using the user name and password provided in the AWS Secrets Manager secret in the SecretArn field. When you choose OAUTH2, Amazon Kendra is authenticated using the OAuth token and secret provided in the Secrets Manager secret, and the user name and password are used to determine which information Amazon Kendra has access to.

When you use OAUTH2 authentication, you must generate a token and a client secret using the ServiceNow console. For more information, see Using a ServiceNow data source.

" + } + }, "ServiceNowBuildVersionType": { "base": null, "refs": { @@ -1659,6 +1665,12 @@ "ServiceNowConfiguration$KnowledgeArticleConfiguration": "

Provides configuration information for crawling knowledge articles in the ServiceNow site.

" } }, + "ServiceNowKnowledgeArticleFilterQuery": { + "base": null, + "refs": { + "ServiceNowKnowledgeArticleConfiguration$FilterQuery": "

A query that selects the knowledge articles to index. The query can return articles from multiple knowledge bases, and the knowledge bases can be public or private.

The query string must be one generated by the ServiceNow console. For more information, see Specifying documents to index with a query.

" + } + }, "ServiceNowServiceCatalogConfiguration": { "base": "

Provides configuration information for crawling service catalog items in the ServiceNow site

", "refs": { diff --git a/models/apis/lex-models/2017-04-19/api-2.json b/models/apis/lex-models/2017-04-19/api-2.json index 90116bc0ef0..a7fac71ebac 100644 --- a/models/apis/lex-models/2017-04-19/api-2.json +++ b/models/apis/lex-models/2017-04-19/api-2.json @@ -1970,7 +1970,8 @@ "es-US", "fr-FR", "fr-CA", - "it-IT" + "it-IT", + "ja-JP" ] }, "LocaleList":{ diff --git a/models/apis/lightsail/2016-11-28/api-2.json b/models/apis/lightsail/2016-11-28/api-2.json index ac1cb1d8cee..e51983013d5 100644 --- a/models/apis/lightsail/2016-11-28/api-2.json +++ b/models/apis/lightsail/2016-11-28/api-2.json @@ -3056,6 +3056,7 @@ "power":{"shape":"ContainerServicePowerName"}, "powerId":{"shape":"string"}, "state":{"shape":"ContainerServiceState"}, + "stateDetail":{"shape":"ContainerServiceStateDetail"}, "scale":{"shape":"ContainerServiceScale"}, "currentDeployment":{"shape":"ContainerServiceDeployment"}, "nextDeployment":{"shape":"ContainerServiceDeployment"}, @@ -3218,7 +3219,29 @@ "RUNNING", "UPDATING", "DELETING", - "DISABLED" + "DISABLED", + "DEPLOYING" + ] + }, + "ContainerServiceStateDetail":{ + "type":"structure", + "members":{ + "code":{"shape":"ContainerServiceStateDetailCode"}, + "message":{"shape":"string"} + } + }, + "ContainerServiceStateDetailCode":{ + "type":"string", + "enum":[ + "CREATING_SYSTEM_RESOURCES", + "CREATING_NETWORK_INFRASTRUCTURE", + "PROVISIONING_CERTIFICATE", + "PROVISIONING_SERVICE", + "CREATING_DEPLOYMENT", + "EVALUATING_HEALTH_CHECK", + "ACTIVATING_DEPLOYMENT", + "CERTIFICATE_LIMIT_EXCEEDED", + "UNKNOWN_ERROR" ] }, "ContainerServicesListResult":{ diff --git a/models/apis/lightsail/2016-11-28/docs-2.json b/models/apis/lightsail/2016-11-28/docs-2.json index acaa7e5fffd..2fe71607579 100644 --- a/models/apis/lightsail/2016-11-28/docs-2.json +++ b/models/apis/lightsail/2016-11-28/docs-2.json @@ -745,7 +745,19 @@ "ContainerServiceState": { "base": null, "refs": { - "ContainerService$state": "

The current state of the container service.

The state can be:

" + "ContainerService$state": "

The current state of the container service.

The following container service states are possible:

" + } + }, + "ContainerServiceStateDetail": { + "base": "

Describes the current state of a container service.

", + "refs": { + "ContainerService$stateDetail": "

An object that describes the current state of the container service.

The state detail is populated only when a container service is in a PENDING, DEPLOYING, or UPDATING state.

" + } + }, + "ContainerServiceStateDetailCode": { + "base": null, + "refs": { + "ContainerServiceStateDetail$code": "

The state code of the container service.

The following state codes are possible:

" } }, "ContainerServicesListResult": { @@ -3929,6 +3941,7 @@ "ContainerServiceRegistryLogin$username": "

The container service registry username to use to push container images to the container image registry of a Lightsail account.

", "ContainerServiceRegistryLogin$password": "

The container service registry password to use to push container images to the container image registry of a Lightsail account

", "ContainerServiceRegistryLogin$registry": "

The address to use to push container images to the container image registry of a Lightsail account.

", + "ContainerServiceStateDetail$message": "

A message that provides more information for the state code.

The state detail is populated only when a container service is in a PENDING, DEPLOYING, or UPDATING state.

", "CopySnapshotRequest$sourceResourceName": "

The name of the source instance or disk from which the source automatic snapshot was created.

Constraint:

", "CopySnapshotRequest$restoreDate": "

The date of the source automatic snapshot to copy. Use the get auto snapshots operation to identify the dates of the available automatic snapshots.

Constraints:

", "CreateDiskFromSnapshotRequest$sourceDiskName": "

The name of the source disk from which the source automatic snapshot was created.

Constraints:

", diff --git a/models/apis/mediaconvert/2017-08-29/api-2.json b/models/apis/mediaconvert/2017-08-29/api-2.json index 17b5adef98f..99920b86260 100644 --- a/models/apis/mediaconvert/2017-08-29/api-2.json +++ b/models/apis/mediaconvert/2017-08-29/api-2.json @@ -982,6 +982,17 @@ "CODING_MODE_3_2_LFE" ] }, + "Ac3DynamicRangeCompressionLine": { + "type": "string", + "enum": [ + "FILM_STANDARD", + "FILM_LIGHT", + "MUSIC_STANDARD", + "MUSIC_LIGHT", + "SPEECH", + "NONE" + ] + }, "Ac3DynamicRangeCompressionProfile": { "type": "string", "enum": [ @@ -989,6 +1000,17 @@ "NONE" ] }, + "Ac3DynamicRangeCompressionRf": { + "type": "string", + "enum": [ + "FILM_STANDARD", + "FILM_LIGHT", + "MUSIC_STANDARD", + "MUSIC_LIGHT", + "SPEECH", + "NONE" + ] + }, "Ac3LfeFilter": { "type": "string", "enum": [ @@ -1022,10 +1044,18 @@ "shape": "__integerMin1Max31", "locationName": "dialnorm" }, + "DynamicRangeCompressionLine": { + "shape": "Ac3DynamicRangeCompressionLine", + "locationName": "dynamicRangeCompressionLine" + }, "DynamicRangeCompressionProfile": { "shape": "Ac3DynamicRangeCompressionProfile", "locationName": "dynamicRangeCompressionProfile" }, + "DynamicRangeCompressionRf": { + "shape": "Ac3DynamicRangeCompressionRf", + "locationName": "dynamicRangeCompressionRf" + }, "LfeFilter": { "shape": "Ac3LfeFilter", "locationName": "lfeFilter" @@ -1942,6 +1972,10 @@ "TtmlDestinationSettings": { "shape": "TtmlDestinationSettings", "locationName": "ttmlDestinationSettings" + }, + "WebvttDestinationSettings": { + "shape": "WebvttDestinationSettings", + "locationName": "webvttDestinationSettings" } } }, @@ -2040,7 +2074,8 @@ "SMPTE_TT", "TELETEXT", "NULL_SOURCE", - "IMSC" + "IMSC", + "WEBVTT" ] }, "ChannelMapping": { @@ -2170,6 +2205,10 @@ "shape": "CmafMpdProfile", "locationName": "mpdProfile" }, + "PtsOffsetHandlingForBFrames": { + "shape": "CmafPtsOffsetHandlingForBFrames", + "locationName": "ptsOffsetHandlingForBFrames" + }, "SegmentControl": { "shape": "CmafSegmentControl", "locationName": "segmentControl" @@ -2231,6 +2270,13 @@ "ON_DEMAND_PROFILE" ] }, + "CmafPtsOffsetHandlingForBFrames": { + "type": "string", + "enum": [ + "ZERO_BASED", + "MATCH_INITIAL_PTS" + ] + }, "CmafSegmentControl": { "type": "string", "enum": [ @@ -2273,6 +2319,21 @@ "MATCH_VIDEO_DURATION" ] }, + "CmfcAudioTrackType": { + "type": "string", + "enum": [ + "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT", + "ALTERNATE_AUDIO_AUTO_SELECT", + "ALTERNATE_AUDIO_NOT_AUTO_SELECT" + ] + }, + "CmfcDescriptiveVideoServiceFlag": { + "type": "string", + "enum": [ + "DONT_FLAG", + "FLAG" + ] + }, "CmfcIFrameOnlyManifest": { "type": "string", "enum": [ @@ -2301,6 +2362,22 @@ "shape": "CmfcAudioDuration", "locationName": "audioDuration" }, + "AudioGroupId": { + "shape": "__string", + "locationName": "audioGroupId" + }, + "AudioRenditionSets": { + "shape": "__string", + "locationName": "audioRenditionSets" + }, + "AudioTrackType": { + "shape": "CmfcAudioTrackType", + "locationName": "audioTrackType" + }, + "DescriptiveVideoServiceFlag": { + "shape": "CmfcDescriptiveVideoServiceFlag", + "locationName": "descriptiveVideoServiceFlag" + }, "IFrameOnlyManifest": { "shape": "CmfcIFrameOnlyManifest", "locationName": "iFrameOnlyManifest" @@ -2688,6 +2765,13 @@ } } }, + "DashIsoGroupAudioChannelConfigSchemeIdUri": { + "type": "string", + "enum": [ + "MPEG_CHANNEL_CONFIGURATION", + "DOLBY_CHANNEL_CONFIGURATION" + ] + }, "DashIsoGroupSettings": { "type": "structure", "members": { @@ -2695,6 +2779,10 @@ "shape": "__listOfDashAdditionalManifest", "locationName": "additionalManifests" }, + "AudioChannelConfigSchemeIdUri": { + "shape": "DashIsoGroupAudioChannelConfigSchemeIdUri", + "locationName": "audioChannelConfigSchemeIdUri" + }, "BaseUrl": { "shape": "__string", "locationName": "baseUrl" @@ -2731,6 +2819,10 @@ "shape": "DashIsoMpdProfile", "locationName": "mpdProfile" }, + "PtsOffsetHandlingForBFrames": { + "shape": "DashIsoPtsOffsetHandlingForBFrames", + "locationName": "ptsOffsetHandlingForBFrames" + }, "SegmentControl": { "shape": "DashIsoSegmentControl", "locationName": "segmentControl" @@ -2766,6 +2858,13 @@ "UNENCRYPTED_SEI" ] }, + "DashIsoPtsOffsetHandlingForBFrames": { + "type": "string", + "enum": [ + "ZERO_BASED", + "MATCH_INITIAL_PTS" + ] + }, "DashIsoSegmentControl": { "type": "string", "enum": [ @@ -3675,7 +3774,7 @@ "locationName": "framerate" }, "SourceFile": { - "shape": "__stringMin14PatternS3SccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMIHttpsSccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMI", + "shape": "__stringMin14PatternS3SccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMIVttVTTHttpsSccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMIVttVTT", "locationName": "sourceFile" }, "TimeDelta": { @@ -4723,6 +4822,13 @@ "RFC_4281" ] }, + "HlsDescriptiveVideoServiceFlag": { + "type": "string", + "enum": [ + "DONT_FLAG", + "FLAG" + ] + }, "HlsDirectoryStructure": { "type": "string", "enum": [ @@ -4961,6 +5067,10 @@ "shape": "HlsAudioTrackType", "locationName": "audioTrackType" }, + "DescriptiveVideoServiceFlag": { + "shape": "HlsDescriptiveVideoServiceFlag", + "locationName": "descriptiveVideoServiceFlag" + }, "IFrameOnlyManifest": { "shape": "HlsIFrameOnlyManifest", "locationName": "iFrameOnlyManifest" @@ -8901,6 +9011,22 @@ } } }, + "WebvttDestinationSettings": { + "type": "structure", + "members": { + "StylePassthrough": { + "shape": "WebvttStylePassthrough", + "locationName": "stylePassthrough" + } + } + }, + "WebvttStylePassthrough": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, "__boolean": { "type": "boolean" }, @@ -9643,10 +9769,10 @@ "min": 14, "pattern": "^((s3://(.*)(\\.mov|[0-9]+\\.png))|(https?://(.*)(\\.mov|[0-9]+\\.png)(\\?([^&=]+=[^&]+&)*[^&=]+=[^&]+)?))$" }, - "__stringMin14PatternS3SccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMIHttpsSccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMI": { + "__stringMin14PatternS3SccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMIVttVTTHttpsSccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMIVttVTT": { "type": "string", "min": 14, - "pattern": "^((s3://(.*?)\\.(scc|SCC|ttml|TTML|dfxp|DFXP|stl|STL|srt|SRT|xml|XML|smi|SMI))|(https?://(.*?)\\.(scc|SCC|ttml|TTML|dfxp|DFXP|stl|STL|srt|SRT|xml|XML|smi|SMI)(\\?([^&=]+=[^&]+&)*[^&=]+=[^&]+)?))$" + "pattern": "^((s3://(.*?)\\.(scc|SCC|ttml|TTML|dfxp|DFXP|stl|STL|srt|SRT|xml|XML|smi|SMI|vtt|VTT))|(https?://(.*?)\\.(scc|SCC|ttml|TTML|dfxp|DFXP|stl|STL|srt|SRT|xml|XML|smi|SMI|vtt|VTT)(\\?([^&=]+=[^&]+&)*[^&=]+=[^&]+)?))$" }, "__stringMin16Max24PatternAZaZ0922AZaZ0916": { "type": "string", diff --git a/models/apis/mediaconvert/2017-08-29/docs-2.json b/models/apis/mediaconvert/2017-08-29/docs-2.json index 04252848173..aca949a16c4 100644 --- a/models/apis/mediaconvert/2017-08-29/docs-2.json +++ b/models/apis/mediaconvert/2017-08-29/docs-2.json @@ -89,10 +89,22 @@ "Ac3Settings$CodingMode": "Dolby Digital coding mode. Determines number of channels." } }, + "Ac3DynamicRangeCompressionLine": { + "base": "Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the line operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.", + "refs": { + "Ac3Settings$DynamicRangeCompressionLine": "Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the line operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf." + } + }, "Ac3DynamicRangeCompressionProfile": { - "base": "If set to FILM_STANDARD, adds dynamic range compression signaling to the output bitstream as defined in the Dolby Digital specification.", + "base": "When you want to add Dolby dynamic range compression (DRC) signaling to your output stream, we recommend that you use the mode-specific settings instead of Dynamic range compression profile (DynamicRangeCompressionProfile). The mode-specific settings are Dynamic range compression profile, line mode (dynamicRangeCompressionLine) and Dynamic range compression profile, RF mode (dynamicRangeCompressionRf). Note that when you specify values for all three settings, MediaConvert ignores the value of this setting in favor of the mode-specific settings. If you do use this setting instead of the mode-specific settings, choose None (NONE) to leave out DRC signaling. Keep the default Film standard (FILM_STANDARD) to set the profile to Dolby's film standard profile for all operating modes.", + "refs": { + "Ac3Settings$DynamicRangeCompressionProfile": "When you want to add Dolby dynamic range compression (DRC) signaling to your output stream, we recommend that you use the mode-specific settings instead of Dynamic range compression profile (DynamicRangeCompressionProfile). The mode-specific settings are Dynamic range compression profile, line mode (dynamicRangeCompressionLine) and Dynamic range compression profile, RF mode (dynamicRangeCompressionRf). Note that when you specify values for all three settings, MediaConvert ignores the value of this setting in favor of the mode-specific settings. If you do use this setting instead of the mode-specific settings, choose None (NONE) to leave out DRC signaling. Keep the default Film standard (FILM_STANDARD) to set the profile to Dolby's film standard profile for all operating modes." + } + }, + "Ac3DynamicRangeCompressionRf": { + "base": "Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the RF operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.", "refs": { - "Ac3Settings$DynamicRangeCompressionProfile": "If set to FILM_STANDARD, adds dynamic range compression signaling to the output bitstream as defined in the Dolby Digital specification." + "Ac3Settings$DynamicRangeCompressionRf": "Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the RF operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf." } }, "Ac3LfeFilter": { @@ -589,6 +601,12 @@ "CmafGroupSettings$MpdProfile": "Specify whether your DASH profile is on-demand or main. When you choose Main profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose On-demand, you must also set the output group setting Segment control (SegmentControl) to Single file (SINGLE_FILE)." } }, + "CmafPtsOffsetHandlingForBFrames": { + "base": "Use this setting only when your output video stream has B-frames, which causes the initial presentation time stamp (PTS) to be offset from the initial decode time stamp (DTS). Specify how MediaConvert handles PTS when writing time stamps in output DASH manifests. Choose Match initial PTS (MATCH_INITIAL_PTS) when you want MediaConvert to use the initial PTS as the first time stamp in the manifest. Choose Zero-based (ZERO_BASED) to have MediaConvert ignore the initial PTS in the video stream and instead write the initial time stamp as zero in the manifest. For outputs that don't have B-frames, the time stamps in your DASH manifests start at zero regardless of your choice here.", + "refs": { + "CmafGroupSettings$PtsOffsetHandlingForBFrames": "Use this setting only when your output video stream has B-frames, which causes the initial presentation time stamp (PTS) to be offset from the initial decode time stamp (DTS). Specify how MediaConvert handles PTS when writing time stamps in output DASH manifests. Choose Match initial PTS (MATCH_INITIAL_PTS) when you want MediaConvert to use the initial PTS as the first time stamp in the manifest. Choose Zero-based (ZERO_BASED) to have MediaConvert ignore the initial PTS in the video stream and instead write the initial time stamp as zero in the manifest. For outputs that don't have B-frames, the time stamps in your DASH manifests start at zero regardless of your choice here." + } + }, "CmafSegmentControl": { "base": "When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created.", "refs": { @@ -626,6 +644,18 @@ "Mp4Settings$AudioDuration": "Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration (MATCH_VIDEO_DURATION). In all other cases, keep the default value, Default codec duration (DEFAULT_CODEC_DURATION). When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec." } }, + "CmfcAudioTrackType": { + "base": "Use this setting to control the values that MediaConvert puts in your HLS parent playlist to control how the client player selects which audio track to play. The other options for this setting determine the values that MediaConvert writes for the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio variant. For more information about these attributes, see the Apple documentation article https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. Choose Alternate audio, auto select, default (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and AUTOSELECT=YES. Choose this value for only one variant in your output group. Choose Alternate audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert defaults to Alternate audio, auto select, default. When there is more than one variant in your output group, you must explicitly choose a value for this setting.", + "refs": { + "CmfcSettings$AudioTrackType": "Use this setting to control the values that MediaConvert puts in your HLS parent playlist to control how the client player selects which audio track to play. The other options for this setting determine the values that MediaConvert writes for the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio variant. For more information about these attributes, see the Apple documentation article https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. Choose Alternate audio, auto select, default (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) to set DEFAULT=YES and AUTOSELECT=YES. Choose this value for only one variant in your output group. Choose Alternate audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) to set DEFAULT=NO and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert defaults to Alternate audio, auto select, default. When there is more than one variant in your output group, you must explicitly choose a value for this setting." + } + }, + "CmfcDescriptiveVideoServiceFlag": { + "base": "Specify whether to flag this audio track as descriptive video service (DVS) in your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the parameter CHARACTERISTICS=\"public.accessibility.describes-video\" in the EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with accessibility on Apple devices. For more information, see the Apple documentation.", + "refs": { + "CmfcSettings$DescriptiveVideoServiceFlag": "Specify whether to flag this audio track as descriptive video service (DVS) in your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the parameter CHARACTERISTICS=\"public.accessibility.describes-video\" in the EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with accessibility on Apple devices. For more information, see the Apple documentation." + } + }, "CmfcIFrameOnlyManifest": { "base": "Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest that lists only the I-frames for this rendition, in addition to your regular manifest for this rendition. You might use this manifest as part of a workflow that creates preview functions for your video. MediaConvert adds both the I-frame only child manifest and the regular child manifest to the parent manifest. When you don't need the I-frame only child manifest, keep the default value Exclude (EXCLUDE).", "refs": { @@ -757,6 +787,12 @@ "DashIsoGroupSettings$Encryption": "DRM settings." } }, + "DashIsoGroupAudioChannelConfigSchemeIdUri": { + "base": "Use this setting only when your audio codec is a Dolby one (AC3, EAC3, or Atmos) and your downstream workflow requires that your DASH manifest use the Dolby channel configuration tag, rather than the MPEG one. For example, you might need to use this to make dynamic ad insertion work. Specify which audio channel configuration scheme ID URI MediaConvert writes in your DASH manifest. Keep the default value, MPEG channel configuration (MPEG_CHANNEL_CONFIGURATION), to have MediaConvert write this: urn:mpeg:mpegB:cicp:ChannelConfiguration. Choose Dolby channel configuration (DOLBY_CHANNEL_CONFIGURATION) to have MediaConvert write this instead: tag:dolby.com,2014:dash:audio_channel_configuration:2011.", + "refs": { + "DashIsoGroupSettings$AudioChannelConfigSchemeIdUri": "Use this setting only when your audio codec is a Dolby one (AC3, EAC3, or Atmos) and your downstream workflow requires that your DASH manifest use the Dolby channel configuration tag, rather than the MPEG one. For example, you might need to use this to make dynamic ad insertion work. Specify which audio channel configuration scheme ID URI MediaConvert writes in your DASH manifest. Keep the default value, MPEG channel configuration (MPEG_CHANNEL_CONFIGURATION), to have MediaConvert write this: urn:mpeg:mpegB:cicp:ChannelConfiguration. Choose Dolby channel configuration (DOLBY_CHANNEL_CONFIGURATION) to have MediaConvert write this instead: tag:dolby.com,2014:dash:audio_channel_configuration:2011." + } + }, "DashIsoGroupSettings": { "base": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to DASH_ISO_GROUP_SETTINGS.", "refs": { @@ -781,6 +817,12 @@ "DashIsoEncryptionSettings$PlaybackDeviceCompatibility": "This setting can improve the compatibility of your output with video players on obsolete devices. It applies only to DASH H.264 outputs with DRM encryption. Choose Unencrypted SEI (UNENCRYPTED_SEI) only to correct problems with playback on older devices. Otherwise, keep the default setting CENC v1 (CENC_V1). If you choose Unencrypted SEI, for that output, the service will exclude the access unit delimiter and will leave the SEI NAL units unencrypted." } }, + "DashIsoPtsOffsetHandlingForBFrames": { + "base": "Use this setting only when your output video stream has B-frames, which causes the initial presentation time stamp (PTS) to be offset from the initial decode time stamp (DTS). Specify how MediaConvert handles PTS when writing time stamps in output DASH manifests. Choose Match initial PTS (MATCH_INITIAL_PTS) when you want MediaConvert to use the initial PTS as the first time stamp in the manifest. Choose Zero-based (ZERO_BASED) to have MediaConvert ignore the initial PTS in the video stream and instead write the initial time stamp as zero in the manifest. For outputs that don't have B-frames, the time stamps in your DASH manifests start at zero regardless of your choice here.", + "refs": { + "DashIsoGroupSettings$PtsOffsetHandlingForBFrames": "Use this setting only when your output video stream has B-frames, which causes the initial presentation time stamp (PTS) to be offset from the initial decode time stamp (DTS). Specify how MediaConvert handles PTS when writing time stamps in output DASH manifests. Choose Match initial PTS (MATCH_INITIAL_PTS) when you want MediaConvert to use the initial PTS as the first time stamp in the manifest. Choose Zero-based (ZERO_BASED) to have MediaConvert ignore the initial PTS in the video stream and instead write the initial time stamp as zero in the manifest. For outputs that don't have B-frames, the time stamps in your DASH manifests start at zero regardless of your choice here." + } + }, "DashIsoSegmentControl": { "base": "When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created.", "refs": { @@ -1070,15 +1112,15 @@ } }, "Eac3DynamicRangeCompressionLine": { - "base": "Specify the absolute peak level for a signal with dynamic range compression.", + "base": "Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the line operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.", "refs": { - "Eac3Settings$DynamicRangeCompressionLine": "Specify the absolute peak level for a signal with dynamic range compression." + "Eac3Settings$DynamicRangeCompressionLine": "Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the line operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf." } }, "Eac3DynamicRangeCompressionRf": { - "base": "Specify how the service limits the audio dynamic range when compressing the audio.", + "base": "Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the RF operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf.", "refs": { - "Eac3Settings$DynamicRangeCompressionRf": "Specify how the service limits the audio dynamic range when compressing the audio." + "Eac3Settings$DynamicRangeCompressionRf": "Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert uses when encoding the metadata in the Dolby Digital stream for the RF operating mode. Related setting: When you use this setting, MediaConvert ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). For information about the Dolby Digital DRC operating modes and profiles, see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf." } }, "Eac3LfeControl": { @@ -1214,9 +1256,9 @@ } }, "FileSourceSettings": { - "base": "If your input captions are SCC, SMI, SRT, STL, TTML, or IMSC 1.1 in an xml file, specify the URI of the input caption source file. If your caption source is IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings.", + "base": "If your input captions are SCC, SMI, SRT, STL, TTML, WebVTT, or IMSC 1.1 in an xml file, specify the URI of the input caption source file. If your caption source is IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings.", "refs": { - "CaptionSourceSettings$FileSourceSettings": "If your input captions are SCC, SMI, SRT, STL, TTML, or IMSC 1.1 in an xml file, specify the URI of the input caption source file. If your caption source is IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings." + "CaptionSourceSettings$FileSourceSettings": "If your input captions are SCC, SMI, SRT, STL, TTML, WebVTT, or IMSC 1.1 in an xml file, specify the URI of the input caption source file. If your caption source is IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings." } }, "FontScript": { @@ -1656,6 +1698,12 @@ "HlsGroupSettings$CodecSpecification": "Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation." } }, + "HlsDescriptiveVideoServiceFlag": { + "base": "Specify whether to flag this audio track as descriptive video service (DVS) in your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the parameter CHARACTERISTICS=\"public.accessibility.describes-video\" in the EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with accessibility on Apple devices. For more information, see the Apple documentation.", + "refs": { + "HlsSettings$DescriptiveVideoServiceFlag": "Specify whether to flag this audio track as descriptive video service (DVS) in your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes the parameter CHARACTERISTICS=\"public.accessibility.describes-video\" in the EXT-X-MEDIA entry for this track. When you keep the default choice, Don't flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can help with accessibility on Apple devices. For more information, see the Apple documentation." + } + }, "HlsDirectoryStructure": { "base": "Indicates whether segments should be placed in subdirectories.", "refs": { @@ -2917,9 +2965,9 @@ } }, "TtmlStylePassthrough": { - "base": "Pass through style and position information from a TTML-like input source (TTML, SMPTE-TT) to the TTML output.", + "base": "Pass through style and position information from a TTML-like input source (TTML, IMSC, SMPTE-TT) to the TTML output.", "refs": { - "TtmlDestinationSettings$StylePassthrough": "Pass through style and position information from a TTML-like input source (TTML, SMPTE-TT) to the TTML output." + "TtmlDestinationSettings$StylePassthrough": "Pass through style and position information from a TTML-like input source (TTML, IMSC, SMPTE-TT) to the TTML output." } }, "Type": { @@ -3158,6 +3206,18 @@ "AudioCodecSettings$WavSettings": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value WAV." } }, + "WebvttDestinationSettings": { + "base": "WEBVTT Destination Settings", + "refs": { + "CaptionDestinationSettings$WebvttDestinationSettings": "WEBVTT Destination Settings" + } + }, + "WebvttStylePassthrough": { + "base": "If your input captions format is teletext or teletext inside of STL, enable this setting to pass through style, color, and position information to your WebVTT output captions.", + "refs": { + "WebvttDestinationSettings$StylePassthrough": "If your input captions format is teletext or teletext inside of STL, enable this setting to pass through style, color, and position information to your WebVTT output captions." + } + }, "__doubleMin0": { "base": null, "refs": { @@ -4099,7 +4159,7 @@ "__listOf__doubleMinNegative60Max6": { "base": null, "refs": { - "OutputChannelMapping$InputChannelsFineTune": "Use this setting to specify your remix values when they have a decimal component, such as -10.312, 0.08, or 4.9. MediaConvert rounds your remixing values to the nearest thousandth." + "OutputChannelMapping$InputChannelsFineTune": "Use this setting to specify your remix values when they have a decimal component, such as -10.312, 0.08, or 4.9. MediaConvert rounds your remixing values to the nearest thousandth." } }, "__listOf__integerMin1Max2147483647": { @@ -4203,6 +4263,8 @@ "CaptionDescription$LanguageDescription": "Specify a label for this set of output captions. For example, \"English\", \"Director commentary\", or \"track_2\". For streaming outputs, MediaConvert passes this information into destination manifests for display on the end-viewer's player device. For outputs in other output groups, the service ignores this setting.", "CaptionDescriptionPreset$LanguageDescription": "Specify a label for this set of output captions. For example, \"English\", \"Director commentary\", or \"track_2\". For streaming outputs, MediaConvert passes this information into destination manifests for display on the end-viewer's player device. For outputs in other output groups, the service ignores this setting.", "CmafGroupSettings$BaseUrl": "A partial URI prefix that will be put in the manifest file at the top level BaseURL element. Can be used if streams are delivered from a different URL than the manifest file.", + "CmfcSettings$AudioGroupId": "Specify the audio rendition group for this audio rendition. Specify up to one value for each audio output in your output group. This value appears in your HLS parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the GROUP-ID attribute. For example, if you specify \"audio_aac_1\" for Audio group ID, it appears in your manifest like this: #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=\"audio_aac_1\". Related setting: To associate the rendition group that this audio track belongs to with a video rendition, include the same value that you provide here for that video output's setting Audio rendition sets (audioRenditionSets).", + "CmfcSettings$AudioRenditionSets": "List the audio rendition groups that you want included with this video rendition. Use a comma-separated list. For example, say you want to include the audio rendition groups that have the audio group IDs \"audio_aac_1\" and \"audio_dolby\". Then you would specify this value: \"audio_aac_1, audio_dolby\". Related setting: The rendition groups that you include in your comma-separated list should all match values that you specify in the setting Audio group ID (AudioGroupId) for audio renditions in the same output group as this video rendition. Default behavior: If you don't specify anything here and for Audio group ID, MediaConvert puts each audio variant in its own audio rendition group and associates it with every video variant. Each value in your list appears in your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO attribute. To continue the previous example, say that the file name for the child manifest for your video rendition is \"amazing_video_1.m3u8\". Then, in your parent manifest, each value will appear on separate lines, like this: #EXT-X-STREAM-INF:AUDIO=\"audio_aac_1\"... amazing_video_1.m3u8 #EXT-X-STREAM-INF:AUDIO=\"audio_dolby\"... amazing_video_1.m3u8", "CreateJobRequest$ClientRequestToken": "Optional. Idempotency token for CreateJob operation.", "CreateJobRequest$JobTemplate": "Optional. When you create a job, you can either specify a job template or specify the transcoding settings individually.", "CreateJobRequest$Queue": "Optional. When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html.", @@ -4231,7 +4293,7 @@ "GetQueueRequest$Name": "The name of the queue that you want information about.", "HlsCaptionLanguageMapping$LanguageDescription": "Caption language description.", "HlsGroupSettings$BaseUrl": "A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file.", - "HlsSettings$AudioGroupId": "Specifies the group to which the audio Rendition belongs.", + "HlsSettings$AudioGroupId": "Specifies the group to which the audio rendition belongs.", "HlsSettings$AudioRenditionSets": "List all the audio groups that are used with the video output stream. Input all the audio GROUP-IDs that are associated to the video, separate by ','.", "HlsSettings$SegmentModifier": "Use this setting to add an identifying string to the filename of each segment. The service adds this string between the name modifier and segment index number. You can use format identifiers in the string. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html", "HopDestination$Queue": "Optional unless the job is submitted on the default queue. When you set up a job to use queue hopping, you can specify a destination queue. This queue cannot be the original queue to which the job is submitted. If the original queue isn't the default queue and you don't specify the destination queue, the job will move to the default queue.", @@ -4334,10 +4396,10 @@ "MotionImageInserter$Input": "Specify the .mov file or series of .png files that you want to overlay on your video. For .png files, provide the file name of the first file in the series. Make sure that the names of the .png files end with sequential numbers that specify the order that they are played in. For example, overlay_000.png, overlay_001.png, overlay_002.png, and so on. The sequence must start at zero, and each image file name must have the same number of digits. Pad your initial file names with enough zeros to complete the sequence. For example, if the first image is overlay_0.png, there can be only 10 images in the sequence, with the last image being overlay_9.png. But if the first image is overlay_00.png, there can be 100 images in the sequence." } }, - "__stringMin14PatternS3SccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMIHttpsSccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMI": { + "__stringMin14PatternS3SccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMIVttVTTHttpsSccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMIVttVTT": { "base": null, "refs": { - "FileSourceSettings$SourceFile": "External caption file used for loading captions. Accepted file extensions are 'scc', 'ttml', 'dfxp', 'stl', 'srt', 'xml', and 'smi'." + "FileSourceSettings$SourceFile": "External caption file used for loading captions. Accepted file extensions are 'scc', 'ttml', 'dfxp', 'stl', 'srt', 'xml', 'smi', and 'vtt'." } }, "__stringMin16Max24PatternAZaZ0922AZaZ0916": { diff --git a/models/apis/route53resolver/2018-04-01/api-2.json b/models/apis/route53resolver/2018-04-01/api-2.json index c374924c0c5..d12aefa5cf4 100644 --- a/models/apis/route53resolver/2018-04-01/api-2.json +++ b/models/apis/route53resolver/2018-04-01/api-2.json @@ -13,6 +13,24 @@ "uid":"route53resolver-2018-04-01" }, "operations":{ + "AssociateFirewallRuleGroup":{ + "name":"AssociateFirewallRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateFirewallRuleGroupRequest"}, + "output":{"shape":"AssociateFirewallRuleGroupResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, "AssociateResolverEndpointIpAddress":{ "name":"AssociateResolverEndpointIpAddress", "http":{ @@ -69,6 +87,55 @@ {"shape":"ThrottlingException"} ] }, + "CreateFirewallDomainList":{ + "name":"CreateFirewallDomainList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFirewallDomainListRequest"}, + "output":{"shape":"CreateFirewallDomainListResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "CreateFirewallRule":{ + "name":"CreateFirewallRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFirewallRuleRequest"}, + "output":{"shape":"CreateFirewallRuleResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "CreateFirewallRuleGroup":{ + "name":"CreateFirewallRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFirewallRuleGroupRequest"}, + "output":{"shape":"CreateFirewallRuleGroupResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, "CreateResolverEndpoint":{ "name":"CreateResolverEndpoint", "http":{ @@ -125,6 +192,54 @@ {"shape":"ThrottlingException"} ] }, + "DeleteFirewallDomainList":{ + "name":"DeleteFirewallDomainList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFirewallDomainListRequest"}, + "output":{"shape":"DeleteFirewallDomainListResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "DeleteFirewallRule":{ + "name":"DeleteFirewallRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFirewallRuleRequest"}, + "output":{"shape":"DeleteFirewallRuleResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "DeleteFirewallRuleGroup":{ + "name":"DeleteFirewallRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFirewallRuleGroupRequest"}, + "output":{"shape":"DeleteFirewallRuleGroupResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, "DeleteResolverEndpoint":{ "name":"DeleteResolverEndpoint", "http":{ @@ -174,6 +289,23 @@ {"shape":"ThrottlingException"} ] }, + "DisassociateFirewallRuleGroup":{ + "name":"DisassociateFirewallRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateFirewallRuleGroupRequest"}, + "output":{"shape":"DisassociateFirewallRuleGroupResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, "DisassociateResolverEndpointIpAddress":{ "name":"DisassociateResolverEndpointIpAddress", "http":{ @@ -223,6 +355,83 @@ {"shape":"ThrottlingException"} ] }, + "GetFirewallConfig":{ + "name":"GetFirewallConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFirewallConfigRequest"}, + "output":{"shape":"GetFirewallConfigResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "GetFirewallDomainList":{ + "name":"GetFirewallDomainList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFirewallDomainListRequest"}, + "output":{"shape":"GetFirewallDomainListResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetFirewallRuleGroup":{ + "name":"GetFirewallRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFirewallRuleGroupRequest"}, + "output":{"shape":"GetFirewallRuleGroupResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetFirewallRuleGroupAssociation":{ + "name":"GetFirewallRuleGroupAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFirewallRuleGroupAssociationRequest"}, + "output":{"shape":"GetFirewallRuleGroupAssociationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetFirewallRuleGroupPolicy":{ + "name":"GetFirewallRuleGroupPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFirewallRuleGroupPolicyRequest"}, + "output":{"shape":"GetFirewallRuleGroupPolicyResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, "GetResolverDnssecConfig":{ "name":"GetResolverDnssecConfig", "http":{ @@ -349,6 +558,116 @@ {"shape":"InternalServiceErrorException"} ] }, + "ImportFirewallDomains":{ + "name":"ImportFirewallDomains", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportFirewallDomainsRequest"}, + "output":{"shape":"ImportFirewallDomainsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListFirewallConfigs":{ + "name":"ListFirewallConfigs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListFirewallConfigsRequest"}, + "output":{"shape":"ListFirewallConfigsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListFirewallDomainLists":{ + "name":"ListFirewallDomainLists", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListFirewallDomainListsRequest"}, + "output":{"shape":"ListFirewallDomainListsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListFirewallDomains":{ + "name":"ListFirewallDomains", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListFirewallDomainsRequest"}, + "output":{"shape":"ListFirewallDomainsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListFirewallRuleGroupAssociations":{ + "name":"ListFirewallRuleGroupAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListFirewallRuleGroupAssociationsRequest"}, + "output":{"shape":"ListFirewallRuleGroupAssociationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListFirewallRuleGroups":{ + "name":"ListFirewallRuleGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListFirewallRuleGroupsRequest"}, + "output":{"shape":"ListFirewallRuleGroupsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListFirewallRules":{ + "name":"ListFirewallRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListFirewallRulesRequest"}, + "output":{"shape":"ListFirewallRulesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, "ListResolverDnssecConfigs":{ "name":"ListResolverDnssecConfigs", "http":{ @@ -481,6 +800,22 @@ {"shape":"ThrottlingException"} ] }, + "PutFirewallRuleGroupPolicy":{ + "name":"PutFirewallRuleGroupPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutFirewallRuleGroupPolicyRequest"}, + "output":{"shape":"PutFirewallRuleGroupPolicyResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, "PutResolverQueryLogConfigPolicy":{ "name":"PutResolverQueryLogConfigPolicy", "http":{ @@ -547,6 +882,74 @@ {"shape":"ThrottlingException"} ] }, + "UpdateFirewallConfig":{ + "name":"UpdateFirewallConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateFirewallConfigRequest"}, + "output":{"shape":"UpdateFirewallConfigResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "UpdateFirewallDomains":{ + "name":"UpdateFirewallDomains", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateFirewallDomainsRequest"}, + "output":{"shape":"UpdateFirewallDomainsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "UpdateFirewallRule":{ + "name":"UpdateFirewallRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateFirewallRuleRequest"}, + "output":{"shape":"UpdateFirewallRuleResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, + "UpdateFirewallRuleGroupAssociation":{ + "name":"UpdateFirewallRuleGroupAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateFirewallRuleGroupAssociationRequest"}, + "output":{"shape":"UpdateFirewallRuleGroupAssociationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ] + }, "UpdateResolverDnssecConfig":{ "name":"UpdateResolverDnssecConfig", "http":{ @@ -612,15 +1015,57 @@ "max":32, "min":12 }, + "Action":{ + "type":"string", + "enum":[ + "ALLOW", + "BLOCK", + "ALERT" + ] + }, "Arn":{ "type":"string", "max":255, "min":1 }, - "AssociateResolverEndpointIpAddressRequest":{ + "AssociateFirewallRuleGroupRequest":{ "type":"structure", "required":[ - "ResolverEndpointId", + "CreatorRequestId", + "FirewallRuleGroupId", + "VpcId", + "Priority", + "Name" + ], + "members":{ + "CreatorRequestId":{ + "shape":"CreatorRequestId", + "idempotencyToken":true + }, + "FirewallRuleGroupId":{"shape":"ResourceId"}, + "VpcId":{"shape":"ResourceId"}, + "Priority":{"shape":"Priority"}, + "Name":{"shape":"Name"}, + "MutationProtection":{ + "shape":"MutationProtectionStatus", + "box":true + }, + "Tags":{ + "shape":"TagList", + "box":true + } + } + }, + "AssociateFirewallRuleGroupResponse":{ + "type":"structure", + "members":{ + "FirewallRuleGroupAssociation":{"shape":"FirewallRuleGroupAssociation"} + } + }, + "AssociateResolverEndpointIpAddressRequest":{ + "type":"structure", + "required":[ + "ResolverEndpointId", "IpAddress" ], "members":{ @@ -669,8 +1114,129 @@ "ResolverRuleAssociation":{"shape":"ResolverRuleAssociation"} } }, + "BlockOverrideDnsType":{ + "type":"string", + "enum":["CNAME"] + }, + "BlockOverrideDomain":{ + "type":"string", + "max":255, + "min":1 + }, + "BlockOverrideTtl":{ + "type":"integer", + "max":604800, + "min":0 + }, + "BlockResponse":{ + "type":"string", + "enum":[ + "NODATA", + "NXDOMAIN", + "OVERRIDE" + ] + }, "Boolean":{"type":"boolean"}, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, "Count":{"type":"integer"}, + "CreateFirewallDomainListRequest":{ + "type":"structure", + "required":[ + "CreatorRequestId", + "Name" + ], + "members":{ + "CreatorRequestId":{ + "shape":"CreatorRequestId", + "idempotencyToken":true + }, + "Name":{"shape":"Name"}, + "Tags":{ + "shape":"TagList", + "box":true + } + } + }, + "CreateFirewallDomainListResponse":{ + "type":"structure", + "members":{ + "FirewallDomainList":{"shape":"FirewallDomainList"} + } + }, + "CreateFirewallRuleGroupRequest":{ + "type":"structure", + "required":[ + "CreatorRequestId", + "Name" + ], + "members":{ + "CreatorRequestId":{ + "shape":"CreatorRequestId", + "idempotencyToken":true + }, + "Name":{"shape":"Name"}, + "Tags":{ + "shape":"TagList", + "box":true + } + } + }, + "CreateFirewallRuleGroupResponse":{ + "type":"structure", + "members":{ + "FirewallRuleGroup":{"shape":"FirewallRuleGroup"} + } + }, + "CreateFirewallRuleRequest":{ + "type":"structure", + "required":[ + "CreatorRequestId", + "FirewallRuleGroupId", + "FirewallDomainListId", + "Priority", + "Action", + "Name" + ], + "members":{ + "CreatorRequestId":{ + "shape":"CreatorRequestId", + "idempotencyToken":true + }, + "FirewallRuleGroupId":{"shape":"ResourceId"}, + "FirewallDomainListId":{"shape":"ResourceId"}, + "Priority":{"shape":"Priority"}, + "Action":{"shape":"Action"}, + "BlockResponse":{ + "shape":"BlockResponse", + "box":true + }, + "BlockOverrideDomain":{ + "shape":"BlockOverrideDomain", + "box":true + }, + "BlockOverrideDnsType":{ + "shape":"BlockOverrideDnsType", + "box":true + }, + "BlockOverrideTtl":{ + "shape":"BlockOverrideTtl", + "box":true + }, + "Name":{"shape":"Name"} + } + }, + "CreateFirewallRuleResponse":{ + "type":"structure", + "members":{ + "FirewallRule":{"shape":"FirewallRule"} + } + }, "CreateResolverEndpointRequest":{ "type":"structure", "required":[ @@ -763,6 +1329,49 @@ "max":255, "min":1 }, + "DeleteFirewallDomainListRequest":{ + "type":"structure", + "required":["FirewallDomainListId"], + "members":{ + "FirewallDomainListId":{"shape":"ResourceId"} + } + }, + "DeleteFirewallDomainListResponse":{ + "type":"structure", + "members":{ + "FirewallDomainList":{"shape":"FirewallDomainList"} + } + }, + "DeleteFirewallRuleGroupRequest":{ + "type":"structure", + "required":["FirewallRuleGroupId"], + "members":{ + "FirewallRuleGroupId":{"shape":"ResourceId"} + } + }, + "DeleteFirewallRuleGroupResponse":{ + "type":"structure", + "members":{ + "FirewallRuleGroup":{"shape":"FirewallRuleGroup"} + } + }, + "DeleteFirewallRuleRequest":{ + "type":"structure", + "required":[ + "FirewallRuleGroupId", + "FirewallDomainListId" + ], + "members":{ + "FirewallRuleGroupId":{"shape":"ResourceId"}, + "FirewallDomainListId":{"shape":"ResourceId"} + } + }, + "DeleteFirewallRuleResponse":{ + "type":"structure", + "members":{ + "FirewallRule":{"shape":"FirewallRule"} + } + }, "DeleteResolverEndpointRequest":{ "type":"structure", "required":["ResolverEndpointId"], @@ -807,6 +1416,19 @@ "max":600, "min":1 }, + "DisassociateFirewallRuleGroupRequest":{ + "type":"structure", + "required":["FirewallRuleGroupAssociationId"], + "members":{ + "FirewallRuleGroupAssociationId":{"shape":"ResourceId"} + } + }, + "DisassociateFirewallRuleGroupResponse":{ + "type":"structure", + "members":{ + "FirewallRuleGroupAssociation":{"shape":"FirewallRuleGroupAssociation"} + } + }, "DisassociateResolverEndpointIpAddressRequest":{ "type":"structure", "required":[ @@ -855,40 +1477,284 @@ "DisassociateResolverRuleResponse":{ "type":"structure", "members":{ - "ResolverRuleAssociation":{"shape":"ResolverRuleAssociation"} + "ResolverRuleAssociation":{"shape":"ResolverRuleAssociation"} + } + }, + "DomainListFileUrl":{ + "type":"string", + "max":1024, + "min":1 + }, + "DomainName":{ + "type":"string", + "max":256, + "min":1 + }, + "ExceptionMessage":{"type":"string"}, + "Filter":{ + "type":"structure", + "members":{ + "Name":{"shape":"FilterName"}, + "Values":{"shape":"FilterValues"} + } + }, + "FilterName":{ + "type":"string", + "max":64, + "min":1 + }, + "FilterValue":{ + "type":"string", + "max":600, + "min":1 + }, + "FilterValues":{ + "type":"list", + "member":{"shape":"FilterValue"} + }, + "Filters":{ + "type":"list", + "member":{"shape":"Filter"} + }, + "FirewallConfig":{ + "type":"structure", + "members":{ + "Id":{"shape":"ResourceId"}, + "ResourceId":{"shape":"ResourceId"}, + "OwnerId":{"shape":"AccountId"}, + "FirewallFailOpen":{"shape":"FirewallFailOpenStatus"} + } + }, + "FirewallConfigList":{ + "type":"list", + "member":{"shape":"FirewallConfig"} + }, + "FirewallDomainImportOperation":{ + "type":"string", + "enum":["REPLACE"] + }, + "FirewallDomainList":{ + "type":"structure", + "members":{ + "Id":{"shape":"ResourceId"}, + "Arn":{"shape":"Arn"}, + "Name":{"shape":"Name"}, + "DomainCount":{"shape":"Unsigned"}, + "Status":{"shape":"FirewallDomainListStatus"}, + "StatusMessage":{"shape":"StatusMessage"}, + "ManagedOwnerName":{"shape":"ServicePrinciple"}, + "CreatorRequestId":{"shape":"CreatorRequestId"}, + "CreationTime":{"shape":"Rfc3339TimeString"}, + "ModificationTime":{"shape":"Rfc3339TimeString"} + } + }, + "FirewallDomainListMetadata":{ + "type":"structure", + "members":{ + "Id":{"shape":"ResourceId"}, + "Arn":{"shape":"Arn"}, + "Name":{"shape":"Name"}, + "CreatorRequestId":{"shape":"CreatorRequestId"}, + "ManagedOwnerName":{"shape":"ServicePrinciple"} + } + }, + "FirewallDomainListMetadataList":{ + "type":"list", + "member":{"shape":"FirewallDomainListMetadata"} + }, + "FirewallDomainListStatus":{ + "type":"string", + "enum":[ + "COMPLETE", + "COMPLETE_IMPORT_FAILED", + "IMPORTING", + "DELETING", + "UPDATING" + ] + }, + "FirewallDomainName":{ + "type":"string", + "max":255, + "min":1 + }, + "FirewallDomainUpdateOperation":{ + "type":"string", + "enum":[ + "ADD", + "REMOVE", + "REPLACE" + ] + }, + "FirewallDomains":{ + "type":"list", + "member":{"shape":"FirewallDomainName"} + }, + "FirewallFailOpenStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "FirewallRule":{ + "type":"structure", + "members":{ + "FirewallRuleGroupId":{"shape":"ResourceId"}, + "FirewallDomainListId":{"shape":"ResourceId"}, + "Name":{"shape":"Name"}, + "Priority":{"shape":"Priority"}, + "Action":{"shape":"Action"}, + "BlockResponse":{"shape":"BlockResponse"}, + "BlockOverrideDomain":{"shape":"BlockOverrideDomain"}, + "BlockOverrideDnsType":{"shape":"BlockOverrideDnsType"}, + "BlockOverrideTtl":{"shape":"Unsigned"}, + "CreatorRequestId":{"shape":"CreatorRequestId"}, + "CreationTime":{"shape":"Rfc3339TimeString"}, + "ModificationTime":{"shape":"Rfc3339TimeString"} + } + }, + "FirewallRuleGroup":{ + "type":"structure", + "members":{ + "Id":{"shape":"ResourceId"}, + "Arn":{"shape":"Arn"}, + "Name":{"shape":"Name"}, + "RuleCount":{"shape":"Unsigned"}, + "Status":{"shape":"FirewallRuleGroupStatus"}, + "StatusMessage":{"shape":"StatusMessage"}, + "OwnerId":{"shape":"AccountId"}, + "CreatorRequestId":{"shape":"CreatorRequestId"}, + "ShareStatus":{"shape":"ShareStatus"}, + "CreationTime":{"shape":"Rfc3339TimeString"}, + "ModificationTime":{"shape":"Rfc3339TimeString"} + } + }, + "FirewallRuleGroupAssociation":{ + "type":"structure", + "members":{ + "Id":{"shape":"ResourceId"}, + "Arn":{"shape":"Arn"}, + "FirewallRuleGroupId":{"shape":"ResourceId"}, + "VpcId":{"shape":"ResourceId"}, + "Name":{"shape":"Name"}, + "Priority":{"shape":"Priority"}, + "MutationProtection":{"shape":"MutationProtectionStatus"}, + "ManagedOwnerName":{"shape":"ServicePrinciple"}, + "Status":{"shape":"FirewallRuleGroupAssociationStatus"}, + "StatusMessage":{"shape":"StatusMessage"}, + "CreatorRequestId":{"shape":"CreatorRequestId"}, + "CreationTime":{"shape":"Rfc3339TimeString"}, + "ModificationTime":{"shape":"Rfc3339TimeString"} + } + }, + "FirewallRuleGroupAssociationStatus":{ + "type":"string", + "enum":[ + "COMPLETE", + "DELETING", + "UPDATING" + ] + }, + "FirewallRuleGroupAssociations":{ + "type":"list", + "member":{"shape":"FirewallRuleGroupAssociation"} + }, + "FirewallRuleGroupMetadata":{ + "type":"structure", + "members":{ + "Id":{"shape":"ResourceId"}, + "Arn":{"shape":"Arn"}, + "Name":{"shape":"Name"}, + "OwnerId":{"shape":"AccountId"}, + "CreatorRequestId":{"shape":"CreatorRequestId"}, + "ShareStatus":{"shape":"ShareStatus"} + } + }, + "FirewallRuleGroupMetadataList":{ + "type":"list", + "member":{"shape":"FirewallRuleGroupMetadata"} + }, + "FirewallRuleGroupPolicy":{ + "type":"string", + "max":5000 + }, + "FirewallRuleGroupStatus":{ + "type":"string", + "enum":[ + "COMPLETE", + "DELETING", + "UPDATING" + ] + }, + "FirewallRules":{ + "type":"list", + "member":{"shape":"FirewallRule"} + }, + "GetFirewallConfigRequest":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "ResourceId":{"shape":"ResourceId"} + } + }, + "GetFirewallConfigResponse":{ + "type":"structure", + "members":{ + "FirewallConfig":{"shape":"FirewallConfig"} + } + }, + "GetFirewallDomainListRequest":{ + "type":"structure", + "required":["FirewallDomainListId"], + "members":{ + "FirewallDomainListId":{"shape":"ResourceId"} + } + }, + "GetFirewallDomainListResponse":{ + "type":"structure", + "members":{ + "FirewallDomainList":{"shape":"FirewallDomainList"} + } + }, + "GetFirewallRuleGroupAssociationRequest":{ + "type":"structure", + "required":["FirewallRuleGroupAssociationId"], + "members":{ + "FirewallRuleGroupAssociationId":{"shape":"ResourceId"} + } + }, + "GetFirewallRuleGroupAssociationResponse":{ + "type":"structure", + "members":{ + "FirewallRuleGroupAssociation":{"shape":"FirewallRuleGroupAssociation"} + } + }, + "GetFirewallRuleGroupPolicyRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{"shape":"Arn"} + } + }, + "GetFirewallRuleGroupPolicyResponse":{ + "type":"structure", + "members":{ + "FirewallRuleGroupPolicy":{"shape":"FirewallRuleGroupPolicy"} + } + }, + "GetFirewallRuleGroupRequest":{ + "type":"structure", + "required":["FirewallRuleGroupId"], + "members":{ + "FirewallRuleGroupId":{"shape":"ResourceId"} } }, - "DomainName":{ - "type":"string", - "max":256, - "min":1 - }, - "ExceptionMessage":{"type":"string"}, - "Filter":{ + "GetFirewallRuleGroupResponse":{ "type":"structure", "members":{ - "Name":{"shape":"FilterName"}, - "Values":{"shape":"FilterValues"} + "FirewallRuleGroup":{"shape":"FirewallRuleGroup"} } }, - "FilterName":{ - "type":"string", - "max":64, - "min":1 - }, - "FilterValue":{ - "type":"string", - "max":600, - "min":1 - }, - "FilterValues":{ - "type":"list", - "member":{"shape":"FilterValue"} - }, - "Filters":{ - "type":"list", - "member":{"shape":"Filter"} - }, "GetResolverDnssecConfigRequest":{ "type":"structure", "required":["ResourceId"], @@ -993,6 +1859,28 @@ "ResolverRule":{"shape":"ResolverRule"} } }, + "ImportFirewallDomainsRequest":{ + "type":"structure", + "required":[ + "FirewallDomainListId", + "Operation", + "DomainFileUrl" + ], + "members":{ + "FirewallDomainListId":{"shape":"ResourceId"}, + "Operation":{"shape":"FirewallDomainImportOperation"}, + "DomainFileUrl":{"shape":"DomainListFileUrl"} + } + }, + "ImportFirewallDomainsResponse":{ + "type":"structure", + "members":{ + "Id":{"shape":"ResourceId"}, + "Name":{"shape":"Name"}, + "Status":{"shape":"FirewallDomainListStatus"}, + "StatusMessage":{"shape":"StatusMessage"} + } + }, "InternalServiceErrorException":{ "type":"structure", "members":{ @@ -1116,6 +2004,164 @@ }, "exception":true }, + "ListDomainMaxResults":{ + "type":"integer", + "max":5000, + "min":1 + }, + "ListFirewallConfigsMaxResult":{ + "type":"integer", + "max":10, + "min":5 + }, + "ListFirewallConfigsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"ListFirewallConfigsMaxResult", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "box":true + } + } + }, + "ListFirewallConfigsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "FirewallConfigs":{"shape":"FirewallConfigList"} + } + }, + "ListFirewallDomainListsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "box":true + } + } + }, + "ListFirewallDomainListsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "FirewallDomainLists":{"shape":"FirewallDomainListMetadataList"} + } + }, + "ListFirewallDomainsRequest":{ + "type":"structure", + "required":["FirewallDomainListId"], + "members":{ + "FirewallDomainListId":{"shape":"ResourceId"}, + "MaxResults":{ + "shape":"ListDomainMaxResults", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "box":true + } + } + }, + "ListFirewallDomainsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "Domains":{"shape":"FirewallDomains"} + } + }, + "ListFirewallRuleGroupAssociationsRequest":{ + "type":"structure", + "members":{ + "FirewallRuleGroupId":{ + "shape":"ResourceId", + "box":true + }, + "VpcId":{ + "shape":"ResourceId", + "box":true + }, + "Priority":{ + "shape":"Priority", + "box":true + }, + "Status":{ + "shape":"FirewallRuleGroupAssociationStatus", + "box":true + }, + "MaxResults":{ + "shape":"MaxResults", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "box":true + } + } + }, + "ListFirewallRuleGroupAssociationsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "FirewallRuleGroupAssociations":{"shape":"FirewallRuleGroupAssociations"} + } + }, + "ListFirewallRuleGroupsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "box":true + } + } + }, + "ListFirewallRuleGroupsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "FirewallRuleGroups":{"shape":"FirewallRuleGroupMetadataList"} + } + }, + "ListFirewallRulesRequest":{ + "type":"structure", + "required":["FirewallRuleGroupId"], + "members":{ + "FirewallRuleGroupId":{"shape":"ResourceId"}, + "Priority":{ + "shape":"Priority", + "box":true + }, + "Action":{ + "shape":"Action", + "box":true + }, + "MaxResults":{ + "shape":"MaxResults", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "box":true + } + } + }, + "ListFirewallRulesResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "FirewallRules":{"shape":"FirewallRules"} + } + }, "ListResolverDnssecConfigsRequest":{ "type":"structure", "members":{ @@ -1312,6 +2358,13 @@ "max":100, "min":1 }, + "MutationProtectionStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "Name":{ "type":"string", "max":64, @@ -1323,6 +2376,24 @@ "max":65535, "min":0 }, + "Priority":{"type":"integer"}, + "PutFirewallRuleGroupPolicyRequest":{ + "type":"structure", + "required":[ + "Arn", + "FirewallRuleGroupPolicy" + ], + "members":{ + "Arn":{"shape":"Arn"}, + "FirewallRuleGroupPolicy":{"shape":"FirewallRuleGroupPolicy"} + } + }, + "PutFirewallRuleGroupPolicyResponse":{ + "type":"structure", + "members":{ + "ReturnValue":{"shape":"Boolean"} + } + }, "PutResolverQueryLogConfigPolicyRequest":{ "type":"structure", "required":[ @@ -1615,6 +2686,11 @@ "type":"list", "member":{"shape":"ResourceId"} }, + "ServicePrinciple":{ + "type":"string", + "max":512, + "min":1 + }, "ShareStatus":{ "type":"string", "enum":[ @@ -1722,6 +2798,7 @@ }, "exception":true }, + "Unsigned":{"type":"integer"}, "UntagResourceRequest":{ "type":"structure", "required":[ @@ -1738,6 +2815,115 @@ "members":{ } }, + "UpdateFirewallConfigRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "FirewallFailOpen" + ], + "members":{ + "ResourceId":{"shape":"ResourceId"}, + "FirewallFailOpen":{"shape":"FirewallFailOpenStatus"} + } + }, + "UpdateFirewallConfigResponse":{ + "type":"structure", + "members":{ + "FirewallConfig":{"shape":"FirewallConfig"} + } + }, + "UpdateFirewallDomainsRequest":{ + "type":"structure", + "required":[ + "FirewallDomainListId", + "Operation", + "Domains" + ], + "members":{ + "FirewallDomainListId":{"shape":"ResourceId"}, + "Operation":{"shape":"FirewallDomainUpdateOperation"}, + "Domains":{"shape":"FirewallDomains"} + } + }, + "UpdateFirewallDomainsResponse":{ + "type":"structure", + "members":{ + "Id":{"shape":"ResourceId"}, + "Name":{"shape":"Name"}, + "Status":{"shape":"FirewallDomainListStatus"}, + "StatusMessage":{"shape":"StatusMessage"} + } + }, + "UpdateFirewallRuleGroupAssociationRequest":{ + "type":"structure", + "required":["FirewallRuleGroupAssociationId"], + "members":{ + "FirewallRuleGroupAssociationId":{"shape":"ResourceId"}, + "Priority":{ + "shape":"Priority", + "box":true + }, + "MutationProtection":{ + "shape":"MutationProtectionStatus", + "box":true + }, + "Name":{ + "shape":"Name", + "box":true + } + } + }, + "UpdateFirewallRuleGroupAssociationResponse":{ + "type":"structure", + "members":{ + "FirewallRuleGroupAssociation":{"shape":"FirewallRuleGroupAssociation"} + } + }, + "UpdateFirewallRuleRequest":{ + "type":"structure", + "required":[ + "FirewallRuleGroupId", + "FirewallDomainListId" + ], + "members":{ + "FirewallRuleGroupId":{"shape":"ResourceId"}, + "FirewallDomainListId":{"shape":"ResourceId"}, + "Priority":{ + "shape":"Priority", + "box":true + }, + "Action":{ + "shape":"Action", + "box":true + }, + "BlockResponse":{ + "shape":"BlockResponse", + "box":true + }, + "BlockOverrideDomain":{ + "shape":"BlockOverrideDomain", + "box":true + }, + "BlockOverrideDnsType":{ + "shape":"BlockOverrideDnsType", + "box":true + }, + "BlockOverrideTtl":{ + "shape":"BlockOverrideTtl", + "box":true + }, + "Name":{ + "shape":"Name", + "box":true + } + } + }, + "UpdateFirewallRuleResponse":{ + "type":"structure", + "members":{ + "FirewallRule":{"shape":"FirewallRule"} + } + }, "UpdateResolverDnssecConfigRequest":{ "type":"structure", "required":[ @@ -1795,6 +2981,13 @@ "ENABLE", "DISABLE" ] + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "exception":true } } } diff --git a/models/apis/route53resolver/2018-04-01/docs-2.json b/models/apis/route53resolver/2018-04-01/docs-2.json index d13d75cc2d1..3b8a1b1e4f1 100644 --- a/models/apis/route53resolver/2018-04-01/docs-2.json +++ b/models/apis/route53resolver/2018-04-01/docs-2.json @@ -2,18 +2,31 @@ "version": "2.0", "service": "

When you create a VPC using Amazon VPC, you automatically get DNS resolution within the VPC from Route 53 Resolver. By default, Resolver answers DNS queries for VPC domain names such as domain names for EC2 instances or ELB load balancers. Resolver performs recursive lookups against public name servers for all other domain names.

You can also configure DNS resolution between your VPC and your network over a Direct Connect or VPN connection:

Forward DNS queries from resolvers on your network to Route 53 Resolver

DNS resolvers on your network can forward DNS queries to Resolver in a specified VPC. This allows your DNS resolvers to easily resolve domain names for AWS resources such as EC2 instances or records in a Route 53 private hosted zone. For more information, see How DNS Resolvers on Your Network Forward DNS Queries to Route 53 Resolver in the Amazon Route 53 Developer Guide.

Conditionally forward queries from a VPC to resolvers on your network

You can configure Resolver to forward queries that it receives from EC2 instances in your VPCs to DNS resolvers on your network. To forward selected queries, you create Resolver rules that specify the domain names for the DNS queries that you want to forward (such as example.com), and the IP addresses of the DNS resolvers on your network that you want to forward the queries to. If a query matches multiple rules (example.com, acme.example.com), Resolver chooses the rule with the most specific match (acme.example.com) and forwards the query to the IP addresses that you specified in that rule. For more information, see How Route 53 Resolver Forwards DNS Queries from Your VPCs to Your Network in the Amazon Route 53 Developer Guide.

Like Amazon VPC, Resolver is regional. In each region where you have VPCs, you can choose whether to forward queries from your VPCs to your network (outbound queries), from your network to your VPCs (inbound queries), or both.

", "operations": { + "AssociateFirewallRuleGroup": "

Associates a FirewallRuleGroup with a VPC, to provide DNS filtering for the VPC.

", "AssociateResolverEndpointIpAddress": "

Adds IP addresses to an inbound or an outbound Resolver endpoint. If you want to add more than one IP address, submit one AssociateResolverEndpointIpAddress request for each IP address.

To remove an IP address from an endpoint, see DisassociateResolverEndpointIpAddress.

", "AssociateResolverQueryLogConfig": "

Associates an Amazon VPC with a specified query logging configuration. Route 53 Resolver logs DNS queries that originate in all of the Amazon VPCs that are associated with a specified query logging configuration. To associate more than one VPC with a configuration, submit one AssociateResolverQueryLogConfig request for each VPC.

The VPCs that you associate with a query logging configuration must be in the same Region as the configuration.

To remove a VPC from a query logging configuration, see DisassociateResolverQueryLogConfig.

", "AssociateResolverRule": "

Associates a Resolver rule with a VPC. When you associate a rule with a VPC, Resolver forwards all DNS queries for the domain name that is specified in the rule and that originate in the VPC. The queries are forwarded to the IP addresses for the DNS resolvers that are specified in the rule. For more information about rules, see CreateResolverRule.

", + "CreateFirewallDomainList": "

Creates an empty firewall domain list for use in DNS Firewall rules. You can populate the domains for the new list with a file, using ImportFirewallDomains, or with domain strings, using UpdateFirewallDomains.

", + "CreateFirewallRule": "

Creates a single DNS Firewall rule in the specified rule group, using the specified domain list.

", + "CreateFirewallRuleGroup": "

Creates an empty DNS Firewall rule group for filtering DNS network traffic in a VPC. You can add rules to the new rule group by calling CreateFirewallRule.

", "CreateResolverEndpoint": "

Creates a Resolver endpoint. There are two types of Resolver endpoints, inbound and outbound:

", "CreateResolverQueryLogConfig": "

Creates a Resolver query logging configuration, which defines where you want Resolver to save DNS query logs that originate in your VPCs. Resolver can log queries only for VPCs that are in the same Region as the query logging configuration.

To specify which VPCs you want to log queries for, you use AssociateResolverQueryLogConfig. For more information, see AssociateResolverQueryLogConfig.

You can optionally use AWS Resource Access Manager (AWS RAM) to share a query logging configuration with other AWS accounts. The other accounts can then associate VPCs with the configuration. The query logs that Resolver creates for a configuration include all DNS queries that originate in all VPCs that are associated with the configuration.

", "CreateResolverRule": "

For DNS queries that originate in your VPCs, specifies which Resolver endpoint the queries pass through, one domain name that you want to forward to your network, and the IP addresses of the DNS resolvers in your network.

", + "DeleteFirewallDomainList": "

Deletes the specified domain list.

", + "DeleteFirewallRule": "

Deletes the specified firewall rule.

", + "DeleteFirewallRuleGroup": "

Deletes the specified firewall rule group.

", "DeleteResolverEndpoint": "

Deletes a Resolver endpoint. The effect of deleting a Resolver endpoint depends on whether it's an inbound or an outbound Resolver endpoint:

", "DeleteResolverQueryLogConfig": "

Deletes a query logging configuration. When you delete a configuration, Resolver stops logging DNS queries for all of the Amazon VPCs that are associated with the configuration. This also applies if the query logging configuration is shared with other AWS accounts, and the other accounts have associated VPCs with the shared configuration.

Before you can delete a query logging configuration, you must first disassociate all VPCs from the configuration. See DisassociateResolverQueryLogConfig.

If you used Resource Access Manager (RAM) to share a query logging configuration with other accounts, you must stop sharing the configuration before you can delete a configuration. The accounts that you shared the configuration with can first disassociate VPCs that they associated with the configuration, but that's not necessary. If you stop sharing the configuration, those VPCs are automatically disassociated from the configuration.

", "DeleteResolverRule": "

Deletes a Resolver rule. Before you can delete a Resolver rule, you must disassociate it from all the VPCs that you associated the Resolver rule with. For more information, see DisassociateResolverRule.

", + "DisassociateFirewallRuleGroup": "

Disassociates a FirewallRuleGroup from a VPC, to remove DNS filtering from the VPC.

", "DisassociateResolverEndpointIpAddress": "

Removes IP addresses from an inbound or an outbound Resolver endpoint. If you want to remove more than one IP address, submit one DisassociateResolverEndpointIpAddress request for each IP address.

To add an IP address to an endpoint, see AssociateResolverEndpointIpAddress.

", "DisassociateResolverQueryLogConfig": "

Disassociates a VPC from a query logging configuration.

Before you can delete a query logging configuration, you must first disassociate all VPCs from the configuration. If you used Resource Access Manager (RAM) to share a query logging configuration with other accounts, VPCs can be disassociated from the configuration in the following ways:

", "DisassociateResolverRule": "

Removes the association between a specified Resolver rule and a specified VPC.

If you disassociate a Resolver rule from a VPC, Resolver stops forwarding DNS queries for the domain name that you specified in the Resolver rule.

", + "GetFirewallConfig": "

Retrieves the configuration of the firewall behavior provided by DNS Firewall for a single Amazon virtual private cloud (VPC).

", + "GetFirewallDomainList": "

Retrieves the specified firewall domain list.

", + "GetFirewallRuleGroup": "

Retrieves the specified firewall rule group.

", + "GetFirewallRuleGroupAssociation": "

Retrieves a firewall rule group association, which enables DNS filtering for a VPC with one rule group. A VPC can have more than one firewall rule group association, and a rule group can be associated with more than one VPC.

", + "GetFirewallRuleGroupPolicy": "

Returns the AWS Identity and Access Management (AWS IAM) policy for sharing the specified rule group. You can use the policy to share the rule group using AWS Resource Access Manager (RAM).

", "GetResolverDnssecConfig": "

Gets DNSSEC validation information for a specified resource.

", "GetResolverEndpoint": "

Gets information about a specified Resolver endpoint, such as whether it's an inbound or an outbound Resolver endpoint, and the current status of the endpoint.

", "GetResolverQueryLogConfig": "

Gets information about a specified Resolver query logging configuration, such as the number of VPCs that the configuration is logging queries for and the location that logs are sent to.

", @@ -22,6 +35,13 @@ "GetResolverRule": "

Gets information about a specified Resolver rule, such as the domain name that the rule forwards DNS queries for and the ID of the outbound Resolver endpoint that the rule is associated with.

", "GetResolverRuleAssociation": "

Gets information about an association between a specified Resolver rule and a VPC. You associate a Resolver rule and a VPC using AssociateResolverRule.

", "GetResolverRulePolicy": "

Gets information about the Resolver rule policy for a specified rule. A Resolver rule policy includes the rule that you want to share with another account, the account that you want to share the rule with, and the Resolver operations that you want to allow the account to use.

", + "ImportFirewallDomains": "

Imports domain names from a file into a domain list, for use in a DNS firewall rule group.

Each domain specification in your domain list must satisfy the following requirements:

", + "ListFirewallConfigs": "

Retrieves the firewall configurations that you have defined. DNS Firewall uses the configurations to manage firewall behavior for your VPCs.

A single call might return only a partial list of the configurations. For information, see MaxResults.

", + "ListFirewallDomainLists": "

Retrieves the firewall domain lists that you have defined. For each firewall domain list, you can retrieve the domains that are defined for a list by calling ListFirewallDomains.

A single call to this list operation might return only a partial list of the domain lists. For information, see MaxResults.

", + "ListFirewallDomains": "

Retrieves the domains that you have defined for the specified firewall domain list.

A single call might return only a partial list of the domains. For information, see MaxResults.

", + "ListFirewallRuleGroupAssociations": "

Retrieves the firewall rule group associations that you have defined. Each association enables DNS filtering for a VPC with one rule group.

A single call might return only a partial list of the associations. For information, see MaxResults.

", + "ListFirewallRuleGroups": "

Retrieves the minimal high-level information for the rule groups that you have defined.

A single call might return only a partial list of the rule groups. For information, see MaxResults.

", + "ListFirewallRules": "

Retrieves the firewall rules that you have defined for the specified firewall rule group. DNS Firewall uses the rules in a rule group to filter DNS network traffic for a VPC.

A single call might return only a partial list of the rules. For information, see MaxResults.

", "ListResolverDnssecConfigs": "

Lists the configurations for DNSSEC validation that are associated with the current AWS account.

", "ListResolverEndpointIpAddresses": "

Gets the IP addresses for a specified Resolver endpoint.

", "ListResolverEndpoints": "

Lists all the Resolver endpoints that were created using the current AWS account.

", @@ -30,10 +50,15 @@ "ListResolverRuleAssociations": "

Lists the associations that were created between Resolver rules and VPCs using the current AWS account.

", "ListResolverRules": "

Lists the Resolver rules that were created using the current AWS account.

", "ListTagsForResource": "

Lists the tags that you associated with the specified resource.

", + "PutFirewallRuleGroupPolicy": "

Attaches an AWS Identity and Access Management (AWS IAM) policy for sharing the rule group. You can use the policy to share the rule group using AWS Resource Access Manager (RAM).

", "PutResolverQueryLogConfigPolicy": "

Specifies an AWS account that you want to share a query logging configuration with, the query logging configuration that you want to share, and the operations that you want the account to be able to perform on the configuration.

", "PutResolverRulePolicy": "

Specifies an AWS rule that you want to share with another account, the account that you want to share the rule with, and the operations that you want the account to be able to perform on the rule.

", "TagResource": "

Adds one or more tags to a specified resource.

", "UntagResource": "

Removes one or more tags from a specified resource.

", + "UpdateFirewallConfig": "

Updates the configuration of the firewall behavior provided by DNS Firewall for a single Amazon virtual private cloud (VPC).

", + "UpdateFirewallDomains": "

Updates the firewall domain list from an array of domain specifications.

", + "UpdateFirewallRule": "

Updates the specified firewall rule.

", + "UpdateFirewallRuleGroupAssociation": "

Changes the association of a FirewallRuleGroup with a VPC. The association enables DNS filtering for the VPC.

", "UpdateResolverDnssecConfig": "

Updates an existing DNSSEC validation configuration. If there is no existing DNSSEC validation configuration, one is created.

", "UpdateResolverEndpoint": "

Updates the name of an inbound or an outbound Resolver endpoint.

", "UpdateResolverRule": "

Updates settings for a specified Resolver rule. ResolverRuleId is required, and all other parameters are optional. If you don't specify a parameter, it retains its current value.

" @@ -47,17 +72,36 @@ "AccountId": { "base": null, "refs": { + "FirewallConfig$OwnerId": "

The AWS account ID of the owner of the VPC that this firewall configuration applies to.

", + "FirewallRuleGroup$OwnerId": "

The AWS account ID for the account that created the rule group. When a rule group is shared with your account, this is the account that has shared the rule group with you.

", + "FirewallRuleGroupMetadata$OwnerId": "

The AWS account ID for the account that created the rule group. When a rule group is shared with your account, this is the account that has shared the rule group with you.

", "ResolverDnssecConfig$OwnerId": "

The owner account ID of the virtual private cloud (VPC) for a configuration for DNSSEC validation.

", "ResolverQueryLogConfig$OwnerId": "

The AWS account ID for the account that created the query logging configuration.

", "ResolverRule$OwnerId": "

When a rule is shared with another AWS account, the account ID of the account that the rule is shared with.

" } }, + "Action": { + "base": null, + "refs": { + "CreateFirewallRuleRequest$Action": "

The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list:

", + "FirewallRule$Action": "

The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list:

", + "ListFirewallRulesRequest$Action": "

Optional additional filter for the rules to retrieve.

The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list:

", + "UpdateFirewallRuleRequest$Action": "

The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list:

" + } + }, "Arn": { "base": null, "refs": { + "FirewallDomainList$Arn": "

The Amazon Resource Name (ARN) of the firewall domain list.

", + "FirewallDomainListMetadata$Arn": "

The Amazon Resource Name (ARN) of the firewall domain list metadata.

", + "FirewallRuleGroup$Arn": "

The ARN (Amazon Resource Name) of the rule group.

", + "FirewallRuleGroupAssociation$Arn": "

The Amazon Resource Name (ARN) of the firewall rule group association.

", + "FirewallRuleGroupMetadata$Arn": "

The ARN (Amazon Resource Name) of the rule group.

", + "GetFirewallRuleGroupPolicyRequest$Arn": "

The ARN (Amazon Resource Name) for the rule group.

", "GetResolverQueryLogConfigPolicyRequest$Arn": "

The ARN of the query logging configuration that you want to get the query logging policy for.

", "GetResolverRulePolicyRequest$Arn": "

The ID of the Resolver rule that you want to get the Resolver rule policy for.

", "ListTagsForResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) for the resource that you want to list tags for.

", + "PutFirewallRuleGroupPolicyRequest$Arn": "

The ARN (Amazon Resource Name) for the rule group that you want to share.

", "PutResolverQueryLogConfigPolicyRequest$Arn": "

The Amazon Resource Name (ARN) of the account that you want to share rules with.

", "PutResolverRulePolicyRequest$Arn": "

The Amazon Resource Name (ARN) of the rule that you want to share with another account.

", "ResolverEndpoint$Arn": "

The ARN (Amazon Resource Name) for the Resolver endpoint.

", @@ -67,6 +111,16 @@ "UntagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) for the resource that you want to remove tags from. To get the ARN for a resource, use the applicable Get or List command:

" } }, + "AssociateFirewallRuleGroupRequest": { + "base": null, + "refs": { + } + }, + "AssociateFirewallRuleGroupResponse": { + "base": null, + "refs": { + } + }, "AssociateResolverEndpointIpAddressRequest": { "base": null, "refs": { @@ -97,13 +151,50 @@ "refs": { } }, + "BlockOverrideDnsType": { + "base": null, + "refs": { + "CreateFirewallRuleRequest$BlockOverrideDnsType": "

The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.

This setting is required if the BlockResponse setting is OVERRIDE.

", + "FirewallRule$BlockOverrideDnsType": "

The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.

", + "UpdateFirewallRuleRequest$BlockOverrideDnsType": "

The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.

" + } + }, + "BlockOverrideDomain": { + "base": null, + "refs": { + "CreateFirewallRuleRequest$BlockOverrideDomain": "

The custom DNS record to send back in response to the query. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.

This setting is required if the BlockResponse setting is OVERRIDE.

", + "FirewallRule$BlockOverrideDomain": "

The custom DNS record to send back in response to the query. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.

", + "UpdateFirewallRuleRequest$BlockOverrideDomain": "

The custom DNS record to send back in response to the query. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.

" + } + }, + "BlockOverrideTtl": { + "base": null, + "refs": { + "CreateFirewallRuleRequest$BlockOverrideTtl": "

The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.

This setting is required if the BlockResponse setting is OVERRIDE.

", + "UpdateFirewallRuleRequest$BlockOverrideTtl": "

The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.

" + } + }, + "BlockResponse": { + "base": null, + "refs": { + "CreateFirewallRuleRequest$BlockResponse": "

The way that you want DNS Firewall to block the request, used with the rule aciton setting BLOCK.

This setting is required if the rule action setting is BLOCK.

", + "FirewallRule$BlockResponse": "

The way that you want DNS Firewall to block the request. Used for the rule action setting BLOCK.

", + "UpdateFirewallRuleRequest$BlockResponse": "

The way that you want DNS Firewall to block the request. Used for the rule action setting BLOCK.

" + } + }, "Boolean": { "base": null, "refs": { + "PutFirewallRuleGroupPolicyResponse$ReturnValue": "

", "PutResolverQueryLogConfigPolicyResponse$ReturnValue": "

Whether the PutResolverQueryLogConfigPolicy request was successful.

", "PutResolverRulePolicyResponse$ReturnValue": "

Whether the PutResolverRulePolicy request was successful.

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

", + "refs": { + } + }, "Count": { "base": null, "refs": { @@ -114,6 +205,36 @@ "ResolverQueryLogConfig$AssociationCount": "

The number of VPCs that are associated with the query logging configuration.

" } }, + "CreateFirewallDomainListRequest": { + "base": null, + "refs": { + } + }, + "CreateFirewallDomainListResponse": { + "base": null, + "refs": { + } + }, + "CreateFirewallRuleGroupRequest": { + "base": null, + "refs": { + } + }, + "CreateFirewallRuleGroupResponse": { + "base": null, + "refs": { + } + }, + "CreateFirewallRuleRequest": { + "base": null, + "refs": { + } + }, + "CreateFirewallRuleResponse": { + "base": null, + "refs": { + } + }, "CreateResolverEndpointRequest": { "base": null, "refs": { @@ -147,14 +268,54 @@ "CreatorRequestId": { "base": null, "refs": { + "AssociateFirewallRuleGroupRequest$CreatorRequestId": "

A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

", + "CreateFirewallDomainListRequest$CreatorRequestId": "

A unique string that identifies the request and that allows you to retry failed requests without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

", + "CreateFirewallRuleGroupRequest$CreatorRequestId": "

A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of executing the operation twice. This can be any unique string, for example, a timestamp.

", + "CreateFirewallRuleRequest$CreatorRequestId": "

A unique string that identifies the request and that allows you to retry failed requests without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

", "CreateResolverEndpointRequest$CreatorRequestId": "

A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

", "CreateResolverQueryLogConfigRequest$CreatorRequestId": "

A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

", "CreateResolverRuleRequest$CreatorRequestId": "

A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

", + "FirewallDomainList$CreatorRequestId": "

A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of executing the operation twice. This can be any unique string, for example, a timestamp.

", + "FirewallDomainListMetadata$CreatorRequestId": "

A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of executing the operation twice. This can be any unique string, for example, a timestamp.

", + "FirewallRule$CreatorRequestId": "

A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of executing the operation twice. This can be any unique string, for example, a timestamp.

", + "FirewallRuleGroup$CreatorRequestId": "

A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of executing the operation twice. This can be any unique string, for example, a timestamp.

", + "FirewallRuleGroupAssociation$CreatorRequestId": "

A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of executing the operation twice. This can be any unique string, for example, a timestamp.

", + "FirewallRuleGroupMetadata$CreatorRequestId": "

A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of executing the operation twice. This can be any unique string, for example, a timestamp.

", "ResolverEndpoint$CreatorRequestId": "

A unique string that identifies the request that created the Resolver endpoint. The CreatorRequestId allows failed requests to be retried without the risk of executing the operation twice.

", "ResolverQueryLogConfig$CreatorRequestId": "

A unique string that identifies the request that created the query logging configuration. The CreatorRequestId allows failed requests to be retried without the risk of executing the operation twice.

", "ResolverRule$CreatorRequestId": "

A unique string that you specified when you created the Resolver rule. CreatorRequestId identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" } }, + "DeleteFirewallDomainListRequest": { + "base": null, + "refs": { + } + }, + "DeleteFirewallDomainListResponse": { + "base": null, + "refs": { + } + }, + "DeleteFirewallRuleGroupRequest": { + "base": null, + "refs": { + } + }, + "DeleteFirewallRuleGroupResponse": { + "base": null, + "refs": { + } + }, + "DeleteFirewallRuleRequest": { + "base": null, + "refs": { + } + }, + "DeleteFirewallRuleResponse": { + "base": null, + "refs": { + } + }, "DeleteResolverEndpointRequest": { "base": null, "refs": { @@ -192,6 +353,16 @@ "ResolverQueryLogConfig$DestinationArn": "

The ARN of the resource that you want Resolver to send query logs: an Amazon S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.

" } }, + "DisassociateFirewallRuleGroupRequest": { + "base": null, + "refs": { + } + }, + "DisassociateFirewallRuleGroupResponse": { + "base": null, + "refs": { + } + }, "DisassociateResolverEndpointIpAddressRequest": { "base": null, "refs": { @@ -222,6 +393,12 @@ "refs": { } }, + "DomainListFileUrl": { + "base": null, + "refs": { + "ImportFirewallDomainsRequest$DomainFileUrl": "

The fully qualified URL or URI of the file stored in Amazon Simple Storage Service (S3) that contains the list of domains to import.

The file must be in an S3 bucket that's in the same Region as your DNS Firewall. The file must be a text file and must contain a single domain per line.

" + } + }, "DomainName": { "base": null, "refs": { @@ -233,13 +410,15 @@ "base": null, "refs": { "AccessDeniedException$Message": null, + "ConflictException$Message": null, "InternalServiceErrorException$Message": null, "InvalidParameterException$Message": null, "InvalidPolicyDocument$Message": null, "InvalidRequestException$Message": null, "InvalidTagException$Message": null, "ThrottlingException$Message": null, - "UnknownResourceException$Message": null + "UnknownResourceException$Message": null, + "ValidationException$Message": null } }, "Filter": { @@ -277,6 +456,201 @@ "ListResolverRulesRequest$Filters": "

An optional specification to return a subset of Resolver rules, such as all Resolver rules that are associated with the same Resolver endpoint.

If you submit a second or subsequent ListResolverRules request and specify the NextToken parameter, you must use the same values for Filters, if any, as in the previous request.

" } }, + "FirewallConfig": { + "base": "

Configuration of the firewall behavior provided by DNS Firewall for a single Amazon virtual private cloud (VPC).

", + "refs": { + "FirewallConfigList$member": null, + "GetFirewallConfigResponse$FirewallConfig": "

Configuration of the firewall behavior provided by DNS Firewall for a single Amazon virtual private cloud (VPC).

", + "UpdateFirewallConfigResponse$FirewallConfig": "

Configuration of the firewall behavior provided by DNS Firewall for a single Amazon virtual private cloud (VPC).

" + } + }, + "FirewallConfigList": { + "base": null, + "refs": { + "ListFirewallConfigsResponse$FirewallConfigs": "

The configurations for the firewall behavior provided by DNS Firewall for Amazon virtual private clouds (VPC).

" + } + }, + "FirewallDomainImportOperation": { + "base": null, + "refs": { + "ImportFirewallDomainsRequest$Operation": "

What you want DNS Firewall to do with the domains that are listed in the file. This must be set to REPLACE, which updates the domain list to exactly match the list in the file.

" + } + }, + "FirewallDomainList": { + "base": "

High level information about a list of firewall domains for use in a FirewallRule. This is returned by GetFirewallDomainList.

To retrieve the domains that are defined for this domain list, call ListFirewallDomains.

", + "refs": { + "CreateFirewallDomainListResponse$FirewallDomainList": "

The domain list that you just created.

", + "DeleteFirewallDomainListResponse$FirewallDomainList": "

The domain list that you just deleted.

", + "GetFirewallDomainListResponse$FirewallDomainList": "

The domain list that you requested.

" + } + }, + "FirewallDomainListMetadata": { + "base": "

Minimal high-level information for a firewall domain list. The action ListFirewallDomainLists returns an array of these objects.

To retrieve full information for a firewall domain list, call GetFirewallDomainList and ListFirewallDomains.

", + "refs": { + "FirewallDomainListMetadataList$member": null + } + }, + "FirewallDomainListMetadataList": { + "base": null, + "refs": { + "ListFirewallDomainListsResponse$FirewallDomainLists": "

A list of the domain lists that you have defined.

This might be a parital list of the domain lists that you've defined. For information, see MaxResults.

" + } + }, + "FirewallDomainListStatus": { + "base": null, + "refs": { + "FirewallDomainList$Status": "

The status of the domain list.

", + "ImportFirewallDomainsResponse$Status": "

", + "UpdateFirewallDomainsResponse$Status": "

" + } + }, + "FirewallDomainName": { + "base": null, + "refs": { + "FirewallDomains$member": null + } + }, + "FirewallDomainUpdateOperation": { + "base": null, + "refs": { + "UpdateFirewallDomainsRequest$Operation": "

What you want DNS Firewall to do with the domains that you are providing:

" + } + }, + "FirewallDomains": { + "base": null, + "refs": { + "ListFirewallDomainsResponse$Domains": "

A list of the domains in the firewall domain list.

This might be a parital list of the domains that you've defined in the domain list. For information, see MaxResults.

", + "UpdateFirewallDomainsRequest$Domains": "

A list of domains to use in the update operation.

Each domain specification in your domain list must satisfy the following requirements:

" + } + }, + "FirewallFailOpenStatus": { + "base": null, + "refs": { + "FirewallConfig$FirewallFailOpen": "

Determines how DNS Firewall operates during failures, for example when all traffic that is sent to DNS Firewall fails to receive a reply.

This behavior is only enforced for VPCs that have at least one DNS Firewall rule group association.

", + "UpdateFirewallConfigRequest$FirewallFailOpen": "

Determines how Route 53 Resolver handles queries during failures, for example when all traffic that is sent to DNS Firewall fails to receive a reply.

This behavior is only enforced for VPCs that have at least one DNS Firewall rule group association.

" + } + }, + "FirewallRule": { + "base": "

A single firewall rule in a rule group.

", + "refs": { + "CreateFirewallRuleResponse$FirewallRule": "

The firewall rule that you just created.

", + "DeleteFirewallRuleResponse$FirewallRule": "

The specification for the firewall rule that you just deleted.

", + "FirewallRules$member": null, + "UpdateFirewallRuleResponse$FirewallRule": "

The firewall rule that you just updated.

" + } + }, + "FirewallRuleGroup": { + "base": "

High-level information for a firewall rule group. A firewall rule group is a collection of rules that DNS Firewall uses to filter DNS network traffic for a VPC. To retrieve the rules for the rule group, call ListFirewallRules.

", + "refs": { + "CreateFirewallRuleGroupResponse$FirewallRuleGroup": "

A collection of rules used to filter DNS network traffic.

", + "DeleteFirewallRuleGroupResponse$FirewallRuleGroup": "

A collection of rules used to filter DNS network traffic.

", + "GetFirewallRuleGroupResponse$FirewallRuleGroup": "

A collection of rules used to filter DNS network traffic.

" + } + }, + "FirewallRuleGroupAssociation": { + "base": "

An association between a firewall rul group and a VPC, which enables DNS filtering for the VPC.

", + "refs": { + "AssociateFirewallRuleGroupResponse$FirewallRuleGroupAssociation": "

The association that you just created. The association has an Id that you can use to identify it in other requests, like update and delete.

", + "DisassociateFirewallRuleGroupResponse$FirewallRuleGroupAssociation": "

The firewall rule group association that you just removed.

", + "FirewallRuleGroupAssociations$member": null, + "GetFirewallRuleGroupAssociationResponse$FirewallRuleGroupAssociation": "

The association that you requested.

", + "UpdateFirewallRuleGroupAssociationResponse$FirewallRuleGroupAssociation": "

The association that you just updated.

" + } + }, + "FirewallRuleGroupAssociationStatus": { + "base": null, + "refs": { + "FirewallRuleGroupAssociation$Status": "

The current status of the association.

", + "ListFirewallRuleGroupAssociationsRequest$Status": "

The association Status setting that you want DNS Firewall to filter on for the list. If you don't specify this, then DNS Firewall returns all associations, regardless of status.

" + } + }, + "FirewallRuleGroupAssociations": { + "base": null, + "refs": { + "ListFirewallRuleGroupAssociationsResponse$FirewallRuleGroupAssociations": "

A list of your firewall rule group associations.

This might be a partial list of the associations that you have defined. For information, see MaxResults.

" + } + }, + "FirewallRuleGroupMetadata": { + "base": "

Minimal high-level information for a firewall rule group. The action ListFirewallRuleGroups returns an array of these objects.

To retrieve full information for a firewall rule group, call GetFirewallRuleGroup and ListFirewallRules.

", + "refs": { + "FirewallRuleGroupMetadataList$member": null + } + }, + "FirewallRuleGroupMetadataList": { + "base": null, + "refs": { + "ListFirewallRuleGroupsResponse$FirewallRuleGroups": "

A list of your firewall rule groups.

This might be a partial list of the rule groups that you have defined. For information, see MaxResults.

" + } + }, + "FirewallRuleGroupPolicy": { + "base": null, + "refs": { + "GetFirewallRuleGroupPolicyResponse$FirewallRuleGroupPolicy": "

The AWS Identity and Access Management (AWS IAM) policy for sharing the specified rule group. You can use the policy to share the rule group using AWS Resource Access Manager (RAM).

", + "PutFirewallRuleGroupPolicyRequest$FirewallRuleGroupPolicy": "

The AWS Identity and Access Management (AWS IAM) policy to attach to the rule group.

" + } + }, + "FirewallRuleGroupStatus": { + "base": null, + "refs": { + "FirewallRuleGroup$Status": "

The status of the domain list.

" + } + }, + "FirewallRules": { + "base": null, + "refs": { + "ListFirewallRulesResponse$FirewallRules": "

A list of the rules that you have defined.

This might be a parital list of the firewall rules that you've defined. For information, see MaxResults.

" + } + }, + "GetFirewallConfigRequest": { + "base": null, + "refs": { + } + }, + "GetFirewallConfigResponse": { + "base": null, + "refs": { + } + }, + "GetFirewallDomainListRequest": { + "base": null, + "refs": { + } + }, + "GetFirewallDomainListResponse": { + "base": null, + "refs": { + } + }, + "GetFirewallRuleGroupAssociationRequest": { + "base": null, + "refs": { + } + }, + "GetFirewallRuleGroupAssociationResponse": { + "base": null, + "refs": { + } + }, + "GetFirewallRuleGroupPolicyRequest": { + "base": null, + "refs": { + } + }, + "GetFirewallRuleGroupPolicyResponse": { + "base": null, + "refs": { + } + }, + "GetFirewallRuleGroupRequest": { + "base": null, + "refs": { + } + }, + "GetFirewallRuleGroupResponse": { + "base": null, + "refs": { + } + }, "GetResolverDnssecConfigRequest": { "base": null, "refs": { @@ -357,6 +731,16 @@ "refs": { } }, + "ImportFirewallDomainsRequest": { + "base": null, + "refs": { + } + }, + "ImportFirewallDomainsResponse": { + "base": null, + "refs": { + } + }, "InternalServiceErrorException": { "base": "

We encountered an unknown error. Try again in a few minutes.

", "refs": { @@ -444,6 +828,78 @@ "refs": { } }, + "ListDomainMaxResults": { + "base": null, + "refs": { + "ListFirewallDomainsRequest$MaxResults": "

The maximum number of objects that you want Resolver to return for this request. If more objects are available, in the response, Resolver provides a NextToken value that you can use in a subsequent call to get the next batch of objects.

If you don't specify a value for MaxResults, Resolver returns up to 100 objects.

" + } + }, + "ListFirewallConfigsMaxResult": { + "base": null, + "refs": { + "ListFirewallConfigsRequest$MaxResults": "

The maximum number of objects that you want Resolver to return for this request. If more objects are available, in the response, Resolver provides a NextToken value that you can use in a subsequent call to get the next batch of objects.

If you don't specify a value for MaxResults, Resolver returns up to 100 objects.

" + } + }, + "ListFirewallConfigsRequest": { + "base": null, + "refs": { + } + }, + "ListFirewallConfigsResponse": { + "base": null, + "refs": { + } + }, + "ListFirewallDomainListsRequest": { + "base": null, + "refs": { + } + }, + "ListFirewallDomainListsResponse": { + "base": null, + "refs": { + } + }, + "ListFirewallDomainsRequest": { + "base": null, + "refs": { + } + }, + "ListFirewallDomainsResponse": { + "base": null, + "refs": { + } + }, + "ListFirewallRuleGroupAssociationsRequest": { + "base": null, + "refs": { + } + }, + "ListFirewallRuleGroupAssociationsResponse": { + "base": null, + "refs": { + } + }, + "ListFirewallRuleGroupsRequest": { + "base": null, + "refs": { + } + }, + "ListFirewallRuleGroupsResponse": { + "base": null, + "refs": { + } + }, + "ListFirewallRulesRequest": { + "base": null, + "refs": { + } + }, + "ListFirewallRulesResponse": { + "base": null, + "refs": { + } + }, "ListResolverDnssecConfigsRequest": { "base": null, "refs": { @@ -527,6 +983,10 @@ "MaxResults": { "base": null, "refs": { + "ListFirewallDomainListsRequest$MaxResults": "

The maximum number of objects that you want Resolver to return for this request. If more objects are available, in the response, Resolver provides a NextToken value that you can use in a subsequent call to get the next batch of objects.

If you don't specify a value for MaxResults, Resolver returns up to 100 objects.

", + "ListFirewallRuleGroupAssociationsRequest$MaxResults": "

The maximum number of objects that you want Resolver to return for this request. If more objects are available, in the response, Resolver provides a NextToken value that you can use in a subsequent call to get the next batch of objects.

If you don't specify a value for MaxResults, Resolver returns up to 100 objects.

", + "ListFirewallRuleGroupsRequest$MaxResults": "

The maximum number of objects that you want Resolver to return for this request. If more objects are available, in the response, Resolver provides a NextToken value that you can use in a subsequent call to get the next batch of objects.

If you don't specify a value for MaxResults, Resolver returns up to 100 objects.

", + "ListFirewallRulesRequest$MaxResults": "

The maximum number of objects that you want Resolver to return for this request. If more objects are available, in the response, Resolver provides a NextToken value that you can use in a subsequent call to get the next batch of objects.

If you don't specify a value for MaxResults, Resolver returns up to 100 objects.

", "ListResolverDnssecConfigsRequest$MaxResults": "

Optional: An integer that specifies the maximum number of DNSSEC configuration results that you want Amazon Route 53 to return. If you don't specify a value for MaxResults, Route 53 returns up to 100 configuration per page.

", "ListResolverEndpointIpAddressesRequest$MaxResults": "

The maximum number of IP addresses that you want to return in the response to a ListResolverEndpointIpAddresses request. If you don't specify a value for MaxResults, Resolver returns up to 100 IP addresses.

", "ListResolverEndpointIpAddressesResponse$MaxResults": "

The value that you specified for MaxResults in the request.

", @@ -541,22 +1001,56 @@ "ListTagsForResourceRequest$MaxResults": "

The maximum number of tags that you want to return in the response to a ListTagsForResource request. If you don't specify a value for MaxResults, Resolver returns up to 100 tags.

" } }, + "MutationProtectionStatus": { + "base": null, + "refs": { + "AssociateFirewallRuleGroupRequest$MutationProtection": "

If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections. When you create the association, the default setting is DISABLED.

", + "FirewallRuleGroupAssociation$MutationProtection": "

If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections.

", + "UpdateFirewallRuleGroupAssociationRequest$MutationProtection": "

If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections.

" + } + }, "Name": { "base": null, "refs": { + "AssociateFirewallRuleGroupRequest$Name": "

A name that lets you identify the association, to manage and use it.

", "AssociateResolverRuleRequest$Name": "

A name for the association that you're creating between a Resolver rule and a VPC.

", + "CreateFirewallDomainListRequest$Name": "

A name that lets you identify the domain list to manage and use it.

", + "CreateFirewallRuleGroupRequest$Name": "

A name that lets you identify the rule group, to manage and use it.

", + "CreateFirewallRuleRequest$Name": "

A name that lets you identify the rule in the rule group.

", "CreateResolverEndpointRequest$Name": "

A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.

", "CreateResolverRuleRequest$Name": "

A friendly name that lets you easily find a rule in the Resolver dashboard in the Route 53 console.

", + "FirewallDomainList$Name": "

The name of the domain list.

", + "FirewallDomainListMetadata$Name": "

The name of the domain list.

", + "FirewallRule$Name": "

The name of the rule.

", + "FirewallRuleGroup$Name": "

The name of the rule group.

", + "FirewallRuleGroupAssociation$Name": "

The name of the association.

", + "FirewallRuleGroupMetadata$Name": "

The name of the rule group.

", + "ImportFirewallDomainsResponse$Name": "

The name of the domain list.

", "ResolverEndpoint$Name": "

The name that you assigned to the Resolver endpoint when you submitted a CreateResolverEndpoint request.

", "ResolverRule$Name": "

The name for the Resolver rule, which you specified when you created the Resolver rule.

", "ResolverRuleAssociation$Name": "

The name of an association between a Resolver rule and a VPC.

", "ResolverRuleConfig$Name": "

The new name for the Resolver rule. The name that you specify appears in the Resolver dashboard in the Route 53 console.

", + "UpdateFirewallDomainsResponse$Name": "

The name of the domain list.

", + "UpdateFirewallRuleGroupAssociationRequest$Name": "

The name of the rule group association.

", + "UpdateFirewallRuleRequest$Name": "

The name of the rule.

", "UpdateResolverEndpointRequest$Name": "

The name of the Resolver endpoint that you want to update.

" } }, "NextToken": { "base": null, "refs": { + "ListFirewallConfigsRequest$NextToken": "

For the first call to this list request, omit this value.

When you request a list of objects, Resolver returns at most the number of objects specified in MaxResults. If more objects are available for retrieval, Resolver returns a NextToken value in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.

", + "ListFirewallConfigsResponse$NextToken": "

If objects are still available for retrieval, Resolver returns this token in the response. To retrieve the next batch of objects, provide this token in your next request.

", + "ListFirewallDomainListsRequest$NextToken": "

For the first call to this list request, omit this value.

When you request a list of objects, Resolver returns at most the number of objects specified in MaxResults. If more objects are available for retrieval, Resolver returns a NextToken value in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.

", + "ListFirewallDomainListsResponse$NextToken": "

If objects are still available for retrieval, Resolver returns this token in the response. To retrieve the next batch of objects, provide this token in your next request.

", + "ListFirewallDomainsRequest$NextToken": "

For the first call to this list request, omit this value.

When you request a list of objects, Resolver returns at most the number of objects specified in MaxResults. If more objects are available for retrieval, Resolver returns a NextToken value in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.

", + "ListFirewallDomainsResponse$NextToken": "

If objects are still available for retrieval, Resolver returns this token in the response. To retrieve the next batch of objects, provide this token in your next request.

", + "ListFirewallRuleGroupAssociationsRequest$NextToken": "

For the first call to this list request, omit this value.

When you request a list of objects, Resolver returns at most the number of objects specified in MaxResults. If more objects are available for retrieval, Resolver returns a NextToken value in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.

", + "ListFirewallRuleGroupAssociationsResponse$NextToken": "

If objects are still available for retrieval, Resolver returns this token in the response. To retrieve the next batch of objects, provide this token in your next request.

", + "ListFirewallRuleGroupsRequest$NextToken": "

For the first call to this list request, omit this value.

When you request a list of objects, Resolver returns at most the number of objects specified in MaxResults. If more objects are available for retrieval, Resolver returns a NextToken value in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.

", + "ListFirewallRuleGroupsResponse$NextToken": "

If objects are still available for retrieval, Resolver returns this token in the response. To retrieve the next batch of objects, provide this token in your next request.

", + "ListFirewallRulesRequest$NextToken": "

For the first call to this list request, omit this value.

When you request a list of objects, Resolver returns at most the number of objects specified in MaxResults. If more objects are available for retrieval, Resolver returns a NextToken value in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.

", + "ListFirewallRulesResponse$NextToken": "

If objects are still available for retrieval, Resolver returns this token in the response. To retrieve the next batch of objects, provide this token in your next request.

", "ListResolverDnssecConfigsRequest$NextToken": "

(Optional) If the current AWS account has more than MaxResults DNSSEC configurations, use NextToken to get the second and subsequent pages of results.

For the first ListResolverDnssecConfigs request, omit this value.

For the second and subsequent requests, get the value of NextToken from the previous response and specify that value for NextToken in the request.

", "ListResolverDnssecConfigsResponse$NextToken": "

If a response includes the last of the DNSSEC configurations that are associated with the current AWS account, NextToken doesn't appear in the response.

If a response doesn't include the last of the configurations, you can get more configurations by submitting another ListResolverDnssecConfigs request. Get the value of NextToken that Amazon Route 53 returned in the previous response and include it in NextToken in the next request.

", "ListResolverEndpointIpAddressesRequest$NextToken": "

For the first ListResolverEndpointIpAddresses request, omit this value.

If the specified Resolver endpoint has more than MaxResults IP addresses, you can submit another ListResolverEndpointIpAddresses request to get the next group of IP addresses. In the next request, specify the value of NextToken from the previous response.

", @@ -581,6 +1075,29 @@ "TargetAddress$Port": "

The port at Ip that you want to forward DNS queries to.

" } }, + "Priority": { + "base": null, + "refs": { + "AssociateFirewallRuleGroupRequest$Priority": "

The setting that determines the processing order of the rule group among the rule groups that you associate with the specified VPC. DNS Firewall filters VPC traffic starting from rule group with the lowest numeric priority setting.

You must specify a unique priority for each rule group that you associate with a single VPC. To make it easier to insert rule groups later, leave space between the numbers, for example, use 100, 200, and so on. You can change the priority setting for a rule group association after you create it.

", + "CreateFirewallRuleRequest$Priority": "

The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.

You must specify a unique priority for each rule in a rule group. To make it easier to insert rules later, leave space between the numbers, for example, use 100, 200, and so on. You can change the priority setting for the rules in a rule group at any time.

", + "FirewallRule$Priority": "

The priority of the rule in the rule group. This value must be unique within the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.

", + "FirewallRuleGroupAssociation$Priority": "

The setting that determines the processing order of the rule group among the rule groups that are associated with a single VPC. DNS Firewall filters VPC traffic starting from rule group with the lowest numeric priority setting.

", + "ListFirewallRuleGroupAssociationsRequest$Priority": "

The setting that determines the processing order of the rule group among the rule groups that are associated with a single VPC. DNS Firewall filters VPC traffic starting from rule group with the lowest numeric priority setting.

", + "ListFirewallRulesRequest$Priority": "

Optional additional filter for the rules to retrieve.

The setting that determines the processing order of the rules in a rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.

", + "UpdateFirewallRuleGroupAssociationRequest$Priority": "

The setting that determines the processing order of the rule group among the rule groups that you associate with the specified VPC. DNS Firewall filters VPC traffic starting from rule group with the lowest numeric priority setting.

You must specify a unique priority for each rule group that you associate with a single VPC. To make it easier to insert rule groups later, leave space between the numbers, for example, use 100, 200, and so on. You can change the priority setting for a rule group association after you create it.

", + "UpdateFirewallRuleRequest$Priority": "

The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.

You must specify a unique priority for each rule in a rule group. To make it easier to insert rules later, leave space between the numbers, for example, use 100, 200, and so on. You can change the priority setting for the rules in a rule group at any time.

" + } + }, + "PutFirewallRuleGroupPolicyRequest": { + "base": null, + "refs": { + } + }, + "PutFirewallRuleGroupPolicyResponse": { + "base": null, + "refs": { + } + }, "PutResolverQueryLogConfigPolicyRequest": { "base": null, "refs": { @@ -784,28 +1301,58 @@ "ResourceId": { "base": null, "refs": { + "AssociateFirewallRuleGroupRequest$FirewallRuleGroupId": "

The unique identifier of the firewall rule group.

", + "AssociateFirewallRuleGroupRequest$VpcId": "

The unique identifier of the VPC that you want to associate with the rule group.

", "AssociateResolverEndpointIpAddressRequest$ResolverEndpointId": "

The ID of the Resolver endpoint that you want to associate IP addresses with.

", "AssociateResolverQueryLogConfigRequest$ResolverQueryLogConfigId": "

The ID of the query logging configuration that you want to associate a VPC with.

", "AssociateResolverQueryLogConfigRequest$ResourceId": "

The ID of an Amazon VPC that you want this query logging configuration to log queries for.

The VPCs and the query logging configuration must be in the same Region.

", "AssociateResolverRuleRequest$ResolverRuleId": "

The ID of the Resolver rule that you want to associate with the VPC. To list the existing Resolver rules, use ListResolverRules.

", "AssociateResolverRuleRequest$VPCId": "

The ID of the VPC that you want to associate the Resolver rule with.

", + "CreateFirewallRuleRequest$FirewallRuleGroupId": "

The unique identifier of the firewall rule group where you want to create the rule.

", + "CreateFirewallRuleRequest$FirewallDomainListId": "

The ID of the domain list that you want to use in the rule.

", "CreateResolverRuleRequest$ResolverEndpointId": "

The ID of the outbound Resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify in TargetIps.

", + "DeleteFirewallDomainListRequest$FirewallDomainListId": "

The ID of the domain list that you want to delete.

", + "DeleteFirewallRuleGroupRequest$FirewallRuleGroupId": "

The unique identifier of the firewall rule group that you want to delete.

", + "DeleteFirewallRuleRequest$FirewallRuleGroupId": "

The unique identifier of the firewall rule group that you want to delete the rule from.

", + "DeleteFirewallRuleRequest$FirewallDomainListId": "

The ID of the domain list that's used in the rule.

", "DeleteResolverEndpointRequest$ResolverEndpointId": "

The ID of the Resolver endpoint that you want to delete.

", "DeleteResolverQueryLogConfigRequest$ResolverQueryLogConfigId": "

The ID of the query logging configuration that you want to delete.

", "DeleteResolverRuleRequest$ResolverRuleId": "

The ID of the Resolver rule that you want to delete.

", + "DisassociateFirewallRuleGroupRequest$FirewallRuleGroupAssociationId": "

The identifier of the FirewallRuleGroupAssociation.

", "DisassociateResolverEndpointIpAddressRequest$ResolverEndpointId": "

The ID of the Resolver endpoint that you want to disassociate an IP address from.

", "DisassociateResolverQueryLogConfigRequest$ResolverQueryLogConfigId": "

The ID of the query logging configuration that you want to disassociate a specified VPC from.

", "DisassociateResolverQueryLogConfigRequest$ResourceId": "

The ID of the Amazon VPC that you want to disassociate from a specified query logging configuration.

", "DisassociateResolverRuleRequest$VPCId": "

The ID of the VPC that you want to disassociate the Resolver rule from.

", "DisassociateResolverRuleRequest$ResolverRuleId": "

The ID of the Resolver rule that you want to disassociate from the specified VPC.

", + "FirewallConfig$Id": "

The Id of the firewall configuration.

", + "FirewallConfig$ResourceId": "

The ID of the VPC that this firewall configuration applies to.

", + "FirewallDomainList$Id": "

The ID of the domain list.

", + "FirewallDomainListMetadata$Id": "

The ID of the domain list.

", + "FirewallRule$FirewallRuleGroupId": "

The unique identifier of the firewall rule group of the rule.

", + "FirewallRule$FirewallDomainListId": "

The ID of the domain list that's used in the rule.

", + "FirewallRuleGroup$Id": "

The ID of the rule group.

", + "FirewallRuleGroupAssociation$Id": "

The identifier for the association.

", + "FirewallRuleGroupAssociation$FirewallRuleGroupId": "

The unique identifier of the firewall rule group.

", + "FirewallRuleGroupAssociation$VpcId": "

The unique identifier of the VPC that is associated with the rule group.

", + "FirewallRuleGroupMetadata$Id": "

The ID of the rule group.

", + "GetFirewallConfigRequest$ResourceId": "

The ID of the Amazon virtual private cloud (VPC) that the configuration is for.

", + "GetFirewallDomainListRequest$FirewallDomainListId": "

The ID of the domain list.

", + "GetFirewallRuleGroupAssociationRequest$FirewallRuleGroupAssociationId": "

The identifier of the FirewallRuleGroupAssociation.

", + "GetFirewallRuleGroupRequest$FirewallRuleGroupId": "

The unique identifier of the firewall rule group.

", "GetResolverDnssecConfigRequest$ResourceId": "

The ID of the virtual private cloud (VPC) for the DNSSEC validation status.

", "GetResolverEndpointRequest$ResolverEndpointId": "

The ID of the Resolver endpoint that you want to get information about.

", "GetResolverQueryLogConfigAssociationRequest$ResolverQueryLogConfigAssociationId": "

The ID of the Resolver query logging configuration association that you want to get information about.

", "GetResolverQueryLogConfigRequest$ResolverQueryLogConfigId": "

The ID of the Resolver query logging configuration that you want to get information about.

", "GetResolverRuleAssociationRequest$ResolverRuleAssociationId": "

The ID of the Resolver rule association that you want to get information about.

", "GetResolverRuleRequest$ResolverRuleId": "

The ID of the Resolver rule that you want to get information about.

", + "ImportFirewallDomainsRequest$FirewallDomainListId": "

The ID of the domain list that you want to modify with the import operation.

", + "ImportFirewallDomainsResponse$Id": "

The Id of the firewall domain list that DNS Firewall just updated.

", "IpAddressResponse$IpId": "

The ID of one IP address.

", "IpAddressUpdate$IpId": "

Only when removing an IP address from a Resolver endpoint: The ID of the IP address that you want to remove. To get this ID, use GetResolverEndpoint.

", + "ListFirewallDomainsRequest$FirewallDomainListId": "

The ID of the domain list whose domains you want to retrieve.

", + "ListFirewallRuleGroupAssociationsRequest$FirewallRuleGroupId": "

The unique identifier of the firewall rule group that you want to retrieve the associations for. Leave this blank to retrieve associations for any rule group.

", + "ListFirewallRuleGroupAssociationsRequest$VpcId": "

The unique identifier of the VPC that you want to retrieve the associations for. Leave this blank to retrieve associations for any VPC.

", + "ListFirewallRulesRequest$FirewallRuleGroupId": "

The unique identifier of the firewall rule group that you want to retrieve the rules for.

", "ListResolverEndpointIpAddressesRequest$ResolverEndpointId": "

The ID of the Resolver endpoint that you want to get IP addresses for.

", "ResolverDnssecConfig$Id": "

The ID for a configuration for DNSSEC validation.

", "ResolverDnssecConfig$ResourceId": "

The ID of the virtual private cloud (VPC) that you're configuring the DNSSEC validation status for.

", @@ -822,6 +1369,12 @@ "ResolverRuleAssociation$VPCId": "

The ID of the VPC that you associated the Resolver rule with.

", "ResolverRuleConfig$ResolverEndpointId": "

The ID of the new outbound Resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify in TargetIps.

", "SecurityGroupIds$member": null, + "UpdateFirewallConfigRequest$ResourceId": "

The ID of the Amazon virtual private cloud (VPC) that the configuration is for.

", + "UpdateFirewallDomainsRequest$FirewallDomainListId": "

The ID of the domain list whose domains you want to update.

", + "UpdateFirewallDomainsResponse$Id": "

The Id of the firewall domain list that DNS Firewall just updated.

", + "UpdateFirewallRuleGroupAssociationRequest$FirewallRuleGroupAssociationId": "

The identifier of the FirewallRuleGroupAssociation.

", + "UpdateFirewallRuleRequest$FirewallRuleGroupId": "

The unique identifier of the firewall rule group for the rule.

", + "UpdateFirewallRuleRequest$FirewallDomainListId": "

The ID of the domain list to use in the rule.

", "UpdateResolverDnssecConfigRequest$ResourceId": "

The ID of the virtual private cloud (VPC) that you're updating the DNSSEC validation status for.

", "UpdateResolverEndpointRequest$ResolverEndpointId": "

The ID of the Resolver endpoint that you want to update.

", "UpdateResolverRuleRequest$ResolverRuleId": "

The ID of the Resolver rule that you want to update.

" @@ -845,6 +1398,14 @@ "Rfc3339TimeString": { "base": null, "refs": { + "FirewallDomainList$CreationTime": "

The date and time that the domain list was created, in Unix time format and Coordinated Universal Time (UTC).

", + "FirewallDomainList$ModificationTime": "

The date and time that the domain list was last modified, in Unix time format and Coordinated Universal Time (UTC).

", + "FirewallRule$CreationTime": "

The date and time that the rule was created, in Unix time format and Coordinated Universal Time (UTC).

", + "FirewallRule$ModificationTime": "

The date and time that the rule was last modified, in Unix time format and Coordinated Universal Time (UTC).

", + "FirewallRuleGroup$CreationTime": "

The date and time that the rule group was created, in Unix time format and Coordinated Universal Time (UTC).

", + "FirewallRuleGroup$ModificationTime": "

The date and time that the rule group was last modified, in Unix time format and Coordinated Universal Time (UTC).

", + "FirewallRuleGroupAssociation$CreationTime": "

The date and time that the association was created, in Unix time format and Coordinated Universal Time (UTC).

", + "FirewallRuleGroupAssociation$ModificationTime": "

The date and time that the association was last modified, in Unix time format and Coordinated Universal Time (UTC).

", "IpAddressResponse$CreationTime": "

The date and time that the IP address was created, in Unix time format and Coordinated Universal Time (UTC).

", "IpAddressResponse$ModificationTime": "

The date and time that the IP address was last modified, in Unix time format and Coordinated Universal Time (UTC).

", "ResolverEndpoint$CreationTime": "

The date and time that the endpoint was created, in Unix time format and Coordinated Universal Time (UTC).

", @@ -869,9 +1430,19 @@ "ResolverEndpoint$SecurityGroupIds": "

The ID of one or more security groups that control access to this VPC. The security group must include one or more inbound rules (for inbound endpoints) or outbound rules (for outbound endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.

" } }, + "ServicePrinciple": { + "base": null, + "refs": { + "FirewallDomainList$ManagedOwnerName": "

The owner of the list, used only for lists that are not managed by you. For example, the managed domain list AWSManagedDomainsMalwareDomainList has the managed owner name Route 53 Resolver DNS Firewall.

", + "FirewallDomainListMetadata$ManagedOwnerName": "

The owner of the list, used only for lists that are not managed by you. For example, the managed domain list AWSManagedDomainsMalwareDomainList has the managed owner name Route 53 Resolver DNS Firewall.

", + "FirewallRuleGroupAssociation$ManagedOwnerName": "

The owner of the association, used only for associations that are not managed by you. If you use AWS Firewall Manager to manage your DNS Firewalls, then this reports Firewall Manager as the managed owner.

" + } + }, "ShareStatus": { "base": null, "refs": { + "FirewallRuleGroup$ShareStatus": "

Whether the rule group is shared with other AWS accounts, or was shared with the current account by another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

", + "FirewallRuleGroupMetadata$ShareStatus": "

Whether the rule group is shared with other AWS accounts, or was shared with the current account by another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

", "ResolverQueryLogConfig$ShareStatus": "

An indication of whether the query logging configuration is shared with other AWS accounts, or was shared with the current account by another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

", "ResolverRule$ShareStatus": "

Whether the rules is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account.

" } @@ -893,10 +1464,15 @@ "StatusMessage": { "base": null, "refs": { + "FirewallDomainList$StatusMessage": "

Additional information about the status of the list, if available.

", + "FirewallRuleGroup$StatusMessage": "

Additional information about the status of the rule group, if available.

", + "FirewallRuleGroupAssociation$StatusMessage": "

Additional information about the status of the response, if available.

", + "ImportFirewallDomainsResponse$StatusMessage": "

Additional information about the status of the list, if available.

", "IpAddressResponse$StatusMessage": "

A message that provides additional information about the status of the request.

", "ResolverEndpoint$StatusMessage": "

A detailed description of the status of the Resolver endpoint.

", "ResolverRule$StatusMessage": "

A detailed description of the status of a Resolver rule.

", - "ResolverRuleAssociation$StatusMessage": "

A detailed description of the status of the association between a Resolver rule and a VPC.

" + "ResolverRuleAssociation$StatusMessage": "

A detailed description of the status of the association between a Resolver rule and a VPC.

", + "UpdateFirewallDomainsResponse$StatusMessage": "

Additional information about the status of the list, if available.

" } }, "String": { @@ -946,6 +1522,9 @@ "TagList": { "base": null, "refs": { + "AssociateFirewallRuleGroupRequest$Tags": "

A list of the tag keys and values that you want to associate with the rule group association.

", + "CreateFirewallDomainListRequest$Tags": "

A list of the tag keys and values that you want to associate with the domain list.

", + "CreateFirewallRuleGroupRequest$Tags": "

A list of the tag keys and values that you want to associate with the rule group.

", "CreateResolverEndpointRequest$Tags": "

A list of the tag keys and values that you want to associate with the endpoint.

", "CreateResolverQueryLogConfigRequest$Tags": "

A list of the tag keys and values that you want to associate with the query logging configuration.

", "CreateResolverRuleRequest$Tags": "

A list of the tag keys and values that you want to associate with the endpoint.

", @@ -993,6 +1572,14 @@ "refs": { } }, + "Unsigned": { + "base": null, + "refs": { + "FirewallDomainList$DomainCount": "

The number of domain names that are specified in the domain list.

", + "FirewallRule$BlockOverrideTtl": "

The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.

", + "FirewallRuleGroup$RuleCount": "

The number of rules in the rule group.

" + } + }, "UntagResourceRequest": { "base": null, "refs": { @@ -1003,6 +1590,46 @@ "refs": { } }, + "UpdateFirewallConfigRequest": { + "base": null, + "refs": { + } + }, + "UpdateFirewallConfigResponse": { + "base": null, + "refs": { + } + }, + "UpdateFirewallDomainsRequest": { + "base": null, + "refs": { + } + }, + "UpdateFirewallDomainsResponse": { + "base": null, + "refs": { + } + }, + "UpdateFirewallRuleGroupAssociationRequest": { + "base": null, + "refs": { + } + }, + "UpdateFirewallRuleGroupAssociationResponse": { + "base": null, + "refs": { + } + }, + "UpdateFirewallRuleRequest": { + "base": null, + "refs": { + } + }, + "UpdateFirewallRuleResponse": { + "base": null, + "refs": { + } + }, "UpdateResolverDnssecConfigRequest": { "base": null, "refs": { @@ -1038,6 +1665,11 @@ "refs": { "UpdateResolverDnssecConfigRequest$Validation": "

The new value that you are specifying for DNSSEC validation for the VPC. The value can be ENABLE or DISABLE. Be aware that it can take time for a validation status change to be completed.

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

", + "refs": { + } } } } diff --git a/models/apis/route53resolver/2018-04-01/paginators-1.json b/models/apis/route53resolver/2018-04-01/paginators-1.json index 0ba9052153b..f0abb1375f3 100644 --- a/models/apis/route53resolver/2018-04-01/paginators-1.json +++ b/models/apis/route53resolver/2018-04-01/paginators-1.json @@ -1,5 +1,41 @@ { "pagination": { + "ListFirewallConfigs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "FirewallConfigs" + }, + "ListFirewallDomainLists": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "FirewallDomainLists" + }, + "ListFirewallDomains": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Domains" + }, + "ListFirewallRuleGroupAssociations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "FirewallRuleGroupAssociations" + }, + "ListFirewallRuleGroups": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "FirewallRuleGroups" + }, + "ListFirewallRules": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "FirewallRules" + }, "ListResolverDnssecConfigs": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/runtime.lex/2016-11-28/api-2.json b/models/apis/runtime.lex/2016-11-28/api-2.json index a3b59099eac..b0de5081e14 100644 --- a/models/apis/runtime.lex/2016-11-28/api-2.json +++ b/models/apis/runtime.lex/2016-11-28/api-2.json @@ -569,9 +569,16 @@ }, "message":{ "shape":"Text", + "deprecated":true, + "deprecatedMessage":"The message field is deprecated, use the encodedMessage field instead. The message field is available only in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR and it-IT locales.", "location":"header", "locationName":"x-amz-lex-message" }, + "encodedMessage":{ + "shape":"SensitiveString", + "location":"header", + "locationName":"x-amz-lex-encoded-message" + }, "messageFormat":{ "shape":"MessageFormatType", "location":"header", @@ -589,9 +596,16 @@ }, "inputTranscript":{ "shape":"String", + "deprecated":true, + "deprecatedMessage":"The inputTranscript field is deprecated, use the encodedInputTranscript field instead. The inputTranscript field is available only in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR and it-IT locales.", "location":"header", "locationName":"x-amz-lex-input-transcript" }, + "encodedInputTranscript":{ + "shape":"SensitiveStringUnbounded", + "location":"header", + "locationName":"x-amz-lex-encoded-input-transcript" + }, "audioStream":{"shape":"BlobStream"}, "botVersion":{ "shape":"BotVersion", @@ -730,9 +744,16 @@ }, "message":{ "shape":"Text", + "deprecated":true, + "deprecatedMessage":"The message field is deprecated, use the encodedMessage field instead. The message field is available only in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR and it-IT locales.", "location":"header", "locationName":"x-amz-lex-message" }, + "encodedMessage":{ + "shape":"SensitiveString", + "location":"header", + "locationName":"x-amz-lex-encoded-message" + }, "messageFormat":{ "shape":"MessageFormatType", "location":"header", @@ -779,6 +800,16 @@ "genericAttachments":{"shape":"genericAttachmentList"} } }, + "SensitiveString":{ + "type":"string", + "max":1366, + "min":1, + "sensitive":true + }, + "SensitiveStringUnbounded":{ + "type":"string", + "sensitive":true + }, "SentimentLabel":{"type":"string"}, "SentimentResponse":{ "type":"structure", diff --git a/models/apis/runtime.lex/2016-11-28/docs-2.json b/models/apis/runtime.lex/2016-11-28/docs-2.json index 95b2fdc00bc..27ba562171c 100644 --- a/models/apis/runtime.lex/2016-11-28/docs-2.json +++ b/models/apis/runtime.lex/2016-11-28/docs-2.json @@ -371,6 +371,19 @@ "PostTextResponse$responseCard": "

Represents the options that the user has to respond to the current prompt. Response Card can come from the bot configuration (in the Amazon Lex console, choose the settings button next to a slot) or from a code hook (Lambda function).

" } }, + "SensitiveString": { + "base": null, + "refs": { + "PostContentResponse$encodedMessage": "

The message to convey to the user. The message can come from the bot's configuration or from a Lambda function.

If the intent is not configured with a Lambda function, or if the Lambda function returned Delegate as the dialogAction.type in its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message.

When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see msg-prompts-formats.

If the Lambda function returns a message, Amazon Lex passes it to the client in its response.

The encodedMessage field is base-64 encoded. You must decode the field before you can use the value.

", + "PutSessionResponse$encodedMessage": "

The next message that should be presented to the user.

The encodedMessage field is base-64 encoded. You must decode the field before you can use the value.

" + } + }, + "SensitiveStringUnbounded": { + "base": null, + "refs": { + "PostContentResponse$encodedInputTranscript": "

The text used to process the request.

If the input was an audio stream, the encodedInputTranscript field contains the text extracted from the audio stream. This is the text that is actually processed to recognize intents and slot values. You can use this information to determine if Amazon Lex is correctly processing the audio that you send.

The encodedInputTranscript field is base-64 encoded. You must decode the field before you can use the value.

" + } + }, "SentimentLabel": { "base": null, "refs": { @@ -409,7 +422,7 @@ "PostContentResponse$sessionAttributes": "

Map of key/value pairs representing the session-specific context information.

", "PostContentResponse$sentimentResponse": "

The sentiment expressed in an utterance.

When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis, this field contains the result of the analysis.

", "PostContentResponse$slotToElicit": "

If the dialogState value is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value.

", - "PostContentResponse$inputTranscript": "

The text used to process the request.

If the input was an audio stream, the inputTranscript field contains the text extracted from the audio stream. This is the text that is actually processed to recognize intents and slot values. You can use this information to determine if Amazon Lex is correctly processing the audio that you send.

", + "PostContentResponse$inputTranscript": "

The text used to process the request.

You can use this field only in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the inputTranscript field is null. You should use the encodedInputTranscript field instead.

If the input was an audio stream, the inputTranscript field contains the text extracted from the audio stream. This is the text that is actually processed to recognize intents and slot values. You can use this information to determine if Amazon Lex is correctly processing the audio that you send.

", "PostContentResponse$sessionId": "

The unique identifier for the session.

", "PostTextResponse$slotToElicit": "

If the dialogState value is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value.

", "PostTextResponse$sessionId": "

A unique identifier for the session.

", @@ -457,10 +470,10 @@ "refs": { "ActiveContextParametersMap$value": null, "DialogAction$message": "

The message that should be shown to the user. If you don't specify a message, Amazon Lex will use the message configured for the intent.

", - "PostContentResponse$message": "

The message to convey to the user. The message can come from the bot's configuration or from a Lambda function.

If the intent is not configured with a Lambda function, or if the Lambda function returned Delegate as the dialogAction.type in its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message.

When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see msg-prompts-formats.

If the Lambda function returns a message, Amazon Lex passes it to the client in its response.

", + "PostContentResponse$message": "

You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the message field is null. You should use the encodedMessage field instead.

The message to convey to the user. The message can come from the bot's configuration or from a Lambda function.

If the intent is not configured with a Lambda function, or if the Lambda function returned Delegate as the dialogAction.type in its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message.

When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see msg-prompts-formats.

If the Lambda function returns a message, Amazon Lex passes it to the client in its response.

", "PostTextRequest$inputText": "

The text that the user entered (Amazon Lex interprets this text).

", "PostTextResponse$message": "

The message to convey to the user. The message can come from the bot's configuration or from a Lambda function.

If the intent is not configured with a Lambda function, or if the Lambda function returned Delegate as the dialogAction.type its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message.

When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see msg-prompts-formats.

If the Lambda function returns a message, Amazon Lex passes it to the client in its response.

", - "PutSessionResponse$message": "

The next message that should be presented to the user.

" + "PutSessionResponse$message": "

The next message that should be presented to the user.

You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the message field is null. You should use the encodedMessage field instead.

" } }, "UnsupportedMediaTypeException": { diff --git a/models/apis/wafv2/2019-07-29/api-2.json b/models/apis/wafv2/2019-07-29/api-2.json index eb1b75df846..a2e0ed39166 100755 --- a/models/apis/wafv2/2019-07-29/api-2.json +++ b/models/apis/wafv2/2019-07-29/api-2.json @@ -681,6 +681,21 @@ }, "shapes":{ "Action":{"type":"string"}, + "ActionCondition":{ + "type":"structure", + "required":["Action"], + "members":{ + "Action":{"shape":"ActionValue"} + } + }, + "ActionValue":{ + "type":"string", + "enum":[ + "ALLOW", + "BLOCK", + "COUNT" + ] + }, "All":{ "type":"structure", "members":{ @@ -787,6 +802,18 @@ "GT" ] }, + "Condition":{ + "type":"structure", + "members":{ + "ActionCondition":{"shape":"ActionCondition"}, + "LabelNameCondition":{"shape":"LabelNameCondition"} + } + }, + "Conditions":{ + "type":"list", + "member":{"shape":"Condition"}, + "min":1 + }, "ConsumedCapacity":{ "type":"long", "min":0 @@ -1357,7 +1384,10 @@ "type":"structure", "members":{ "Capacity":{"shape":"CapacityUnit"}, - "Rules":{"shape":"RuleSummaries"} + "Rules":{"shape":"RuleSummaries"}, + "LabelNamespace":{"shape":"LabelName"}, + "AvailableLabels":{"shape":"LabelSummaries"}, + "ConsumedLabels":{"shape":"LabelSummaries"} } }, "DisassociateWebACLRequest":{ @@ -1429,6 +1459,38 @@ "min":1, "pattern":".*\\S.*" }, + "Filter":{ + "type":"structure", + "required":[ + "Behavior", + "Requirement", + "Conditions" + ], + "members":{ + "Behavior":{"shape":"FilterBehavior"}, + "Requirement":{"shape":"FilterRequirement"}, + "Conditions":{"shape":"Conditions"} + } + }, + "FilterBehavior":{ + "type":"string", + "enum":[ + "KEEP", + "DROP" + ] + }, + "FilterRequirement":{ + "type":"string", + "enum":[ + "MEETS_ALL", + "MEETS_ANY" + ] + }, + "Filters":{ + "type":"list", + "member":{"shape":"Filter"}, + "min":1 + }, "FirewallManagerRuleGroup":{ "type":"structure", "required":[ @@ -1790,6 +1852,64 @@ "member":{"shape":"JsonPointerPath"}, "min":1 }, + "Label":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"LabelName"} + } + }, + "LabelMatchKey":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^[0-9A-Za-z_\\-:]+$" + }, + "LabelMatchScope":{ + "type":"string", + "enum":[ + "LABEL", + "NAMESPACE" + ] + }, + "LabelMatchStatement":{ + "type":"structure", + "required":[ + "Scope", + "Key" + ], + "members":{ + "Scope":{"shape":"LabelMatchScope"}, + "Key":{"shape":"LabelMatchKey"} + } + }, + "LabelName":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^[0-9A-Za-z_\\-:]+$" + }, + "LabelNameCondition":{ + "type":"structure", + "required":["LabelName"], + "members":{ + "LabelName":{"shape":"LabelName"} + } + }, + "LabelSummaries":{ + "type":"list", + "member":{"shape":"LabelSummary"} + }, + "LabelSummary":{ + "type":"structure", + "members":{ + "Name":{"shape":"LabelName"} + } + }, + "Labels":{ + "type":"list", + "member":{"shape":"Label"} + }, "ListAvailableManagedRuleGroupsRequest":{ "type":"structure", "required":["Scope"], @@ -1942,13 +2062,25 @@ "ResourceArn":{"shape":"ResourceArn"}, "LogDestinationConfigs":{"shape":"LogDestinationConfigs"}, "RedactedFields":{"shape":"RedactedFields"}, - "ManagedByFirewallManager":{"shape":"Boolean"} + "ManagedByFirewallManager":{"shape":"Boolean"}, + "LoggingFilter":{"shape":"LoggingFilter"} } }, "LoggingConfigurations":{ "type":"list", "member":{"shape":"LoggingConfiguration"} }, + "LoggingFilter":{ + "type":"structure", + "required":[ + "Filters", + "DefaultBehavior" + ], + "members":{ + "Filters":{"shape":"Filters"}, + "DefaultBehavior":{"shape":"FilterBehavior"} + } + }, "ManagedRuleGroupStatement":{ "type":"structure", "required":[ @@ -1958,7 +2090,8 @@ "members":{ "VendorName":{"shape":"VendorName"}, "Name":{"shape":"EntityName"}, - "ExcludedRules":{"shape":"ExcludedRules"} + "ExcludedRules":{"shape":"ExcludedRules"}, + "ScopeDownStatement":{"shape":"Statement"} } }, "ManagedRuleGroupSummaries":{ @@ -2042,6 +2175,7 @@ "REGEX_PATTERN_REFERENCE_STATEMENT", "IP_SET_REFERENCE_STATEMENT", "MANAGED_RULE_SET_STATEMENT", + "LABEL_MATCH_STATEMENT", "AND_STATEMENT", "OR_STATEMENT", "NOT_STATEMENT", @@ -2073,7 +2207,9 @@ "CUSTOM_RESPONSE_BODY", "JSON_MATCH_PATTERN", "JSON_MATCH_SCOPE", - "BODY_PARSING_FALLBACK_BEHAVIOR" + "BODY_PARSING_FALLBACK_BEHAVIOR", + "LOGGING_FILTER", + "FILTER_CONDITION" ] }, "ParameterExceptionParameter":{ @@ -2243,7 +2379,7 @@ "type":"string", "max":10240, "min":1, - "pattern":".*" + "pattern":"[\\s\\S]*" }, "ResponseContentType":{ "type":"string", @@ -2272,6 +2408,7 @@ "Statement":{"shape":"Statement"}, "Action":{"shape":"RuleAction"}, "OverrideAction":{"shape":"OverrideAction"}, + "RuleLabels":{"shape":"Labels"}, "VisibilityConfig":{"shape":"VisibilityConfig"} } }, @@ -2300,7 +2437,10 @@ "Description":{"shape":"EntityDescription"}, "Rules":{"shape":"Rules"}, "VisibilityConfig":{"shape":"VisibilityConfig"}, - "CustomResponseBodies":{"shape":"CustomResponseBodies"} + "LabelNamespace":{"shape":"LabelName"}, + "CustomResponseBodies":{"shape":"CustomResponseBodies"}, + "AvailableLabels":{"shape":"LabelSummaries"}, + "ConsumedLabels":{"shape":"LabelSummaries"} } }, "RuleGroupReferenceStatement":{ @@ -2361,7 +2501,8 @@ "Action":{"shape":"Action"}, "RuleNameWithinRuleGroup":{"shape":"EntityName"}, "RequestHeadersInserted":{"shape":"HTTPHeaders"}, - "ResponseCodeSent":{"shape":"ResponseStatusCode"} + "ResponseCodeSent":{"shape":"ResponseStatusCode"}, + "Labels":{"shape":"Labels"} } }, "SampledHTTPRequests":{ @@ -2436,7 +2577,8 @@ "AndStatement":{"shape":"AndStatement"}, "OrStatement":{"shape":"OrStatement"}, "NotStatement":{"shape":"NotStatement"}, - "ManagedRuleGroupStatement":{"shape":"ManagedRuleGroupStatement"} + "ManagedRuleGroupStatement":{"shape":"ManagedRuleGroupStatement"}, + "LabelMatchStatement":{"shape":"LabelMatchStatement"} } }, "Statements":{ @@ -2816,6 +2958,7 @@ "PreProcessFirewallManagerRuleGroups":{"shape":"FirewallManagerRuleGroups"}, "PostProcessFirewallManagerRuleGroups":{"shape":"FirewallManagerRuleGroups"}, "ManagedByFirewallManager":{"shape":"Boolean"}, + "LabelNamespace":{"shape":"LabelName"}, "CustomResponseBodies":{"shape":"CustomResponseBodies"} } }, diff --git a/models/apis/wafv2/2019-07-29/docs-2.json b/models/apis/wafv2/2019-07-29/docs-2.json index 1e9ab7b0fb5..1de9af59c85 100755 --- a/models/apis/wafv2/2019-07-29/docs-2.json +++ b/models/apis/wafv2/2019-07-29/docs-2.json @@ -38,7 +38,7 @@ "PutPermissionPolicy": "

Attaches an IAM policy to the specified resource. Use this to share a rule group across accounts.

You must be the owner of the rule group to perform this operation.

This action is subject to the following restrictions:

", "TagResource": "

Associates tags with the specified AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.

You can tag the AWS resources that you manage through AWS WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the AWS WAF console.

", "UntagResource": "

Disassociates tags from an AWS resource. Tags are key:value pairs that you can associate with AWS resources. For example, the tag key might be \"customer\" and the tag value might be \"companyA.\" You can specify one or more tags to add to each container. You can add up to 50 tags to each AWS resource.

", - "UpdateIPSet": "

Updates the specified IPSet.

", + "UpdateIPSet": "

Updates the specified IPSet.

This operation completely replaces any IP address specifications that you already have in the IP set with the ones that you provide to this call. If you want to add to or modify the addresses that are already in the IP set, retrieve those by calling GetIPSet, update them, and provide the complete updated array of IP addresses to this call.

", "UpdateRegexPatternSet": "

Updates the specified RegexPatternSet.

", "UpdateRuleGroup": "

Updates the specified RuleGroup.

A rule group defines a collection of rules to inspect and control web requests that you can use in a WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements.

", "UpdateWebACL": "

Updates the specified WebACL.

A Web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the Web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a Web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a Web ACL with one or more AWS resources to protect. The resources can be Amazon CloudFront, an Amazon API Gateway REST API, an Application Load Balancer, or an AWS AppSync GraphQL API.

" @@ -50,6 +50,18 @@ "SampledHTTPRequest$Action": "

The action for the Rule that the request matched: ALLOW, BLOCK, or COUNT.

" } }, + "ActionCondition": { + "base": "

A single action condition for a Condition in a logging filter.

", + "refs": { + "Condition$ActionCondition": "

A single action condition.

" + } + }, + "ActionValue": { + "base": null, + "refs": { + "ActionCondition$Action": "

The action setting that a log record must contain in order to meet the condition.

" + } + }, "All": { "base": "

Inspect all of the elements that AWS WAF has parsed and extracted from the web request JSON body that are within the JsonBody MatchScope. This is used with the FieldToMatch option JsonBody.

This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.

", "refs": { @@ -101,7 +113,7 @@ "BodyParsingFallbackBehavior": { "base": null, "refs": { - "JsonBody$InvalidFallbackBehavior": "

The inspection behavior to fall back to if the JSON in the request body is invalid. For AWS WAF, invalid JSON is any content that isn't complete syntactical JSON, content whose root node isn't an object or an array, and duplicate keys in the content.

You can specify the following fallback behaviors:

If you don't provide this setting, when AWS WAF encounters invalid JSON, it parses and inspects what it can, up to the first invalid JSON that it encounters.

" + "JsonBody$InvalidFallbackBehavior": "

What AWS WAF should do if it fails to completely parse the JSON body. The options are the following:

If you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters.

AWS WAF does its best to parse the entire JSON body, but might be forced to stop for reasons such as invalid characters, duplicate keys, truncation, and any content whose root node isn't an object or an array.

AWS WAF parses the JSON in the following examples as two valid key, value pairs:

" } }, "Boolean": { @@ -143,6 +155,18 @@ "SizeConstraintStatement$ComparisonOperator": "

The operator to use to compare the request part to the size setting.

" } }, + "Condition": { + "base": "

A single match condition for a Filter.

", + "refs": { + "Conditions$member": null + } + }, + "Conditions": { + "base": null, + "refs": { + "Filter$Conditions": "

Match conditions for the filter.

" + } + }, "ConsumedCapacity": { "base": null, "refs": { @@ -521,6 +545,31 @@ "SingleQueryArgument$Name": "

The name of the query argument to inspect.

" } }, + "Filter": { + "base": "

A single logging filter, used in LoggingFilter.

", + "refs": { + "Filters$member": null + } + }, + "FilterBehavior": { + "base": null, + "refs": { + "Filter$Behavior": "

How to handle logs that satisfy the filter's conditions and requirement.

", + "LoggingFilter$DefaultBehavior": "

Default handling for logs that don't match any of the specified filtering conditions.

" + } + }, + "FilterRequirement": { + "base": null, + "refs": { + "Filter$Requirement": "

Logic to apply to the filtering conditions. You can specify that, in order to satisfy the filter, a log must match all conditions or must match at least one condition.

" + } + }, + "Filters": { + "base": null, + "refs": { + "LoggingFilter$Filters": "

The filters that you want to apply to the logs.

" + } + }, "FirewallManagerRuleGroup": { "base": "

A rule group that's defined for an AWS Firewall Manager WAF policy.

", "refs": { @@ -789,6 +838,69 @@ "JsonMatchPattern$IncludedPaths": "

Match only the specified include paths. See also MatchScope in JsonBody.

Provide the include paths using JSON Pointer syntax. For example, \"IncludedPaths\": [\"/dogs/0/name\", \"/dogs/1/name\"]. For information about this syntax, see the Internet Engineering Task Force (IETF) documentation JavaScript Object Notation (JSON) Pointer.

You must specify either this setting or the All setting, but not both.

Don't use this option to include all paths. Instead, use the All setting.

" } }, + "Label": { + "base": "

A single label container. This is used as an element of a label array in multiple contexts, for example, in RuleLabels inside a Rule and in Labels inside a SampledHTTPRequest.

", + "refs": { + "Labels$member": null + } + }, + "LabelMatchKey": { + "base": null, + "refs": { + "LabelMatchStatement$Key": "

The string to match against. The setting you provide for this depends on the match statement's Scope settings:

Labels are case sensitive and components of a label must be separated by colon, for example NS1:NS2:name.

" + } + }, + "LabelMatchScope": { + "base": null, + "refs": { + "LabelMatchStatement$Scope": "

Specify whether you want to match using the label name or just the namespace.

" + } + }, + "LabelMatchStatement": { + "base": "

A rule statement that defines a string match search against labels that have been added to the web request by rules that have already run in the web ACL.

The label match statement provides the label or namespace string to search for. The label string can represent a part or all of the fully qualified label name that had been added to the web request. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label. If you do not provide the fully qualified name in your label match string, AWS WAF performs the search for labels that were added in the same context as the label match statement.

", + "refs": { + "Statement$LabelMatchStatement": "

A rule statement that defines a string match search against labels that have been added to the web request by rules that have already run in the web ACL.

The label match statement provides the label or namespace string to search for. The label string can represent a part or all of the fully qualified label name that had been added to the web request. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label. If you do not provide the fully qualified name in your label match string, AWS WAF performs the search for labels that were added in the same context as the label match statement.

" + } + }, + "LabelName": { + "base": null, + "refs": { + "DescribeManagedRuleGroupResponse$LabelNamespace": "

The label namespace prefix for this rule group. All labels added by rules in this rule group have this prefix.

", + "Label$Name": "

The label string.

", + "LabelNameCondition$LabelName": "

The label name that a log record must contain in order to meet the condition. This must be a fully qualified label name. Fully qualified labels have a prefix, optional namespaces, and label name. The prefix identifies the rule group or web ACL context of the rule that added the label.

", + "LabelSummary$Name": "

An individual label specification.

", + "RuleGroup$LabelNamespace": "

The label namespace prefix for this rule group. All labels added by rules in this rule group have this prefix.

", + "WebACL$LabelNamespace": "

The label namespace prefix for this web ACL. All labels added by rules in this web ACL have this prefix.

" + } + }, + "LabelNameCondition": { + "base": "

A single label name condition for a Condition in a logging filter.

", + "refs": { + "Condition$LabelNameCondition": "

A single label name condition.

" + } + }, + "LabelSummaries": { + "base": null, + "refs": { + "DescribeManagedRuleGroupResponse$AvailableLabels": "

The labels that one or more rules in this rule group add to matching web ACLs. These labels are defined in the RuleLabels for a Rule.

", + "DescribeManagedRuleGroupResponse$ConsumedLabels": "

The labels that one or more rules in this rule group match against in label match statements. These labels are defined in a LabelMatchStatement specification, in the Statement definition of a rule.

", + "RuleGroup$AvailableLabels": "

The labels that one or more rules in this rule group add to matching web ACLs. These labels are defined in the RuleLabels for a Rule.

", + "RuleGroup$ConsumedLabels": "

The labels that one or more rules in this rule group match against in label match statements. These labels are defined in a LabelMatchStatement specification, in the Statement definition of a rule.

" + } + }, + "LabelSummary": { + "base": "

List of labels used by one or more of the rules of a RuleGroup. This summary object is used for the following rule group lists:

", + "refs": { + "LabelSummaries$member": null + } + }, + "Labels": { + "base": null, + "refs": { + "Rule$RuleLabels": "

Labels to apply to web requests that match the rule match statement. AWS WAF applies fully qualified labels to matching web requests. A fully qualified label is the concatenation of a label namespace and a rule label. The rule's rule group or web ACL defines the label namespace.

Rules that run after this rule in the web ACL can match against these labels using a LabelMatchStatement.

For each label, provide a case-sensitive string containing optional namespaces and a label name, according to the following guidelines:

For example, myLabelName or nameSpace1:nameSpace2:myLabelName.

", + "SampledHTTPRequest$Labels": "

Labels applied to the web request by matching rules. AWS WAF applies fully qualified labels to matching web requests. A fully qualified label is the concatenation of a label namespace and a rule label. The rule's rule group or web ACL defines the label namespace.

For example, awswaf:111122223333:myRuleGroup:testRules:testNS1:testNS2:labelNameA or awswaf:managed:aws:managed-rule-set:header:encoding:utf8.

" + } + }, "ListAvailableManagedRuleGroupsRequest": { "base": null, "refs": { @@ -909,7 +1021,7 @@ } }, "LoggingConfiguration": { - "base": "

Defines an association between Amazon Kinesis Data Firehose destinations and a web ACL resource, for logging from AWS WAF. As part of the association, you can specify parts of the standard logging fields to keep out of the logs.

", + "base": "

Defines an association between Amazon Kinesis Data Firehose destinations and a web ACL resource, for logging from AWS WAF. As part of the association, you can specify parts of the standard logging fields to keep out of the logs and you can specify filters so that you log only a subset of the logging records.

", "refs": { "GetLoggingConfigurationResponse$LoggingConfiguration": "

The LoggingConfiguration for the specified web ACL.

", "LoggingConfigurations$member": null, @@ -923,6 +1035,12 @@ "ListLoggingConfigurationsResponse$LoggingConfigurations": "

" } }, + "LoggingFilter": { + "base": "

Filtering that specifies which web requests are kept in the logs and which are dropped, defined for a web ACL's LoggingConfiguration.

You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.

", + "refs": { + "LoggingConfiguration$LoggingFilter": "

Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.

" + } + }, "ManagedRuleGroupStatement": { "base": "

A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

You can't nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

", "refs": { @@ -1368,6 +1486,7 @@ "Statement": { "base": "

The processing guidance for a Rule, used by AWS WAF to determine whether a web request matches the rule.

", "refs": { + "ManagedRuleGroupStatement$ScopeDownStatement": null, "NotStatement$Statement": "

The statement to negate. You can use any statement that can be nested.

", "RateBasedStatement$ScopeDownStatement": "

An optional nested statement that narrows the scope of the rate-based statement to matching web requests. This can be any nestable statement, and you can nest statements at any level below this scope-down statement.

", "Rule$Statement": "

The AWS WAF processing statement for the rule, for example ByteMatchStatement or SizeConstraintStatement.

", @@ -1615,7 +1734,7 @@ } }, "WAFSubscriptionNotFoundException": { - "base": "

", + "base": "

You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it yet.

", "refs": { } }, diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index afc2cd0363f..8e6a233b98a 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -632,6 +632,7 @@ "ap-northeast-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, + "ca-central-1" : { }, "eu-central-1" : { }, "eu-west-2" : { }, "us-east-1" : { }, @@ -1637,6 +1638,7 @@ "ap-northeast-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, + "ca-central-1" : { }, "eu-central-1" : { }, "eu-west-2" : { }, "us-east-1" : { }, @@ -3206,8 +3208,15 @@ "endpoints" : { "af-south-1" : { }, "ap-southeast-2" : { }, + "eu-central-1" : { }, "eu-north-1" : { }, "eu-west-1" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "groundstation-fips.us-east-1.amazonaws.com" + }, "fips-us-east-2" : { "credentialScope" : { "region" : "us-east-2" @@ -3221,6 +3230,7 @@ "hostname" : "groundstation-fips.us-west-2.amazonaws.com" }, "me-south-1" : { }, + "us-east-1" : { }, "us-east-2" : { }, "us-west-2" : { } } diff --git a/service/ec2/api.go b/service/ec2/api.go index ca8503a0a42..7ef8fd88fdb 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -30955,6 +30955,93 @@ func (c *EC2) GetEbsEncryptionByDefaultWithContext(ctx aws.Context, input *GetEb return out, req.Send() } +const opGetFlowLogsIntegrationTemplate = "GetFlowLogsIntegrationTemplate" + +// GetFlowLogsIntegrationTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetFlowLogsIntegrationTemplate 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 GetFlowLogsIntegrationTemplate for more information on using the GetFlowLogsIntegrationTemplate +// 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 GetFlowLogsIntegrationTemplateRequest method. +// req, resp := client.GetFlowLogsIntegrationTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetFlowLogsIntegrationTemplate +func (c *EC2) GetFlowLogsIntegrationTemplateRequest(input *GetFlowLogsIntegrationTemplateInput) (req *request.Request, output *GetFlowLogsIntegrationTemplateOutput) { + op := &request.Operation{ + Name: opGetFlowLogsIntegrationTemplate, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetFlowLogsIntegrationTemplateInput{} + } + + output = &GetFlowLogsIntegrationTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetFlowLogsIntegrationTemplate API operation for Amazon Elastic Compute Cloud. +// +// Generates a CloudFormation template that streamlines and automates the integration +// of VPC flow logs with Amazon Athena. This make it easier for you to query +// and gain insights from VPC flow logs data. Based on the information that +// you provide, we configure resources in the template to do the following: +// +// * Create a table in Athena that maps fields to a custom log format +// +// * Create a Lambda function that updates the table with new partitions +// on a daily, weekly, or monthly basis +// +// * Create a table partitioned between two timestamps in the past +// +// * Create a set of named queries in Athena that you can use to get started +// quickly +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation GetFlowLogsIntegrationTemplate for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetFlowLogsIntegrationTemplate +func (c *EC2) GetFlowLogsIntegrationTemplate(input *GetFlowLogsIntegrationTemplateInput) (*GetFlowLogsIntegrationTemplateOutput, error) { + req, out := c.GetFlowLogsIntegrationTemplateRequest(input) + return out, req.Send() +} + +// GetFlowLogsIntegrationTemplateWithContext is the same as GetFlowLogsIntegrationTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See GetFlowLogsIntegrationTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) GetFlowLogsIntegrationTemplateWithContext(ctx aws.Context, input *GetFlowLogsIntegrationTemplateInput, opts ...request.Option) (*GetFlowLogsIntegrationTemplateOutput, error) { + req, out := c.GetFlowLogsIntegrationTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetGroupsForCapacityReservation = "GetGroupsForCapacityReservation" // GetGroupsForCapacityReservationRequest generates a "aws/request.Request" representing the @@ -44530,6 +44617,77 @@ func (s *AssociationStatus) SetMessage(v string) *AssociationStatus { return s } +// Describes integration options for Amazon Athena. +type AthenaIntegration struct { + _ struct{} `type:"structure"` + + // The location in Amazon S3 to store the generated CloudFormation template. + // + // IntegrationResultS3DestinationArn is a required field + IntegrationResultS3DestinationArn *string `type:"string" required:"true"` + + // The end date for the partition. + PartitionEndDate *time.Time `type:"timestamp"` + + // The schedule for adding new partitions to the table. + // + // PartitionLoadFrequency is a required field + PartitionLoadFrequency *string `type:"string" required:"true" enum:"PartitionLoadFrequency"` + + // The start date for the partition. + PartitionStartDate *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s AthenaIntegration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AthenaIntegration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AthenaIntegration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AthenaIntegration"} + if s.IntegrationResultS3DestinationArn == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrationResultS3DestinationArn")) + } + if s.PartitionLoadFrequency == nil { + invalidParams.Add(request.NewErrParamRequired("PartitionLoadFrequency")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIntegrationResultS3DestinationArn sets the IntegrationResultS3DestinationArn field's value. +func (s *AthenaIntegration) SetIntegrationResultS3DestinationArn(v string) *AthenaIntegration { + s.IntegrationResultS3DestinationArn = &v + return s +} + +// SetPartitionEndDate sets the PartitionEndDate field's value. +func (s *AthenaIntegration) SetPartitionEndDate(v time.Time) *AthenaIntegration { + s.PartitionEndDate = &v + return s +} + +// SetPartitionLoadFrequency sets the PartitionLoadFrequency field's value. +func (s *AthenaIntegration) SetPartitionLoadFrequency(v string) *AthenaIntegration { + s.PartitionLoadFrequency = &v + return s +} + +// SetPartitionStartDate sets the PartitionStartDate field's value. +func (s *AthenaIntegration) SetPartitionStartDate(v time.Time) *AthenaIntegration { + s.PartitionStartDate = &v + return s +} + type AttachClassicLinkVpcInput struct { _ struct{} `type:"structure"` @@ -73890,6 +74048,8 @@ type DescribeSubnetsInput struct { // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block // associated with the subnet. // + // * outpost-arn - The Amazon Resource Name (ARN) of the Outpost. + // // * owner-id - The ID of the AWS account that owns the subnet. // // * state - The state of the subnet (pending | available). @@ -84975,6 +85135,113 @@ func (s *GetEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *Get return s } +type GetFlowLogsIntegrationTemplateInput struct { + _ struct{} `type:"structure"` + + // To store the CloudFormation template in Amazon S3, specify the location in + // Amazon S3. + // + // ConfigDeliveryS3DestinationArn is a required field + ConfigDeliveryS3DestinationArn *string `type:"string" required:"true"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the flow log. + // + // FlowLogId is a required field + FlowLogId *string `type:"string" required:"true"` + + // Information about the service integration. + // + // IntegrateServices is a required field + IntegrateServices *IntegrateServices `locationName:"IntegrateService" type:"structure" required:"true"` +} + +// String returns the string representation +func (s GetFlowLogsIntegrationTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFlowLogsIntegrationTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFlowLogsIntegrationTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFlowLogsIntegrationTemplateInput"} + if s.ConfigDeliveryS3DestinationArn == nil { + invalidParams.Add(request.NewErrParamRequired("ConfigDeliveryS3DestinationArn")) + } + if s.FlowLogId == nil { + invalidParams.Add(request.NewErrParamRequired("FlowLogId")) + } + if s.IntegrateServices == nil { + invalidParams.Add(request.NewErrParamRequired("IntegrateServices")) + } + if s.IntegrateServices != nil { + if err := s.IntegrateServices.Validate(); err != nil { + invalidParams.AddNested("IntegrateServices", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfigDeliveryS3DestinationArn sets the ConfigDeliveryS3DestinationArn field's value. +func (s *GetFlowLogsIntegrationTemplateInput) SetConfigDeliveryS3DestinationArn(v string) *GetFlowLogsIntegrationTemplateInput { + s.ConfigDeliveryS3DestinationArn = &v + return s +} + +// SetDryRun sets the DryRun field's value. +func (s *GetFlowLogsIntegrationTemplateInput) SetDryRun(v bool) *GetFlowLogsIntegrationTemplateInput { + s.DryRun = &v + return s +} + +// SetFlowLogId sets the FlowLogId field's value. +func (s *GetFlowLogsIntegrationTemplateInput) SetFlowLogId(v string) *GetFlowLogsIntegrationTemplateInput { + s.FlowLogId = &v + return s +} + +// SetIntegrateServices sets the IntegrateServices field's value. +func (s *GetFlowLogsIntegrationTemplateInput) SetIntegrateServices(v *IntegrateServices) *GetFlowLogsIntegrationTemplateInput { + s.IntegrateServices = v + return s +} + +type GetFlowLogsIntegrationTemplateOutput struct { + _ struct{} `type:"structure"` + + // The generated CloudFormation template. + Result *string `locationName:"result" type:"string"` +} + +// String returns the string representation +func (s GetFlowLogsIntegrationTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFlowLogsIntegrationTemplateOutput) GoString() string { + return s.String() +} + +// SetResult sets the Result field's value. +func (s *GetFlowLogsIntegrationTemplateOutput) SetResult(v string) *GetFlowLogsIntegrationTemplateOutput { + s.Result = &v + return s +} + type GetGroupsForCapacityReservationInput struct { _ struct{} `type:"structure"` @@ -91704,6 +91971,53 @@ func (s *InstanceUsage) SetUsedInstanceCount(v int64) *InstanceUsage { return s } +// Describes service integrations with VPC Flow logs. +type IntegrateServices struct { + _ struct{} `type:"structure"` + + // Information about the integration with Amazon Athena. + AthenaIntegrations []*AthenaIntegration `locationName:"AthenaIntegration" locationNameList:"item" min:"1" type:"list"` +} + +// String returns the string representation +func (s IntegrateServices) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IntegrateServices) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IntegrateServices) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IntegrateServices"} + if s.AthenaIntegrations != nil && len(s.AthenaIntegrations) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AthenaIntegrations", 1)) + } + if s.AthenaIntegrations != nil { + for i, v := range s.AthenaIntegrations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AthenaIntegrations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAthenaIntegrations sets the AthenaIntegrations field's value. +func (s *IntegrateServices) SetAthenaIntegrations(v []*AthenaIntegration) *IntegrateServices { + s.AthenaIntegrations = v + return s +} + // Describes an internet gateway. type InternetGateway struct { _ struct{} `type:"structure"` @@ -127202,6 +127516,30 @@ func OperationType_Values() []string { } } +const ( + // PartitionLoadFrequencyNone is a PartitionLoadFrequency enum value + PartitionLoadFrequencyNone = "none" + + // PartitionLoadFrequencyDaily is a PartitionLoadFrequency enum value + PartitionLoadFrequencyDaily = "daily" + + // PartitionLoadFrequencyWeekly is a PartitionLoadFrequency enum value + PartitionLoadFrequencyWeekly = "weekly" + + // PartitionLoadFrequencyMonthly is a PartitionLoadFrequency enum value + PartitionLoadFrequencyMonthly = "monthly" +) + +// PartitionLoadFrequency_Values returns all elements of the PartitionLoadFrequency enum +func PartitionLoadFrequency_Values() []string { + return []string{ + PartitionLoadFrequencyNone, + PartitionLoadFrequencyDaily, + PartitionLoadFrequencyWeekly, + PartitionLoadFrequencyMonthly, + } +} + const ( // PaymentOptionAllUpfront is a PaymentOption enum value PaymentOptionAllUpfront = "AllUpfront" diff --git a/service/ec2/ec2iface/interface.go b/service/ec2/ec2iface/interface.go index ddec3478cb8..01ce13692fa 100644 --- a/service/ec2/ec2iface/interface.go +++ b/service/ec2/ec2iface/interface.go @@ -1621,6 +1621,10 @@ type EC2API interface { GetEbsEncryptionByDefaultWithContext(aws.Context, *ec2.GetEbsEncryptionByDefaultInput, ...request.Option) (*ec2.GetEbsEncryptionByDefaultOutput, error) GetEbsEncryptionByDefaultRequest(*ec2.GetEbsEncryptionByDefaultInput) (*request.Request, *ec2.GetEbsEncryptionByDefaultOutput) + GetFlowLogsIntegrationTemplate(*ec2.GetFlowLogsIntegrationTemplateInput) (*ec2.GetFlowLogsIntegrationTemplateOutput, error) + GetFlowLogsIntegrationTemplateWithContext(aws.Context, *ec2.GetFlowLogsIntegrationTemplateInput, ...request.Option) (*ec2.GetFlowLogsIntegrationTemplateOutput, error) + GetFlowLogsIntegrationTemplateRequest(*ec2.GetFlowLogsIntegrationTemplateInput) (*request.Request, *ec2.GetFlowLogsIntegrationTemplateOutput) + GetGroupsForCapacityReservation(*ec2.GetGroupsForCapacityReservationInput) (*ec2.GetGroupsForCapacityReservationOutput, error) GetGroupsForCapacityReservationWithContext(aws.Context, *ec2.GetGroupsForCapacityReservationInput, ...request.Option) (*ec2.GetGroupsForCapacityReservationOutput, error) GetGroupsForCapacityReservationRequest(*ec2.GetGroupsForCapacityReservationInput) (*request.Request, *ec2.GetGroupsForCapacityReservationOutput) diff --git a/service/fms/api.go b/service/fms/api.go index d614cdd621b..d9063d59f91 100644 --- a/service/fms/api.go +++ b/service/fms/api.go @@ -3400,6 +3400,150 @@ func (s DisassociateAdminAccountOutput) GoString() string { return s.String() } +// A DNS Firewall rule group that Firewall Manager tried to associate with a +// VPC is already associated with the VPC and can't be associated again. +type DnsDuplicateRuleGroupViolation struct { + _ struct{} `type:"structure"` + + // The ID of the VPC. + ViolationTarget *string `type:"string"` + + // A description of the violation that specifies the rule group and VPC. + ViolationTargetDescription *string `type:"string"` +} + +// String returns the string representation +func (s DnsDuplicateRuleGroupViolation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DnsDuplicateRuleGroupViolation) GoString() string { + return s.String() +} + +// SetViolationTarget sets the ViolationTarget field's value. +func (s *DnsDuplicateRuleGroupViolation) SetViolationTarget(v string) *DnsDuplicateRuleGroupViolation { + s.ViolationTarget = &v + return s +} + +// SetViolationTargetDescription sets the ViolationTargetDescription field's value. +func (s *DnsDuplicateRuleGroupViolation) SetViolationTargetDescription(v string) *DnsDuplicateRuleGroupViolation { + s.ViolationTargetDescription = &v + return s +} + +// The VPC that Firewall Manager was applying a DNS Fireall policy to reached +// the limit for associated DNS Firewall rule groups. Firewall Manager tried +// to associate another rule group with the VPC and failed due to the limit. +type DnsRuleGroupLimitExceededViolation struct { + _ struct{} `type:"structure"` + + // The number of rule groups currently associated with the VPC. + NumberOfRuleGroupsAlreadyAssociated *int64 `type:"integer"` + + // The ID of the VPC. + ViolationTarget *string `type:"string"` + + // A description of the violation that specifies the rule group and VPC. + ViolationTargetDescription *string `type:"string"` +} + +// String returns the string representation +func (s DnsRuleGroupLimitExceededViolation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DnsRuleGroupLimitExceededViolation) GoString() string { + return s.String() +} + +// SetNumberOfRuleGroupsAlreadyAssociated sets the NumberOfRuleGroupsAlreadyAssociated field's value. +func (s *DnsRuleGroupLimitExceededViolation) SetNumberOfRuleGroupsAlreadyAssociated(v int64) *DnsRuleGroupLimitExceededViolation { + s.NumberOfRuleGroupsAlreadyAssociated = &v + return s +} + +// SetViolationTarget sets the ViolationTarget field's value. +func (s *DnsRuleGroupLimitExceededViolation) SetViolationTarget(v string) *DnsRuleGroupLimitExceededViolation { + s.ViolationTarget = &v + return s +} + +// SetViolationTargetDescription sets the ViolationTargetDescription field's value. +func (s *DnsRuleGroupLimitExceededViolation) SetViolationTargetDescription(v string) *DnsRuleGroupLimitExceededViolation { + s.ViolationTargetDescription = &v + return s +} + +// A rule group that Firewall Manager tried to associate with a VPC has the +// same priority as a rule group that's already associated. +type DnsRuleGroupPriorityConflictViolation struct { + _ struct{} `type:"structure"` + + // The ID of the Firewall Manager DNS Firewall policy that was already applied + // to the VPC. This policy contains the rule group that's already associated + // with the VPC. + ConflictingPolicyId *string `min:"36" type:"string"` + + // The priority setting of the two conflicting rule groups. + ConflictingPriority *int64 `type:"integer"` + + // The priorities of rule groups that are already associated with the VPC. To + // retry your operation, choose priority settings that aren't in this list for + // the rule groups in your new DNS Firewall policy. + UnavailablePriorities []*int64 `type:"list"` + + // The ID of the VPC. + ViolationTarget *string `type:"string"` + + // A description of the violation that specifies the VPC and the rule group + // that's already associated with it. + ViolationTargetDescription *string `type:"string"` +} + +// String returns the string representation +func (s DnsRuleGroupPriorityConflictViolation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DnsRuleGroupPriorityConflictViolation) GoString() string { + return s.String() +} + +// SetConflictingPolicyId sets the ConflictingPolicyId field's value. +func (s *DnsRuleGroupPriorityConflictViolation) SetConflictingPolicyId(v string) *DnsRuleGroupPriorityConflictViolation { + s.ConflictingPolicyId = &v + return s +} + +// SetConflictingPriority sets the ConflictingPriority field's value. +func (s *DnsRuleGroupPriorityConflictViolation) SetConflictingPriority(v int64) *DnsRuleGroupPriorityConflictViolation { + s.ConflictingPriority = &v + return s +} + +// SetUnavailablePriorities sets the UnavailablePriorities field's value. +func (s *DnsRuleGroupPriorityConflictViolation) SetUnavailablePriorities(v []*int64) *DnsRuleGroupPriorityConflictViolation { + s.UnavailablePriorities = v + return s +} + +// SetViolationTarget sets the ViolationTarget field's value. +func (s *DnsRuleGroupPriorityConflictViolation) SetViolationTarget(v string) *DnsRuleGroupPriorityConflictViolation { + s.ViolationTarget = &v + return s +} + +// SetViolationTargetDescription sets the ViolationTargetDescription field's value. +func (s *DnsRuleGroupPriorityConflictViolation) SetViolationTargetDescription(v string) *DnsRuleGroupPriorityConflictViolation { + s.ViolationTargetDescription = &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. @@ -6462,6 +6606,21 @@ type ResourceViolation struct { // Violation details for security groups. AwsVPCSecurityGroupViolation *AwsVPCSecurityGroupViolation `type:"structure"` + // Violation detail for a DNS Firewall policy that indicates that a rule group + // that Firewall Manager tried to associate with a VPC is already associated + // with the VPC and can't be associated again. + DnsDuplicateRuleGroupViolation *DnsDuplicateRuleGroupViolation `type:"structure"` + + // Violation details for a DNS Firewall policy that indicates that the VPC reached + // the limit for associated DNS Firewall rule groups. Firewall Manager tried + // to associate another rule group with the VPC and failed. + DnsRuleGroupLimitExceededViolation *DnsRuleGroupLimitExceededViolation `type:"structure"` + + // Violation detail for a DNS Firewall policy that indicates that a rule group + // that Firewall Manager tried to associate with a VPC has the same priority + // as a rule group that's already associated. + DnsRuleGroupPriorityConflictViolation *DnsRuleGroupPriorityConflictViolation `type:"structure"` + // Violation detail for an Network Firewall policy that indicates that a subnet // is not associated with the expected Firewall Manager managed route table. NetworkFirewallMissingExpectedRTViolation *NetworkFirewallMissingExpectedRTViolation `type:"structure"` @@ -6510,6 +6669,24 @@ func (s *ResourceViolation) SetAwsVPCSecurityGroupViolation(v *AwsVPCSecurityGro return s } +// SetDnsDuplicateRuleGroupViolation sets the DnsDuplicateRuleGroupViolation field's value. +func (s *ResourceViolation) SetDnsDuplicateRuleGroupViolation(v *DnsDuplicateRuleGroupViolation) *ResourceViolation { + s.DnsDuplicateRuleGroupViolation = v + return s +} + +// SetDnsRuleGroupLimitExceededViolation sets the DnsRuleGroupLimitExceededViolation field's value. +func (s *ResourceViolation) SetDnsRuleGroupLimitExceededViolation(v *DnsRuleGroupLimitExceededViolation) *ResourceViolation { + s.DnsRuleGroupLimitExceededViolation = v + return s +} + +// SetDnsRuleGroupPriorityConflictViolation sets the DnsRuleGroupPriorityConflictViolation field's value. +func (s *ResourceViolation) SetDnsRuleGroupPriorityConflictViolation(v *DnsRuleGroupPriorityConflictViolation) *ResourceViolation { + s.DnsRuleGroupPriorityConflictViolation = v + return s +} + // SetNetworkFirewallMissingExpectedRTViolation sets the NetworkFirewallMissingExpectedRTViolation field's value. func (s *ResourceViolation) SetNetworkFirewallMissingExpectedRTViolation(v *NetworkFirewallMissingExpectedRTViolation) *ResourceViolation { s.NetworkFirewallMissingExpectedRTViolation = v @@ -7240,6 +7417,9 @@ const ( // SecurityServiceTypeNetworkFirewall is a SecurityServiceType enum value SecurityServiceTypeNetworkFirewall = "NETWORK_FIREWALL" + + // SecurityServiceTypeDnsFirewall is a SecurityServiceType enum value + SecurityServiceTypeDnsFirewall = "DNS_FIREWALL" ) // SecurityServiceType_Values returns all elements of the SecurityServiceType enum @@ -7252,6 +7432,7 @@ func SecurityServiceType_Values() []string { SecurityServiceTypeSecurityGroupsContentAudit, SecurityServiceTypeSecurityGroupsUsageAudit, SecurityServiceTypeNetworkFirewall, + SecurityServiceTypeDnsFirewall, } } @@ -7283,6 +7464,9 @@ const ( // ViolationReasonSecurityGroupRedundant is a ViolationReason enum value ViolationReasonSecurityGroupRedundant = "SECURITY_GROUP_REDUNDANT" + // ViolationReasonFmsCreatedSecurityGroupEdited is a ViolationReason enum value + ViolationReasonFmsCreatedSecurityGroupEdited = "FMS_CREATED_SECURITY_GROUP_EDITED" + // ViolationReasonMissingFirewall is a ViolationReason enum value ViolationReasonMissingFirewall = "MISSING_FIREWALL" @@ -7294,6 +7478,9 @@ const ( // ViolationReasonNetworkFirewallPolicyModified is a ViolationReason enum value ViolationReasonNetworkFirewallPolicyModified = "NETWORK_FIREWALL_POLICY_MODIFIED" + + // ViolationReasonResourceMissingDnsFirewall is a ViolationReason enum value + ViolationReasonResourceMissingDnsFirewall = "RESOURCE_MISSING_DNS_FIREWALL" ) // ViolationReason_Values returns all elements of the ViolationReason enum @@ -7308,9 +7495,11 @@ func ViolationReason_Values() []string { ViolationReasonResourceViolatesAuditSecurityGroup, ViolationReasonSecurityGroupUnused, ViolationReasonSecurityGroupRedundant, + ViolationReasonFmsCreatedSecurityGroupEdited, ViolationReasonMissingFirewall, ViolationReasonMissingFirewallSubnetInAz, ViolationReasonMissingExpectedRouteTable, ViolationReasonNetworkFirewallPolicyModified, + ViolationReasonResourceMissingDnsFirewall, } } diff --git a/service/kendra/api.go b/service/kendra/api.go index c0247a7d8f5..1bddfc576d0 100644 --- a/service/kendra/api.go +++ b/service/kendra/api.go @@ -61,7 +61,7 @@ func (c *Kendra) BatchDeleteDocumentRequest(input *BatchDeleteDocumentInput) (re // added with the BatchPutDocument operation. // // The documents are deleted asynchronously. You can see the progress of the -// deletion by using AWS CloudWatch. Any error messages releated to the processing +// deletion by using AWS CloudWatch. Any error messages related to the processing // of the batch are sent to you CloudWatch log. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -441,11 +441,11 @@ func (c *Kendra) CreateIndexRequest(input *CreateIndexInput) (req *request.Reque // // Creates a new Amazon Kendra index. Index creation is an asynchronous operation. // To determine if index creation has completed, check the Status field returned -// from a call to . The Status field is set to ACTIVE when the index is ready -// to use. +// from a call to DescribeIndex. The Status field is set to ACTIVE when the +// index is ready to use. // -// Once the index is active you can index your documents using the operation -// or using one of the supported data sources. +// Once the index is active you can index your documents using the BatchPutDocument +// operation or using one of the supported data sources. // // 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 @@ -629,8 +629,8 @@ func (c *Kendra) DeleteDataSourceRequest(input *DeleteDataSourceInput) (req *req // // Deletes an Amazon Kendra data source. An exception is not thrown if the data // source is already being deleted. While the data source is being deleted, -// the Status field returned by a call to the operation is set to DELETING. -// For more information, see Deleting Data Sources (https://docs.aws.amazon.com/kendra/latest/dg/delete-data-source.html). +// the Status field returned by a call to the DescribeDataSource operation is +// set to DELETING. For more information, see Deleting Data Sources (https://docs.aws.amazon.com/kendra/latest/dg/delete-data-source.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3846,13 +3846,13 @@ func (s *ConfluenceAttachmentConfiguration) SetCrawlAttachments(v bool) *Conflue // Defines the mapping between a field in the Confluence data source to a Amazon // Kendra index field. // -// You must first create the index field using the operation. +// You must first create the index field using the UpdateIndex operation. type ConfluenceAttachmentToIndexFieldMapping struct { _ struct{} `type:"structure"` // The name of the field in the data source. // - // You must first create the index field using the operation. + // You must first create the index field using the UpdateIndex operation. DataSourceFieldName *string `type:"string" enum:"ConfluenceAttachmentFieldName"` // The format for date fields in the data source. If the field specified in @@ -3911,7 +3911,7 @@ func (s *ConfluenceAttachmentToIndexFieldMapping) SetIndexFieldName(v string) *C // Specifies the blog settings for the Confluence data source. Blogs are always // indexed unless filtered from the index by the ExclusionPatterns or InclusionPatterns -// fields in the data type. +// fields in the ConfluenceConfiguration type. type ConfluenceBlogConfiguration struct { _ struct{} `type:"structure"` @@ -3966,7 +3966,7 @@ func (s *ConfluenceBlogConfiguration) SetBlogFieldMappings(v []*ConfluenceBlogTo // Defines the mapping between a blog field in the Confluence data source to // a Amazon Kendra index field. // -// You must first create the index field using the operation. +// You must first create the index field using the UpdateIndex operation. type ConfluenceBlogToIndexFieldMapping struct { _ struct{} `type:"structure"` @@ -4265,7 +4265,7 @@ func (s *ConfluencePageConfiguration) SetPageFieldMappings(v []*ConfluencePageTo // Defines the mapping between a field in the Confluence data source to a Amazon // Kendra index field. // -// You must first create the index field using the operation. +// You must first create the index field using the UpdateIndex operation. type ConfluencePageToIndexFieldMapping struct { _ struct{} `type:"structure"` @@ -4433,7 +4433,7 @@ func (s *ConfluenceSpaceConfiguration) SetSpaceFieldMappings(v []*ConfluenceSpac // Defines the mapping between a field in the Confluence data source to a Amazon // Kendra index field. // -// You must first create the index field using the operation. +// You must first create the index field using the UpdateIndex operation. type ConfluenceSpaceToIndexFieldMapping struct { _ struct{} `type:"structure"` @@ -5479,7 +5479,8 @@ func (s *DataSourceConfiguration) SetSharePointConfiguration(v *SharePointConfig return s } -// Summary information for a Amazon Kendra data source. Returned in a call to . +// Summary information for a Amazon Kendra data source. Returned in a call to +// the DescribeDataSource operation. type DataSourceSummary struct { _ struct{} `type:"structure"` @@ -5492,8 +5493,8 @@ type DataSourceSummary struct { // The name of the data source. Name *string `min:"1" type:"string"` - // The status of the data source. When the status is ATIVE the data source is - // ready to use. + // The status of the data source. When the status is ACTIVE the data source + // is ready to use. Status *string `type:"string" enum:"DataSourceStatus"` // The type of the data source. @@ -6695,7 +6696,7 @@ func (s *DescribeIndexInput) SetId(v string) *DescribeIndexInput { type DescribeIndexOutput struct { _ struct{} `type:"structure"` - // For enterprise edtion indexes, you can choose to use additional capacity + // For Enterprise edition indexes, you can choose to use additional capacity // to meet the needs of your application. This contains the capacity units used // for the index. A 0 for the query capacity or the storage capacity indicates // that the index is using the default capacity for the index. @@ -9046,7 +9047,7 @@ type QueryInput struct { Facets []*Facet `type:"list"` // The unique identifier of the index to search. The identifier is returned - // in the response from the operation. + // in the response from the CreateIndex operation. // // IndexId is a required field IndexId *string `min:"36" type:"string" required:"true"` @@ -10076,10 +10077,10 @@ type SalesforceConfiguration struct { // The regex is applied to the name of the attached file. IncludeAttachmentFilePatterns []*string `type:"list"` - // Specifies configuration information for the knowlege article types that Amazon - // Kendra indexes. Amazon Kendra indexes standard knowledge articles and the - // standard fields of knowledge articles, or the custom fields of custom knowledge - // articles, but not both. + // Specifies configuration information for the knowledge article types that + // Amazon Kendra indexes. Amazon Kendra indexes standard knowledge articles + // and the standard fields of knowledge articles, or the custom fields of custom + // knowledge articles, but not both. KnowledgeArticleConfiguration *SalesforceKnowledgeArticleConfiguration `type:"structure"` // The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains @@ -10329,10 +10330,10 @@ func (s *SalesforceCustomKnowledgeArticleTypeConfiguration) SetName(v string) *S return s } -// Specifies configuration information for the knowlege article types that Amazon -// Kendra indexes. Amazon Kendra indexes standard knowledge articles and the -// standard fields of knowledge articles, or the custom fields of custom knowledge -// articles, but not both +// Specifies configuration information for the knowledge article types that +// Amazon Kendra indexes. Amazon Kendra indexes standard knowledge articles +// and the standard fields of knowledge articles, or the custom fields of custom +// knowledge articles, but not both type SalesforceKnowledgeArticleConfiguration struct { _ struct{} `type:"structure"` @@ -10550,7 +10551,7 @@ func (s *SalesforceStandardObjectAttachmentConfiguration) SetFieldMappings(v []* return s } -// Specifies confguration information for indexing a single standard object. +// Specifies configuration information for indexing a single standard object. type SalesforceStandardObjectConfiguration struct { _ struct{} `type:"structure"` @@ -10561,7 +10562,7 @@ type SalesforceStandardObjectConfiguration struct { DocumentDataFieldName *string `min:"1" type:"string" required:"true"` // The name of the field in the standard object table that contains the document - // titleB. + // title. DocumentTitleFieldName *string `min:"1" type:"string"` // One or more objects that map fields in the standard object to Amazon Kendra @@ -10772,6 +10773,19 @@ func (s *ServerSideEncryptionConfiguration) SetKmsKeyId(v string) *ServerSideEnc type ServiceNowConfiguration struct { _ struct{} `type:"structure"` + // Determines the type of authentication used to connect to the ServiceNow instance. + // If you choose HTTP_BASIC, Amazon Kendra is authenticated using the user name + // and password provided in the AWS Secrets Manager secret in the SecretArn + // field. When you choose OAUTH2, Amazon Kendra is authenticated using the OAuth + // token and secret provided in the Secrets Manager secret, and the user name + // and password are used to determine which information Amazon Kendra has access + // to. + // + // When you use OAUTH2 authentication, you must generate a token and a client + // secret using the ServiceNow console. For more information, see Using a ServiceNow + // data source (https://docs.aws.amazon.com/kendra/latest/dg/data-source-servicenow.html). + AuthenticationType *string `type:"string" enum:"ServiceNowAuthenticationType"` + // The ServiceNow instance that the data source connects to. The host endpoint // should look like the following: {instance}.service-now.com. // @@ -10844,6 +10858,12 @@ func (s *ServiceNowConfiguration) Validate() error { return nil } +// SetAuthenticationType sets the AuthenticationType field's value. +func (s *ServiceNowConfiguration) SetAuthenticationType(v string) *ServiceNowConfiguration { + s.AuthenticationType = &v + return s +} + // SetHostUrl sets the HostUrl field's value. func (s *ServiceNowConfiguration) SetHostUrl(v string) *ServiceNowConfiguration { s.HostUrl = &v @@ -10901,6 +10921,14 @@ type ServiceNowKnowledgeArticleConfiguration struct { // create the index field before you map the field. FieldMappings []*DataSourceToIndexFieldMapping `min:"1" type:"list"` + // A query that selects the knowledge articles to index. The query can return + // articles from multiple knowledge bases, and the knowledge bases can be public + // or private. + // + // The query string must be one generated by the ServiceNow console. For more + // information, see Specifying documents to index with a query (https://docs.aws.amazon.com/kendra/latest/dg/servicenow-query.html). + FilterQuery *string `min:"1" type:"string"` + // List of regular expressions applied to knowledge articles. Items that don't // match the inclusion pattern are not indexed. The regex is applied to the // field specified in the PatternTargetField. @@ -10932,6 +10960,9 @@ func (s *ServiceNowKnowledgeArticleConfiguration) Validate() error { if s.FieldMappings != nil && len(s.FieldMappings) < 1 { invalidParams.Add(request.NewErrParamMinLen("FieldMappings", 1)) } + if s.FilterQuery != nil && len(*s.FilterQuery) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FilterQuery", 1)) + } if s.FieldMappings != nil { for i, v := range s.FieldMappings { if v == nil { @@ -10979,6 +11010,12 @@ func (s *ServiceNowKnowledgeArticleConfiguration) SetFieldMappings(v []*DataSour return s } +// SetFilterQuery sets the FilterQuery field's value. +func (s *ServiceNowKnowledgeArticleConfiguration) SetFilterQuery(v string) *ServiceNowKnowledgeArticleConfiguration { + s.FilterQuery = &v + return s +} + // SetIncludeAttachmentFilePatterns sets the IncludeAttachmentFilePatterns field's value. func (s *ServiceNowKnowledgeArticleConfiguration) SetIncludeAttachmentFilePatterns(v []*string) *ServiceNowKnowledgeArticleConfiguration { s.IncludeAttachmentFilePatterns = v @@ -11004,14 +11041,24 @@ type ServiceNowServiceCatalogConfiguration struct { // field. DocumentTitleFieldName *string `min:"1" type:"string"` - // Determines the types of file attachments that are excluded from the index. + // A list of regular expression patterns. Documents that match the patterns + // are excluded from the index. Documents that don't match the patterns are + // included in the index. If a document matches both an exclusion pattern and + // an inclusion pattern, the document is not included in the index. + // + // The regex is applied to the file name of the attachment. ExcludeAttachmentFilePatterns []*string `type:"list"` // Mapping between ServiceNow fields and Amazon Kendra index fields. You must // create the index field before you map the field. FieldMappings []*DataSourceToIndexFieldMapping `min:"1" type:"list"` - // Determines the types of file attachments that are included in the index. + // A list of regular expression patterns. Documents that match the patterns + // are included in the index. Documents that don't match the patterns are excluded + // from the index. If a document matches both an exclusion pattern and an inclusion + // pattern, the document is not included in the index. + // + // The regex is applied to the file name of the attachment. IncludeAttachmentFilePatterns []*string `type:"list"` } @@ -11174,8 +11221,8 @@ type SharePointConfiguration struct { // A list of DataSourceToIndexFieldMapping objects that map Microsoft SharePoint // attributes to custom fields in the Amazon Kendra index. You must first create - // the index fields using the operation before you map SharePoint attributes. - // For more information, see Mapping Data Source Fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html). + // the index fields using the UpdateIndex operation before you map SharePoint + // attributes. For more information, see Mapping Data Source Fields (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html). FieldMappings []*DataSourceToIndexFieldMapping `min:"1" type:"list"` // A list of regular expression patterns. Documents that match the patterns @@ -11627,7 +11674,7 @@ type SubmitFeedbackInput struct { IndexId *string `min:"36" type:"string" required:"true"` // The identifier of the specific query for which you are submitting feedback. - // The query ID is returned in the response to the operation. + // The query ID is returned in the response to the Query operation. // // QueryId is a required field QueryId *string `min:"1" type:"string" required:"true"` @@ -12290,7 +12337,7 @@ func (s UpdateDataSourceOutput) GoString() string { type UpdateIndexInput struct { _ struct{} `type:"structure"` - // Sets the number of addtional storage and query capacity units that should + // Sets the number of additional storage and query capacity units that should // be used by the index. You can change the capacity of the index up to 5 times // per day. // @@ -13475,6 +13522,22 @@ func ScoreConfidence_Values() []string { } } +const ( + // ServiceNowAuthenticationTypeHttpBasic is a ServiceNowAuthenticationType enum value + ServiceNowAuthenticationTypeHttpBasic = "HTTP_BASIC" + + // ServiceNowAuthenticationTypeOauth2 is a ServiceNowAuthenticationType enum value + ServiceNowAuthenticationTypeOauth2 = "OAUTH2" +) + +// ServiceNowAuthenticationType_Values returns all elements of the ServiceNowAuthenticationType enum +func ServiceNowAuthenticationType_Values() []string { + return []string{ + ServiceNowAuthenticationTypeHttpBasic, + ServiceNowAuthenticationTypeOauth2, + } +} + const ( // ServiceNowBuildVersionTypeLondon is a ServiceNowBuildVersionType enum value ServiceNowBuildVersionTypeLondon = "LONDON" diff --git a/service/lexmodelbuildingservice/api.go b/service/lexmodelbuildingservice/api.go index 86cde3d2917..4fdba3fb058 100644 --- a/service/lexmodelbuildingservice/api.go +++ b/service/lexmodelbuildingservice/api.go @@ -13100,6 +13100,9 @@ const ( // LocaleItIt is a Locale enum value LocaleItIt = "it-IT" + + // LocaleJaJp is a Locale enum value + LocaleJaJp = "ja-JP" ) // Locale_Values returns all elements of the Locale enum @@ -13115,6 +13118,7 @@ func Locale_Values() []string { LocaleFrFr, LocaleFrCa, LocaleItIt, + LocaleJaJp, } } diff --git a/service/lexruntimeservice/api.go b/service/lexruntimeservice/api.go index feb0bf96b81..e8ad5bac67d 100644 --- a/service/lexruntimeservice/api.go +++ b/service/lexruntimeservice/api.go @@ -2265,15 +2265,59 @@ type PostContentOutput struct { // The text used to process the request. // + // If the input was an audio stream, the encodedInputTranscript field contains + // the text extracted from the audio stream. This is the text that is actually + // processed to recognize intents and slot values. You can use this information + // to determine if Amazon Lex is correctly processing the audio that you send. + // + // The encodedInputTranscript field is base-64 encoded. You must decode the + // field before you can use the value. + EncodedInputTranscript *string `location:"header" locationName:"x-amz-lex-encoded-input-transcript" type:"string" sensitive:"true"` + + // The message to convey to the user. The message can come from the bot's configuration + // or from a Lambda function. + // + // If the intent is not configured with a Lambda function, or if the Lambda + // function returned Delegate as the dialogAction.type in its response, Amazon + // Lex decides on the next course of action and selects an appropriate message + // from the bot's configuration based on the current interaction context. For + // example, if Amazon Lex isn't able to understand user input, it uses a clarification + // prompt message. + // + // When you create an intent you can assign messages to groups. When messages + // are assigned to groups Amazon Lex returns one message from each group in + // the response. The message field is an escaped JSON string containing the + // messages. For more information about the structure of the JSON string returned, + // see msg-prompts-formats. + // + // If the Lambda function returns a message, Amazon Lex passes it to the client + // in its response. + // + // The encodedMessage field is base-64 encoded. You must decode the field before + // you can use the value. + EncodedMessage *string `location:"header" locationName:"x-amz-lex-encoded-message" min:"1" type:"string" sensitive:"true"` + + // The text used to process the request. + // + // You can use this field only in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, + // es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the inputTranscript + // field is null. You should use the encodedInputTranscript field instead. + // // If the input was an audio stream, the inputTranscript field contains the // text extracted from the audio stream. This is the text that is actually processed // to recognize intents and slot values. You can use this information to determine // if Amazon Lex is correctly processing the audio that you send. - InputTranscript *string `location:"header" locationName:"x-amz-lex-input-transcript" type:"string"` + // + // Deprecated: The inputTranscript field is deprecated, use the encodedInputTranscript field instead. The inputTranscript field is available only in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR and it-IT locales. + InputTranscript *string `location:"header" locationName:"x-amz-lex-input-transcript" deprecated:"true" type:"string"` // Current user intent that Amazon Lex is aware of. IntentName *string `location:"header" locationName:"x-amz-lex-intent-name" type:"string"` + // You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, + // es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the message + // field is null. You should use the encodedMessage field instead. + // // The message to convey to the user. The message can come from the bot's configuration // or from a Lambda function. // @@ -2292,7 +2336,9 @@ type PostContentOutput struct { // // If the Lambda function returns a message, Amazon Lex passes it to the client // in its response. - Message *string `location:"header" locationName:"x-amz-lex-message" min:"1" type:"string" sensitive:"true"` + // + // Deprecated: The message field is deprecated, use the encodedMessage field instead. The message field is available only in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR and it-IT locales. + Message *string `location:"header" locationName:"x-amz-lex-message" min:"1" deprecated:"true" type:"string" sensitive:"true"` // The format of the response message. One of the following values: // @@ -2391,6 +2437,18 @@ func (s *PostContentOutput) SetDialogState(v string) *PostContentOutput { return s } +// SetEncodedInputTranscript sets the EncodedInputTranscript field's value. +func (s *PostContentOutput) SetEncodedInputTranscript(v string) *PostContentOutput { + s.EncodedInputTranscript = &v + return s +} + +// SetEncodedMessage sets the EncodedMessage field's value. +func (s *PostContentOutput) SetEncodedMessage(v string) *PostContentOutput { + s.EncodedMessage = &v + return s +} + // SetInputTranscript sets the InputTranscript field's value. func (s *PostContentOutput) SetInputTranscript(v string) *PostContentOutput { s.InputTranscript = &v @@ -3107,11 +3165,23 @@ type PutSessionOutput struct { // * ReadyForFulfillment - Conveys that the client has to fulfill the intent. DialogState *string `location:"header" locationName:"x-amz-lex-dialog-state" type:"string" enum:"DialogState"` + // The next message that should be presented to the user. + // + // The encodedMessage field is base-64 encoded. You must decode the field before + // you can use the value. + EncodedMessage *string `location:"header" locationName:"x-amz-lex-encoded-message" min:"1" type:"string" sensitive:"true"` + // The name of the current intent. IntentName *string `location:"header" locationName:"x-amz-lex-intent-name" type:"string"` // The next message that should be presented to the user. - Message *string `location:"header" locationName:"x-amz-lex-message" min:"1" type:"string" sensitive:"true"` + // + // You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, + // es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the message + // field is null. You should use the encodedMessage field instead. + // + // Deprecated: The message field is deprecated, use the encodedMessage field instead. The message field is available only in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR and it-IT locales. + Message *string `location:"header" locationName:"x-amz-lex-message" min:"1" deprecated:"true" type:"string" sensitive:"true"` // The format of the response message. One of the following values: // @@ -3184,6 +3254,12 @@ func (s *PutSessionOutput) SetDialogState(v string) *PutSessionOutput { return s } +// SetEncodedMessage sets the EncodedMessage field's value. +func (s *PutSessionOutput) SetEncodedMessage(v string) *PutSessionOutput { + s.EncodedMessage = &v + return s +} + // SetIntentName sets the IntentName field's value. func (s *PutSessionOutput) SetIntentName(v string) *PutSessionOutput { s.IntentName = &v diff --git a/service/lightsail/api.go b/service/lightsail/api.go index f5b34edbcd6..bee9902bfae 100644 --- a/service/lightsail/api.go +++ b/service/lightsail/api.go @@ -17664,23 +17664,33 @@ type ContainerService struct { // The current state of the container service. // - // The state can be: + // The following container service states are possible: // - // * Pending - The container service is being created. + // * PENDING - The container service is being created. // - // * Ready - The container service is created but does not have a container - // deployment. + // * READY - The container service is running but it does not have an active + // container deployment. + // + // * DEPLOYING - The container service is launching a container deployment. // - // * Disabled - The container service is disabled. + // * RUNNING - The container service is running and it has an active container + // deployment. // - // * Updating - The container service capacity or other setting is being - // updated. + // * UPDATING - The container service capacity or its custom domains are + // being updated. // - // * Deploying - The container service is launching a container deployment. + // * DELETING - The container service is being deleted. // - // * Running - The container service is created and it has a container deployment. + // * DISABLED - The container service is disabled, and its active deployment + // and containers, if any, are shut down. State *string `locationName:"state" type:"string" enum:"ContainerServiceState"` + // An object that describes the current state of the container service. + // + // The state detail is populated only when a container service is in a PENDING, + // DEPLOYING, or UPDATING state. + StateDetail *ContainerServiceStateDetail `locationName:"stateDetail" type:"structure"` + // The tag keys and optional values for the resource. For more information about // tags in Lightsail, see the Lightsail Dev Guide (https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags). Tags []*Tag `locationName:"tags" type:"list"` @@ -17792,6 +17802,12 @@ func (s *ContainerService) SetState(v string) *ContainerService { return s } +// SetStateDetail sets the StateDetail field's value. +func (s *ContainerService) SetStateDetail(v *ContainerServiceStateDetail) *ContainerService { + s.StateDetail = v + return s +} + // SetTags sets the Tags field's value. func (s *ContainerService) SetTags(v []*Tag) *ContainerService { s.Tags = v @@ -18224,6 +18240,61 @@ func (s *ContainerServiceRegistryLogin) SetUsername(v string) *ContainerServiceR return s } +// Describes the current state of a container service. +type ContainerServiceStateDetail struct { + _ struct{} `type:"structure"` + + // The state code of the container service. + // + // The following state codes are possible: + // + // * The following state codes are possible if your container service is + // in a DEPLOYING or UPDATING state: CREATING_SYSTEM_RESOURCES - The system + // resources for your container service are being created. CREATING_NETWORK_INFRASTRUCTURE + // - The network infrastructure for your container service are being created. + // PROVISIONING_CERTIFICATE - The SSL/TLS certificate for your container + // service is being created. PROVISIONING_SERVICE - Your container service + // is being provisioned. CREATING_DEPLOYMENT - Your deployment is being created + // on your container service. EVALUATING_HEALTH_CHECK - The health of your + // deployment is being evaluated. ACTIVATING_DEPLOYMENT - Your deployment + // is being activated. + // + // * The following state codes are possible if your container service is + // in a PENDING state: CERTIFICATE_LIMIT_EXCEEDED - The SSL/TLS certificate + // required for your container service exceeds the maximum number of certificates + // allowed for your account. UNKNOWN_ERROR - An error was experienced when + // your container service was being created. + Code *string `locationName:"code" type:"string" enum:"ContainerServiceStateDetailCode"` + + // A message that provides more information for the state code. + // + // The state detail is populated only when a container service is in a PENDING, + // DEPLOYING, or UPDATING state. + Message *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ContainerServiceStateDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ContainerServiceStateDetail) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ContainerServiceStateDetail) SetCode(v string) *ContainerServiceStateDetail { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ContainerServiceStateDetail) SetMessage(v string) *ContainerServiceStateDetail { + s.Message = &v + return s +} + // Describes whether an Amazon Lightsail content delivery network (CDN) distribution // forwards cookies to the origin and, if so, which ones. // @@ -36260,6 +36331,9 @@ const ( // ContainerServiceStateDisabled is a ContainerServiceState enum value ContainerServiceStateDisabled = "DISABLED" + + // ContainerServiceStateDeploying is a ContainerServiceState enum value + ContainerServiceStateDeploying = "DEPLOYING" ) // ContainerServiceState_Values returns all elements of the ContainerServiceState enum @@ -36271,6 +36345,51 @@ func ContainerServiceState_Values() []string { ContainerServiceStateUpdating, ContainerServiceStateDeleting, ContainerServiceStateDisabled, + ContainerServiceStateDeploying, + } +} + +const ( + // ContainerServiceStateDetailCodeCreatingSystemResources is a ContainerServiceStateDetailCode enum value + ContainerServiceStateDetailCodeCreatingSystemResources = "CREATING_SYSTEM_RESOURCES" + + // ContainerServiceStateDetailCodeCreatingNetworkInfrastructure is a ContainerServiceStateDetailCode enum value + ContainerServiceStateDetailCodeCreatingNetworkInfrastructure = "CREATING_NETWORK_INFRASTRUCTURE" + + // ContainerServiceStateDetailCodeProvisioningCertificate is a ContainerServiceStateDetailCode enum value + ContainerServiceStateDetailCodeProvisioningCertificate = "PROVISIONING_CERTIFICATE" + + // ContainerServiceStateDetailCodeProvisioningService is a ContainerServiceStateDetailCode enum value + ContainerServiceStateDetailCodeProvisioningService = "PROVISIONING_SERVICE" + + // ContainerServiceStateDetailCodeCreatingDeployment is a ContainerServiceStateDetailCode enum value + ContainerServiceStateDetailCodeCreatingDeployment = "CREATING_DEPLOYMENT" + + // ContainerServiceStateDetailCodeEvaluatingHealthCheck is a ContainerServiceStateDetailCode enum value + ContainerServiceStateDetailCodeEvaluatingHealthCheck = "EVALUATING_HEALTH_CHECK" + + // ContainerServiceStateDetailCodeActivatingDeployment is a ContainerServiceStateDetailCode enum value + ContainerServiceStateDetailCodeActivatingDeployment = "ACTIVATING_DEPLOYMENT" + + // ContainerServiceStateDetailCodeCertificateLimitExceeded is a ContainerServiceStateDetailCode enum value + ContainerServiceStateDetailCodeCertificateLimitExceeded = "CERTIFICATE_LIMIT_EXCEEDED" + + // ContainerServiceStateDetailCodeUnknownError is a ContainerServiceStateDetailCode enum value + ContainerServiceStateDetailCodeUnknownError = "UNKNOWN_ERROR" +) + +// ContainerServiceStateDetailCode_Values returns all elements of the ContainerServiceStateDetailCode enum +func ContainerServiceStateDetailCode_Values() []string { + return []string{ + ContainerServiceStateDetailCodeCreatingSystemResources, + ContainerServiceStateDetailCodeCreatingNetworkInfrastructure, + ContainerServiceStateDetailCodeProvisioningCertificate, + ContainerServiceStateDetailCodeProvisioningService, + ContainerServiceStateDetailCodeCreatingDeployment, + ContainerServiceStateDetailCodeEvaluatingHealthCheck, + ContainerServiceStateDetailCodeActivatingDeployment, + ContainerServiceStateDetailCodeCertificateLimitExceeded, + ContainerServiceStateDetailCodeUnknownError, } } diff --git a/service/mediaconvert/api.go b/service/mediaconvert/api.go index 86211a3d810..ea98ed0c45f 100644 --- a/service/mediaconvert/api.go +++ b/service/mediaconvert/api.go @@ -2690,10 +2690,34 @@ type Ac3Settings struct { // dialnorm will be passed through. Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` - // If set to FILM_STANDARD, adds dynamic range compression signaling to the - // output bitstream as defined in the Dolby Digital specification. + // Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert + // uses when encoding the metadata in the Dolby Digital stream for the line + // operating mode. Related setting: When you use this setting, MediaConvert + // ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). + // For information about the Dolby Digital DRC operating modes and profiles, + // see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf. + DynamicRangeCompressionLine *string `locationName:"dynamicRangeCompressionLine" type:"string" enum:"Ac3DynamicRangeCompressionLine"` + + // When you want to add Dolby dynamic range compression (DRC) signaling to your + // output stream, we recommend that you use the mode-specific settings instead + // of Dynamic range compression profile (DynamicRangeCompressionProfile). The + // mode-specific settings are Dynamic range compression profile, line mode (dynamicRangeCompressionLine) + // and Dynamic range compression profile, RF mode (dynamicRangeCompressionRf). + // Note that when you specify values for all three settings, MediaConvert ignores + // the value of this setting in favor of the mode-specific settings. If you + // do use this setting instead of the mode-specific settings, choose None (NONE) + // to leave out DRC signaling. Keep the default Film standard (FILM_STANDARD) + // to set the profile to Dolby's film standard profile for all operating modes. DynamicRangeCompressionProfile *string `locationName:"dynamicRangeCompressionProfile" type:"string" enum:"Ac3DynamicRangeCompressionProfile"` + // Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert + // uses when encoding the metadata in the Dolby Digital stream for the RF operating + // mode. Related setting: When you use this setting, MediaConvert ignores any + // value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). + // For information about the Dolby Digital DRC operating modes and profiles, + // see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf. + DynamicRangeCompressionRf *string `locationName:"dynamicRangeCompressionRf" type:"string" enum:"Ac3DynamicRangeCompressionRf"` + // Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only // valid with 3_2_LFE coding mode. LfeFilter *string `locationName:"lfeFilter" type:"string" enum:"Ac3LfeFilter"` @@ -2760,12 +2784,24 @@ func (s *Ac3Settings) SetDialnorm(v int64) *Ac3Settings { return s } +// SetDynamicRangeCompressionLine sets the DynamicRangeCompressionLine field's value. +func (s *Ac3Settings) SetDynamicRangeCompressionLine(v string) *Ac3Settings { + s.DynamicRangeCompressionLine = &v + return s +} + // SetDynamicRangeCompressionProfile sets the DynamicRangeCompressionProfile field's value. func (s *Ac3Settings) SetDynamicRangeCompressionProfile(v string) *Ac3Settings { s.DynamicRangeCompressionProfile = &v return s } +// SetDynamicRangeCompressionRf sets the DynamicRangeCompressionRf field's value. +func (s *Ac3Settings) SetDynamicRangeCompressionRf(v string) *Ac3Settings { + s.DynamicRangeCompressionRf = &v + return s +} + // SetLfeFilter sets the LfeFilter field's value. func (s *Ac3Settings) SetLfeFilter(v string) *Ac3Settings { s.LfeFilter = &v @@ -4912,6 +4948,9 @@ type CaptionDestinationSettings struct { // Settings specific to TTML caption outputs, including Pass style information // (TtmlStylePassthrough). TtmlDestinationSettings *TtmlDestinationSettings `locationName:"ttmlDestinationSettings" type:"structure"` + + // WEBVTT Destination Settings + WebvttDestinationSettings *WebvttDestinationSettings `locationName:"webvttDestinationSettings" type:"structure"` } // String returns the string representation @@ -5002,6 +5041,12 @@ func (s *CaptionDestinationSettings) SetTtmlDestinationSettings(v *TtmlDestinati return s } +// SetWebvttDestinationSettings sets the WebvttDestinationSettings field's value. +func (s *CaptionDestinationSettings) SetWebvttDestinationSettings(v *WebvttDestinationSettings) *CaptionDestinationSettings { + s.WebvttDestinationSettings = v + return s +} + // Set up captions in your outputs by first selecting them from your input here. type CaptionSelector struct { _ struct{} `type:"structure"` @@ -5149,9 +5194,10 @@ type CaptionSourceSettings struct { // Settings for embedded captions Source EmbeddedSourceSettings *EmbeddedSourceSettings `locationName:"embeddedSourceSettings" type:"structure"` - // If your input captions are SCC, SMI, SRT, STL, TTML, or IMSC 1.1 in an xml - // file, specify the URI of the input caption source file. If your caption source - // is IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings. + // If your input captions are SCC, SMI, SRT, STL, TTML, WebVTT, or IMSC 1.1 + // in an xml file, specify the URI of the input caption source file. If your + // caption source is IMSC in an IMF package, use TrackSourceSettings instead + // of FileSoureSettings. FileSourceSettings *FileSourceSettings `locationName:"fileSourceSettings" type:"structure"` // Use Source (SourceType) to identify the format of your input captions. The @@ -5523,6 +5569,17 @@ type CmafGroupSettings struct { // control (SegmentControl) to Single file (SINGLE_FILE). MpdProfile *string `locationName:"mpdProfile" type:"string" enum:"CmafMpdProfile"` + // Use this setting only when your output video stream has B-frames, which causes + // the initial presentation time stamp (PTS) to be offset from the initial decode + // time stamp (DTS). Specify how MediaConvert handles PTS when writing time + // stamps in output DASH manifests. Choose Match initial PTS (MATCH_INITIAL_PTS) + // when you want MediaConvert to use the initial PTS as the first time stamp + // in the manifest. Choose Zero-based (ZERO_BASED) to have MediaConvert ignore + // the initial PTS in the video stream and instead write the initial time stamp + // as zero in the manifest. For outputs that don't have B-frames, the time stamps + // in your DASH manifests start at zero regardless of your choice here. + PtsOffsetHandlingForBFrames *string `locationName:"ptsOffsetHandlingForBFrames" type:"string" enum:"CmafPtsOffsetHandlingForBFrames"` + // When set to SINGLE_FILE, a single output file is generated, which is internally // segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, // separate segment files will be created. @@ -5676,6 +5733,12 @@ func (s *CmafGroupSettings) SetMpdProfile(v string) *CmafGroupSettings { return s } +// SetPtsOffsetHandlingForBFrames sets the PtsOffsetHandlingForBFrames field's value. +func (s *CmafGroupSettings) SetPtsOffsetHandlingForBFrames(v string) *CmafGroupSettings { + s.PtsOffsetHandlingForBFrames = &v + return s +} + // SetSegmentControl sets the SegmentControl field's value. func (s *CmafGroupSettings) SetSegmentControl(v string) *CmafGroupSettings { s.SegmentControl = &v @@ -5731,6 +5794,58 @@ type CmfcSettings struct { // between audio and video duration will depend on your output audio codec. AudioDuration *string `locationName:"audioDuration" type:"string" enum:"CmfcAudioDuration"` + // Specify the audio rendition group for this audio rendition. Specify up to + // one value for each audio output in your output group. This value appears + // in your HLS parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the + // value for the GROUP-ID attribute. For example, if you specify "audio_aac_1" + // for Audio group ID, it appears in your manifest like this: #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio_aac_1". + // Related setting: To associate the rendition group that this audio track belongs + // to with a video rendition, include the same value that you provide here for + // that video output's setting Audio rendition sets (audioRenditionSets). + AudioGroupId *string `locationName:"audioGroupId" type:"string"` + + // List the audio rendition groups that you want included with this video rendition. + // Use a comma-separated list. For example, say you want to include the audio + // rendition groups that have the audio group IDs "audio_aac_1" and "audio_dolby". + // Then you would specify this value: "audio_aac_1, audio_dolby". Related setting: + // The rendition groups that you include in your comma-separated list should + // all match values that you specify in the setting Audio group ID (AudioGroupId) + // for audio renditions in the same output group as this video rendition. Default + // behavior: If you don't specify anything here and for Audio group ID, MediaConvert + // puts each audio variant in its own audio rendition group and associates it + // with every video variant. Each value in your list appears in your HLS parent + // manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO attribute. + // To continue the previous example, say that the file name for the child manifest + // for your video rendition is "amazing_video_1.m3u8". Then, in your parent + // manifest, each value will appear on separate lines, like this: #EXT-X-STREAM-INF:AUDIO="audio_aac_1"... + // amazing_video_1.m3u8 #EXT-X-STREAM-INF:AUDIO="audio_dolby"... amazing_video_1.m3u8 + AudioRenditionSets *string `locationName:"audioRenditionSets" type:"string"` + + // Use this setting to control the values that MediaConvert puts in your HLS + // parent playlist to control how the client player selects which audio track + // to play. The other options for this setting determine the values that MediaConvert + // writes for the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry + // for the audio variant. For more information about these attributes, see the + // Apple documentation article https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. + // Choose Alternate audio, auto select, default (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) + // to set DEFAULT=YES and AUTOSELECT=YES. Choose this value for only one variant + // in your output group. Choose Alternate audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) + // to set DEFAULT=NO and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select + // to set DEFAULT=NO and AUTOSELECT=NO. When you don't specify a value for this + // setting, MediaConvert defaults to Alternate audio, auto select, default. + // When there is more than one variant in your output group, you must explicitly + // choose a value for this setting. + AudioTrackType *string `locationName:"audioTrackType" type:"string" enum:"CmfcAudioTrackType"` + + // Specify whether to flag this audio track as descriptive video service (DVS) + // in your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes + // the parameter CHARACTERISTICS="public.accessibility.describes-video" in the + // EXT-X-MEDIA entry for this track. When you keep the default choice, Don't + // flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can + // help with accessibility on Apple devices. For more information, see the Apple + // documentation. + DescriptiveVideoServiceFlag *string `locationName:"descriptiveVideoServiceFlag" type:"string" enum:"CmfcDescriptiveVideoServiceFlag"` + // Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest // that lists only the I-frames for this rendition, in addition to your regular // manifest for this rendition. You might use this manifest as part of a workflow @@ -5769,6 +5884,30 @@ func (s *CmfcSettings) SetAudioDuration(v string) *CmfcSettings { return s } +// SetAudioGroupId sets the AudioGroupId field's value. +func (s *CmfcSettings) SetAudioGroupId(v string) *CmfcSettings { + s.AudioGroupId = &v + return s +} + +// SetAudioRenditionSets sets the AudioRenditionSets field's value. +func (s *CmfcSettings) SetAudioRenditionSets(v string) *CmfcSettings { + s.AudioRenditionSets = &v + return s +} + +// SetAudioTrackType sets the AudioTrackType field's value. +func (s *CmfcSettings) SetAudioTrackType(v string) *CmfcSettings { + s.AudioTrackType = &v + return s +} + +// SetDescriptiveVideoServiceFlag sets the DescriptiveVideoServiceFlag field's value. +func (s *CmfcSettings) SetDescriptiveVideoServiceFlag(v string) *CmfcSettings { + s.DescriptiveVideoServiceFlag = &v + return s +} + // SetIFrameOnlyManifest sets the IFrameOnlyManifest field's value. func (s *CmfcSettings) SetIFrameOnlyManifest(v string) *CmfcSettings { s.IFrameOnlyManifest = &v @@ -6845,6 +6984,17 @@ type DashIsoGroupSettings struct { // of the outputs in the output group, specify a list of them here. AdditionalManifests []*DashAdditionalManifest `locationName:"additionalManifests" type:"list"` + // Use this setting only when your audio codec is a Dolby one (AC3, EAC3, or + // Atmos) and your downstream workflow requires that your DASH manifest use + // the Dolby channel configuration tag, rather than the MPEG one. For example, + // you might need to use this to make dynamic ad insertion work. Specify which + // audio channel configuration scheme ID URI MediaConvert writes in your DASH + // manifest. Keep the default value, MPEG channel configuration (MPEG_CHANNEL_CONFIGURATION), + // to have MediaConvert write this: urn:mpeg:mpegB:cicp:ChannelConfiguration. + // Choose Dolby channel configuration (DOLBY_CHANNEL_CONFIGURATION) to have + // MediaConvert write this instead: tag:dolby.com,2014:dash:audio_channel_configuration:2011. + AudioChannelConfigSchemeIdUri *string `locationName:"audioChannelConfigSchemeIdUri" type:"string" enum:"DashIsoGroupAudioChannelConfigSchemeIdUri"` + // A partial URI prefix that will be put in the manifest (.mpd) file at the // top level BaseURL element. Can be used if streams are delivered from a different // URL than the manifest file. @@ -6900,6 +7050,17 @@ type DashIsoGroupSettings struct { // control (SegmentControl) to Single file (SINGLE_FILE). MpdProfile *string `locationName:"mpdProfile" type:"string" enum:"DashIsoMpdProfile"` + // Use this setting only when your output video stream has B-frames, which causes + // the initial presentation time stamp (PTS) to be offset from the initial decode + // time stamp (DTS). Specify how MediaConvert handles PTS when writing time + // stamps in output DASH manifests. Choose Match initial PTS (MATCH_INITIAL_PTS) + // when you want MediaConvert to use the initial PTS as the first time stamp + // in the manifest. Choose Zero-based (ZERO_BASED) to have MediaConvert ignore + // the initial PTS in the video stream and instead write the initial time stamp + // as zero in the manifest. For outputs that don't have B-frames, the time stamps + // in your DASH manifests start at zero regardless of your choice here. + PtsOffsetHandlingForBFrames *string `locationName:"ptsOffsetHandlingForBFrames" type:"string" enum:"DashIsoPtsOffsetHandlingForBFrames"` + // When set to SINGLE_FILE, a single output file is generated, which is internally // segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, // separate segment files will be created. @@ -6964,6 +7125,12 @@ func (s *DashIsoGroupSettings) SetAdditionalManifests(v []*DashAdditionalManifes return s } +// SetAudioChannelConfigSchemeIdUri sets the AudioChannelConfigSchemeIdUri field's value. +func (s *DashIsoGroupSettings) SetAudioChannelConfigSchemeIdUri(v string) *DashIsoGroupSettings { + s.AudioChannelConfigSchemeIdUri = &v + return s +} + // SetBaseUrl sets the BaseUrl field's value. func (s *DashIsoGroupSettings) SetBaseUrl(v string) *DashIsoGroupSettings { s.BaseUrl = &v @@ -7018,6 +7185,12 @@ func (s *DashIsoGroupSettings) SetMpdProfile(v string) *DashIsoGroupSettings { return s } +// SetPtsOffsetHandlingForBFrames sets the PtsOffsetHandlingForBFrames field's value. +func (s *DashIsoGroupSettings) SetPtsOffsetHandlingForBFrames(v string) *DashIsoGroupSettings { + s.PtsOffsetHandlingForBFrames = &v + return s +} + // SetSegmentControl sets the SegmentControl field's value. func (s *DashIsoGroupSettings) SetSegmentControl(v string) *DashIsoGroupSettings { s.SegmentControl = &v @@ -8198,11 +8371,20 @@ type Eac3Settings struct { // Plus, dialnorm will be passed through. Dialnorm *int64 `locationName:"dialnorm" min:"1" type:"integer"` - // Specify the absolute peak level for a signal with dynamic range compression. + // Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert + // uses when encoding the metadata in the Dolby Digital stream for the line + // operating mode. Related setting: When you use this setting, MediaConvert + // ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). + // For information about the Dolby Digital DRC operating modes and profiles, + // see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf. DynamicRangeCompressionLine *string `locationName:"dynamicRangeCompressionLine" type:"string" enum:"Eac3DynamicRangeCompressionLine"` - // Specify how the service limits the audio dynamic range when compressing the - // audio. + // Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert + // uses when encoding the metadata in the Dolby Digital stream for the RF operating + // mode. Related setting: When you use this setting, MediaConvert ignores any + // value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). + // For information about the Dolby Digital DRC operating modes and profiles, + // see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf. DynamicRangeCompressionRf *string `locationName:"dynamicRangeCompressionRf" type:"string" enum:"Eac3DynamicRangeCompressionRf"` // When encoding 3/2 audio, controls whether the LFE channel is enabled @@ -8775,9 +8957,10 @@ func (s *FileGroupSettings) SetDestinationSettings(v *DestinationSettings) *File return s } -// If your input captions are SCC, SMI, SRT, STL, TTML, or IMSC 1.1 in an xml -// file, specify the URI of the input caption source file. If your caption source -// is IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings. +// If your input captions are SCC, SMI, SRT, STL, TTML, WebVTT, or IMSC 1.1 +// in an xml file, specify the URI of the input caption source file. If your +// caption source is IMSC in an IMF package, use TrackSourceSettings instead +// of FileSoureSettings. type FileSourceSettings struct { _ struct{} `type:"structure"` @@ -8798,7 +8981,7 @@ type FileSourceSettings struct { Framerate *CaptionSourceFramerate `locationName:"framerate" type:"structure"` // External caption file used for loading captions. Accepted file extensions - // are 'scc', 'ttml', 'dfxp', 'stl', 'srt', 'xml', and 'smi'. + // are 'scc', 'ttml', 'dfxp', 'stl', 'srt', 'xml', 'smi', and 'vtt'. SourceFile *string `locationName:"sourceFile" min:"14" type:"string"` // Specifies a time delta in seconds to offset the captions from the source @@ -11338,7 +11521,7 @@ func (s *HlsGroupSettings) SetTimestampDeltaMilliseconds(v int64) *HlsGroupSetti type HlsSettings struct { _ struct{} `type:"structure"` - // Specifies the group to which the audio Rendition belongs. + // Specifies the group to which the audio rendition belongs. AudioGroupId *string `locationName:"audioGroupId" type:"string"` // Use this setting only in audio-only outputs. Choose MPEG-2 Transport Stream @@ -11365,6 +11548,15 @@ type HlsSettings struct { // DEFAULT=NO, AUTOSELECT=NO AudioTrackType *string `locationName:"audioTrackType" type:"string" enum:"HlsAudioTrackType"` + // Specify whether to flag this audio track as descriptive video service (DVS) + // in your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes + // the parameter CHARACTERISTICS="public.accessibility.describes-video" in the + // EXT-X-MEDIA entry for this track. When you keep the default choice, Don't + // flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can + // help with accessibility on Apple devices. For more information, see the Apple + // documentation. + DescriptiveVideoServiceFlag *string `locationName:"descriptiveVideoServiceFlag" type:"string" enum:"HlsDescriptiveVideoServiceFlag"` + // Choose Include (INCLUDE) to have MediaConvert generate a child manifest that // lists only the I-frames for this rendition, in addition to your regular manifest // for this rendition. You might use this manifest as part of a workflow that @@ -11415,6 +11607,12 @@ func (s *HlsSettings) SetAudioTrackType(v string) *HlsSettings { return s } +// SetDescriptiveVideoServiceFlag sets the DescriptiveVideoServiceFlag field's value. +func (s *HlsSettings) SetDescriptiveVideoServiceFlag(v string) *HlsSettings { + s.DescriptiveVideoServiceFlag = &v + return s +} + // SetIFrameOnlyManifest sets the IFrameOnlyManifest field's value. func (s *HlsSettings) SetIFrameOnlyManifest(v string) *HlsSettings { s.IFrameOnlyManifest = &v @@ -18885,7 +19083,7 @@ type TtmlDestinationSettings struct { _ struct{} `type:"structure"` // Pass through style and position information from a TTML-like input source - // (TTML, SMPTE-TT) to the TTML output. + // (TTML, IMSC, SMPTE-TT) to the TTML output. StylePassthrough *string `locationName:"stylePassthrough" type:"string" enum:"TtmlStylePassthrough"` } @@ -20830,6 +21028,32 @@ func (s *WavSettings) SetSampleRate(v int64) *WavSettings { return s } +// WEBVTT Destination Settings +type WebvttDestinationSettings struct { + _ struct{} `type:"structure"` + + // If your input captions format is teletext or teletext inside of STL, enable + // this setting to pass through style, color, and position information to your + // WebVTT output captions. + StylePassthrough *string `locationName:"stylePassthrough" type:"string" enum:"WebvttStylePassthrough"` +} + +// String returns the string representation +func (s WebvttDestinationSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WebvttDestinationSettings) GoString() string { + return s.String() +} + +// SetStylePassthrough sets the StylePassthrough field's value. +func (s *WebvttDestinationSettings) SetStylePassthrough(v string) *WebvttDestinationSettings { + s.StylePassthrough = &v + return s +} + // Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio // + audio description (AD) as a stereo pair. The value for AudioType will be // set to 3, which signals to downstream systems that this stream contains "broadcaster @@ -21055,8 +21279,54 @@ func Ac3CodingMode_Values() []string { } } -// If set to FILM_STANDARD, adds dynamic range compression signaling to the -// output bitstream as defined in the Dolby Digital specification. +// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert +// uses when encoding the metadata in the Dolby Digital stream for the line +// operating mode. Related setting: When you use this setting, MediaConvert +// ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). +// For information about the Dolby Digital DRC operating modes and profiles, +// see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf. +const ( + // Ac3DynamicRangeCompressionLineFilmStandard is a Ac3DynamicRangeCompressionLine enum value + Ac3DynamicRangeCompressionLineFilmStandard = "FILM_STANDARD" + + // Ac3DynamicRangeCompressionLineFilmLight is a Ac3DynamicRangeCompressionLine enum value + Ac3DynamicRangeCompressionLineFilmLight = "FILM_LIGHT" + + // Ac3DynamicRangeCompressionLineMusicStandard is a Ac3DynamicRangeCompressionLine enum value + Ac3DynamicRangeCompressionLineMusicStandard = "MUSIC_STANDARD" + + // Ac3DynamicRangeCompressionLineMusicLight is a Ac3DynamicRangeCompressionLine enum value + Ac3DynamicRangeCompressionLineMusicLight = "MUSIC_LIGHT" + + // Ac3DynamicRangeCompressionLineSpeech is a Ac3DynamicRangeCompressionLine enum value + Ac3DynamicRangeCompressionLineSpeech = "SPEECH" + + // Ac3DynamicRangeCompressionLineNone is a Ac3DynamicRangeCompressionLine enum value + Ac3DynamicRangeCompressionLineNone = "NONE" +) + +// Ac3DynamicRangeCompressionLine_Values returns all elements of the Ac3DynamicRangeCompressionLine enum +func Ac3DynamicRangeCompressionLine_Values() []string { + return []string{ + Ac3DynamicRangeCompressionLineFilmStandard, + Ac3DynamicRangeCompressionLineFilmLight, + Ac3DynamicRangeCompressionLineMusicStandard, + Ac3DynamicRangeCompressionLineMusicLight, + Ac3DynamicRangeCompressionLineSpeech, + Ac3DynamicRangeCompressionLineNone, + } +} + +// When you want to add Dolby dynamic range compression (DRC) signaling to your +// output stream, we recommend that you use the mode-specific settings instead +// of Dynamic range compression profile (DynamicRangeCompressionProfile). The +// mode-specific settings are Dynamic range compression profile, line mode (dynamicRangeCompressionLine) +// and Dynamic range compression profile, RF mode (dynamicRangeCompressionRf). +// Note that when you specify values for all three settings, MediaConvert ignores +// the value of this setting in favor of the mode-specific settings. If you +// do use this setting instead of the mode-specific settings, choose None (NONE) +// to leave out DRC signaling. Keep the default Film standard (FILM_STANDARD) +// to set the profile to Dolby's film standard profile for all operating modes. const ( // Ac3DynamicRangeCompressionProfileFilmStandard is a Ac3DynamicRangeCompressionProfile enum value Ac3DynamicRangeCompressionProfileFilmStandard = "FILM_STANDARD" @@ -21073,6 +21343,44 @@ func Ac3DynamicRangeCompressionProfile_Values() []string { } } +// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert +// uses when encoding the metadata in the Dolby Digital stream for the RF operating +// mode. Related setting: When you use this setting, MediaConvert ignores any +// value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). +// For information about the Dolby Digital DRC operating modes and profiles, +// see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf. +const ( + // Ac3DynamicRangeCompressionRfFilmStandard is a Ac3DynamicRangeCompressionRf enum value + Ac3DynamicRangeCompressionRfFilmStandard = "FILM_STANDARD" + + // Ac3DynamicRangeCompressionRfFilmLight is a Ac3DynamicRangeCompressionRf enum value + Ac3DynamicRangeCompressionRfFilmLight = "FILM_LIGHT" + + // Ac3DynamicRangeCompressionRfMusicStandard is a Ac3DynamicRangeCompressionRf enum value + Ac3DynamicRangeCompressionRfMusicStandard = "MUSIC_STANDARD" + + // Ac3DynamicRangeCompressionRfMusicLight is a Ac3DynamicRangeCompressionRf enum value + Ac3DynamicRangeCompressionRfMusicLight = "MUSIC_LIGHT" + + // Ac3DynamicRangeCompressionRfSpeech is a Ac3DynamicRangeCompressionRf enum value + Ac3DynamicRangeCompressionRfSpeech = "SPEECH" + + // Ac3DynamicRangeCompressionRfNone is a Ac3DynamicRangeCompressionRf enum value + Ac3DynamicRangeCompressionRfNone = "NONE" +) + +// Ac3DynamicRangeCompressionRf_Values returns all elements of the Ac3DynamicRangeCompressionRf enum +func Ac3DynamicRangeCompressionRf_Values() []string { + return []string{ + Ac3DynamicRangeCompressionRfFilmStandard, + Ac3DynamicRangeCompressionRfFilmLight, + Ac3DynamicRangeCompressionRfMusicStandard, + Ac3DynamicRangeCompressionRfMusicLight, + Ac3DynamicRangeCompressionRfSpeech, + Ac3DynamicRangeCompressionRfNone, + } +} + // Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only // valid with 3_2_LFE coding mode. const ( @@ -22222,6 +22530,9 @@ const ( // CaptionSourceTypeImsc is a CaptionSourceType enum value CaptionSourceTypeImsc = "IMSC" + + // CaptionSourceTypeWebvtt is a CaptionSourceType enum value + CaptionSourceTypeWebvtt = "WEBVTT" ) // CaptionSourceType_Values returns all elements of the CaptionSourceType enum @@ -22240,6 +22551,7 @@ func CaptionSourceType_Values() []string { CaptionSourceTypeTeletext, CaptionSourceTypeNullSource, CaptionSourceTypeImsc, + CaptionSourceTypeWebvtt, } } @@ -22392,6 +22704,31 @@ func CmafMpdProfile_Values() []string { } } +// Use this setting only when your output video stream has B-frames, which causes +// the initial presentation time stamp (PTS) to be offset from the initial decode +// time stamp (DTS). Specify how MediaConvert handles PTS when writing time +// stamps in output DASH manifests. Choose Match initial PTS (MATCH_INITIAL_PTS) +// when you want MediaConvert to use the initial PTS as the first time stamp +// in the manifest. Choose Zero-based (ZERO_BASED) to have MediaConvert ignore +// the initial PTS in the video stream and instead write the initial time stamp +// as zero in the manifest. For outputs that don't have B-frames, the time stamps +// in your DASH manifests start at zero regardless of your choice here. +const ( + // CmafPtsOffsetHandlingForBFramesZeroBased is a CmafPtsOffsetHandlingForBFrames enum value + CmafPtsOffsetHandlingForBFramesZeroBased = "ZERO_BASED" + + // CmafPtsOffsetHandlingForBFramesMatchInitialPts is a CmafPtsOffsetHandlingForBFrames enum value + CmafPtsOffsetHandlingForBFramesMatchInitialPts = "MATCH_INITIAL_PTS" +) + +// CmafPtsOffsetHandlingForBFrames_Values returns all elements of the CmafPtsOffsetHandlingForBFrames enum +func CmafPtsOffsetHandlingForBFrames_Values() []string { + return []string{ + CmafPtsOffsetHandlingForBFramesZeroBased, + CmafPtsOffsetHandlingForBFramesMatchInitialPts, + } +} + // When set to SINGLE_FILE, a single output file is generated, which is internally // segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, // separate segment files will be created. @@ -22514,6 +22851,63 @@ func CmfcAudioDuration_Values() []string { } } +// Use this setting to control the values that MediaConvert puts in your HLS +// parent playlist to control how the client player selects which audio track +// to play. The other options for this setting determine the values that MediaConvert +// writes for the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry +// for the audio variant. For more information about these attributes, see the +// Apple documentation article https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. +// Choose Alternate audio, auto select, default (ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT) +// to set DEFAULT=YES and AUTOSELECT=YES. Choose this value for only one variant +// in your output group. Choose Alternate audio, auto select, not default (ALTERNATE_AUDIO_AUTO_SELECT) +// to set DEFAULT=NO and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select +// to set DEFAULT=NO and AUTOSELECT=NO. When you don't specify a value for this +// setting, MediaConvert defaults to Alternate audio, auto select, default. +// When there is more than one variant in your output group, you must explicitly +// choose a value for this setting. +const ( + // CmfcAudioTrackTypeAlternateAudioAutoSelectDefault is a CmfcAudioTrackType enum value + CmfcAudioTrackTypeAlternateAudioAutoSelectDefault = "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT" + + // CmfcAudioTrackTypeAlternateAudioAutoSelect is a CmfcAudioTrackType enum value + CmfcAudioTrackTypeAlternateAudioAutoSelect = "ALTERNATE_AUDIO_AUTO_SELECT" + + // CmfcAudioTrackTypeAlternateAudioNotAutoSelect is a CmfcAudioTrackType enum value + CmfcAudioTrackTypeAlternateAudioNotAutoSelect = "ALTERNATE_AUDIO_NOT_AUTO_SELECT" +) + +// CmfcAudioTrackType_Values returns all elements of the CmfcAudioTrackType enum +func CmfcAudioTrackType_Values() []string { + return []string{ + CmfcAudioTrackTypeAlternateAudioAutoSelectDefault, + CmfcAudioTrackTypeAlternateAudioAutoSelect, + CmfcAudioTrackTypeAlternateAudioNotAutoSelect, + } +} + +// Specify whether to flag this audio track as descriptive video service (DVS) +// in your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes +// the parameter CHARACTERISTICS="public.accessibility.describes-video" in the +// EXT-X-MEDIA entry for this track. When you keep the default choice, Don't +// flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can +// help with accessibility on Apple devices. For more information, see the Apple +// documentation. +const ( + // CmfcDescriptiveVideoServiceFlagDontFlag is a CmfcDescriptiveVideoServiceFlag enum value + CmfcDescriptiveVideoServiceFlagDontFlag = "DONT_FLAG" + + // CmfcDescriptiveVideoServiceFlagFlag is a CmfcDescriptiveVideoServiceFlag enum value + CmfcDescriptiveVideoServiceFlagFlag = "FLAG" +) + +// CmfcDescriptiveVideoServiceFlag_Values returns all elements of the CmfcDescriptiveVideoServiceFlag enum +func CmfcDescriptiveVideoServiceFlag_Values() []string { + return []string{ + CmfcDescriptiveVideoServiceFlagDontFlag, + CmfcDescriptiveVideoServiceFlagFlag, + } +} + // Choose Include (INCLUDE) to have MediaConvert generate an HLS child manifest // that lists only the I-frames for this rendition, in addition to your regular // manifest for this rendition. You might use this manifest as part of a workflow @@ -22758,6 +23152,31 @@ func ContainerType_Values() []string { } } +// Use this setting only when your audio codec is a Dolby one (AC3, EAC3, or +// Atmos) and your downstream workflow requires that your DASH manifest use +// the Dolby channel configuration tag, rather than the MPEG one. For example, +// you might need to use this to make dynamic ad insertion work. Specify which +// audio channel configuration scheme ID URI MediaConvert writes in your DASH +// manifest. Keep the default value, MPEG channel configuration (MPEG_CHANNEL_CONFIGURATION), +// to have MediaConvert write this: urn:mpeg:mpegB:cicp:ChannelConfiguration. +// Choose Dolby channel configuration (DOLBY_CHANNEL_CONFIGURATION) to have +// MediaConvert write this instead: tag:dolby.com,2014:dash:audio_channel_configuration:2011. +const ( + // DashIsoGroupAudioChannelConfigSchemeIdUriMpegChannelConfiguration is a DashIsoGroupAudioChannelConfigSchemeIdUri enum value + DashIsoGroupAudioChannelConfigSchemeIdUriMpegChannelConfiguration = "MPEG_CHANNEL_CONFIGURATION" + + // DashIsoGroupAudioChannelConfigSchemeIdUriDolbyChannelConfiguration is a DashIsoGroupAudioChannelConfigSchemeIdUri enum value + DashIsoGroupAudioChannelConfigSchemeIdUriDolbyChannelConfiguration = "DOLBY_CHANNEL_CONFIGURATION" +) + +// DashIsoGroupAudioChannelConfigSchemeIdUri_Values returns all elements of the DashIsoGroupAudioChannelConfigSchemeIdUri enum +func DashIsoGroupAudioChannelConfigSchemeIdUri_Values() []string { + return []string{ + DashIsoGroupAudioChannelConfigSchemeIdUriMpegChannelConfiguration, + DashIsoGroupAudioChannelConfigSchemeIdUriDolbyChannelConfiguration, + } +} + // Supports HbbTV specification as indicated const ( // DashIsoHbbtvComplianceHbbtv15 is a DashIsoHbbtvCompliance enum value @@ -22819,6 +23238,31 @@ func DashIsoPlaybackDeviceCompatibility_Values() []string { } } +// Use this setting only when your output video stream has B-frames, which causes +// the initial presentation time stamp (PTS) to be offset from the initial decode +// time stamp (DTS). Specify how MediaConvert handles PTS when writing time +// stamps in output DASH manifests. Choose Match initial PTS (MATCH_INITIAL_PTS) +// when you want MediaConvert to use the initial PTS as the first time stamp +// in the manifest. Choose Zero-based (ZERO_BASED) to have MediaConvert ignore +// the initial PTS in the video stream and instead write the initial time stamp +// as zero in the manifest. For outputs that don't have B-frames, the time stamps +// in your DASH manifests start at zero regardless of your choice here. +const ( + // DashIsoPtsOffsetHandlingForBFramesZeroBased is a DashIsoPtsOffsetHandlingForBFrames enum value + DashIsoPtsOffsetHandlingForBFramesZeroBased = "ZERO_BASED" + + // DashIsoPtsOffsetHandlingForBFramesMatchInitialPts is a DashIsoPtsOffsetHandlingForBFrames enum value + DashIsoPtsOffsetHandlingForBFramesMatchInitialPts = "MATCH_INITIAL_PTS" +) + +// DashIsoPtsOffsetHandlingForBFrames_Values returns all elements of the DashIsoPtsOffsetHandlingForBFrames enum +func DashIsoPtsOffsetHandlingForBFrames_Values() []string { + return []string{ + DashIsoPtsOffsetHandlingForBFramesZeroBased, + DashIsoPtsOffsetHandlingForBFramesMatchInitialPts, + } +} + // When set to SINGLE_FILE, a single output file is generated, which is internally // segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, // separate segment files will be created. @@ -23490,7 +23934,12 @@ func Eac3DcFilter_Values() []string { } } -// Specify the absolute peak level for a signal with dynamic range compression. +// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert +// uses when encoding the metadata in the Dolby Digital stream for the line +// operating mode. Related setting: When you use this setting, MediaConvert +// ignores any value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). +// For information about the Dolby Digital DRC operating modes and profiles, +// see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf. const ( // Eac3DynamicRangeCompressionLineNone is a Eac3DynamicRangeCompressionLine enum value Eac3DynamicRangeCompressionLineNone = "NONE" @@ -23523,8 +23972,12 @@ func Eac3DynamicRangeCompressionLine_Values() []string { } } -// Specify how the service limits the audio dynamic range when compressing the -// audio. +// Choose the Dolby Digital dynamic range control (DRC) profile that MediaConvert +// uses when encoding the metadata in the Dolby Digital stream for the RF operating +// mode. Related setting: When you use this setting, MediaConvert ignores any +// value you provide for Dynamic range compression profile (DynamicRangeCompressionProfile). +// For information about the Dolby Digital DRC operating modes and profiles, +// see the Dynamic Range Control chapter of the Dolby Metadata Guide at https://developer.dolby.com/globalassets/professional/documents/dolby-metadata-guide.pdf. const ( // Eac3DynamicRangeCompressionRfNone is a Eac3DynamicRangeCompressionRf enum value Eac3DynamicRangeCompressionRfNone = "NONE" @@ -25340,6 +25793,29 @@ func HlsCodecSpecification_Values() []string { } } +// Specify whether to flag this audio track as descriptive video service (DVS) +// in your HLS parent manifest. When you choose Flag (FLAG), MediaConvert includes +// the parameter CHARACTERISTICS="public.accessibility.describes-video" in the +// EXT-X-MEDIA entry for this track. When you keep the default choice, Don't +// flag (DONT_FLAG), MediaConvert leaves this parameter out. The DVS flag can +// help with accessibility on Apple devices. For more information, see the Apple +// documentation. +const ( + // HlsDescriptiveVideoServiceFlagDontFlag is a HlsDescriptiveVideoServiceFlag enum value + HlsDescriptiveVideoServiceFlagDontFlag = "DONT_FLAG" + + // HlsDescriptiveVideoServiceFlagFlag is a HlsDescriptiveVideoServiceFlag enum value + HlsDescriptiveVideoServiceFlagFlag = "FLAG" +) + +// HlsDescriptiveVideoServiceFlag_Values returns all elements of the HlsDescriptiveVideoServiceFlag enum +func HlsDescriptiveVideoServiceFlag_Values() []string { + return []string{ + HlsDescriptiveVideoServiceFlagDontFlag, + HlsDescriptiveVideoServiceFlagFlag, + } +} + // Indicates whether segments should be placed in subdirectories. const ( // HlsDirectoryStructureSingleDirectory is a HlsDirectoryStructure enum value @@ -28790,7 +29266,7 @@ func TimedMetadata_Values() []string { } // Pass through style and position information from a TTML-like input source -// (TTML, SMPTE-TT) to the TTML output. +// (TTML, IMSC, SMPTE-TT) to the TTML output. const ( // TtmlStylePassthroughEnabled is a TtmlStylePassthrough enum value TtmlStylePassthroughEnabled = "ENABLED" @@ -29352,3 +29828,22 @@ func WavFormat_Values() []string { WavFormatRf64, } } + +// If your input captions format is teletext or teletext inside of STL, enable +// this setting to pass through style, color, and position information to your +// WebVTT output captions. +const ( + // WebvttStylePassthroughEnabled is a WebvttStylePassthrough enum value + WebvttStylePassthroughEnabled = "ENABLED" + + // WebvttStylePassthroughDisabled is a WebvttStylePassthrough enum value + WebvttStylePassthroughDisabled = "DISABLED" +) + +// WebvttStylePassthrough_Values returns all elements of the WebvttStylePassthrough enum +func WebvttStylePassthrough_Values() []string { + return []string{ + WebvttStylePassthroughEnabled, + WebvttStylePassthroughDisabled, + } +} diff --git a/service/route53resolver/api.go b/service/route53resolver/api.go index 8b356db5b2a..96ff52be058 100644 --- a/service/route53resolver/api.go +++ b/service/route53resolver/api.go @@ -12,6 +12,103 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) +const opAssociateFirewallRuleGroup = "AssociateFirewallRuleGroup" + +// AssociateFirewallRuleGroupRequest generates a "aws/request.Request" representing the +// client's request for the AssociateFirewallRuleGroup 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 AssociateFirewallRuleGroup for more information on using the AssociateFirewallRuleGroup +// 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 AssociateFirewallRuleGroupRequest method. +// req, resp := client.AssociateFirewallRuleGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateFirewallRuleGroup +func (c *Route53Resolver) AssociateFirewallRuleGroupRequest(input *AssociateFirewallRuleGroupInput) (req *request.Request, output *AssociateFirewallRuleGroupOutput) { + op := &request.Operation{ + Name: opAssociateFirewallRuleGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateFirewallRuleGroupInput{} + } + + output = &AssociateFirewallRuleGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateFirewallRuleGroup API operation for Amazon Route 53 Resolver. +// +// Associates a FirewallRuleGroup with a VPC, to provide DNS filtering for the +// VPC. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation AssociateFirewallRuleGroup for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * ValidationException +// +// * LimitExceededException +// The request caused one or more limits to be exceeded. +// +// * ConflictException +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/AssociateFirewallRuleGroup +func (c *Route53Resolver) AssociateFirewallRuleGroup(input *AssociateFirewallRuleGroupInput) (*AssociateFirewallRuleGroupOutput, error) { + req, out := c.AssociateFirewallRuleGroupRequest(input) + return out, req.Send() +} + +// AssociateFirewallRuleGroupWithContext is the same as AssociateFirewallRuleGroup with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateFirewallRuleGroup 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 *Route53Resolver) AssociateFirewallRuleGroupWithContext(ctx aws.Context, input *AssociateFirewallRuleGroupInput, opts ...request.Option) (*AssociateFirewallRuleGroupOutput, error) { + req, out := c.AssociateFirewallRuleGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAssociateResolverEndpointIpAddress = "AssociateResolverEndpointIpAddress" // AssociateResolverEndpointIpAddressRequest generates a "aws/request.Request" representing the @@ -329,296 +426,257 @@ func (c *Route53Resolver) AssociateResolverRuleWithContext(ctx aws.Context, inpu return out, req.Send() } -const opCreateResolverEndpoint = "CreateResolverEndpoint" +const opCreateFirewallDomainList = "CreateFirewallDomainList" -// CreateResolverEndpointRequest generates a "aws/request.Request" representing the -// client's request for the CreateResolverEndpoint operation. The "output" return +// CreateFirewallDomainListRequest generates a "aws/request.Request" representing the +// client's request for the CreateFirewallDomainList 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 CreateResolverEndpoint for more information on using the CreateResolverEndpoint +// See CreateFirewallDomainList for more information on using the CreateFirewallDomainList // 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 CreateResolverEndpointRequest method. -// req, resp := client.CreateResolverEndpointRequest(params) +// // Example sending a request using the CreateFirewallDomainListRequest method. +// req, resp := client.CreateFirewallDomainListRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverEndpoint -func (c *Route53Resolver) CreateResolverEndpointRequest(input *CreateResolverEndpointInput) (req *request.Request, output *CreateResolverEndpointOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallDomainList +func (c *Route53Resolver) CreateFirewallDomainListRequest(input *CreateFirewallDomainListInput) (req *request.Request, output *CreateFirewallDomainListOutput) { op := &request.Operation{ - Name: opCreateResolverEndpoint, + Name: opCreateFirewallDomainList, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &CreateResolverEndpointInput{} + input = &CreateFirewallDomainListInput{} } - output = &CreateResolverEndpointOutput{} + output = &CreateFirewallDomainListOutput{} req = c.newRequest(op, input, output) return } -// CreateResolverEndpoint API operation for Amazon Route 53 Resolver. -// -// Creates a Resolver endpoint. There are two types of Resolver endpoints, inbound -// and outbound: -// -// * An inbound Resolver endpoint forwards DNS queries to the DNS service -// for a VPC from your network. +// CreateFirewallDomainList API operation for Amazon Route 53 Resolver. // -// * An outbound Resolver endpoint forwards DNS queries from the DNS service -// for a VPC to your network. +// Creates an empty firewall domain list for use in DNS Firewall rules. You +// can populate the domains for the new list with a file, using ImportFirewallDomains, +// or with domain strings, using UpdateFirewallDomains. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation CreateResolverEndpoint for usage and error information. +// API operation CreateFirewallDomainList for usage and error information. // // Returned Error Types: -// * InvalidParameterException -// One or more parameters in this request are not valid. -// -// * ResourceNotFoundException -// The specified resource doesn't exist. -// -// * InvalidRequestException -// The request is invalid. -// -// * ResourceExistsException -// The resource that you tried to create already exists. -// // * LimitExceededException // The request caused one or more limits to be exceeded. // +// * ValidationException +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverEndpoint -func (c *Route53Resolver) CreateResolverEndpoint(input *CreateResolverEndpointInput) (*CreateResolverEndpointOutput, error) { - req, out := c.CreateResolverEndpointRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallDomainList +func (c *Route53Resolver) CreateFirewallDomainList(input *CreateFirewallDomainListInput) (*CreateFirewallDomainListOutput, error) { + req, out := c.CreateFirewallDomainListRequest(input) return out, req.Send() } -// CreateResolverEndpointWithContext is the same as CreateResolverEndpoint with the addition of +// CreateFirewallDomainListWithContext is the same as CreateFirewallDomainList with the addition of // the ability to pass a context and additional request options. // -// See CreateResolverEndpoint for details on how to use this API operation. +// See CreateFirewallDomainList 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 *Route53Resolver) CreateResolverEndpointWithContext(ctx aws.Context, input *CreateResolverEndpointInput, opts ...request.Option) (*CreateResolverEndpointOutput, error) { - req, out := c.CreateResolverEndpointRequest(input) +func (c *Route53Resolver) CreateFirewallDomainListWithContext(ctx aws.Context, input *CreateFirewallDomainListInput, opts ...request.Option) (*CreateFirewallDomainListOutput, error) { + req, out := c.CreateFirewallDomainListRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opCreateResolverQueryLogConfig = "CreateResolverQueryLogConfig" +const opCreateFirewallRule = "CreateFirewallRule" -// CreateResolverQueryLogConfigRequest generates a "aws/request.Request" representing the -// client's request for the CreateResolverQueryLogConfig operation. The "output" return +// CreateFirewallRuleRequest generates a "aws/request.Request" representing the +// client's request for the CreateFirewallRule 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 CreateResolverQueryLogConfig for more information on using the CreateResolverQueryLogConfig +// See CreateFirewallRule for more information on using the CreateFirewallRule // 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 CreateResolverQueryLogConfigRequest method. -// req, resp := client.CreateResolverQueryLogConfigRequest(params) +// // Example sending a request using the CreateFirewallRuleRequest method. +// req, resp := client.CreateFirewallRuleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverQueryLogConfig -func (c *Route53Resolver) CreateResolverQueryLogConfigRequest(input *CreateResolverQueryLogConfigInput) (req *request.Request, output *CreateResolverQueryLogConfigOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallRule +func (c *Route53Resolver) CreateFirewallRuleRequest(input *CreateFirewallRuleInput) (req *request.Request, output *CreateFirewallRuleOutput) { op := &request.Operation{ - Name: opCreateResolverQueryLogConfig, + Name: opCreateFirewallRule, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &CreateResolverQueryLogConfigInput{} + input = &CreateFirewallRuleInput{} } - output = &CreateResolverQueryLogConfigOutput{} + output = &CreateFirewallRuleOutput{} req = c.newRequest(op, input, output) return } -// CreateResolverQueryLogConfig API operation for Amazon Route 53 Resolver. -// -// Creates a Resolver query logging configuration, which defines where you want -// Resolver to save DNS query logs that originate in your VPCs. Resolver can -// log queries only for VPCs that are in the same Region as the query logging -// configuration. +// CreateFirewallRule API operation for Amazon Route 53 Resolver. // -// To specify which VPCs you want to log queries for, you use AssociateResolverQueryLogConfig. -// For more information, see AssociateResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverQueryLogConfig.html). -// -// You can optionally use AWS Resource Access Manager (AWS RAM) to share a query -// logging configuration with other AWS accounts. The other accounts can then -// associate VPCs with the configuration. The query logs that Resolver creates -// for a configuration include all DNS queries that originate in all VPCs that -// are associated with the configuration. +// Creates a single DNS Firewall rule in the specified rule group, using the +// specified domain list. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation CreateResolverQueryLogConfig for usage and error information. +// API operation CreateFirewallRule for usage and error information. // // Returned Error Types: -// * InvalidParameterException -// One or more parameters in this request are not valid. -// // * ResourceNotFoundException // The specified resource doesn't exist. // -// * InvalidRequestException -// The request is invalid. -// -// * ResourceExistsException -// The resource that you tried to create already exists. +// * ValidationException // // * LimitExceededException // The request caused one or more limits to be exceeded. // +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// * AccessDeniedException -// The current account doesn't have the IAM permissions required to perform -// the specified Resolver operation. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverQueryLogConfig -func (c *Route53Resolver) CreateResolverQueryLogConfig(input *CreateResolverQueryLogConfigInput) (*CreateResolverQueryLogConfigOutput, error) { - req, out := c.CreateResolverQueryLogConfigRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallRule +func (c *Route53Resolver) CreateFirewallRule(input *CreateFirewallRuleInput) (*CreateFirewallRuleOutput, error) { + req, out := c.CreateFirewallRuleRequest(input) return out, req.Send() } -// CreateResolverQueryLogConfigWithContext is the same as CreateResolverQueryLogConfig with the addition of +// CreateFirewallRuleWithContext is the same as CreateFirewallRule with the addition of // the ability to pass a context and additional request options. // -// See CreateResolverQueryLogConfig for details on how to use this API operation. +// See CreateFirewallRule 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 *Route53Resolver) CreateResolverQueryLogConfigWithContext(ctx aws.Context, input *CreateResolverQueryLogConfigInput, opts ...request.Option) (*CreateResolverQueryLogConfigOutput, error) { - req, out := c.CreateResolverQueryLogConfigRequest(input) +func (c *Route53Resolver) CreateFirewallRuleWithContext(ctx aws.Context, input *CreateFirewallRuleInput, opts ...request.Option) (*CreateFirewallRuleOutput, error) { + req, out := c.CreateFirewallRuleRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opCreateResolverRule = "CreateResolverRule" +const opCreateFirewallRuleGroup = "CreateFirewallRuleGroup" -// CreateResolverRuleRequest generates a "aws/request.Request" representing the -// client's request for the CreateResolverRule operation. The "output" return +// CreateFirewallRuleGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateFirewallRuleGroup 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 CreateResolverRule for more information on using the CreateResolverRule +// See CreateFirewallRuleGroup for more information on using the CreateFirewallRuleGroup // 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 CreateResolverRuleRequest method. -// req, resp := client.CreateResolverRuleRequest(params) +// // Example sending a request using the CreateFirewallRuleGroupRequest method. +// req, resp := client.CreateFirewallRuleGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverRule -func (c *Route53Resolver) CreateResolverRuleRequest(input *CreateResolverRuleInput) (req *request.Request, output *CreateResolverRuleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallRuleGroup +func (c *Route53Resolver) CreateFirewallRuleGroupRequest(input *CreateFirewallRuleGroupInput) (req *request.Request, output *CreateFirewallRuleGroupOutput) { op := &request.Operation{ - Name: opCreateResolverRule, + Name: opCreateFirewallRuleGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &CreateResolverRuleInput{} + input = &CreateFirewallRuleGroupInput{} } - output = &CreateResolverRuleOutput{} + output = &CreateFirewallRuleGroupOutput{} req = c.newRequest(op, input, output) return } -// CreateResolverRule API operation for Amazon Route 53 Resolver. +// CreateFirewallRuleGroup API operation for Amazon Route 53 Resolver. // -// For DNS queries that originate in your VPCs, specifies which Resolver endpoint -// the queries pass through, one domain name that you want to forward to your -// network, and the IP addresses of the DNS resolvers in your network. +// Creates an empty DNS Firewall rule group for filtering DNS network traffic +// in a VPC. You can add rules to the new rule group by calling CreateFirewallRule. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation CreateResolverRule for usage and error information. +// API operation CreateFirewallRuleGroup for usage and error information. // // Returned Error Types: -// * InvalidParameterException -// One or more parameters in this request are not valid. -// -// * InvalidRequestException -// The request is invalid. -// // * LimitExceededException // The request caused one or more limits to be exceeded. // -// * ResourceNotFoundException -// The specified resource doesn't exist. -// -// * ResourceExistsException -// The resource that you tried to create already exists. +// * ValidationException // -// * ResourceUnavailableException -// The specified resource isn't available. +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. @@ -626,202 +684,213 @@ func (c *Route53Resolver) CreateResolverRuleRequest(input *CreateResolverRuleInp // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverRule -func (c *Route53Resolver) CreateResolverRule(input *CreateResolverRuleInput) (*CreateResolverRuleOutput, error) { - req, out := c.CreateResolverRuleRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateFirewallRuleGroup +func (c *Route53Resolver) CreateFirewallRuleGroup(input *CreateFirewallRuleGroupInput) (*CreateFirewallRuleGroupOutput, error) { + req, out := c.CreateFirewallRuleGroupRequest(input) return out, req.Send() } -// CreateResolverRuleWithContext is the same as CreateResolverRule with the addition of +// CreateFirewallRuleGroupWithContext is the same as CreateFirewallRuleGroup with the addition of // the ability to pass a context and additional request options. // -// See CreateResolverRule for details on how to use this API operation. +// See CreateFirewallRuleGroup 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 *Route53Resolver) CreateResolverRuleWithContext(ctx aws.Context, input *CreateResolverRuleInput, opts ...request.Option) (*CreateResolverRuleOutput, error) { - req, out := c.CreateResolverRuleRequest(input) +func (c *Route53Resolver) CreateFirewallRuleGroupWithContext(ctx aws.Context, input *CreateFirewallRuleGroupInput, opts ...request.Option) (*CreateFirewallRuleGroupOutput, error) { + req, out := c.CreateFirewallRuleGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteResolverEndpoint = "DeleteResolverEndpoint" +const opCreateResolverEndpoint = "CreateResolverEndpoint" -// DeleteResolverEndpointRequest generates a "aws/request.Request" representing the -// client's request for the DeleteResolverEndpoint operation. The "output" return +// CreateResolverEndpointRequest generates a "aws/request.Request" representing the +// client's request for the CreateResolverEndpoint 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 DeleteResolverEndpoint for more information on using the DeleteResolverEndpoint +// See CreateResolverEndpoint for more information on using the CreateResolverEndpoint // 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 DeleteResolverEndpointRequest method. -// req, resp := client.DeleteResolverEndpointRequest(params) +// // Example sending a request using the CreateResolverEndpointRequest method. +// req, resp := client.CreateResolverEndpointRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverEndpoint -func (c *Route53Resolver) DeleteResolverEndpointRequest(input *DeleteResolverEndpointInput) (req *request.Request, output *DeleteResolverEndpointOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverEndpoint +func (c *Route53Resolver) CreateResolverEndpointRequest(input *CreateResolverEndpointInput) (req *request.Request, output *CreateResolverEndpointOutput) { op := &request.Operation{ - Name: opDeleteResolverEndpoint, + Name: opCreateResolverEndpoint, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteResolverEndpointInput{} + input = &CreateResolverEndpointInput{} } - output = &DeleteResolverEndpointOutput{} + output = &CreateResolverEndpointOutput{} req = c.newRequest(op, input, output) return } -// DeleteResolverEndpoint API operation for Amazon Route 53 Resolver. +// CreateResolverEndpoint API operation for Amazon Route 53 Resolver. // -// Deletes a Resolver endpoint. The effect of deleting a Resolver endpoint depends -// on whether it's an inbound or an outbound Resolver endpoint: +// Creates a Resolver endpoint. There are two types of Resolver endpoints, inbound +// and outbound: // -// * Inbound: DNS queries from your network are no longer routed to the DNS -// service for the specified VPC. +// * An inbound Resolver endpoint forwards DNS queries to the DNS service +// for a VPC from your network. // -// * Outbound: DNS queries from a VPC are no longer routed to your network. +// * An outbound Resolver endpoint forwards DNS queries from the DNS service +// for a VPC to your network. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation DeleteResolverEndpoint for usage and error information. +// API operation CreateResolverEndpoint for usage and error information. // // Returned Error Types: -// * ResourceNotFoundException -// The specified resource doesn't exist. -// // * InvalidParameterException // One or more parameters in this request are not valid. // +// * ResourceNotFoundException +// The specified resource doesn't exist. +// // * InvalidRequestException // The request is invalid. // +// * ResourceExistsException +// The resource that you tried to create already exists. +// +// * LimitExceededException +// The request caused one or more limits to be exceeded. +// // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverEndpoint -func (c *Route53Resolver) DeleteResolverEndpoint(input *DeleteResolverEndpointInput) (*DeleteResolverEndpointOutput, error) { - req, out := c.DeleteResolverEndpointRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverEndpoint +func (c *Route53Resolver) CreateResolverEndpoint(input *CreateResolverEndpointInput) (*CreateResolverEndpointOutput, error) { + req, out := c.CreateResolverEndpointRequest(input) return out, req.Send() } -// DeleteResolverEndpointWithContext is the same as DeleteResolverEndpoint with the addition of +// CreateResolverEndpointWithContext is the same as CreateResolverEndpoint with the addition of // the ability to pass a context and additional request options. // -// See DeleteResolverEndpoint for details on how to use this API operation. +// See CreateResolverEndpoint 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 *Route53Resolver) DeleteResolverEndpointWithContext(ctx aws.Context, input *DeleteResolverEndpointInput, opts ...request.Option) (*DeleteResolverEndpointOutput, error) { - req, out := c.DeleteResolverEndpointRequest(input) +func (c *Route53Resolver) CreateResolverEndpointWithContext(ctx aws.Context, input *CreateResolverEndpointInput, opts ...request.Option) (*CreateResolverEndpointOutput, error) { + req, out := c.CreateResolverEndpointRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteResolverQueryLogConfig = "DeleteResolverQueryLogConfig" +const opCreateResolverQueryLogConfig = "CreateResolverQueryLogConfig" -// DeleteResolverQueryLogConfigRequest generates a "aws/request.Request" representing the -// client's request for the DeleteResolverQueryLogConfig operation. The "output" return +// CreateResolverQueryLogConfigRequest generates a "aws/request.Request" representing the +// client's request for the CreateResolverQueryLogConfig 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 DeleteResolverQueryLogConfig for more information on using the DeleteResolverQueryLogConfig +// See CreateResolverQueryLogConfig for more information on using the CreateResolverQueryLogConfig // 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 DeleteResolverQueryLogConfigRequest method. -// req, resp := client.DeleteResolverQueryLogConfigRequest(params) +// // Example sending a request using the CreateResolverQueryLogConfigRequest method. +// req, resp := client.CreateResolverQueryLogConfigRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverQueryLogConfig -func (c *Route53Resolver) DeleteResolverQueryLogConfigRequest(input *DeleteResolverQueryLogConfigInput) (req *request.Request, output *DeleteResolverQueryLogConfigOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverQueryLogConfig +func (c *Route53Resolver) CreateResolverQueryLogConfigRequest(input *CreateResolverQueryLogConfigInput) (req *request.Request, output *CreateResolverQueryLogConfigOutput) { op := &request.Operation{ - Name: opDeleteResolverQueryLogConfig, + Name: opCreateResolverQueryLogConfig, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteResolverQueryLogConfigInput{} + input = &CreateResolverQueryLogConfigInput{} } - output = &DeleteResolverQueryLogConfigOutput{} + output = &CreateResolverQueryLogConfigOutput{} req = c.newRequest(op, input, output) return } -// DeleteResolverQueryLogConfig API operation for Amazon Route 53 Resolver. +// CreateResolverQueryLogConfig API operation for Amazon Route 53 Resolver. // -// Deletes a query logging configuration. When you delete a configuration, Resolver -// stops logging DNS queries for all of the Amazon VPCs that are associated -// with the configuration. This also applies if the query logging configuration -// is shared with other AWS accounts, and the other accounts have associated -// VPCs with the shared configuration. +// Creates a Resolver query logging configuration, which defines where you want +// Resolver to save DNS query logs that originate in your VPCs. Resolver can +// log queries only for VPCs that are in the same Region as the query logging +// configuration. // -// Before you can delete a query logging configuration, you must first disassociate -// all VPCs from the configuration. See DisassociateResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverQueryLogConfig.html). +// To specify which VPCs you want to log queries for, you use AssociateResolverQueryLogConfig. +// For more information, see AssociateResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverQueryLogConfig.html). // -// If you used Resource Access Manager (RAM) to share a query logging configuration -// with other accounts, you must stop sharing the configuration before you can -// delete a configuration. The accounts that you shared the configuration with -// can first disassociate VPCs that they associated with the configuration, -// but that's not necessary. If you stop sharing the configuration, those VPCs -// are automatically disassociated from the configuration. +// You can optionally use AWS Resource Access Manager (AWS RAM) to share a query +// logging configuration with other AWS accounts. The other accounts can then +// associate VPCs with the configuration. The query logs that Resolver creates +// for a configuration include all DNS queries that originate in all VPCs that +// are associated with the configuration. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation DeleteResolverQueryLogConfig for usage and error information. +// API operation CreateResolverQueryLogConfig for usage and error information. // // Returned Error Types: -// * ResourceNotFoundException -// The specified resource doesn't exist. -// // * InvalidParameterException // One or more parameters in this request are not valid. // +// * ResourceNotFoundException +// The specified resource doesn't exist. +// // * InvalidRequestException // The request is invalid. // +// * ResourceExistsException +// The resource that you tried to create already exists. +// +// * LimitExceededException +// The request caused one or more limits to be exceeded. +// // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -832,92 +901,101 @@ func (c *Route53Resolver) DeleteResolverQueryLogConfigRequest(input *DeleteResol // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverQueryLogConfig -func (c *Route53Resolver) DeleteResolverQueryLogConfig(input *DeleteResolverQueryLogConfigInput) (*DeleteResolverQueryLogConfigOutput, error) { - req, out := c.DeleteResolverQueryLogConfigRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverQueryLogConfig +func (c *Route53Resolver) CreateResolverQueryLogConfig(input *CreateResolverQueryLogConfigInput) (*CreateResolverQueryLogConfigOutput, error) { + req, out := c.CreateResolverQueryLogConfigRequest(input) return out, req.Send() } -// DeleteResolverQueryLogConfigWithContext is the same as DeleteResolverQueryLogConfig with the addition of +// CreateResolverQueryLogConfigWithContext is the same as CreateResolverQueryLogConfig with the addition of // the ability to pass a context and additional request options. // -// See DeleteResolverQueryLogConfig for details on how to use this API operation. +// See CreateResolverQueryLogConfig 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 *Route53Resolver) DeleteResolverQueryLogConfigWithContext(ctx aws.Context, input *DeleteResolverQueryLogConfigInput, opts ...request.Option) (*DeleteResolverQueryLogConfigOutput, error) { - req, out := c.DeleteResolverQueryLogConfigRequest(input) +func (c *Route53Resolver) CreateResolverQueryLogConfigWithContext(ctx aws.Context, input *CreateResolverQueryLogConfigInput, opts ...request.Option) (*CreateResolverQueryLogConfigOutput, error) { + req, out := c.CreateResolverQueryLogConfigRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteResolverRule = "DeleteResolverRule" +const opCreateResolverRule = "CreateResolverRule" -// DeleteResolverRuleRequest generates a "aws/request.Request" representing the -// client's request for the DeleteResolverRule operation. The "output" return +// CreateResolverRuleRequest generates a "aws/request.Request" representing the +// client's request for the CreateResolverRule 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 DeleteResolverRule for more information on using the DeleteResolverRule +// See CreateResolverRule for more information on using the CreateResolverRule // 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 DeleteResolverRuleRequest method. -// req, resp := client.DeleteResolverRuleRequest(params) +// // Example sending a request using the CreateResolverRuleRequest method. +// req, resp := client.CreateResolverRuleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverRule -func (c *Route53Resolver) DeleteResolverRuleRequest(input *DeleteResolverRuleInput) (req *request.Request, output *DeleteResolverRuleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverRule +func (c *Route53Resolver) CreateResolverRuleRequest(input *CreateResolverRuleInput) (req *request.Request, output *CreateResolverRuleOutput) { op := &request.Operation{ - Name: opDeleteResolverRule, + Name: opCreateResolverRule, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteResolverRuleInput{} + input = &CreateResolverRuleInput{} } - output = &DeleteResolverRuleOutput{} + output = &CreateResolverRuleOutput{} req = c.newRequest(op, input, output) return } -// DeleteResolverRule API operation for Amazon Route 53 Resolver. +// CreateResolverRule API operation for Amazon Route 53 Resolver. // -// Deletes a Resolver rule. Before you can delete a Resolver rule, you must -// disassociate it from all the VPCs that you associated the Resolver rule with. -// For more information, see DisassociateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html). +// For DNS queries that originate in your VPCs, specifies which Resolver endpoint +// the queries pass through, one domain name that you want to forward to your +// network, and the IP addresses of the DNS resolvers in your network. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation DeleteResolverRule for usage and error information. +// API operation CreateResolverRule for usage and error information. // // Returned Error Types: // * InvalidParameterException // One or more parameters in this request are not valid. // +// * InvalidRequestException +// The request is invalid. +// +// * LimitExceededException +// The request caused one or more limits to be exceeded. +// // * ResourceNotFoundException // The specified resource doesn't exist. // -// * ResourceInUseException -// The resource that you tried to update or delete is currently in use. +// * ResourceExistsException +// The resource that you tried to create already exists. +// +// * ResourceUnavailableException +// The specified resource isn't available. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. @@ -925,98 +1003,90 @@ func (c *Route53Resolver) DeleteResolverRuleRequest(input *DeleteResolverRuleInp // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverRule -func (c *Route53Resolver) DeleteResolverRule(input *DeleteResolverRuleInput) (*DeleteResolverRuleOutput, error) { - req, out := c.DeleteResolverRuleRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/CreateResolverRule +func (c *Route53Resolver) CreateResolverRule(input *CreateResolverRuleInput) (*CreateResolverRuleOutput, error) { + req, out := c.CreateResolverRuleRequest(input) return out, req.Send() } -// DeleteResolverRuleWithContext is the same as DeleteResolverRule with the addition of +// CreateResolverRuleWithContext is the same as CreateResolverRule with the addition of // the ability to pass a context and additional request options. // -// See DeleteResolverRule for details on how to use this API operation. +// See CreateResolverRule 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 *Route53Resolver) DeleteResolverRuleWithContext(ctx aws.Context, input *DeleteResolverRuleInput, opts ...request.Option) (*DeleteResolverRuleOutput, error) { - req, out := c.DeleteResolverRuleRequest(input) +func (c *Route53Resolver) CreateResolverRuleWithContext(ctx aws.Context, input *CreateResolverRuleInput, opts ...request.Option) (*CreateResolverRuleOutput, error) { + req, out := c.CreateResolverRuleRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDisassociateResolverEndpointIpAddress = "DisassociateResolverEndpointIpAddress" +const opDeleteFirewallDomainList = "DeleteFirewallDomainList" -// DisassociateResolverEndpointIpAddressRequest generates a "aws/request.Request" representing the -// client's request for the DisassociateResolverEndpointIpAddress operation. The "output" return +// DeleteFirewallDomainListRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFirewallDomainList 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 DisassociateResolverEndpointIpAddress for more information on using the DisassociateResolverEndpointIpAddress +// See DeleteFirewallDomainList for more information on using the DeleteFirewallDomainList // 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 DisassociateResolverEndpointIpAddressRequest method. -// req, resp := client.DisassociateResolverEndpointIpAddressRequest(params) +// // Example sending a request using the DeleteFirewallDomainListRequest method. +// req, resp := client.DeleteFirewallDomainListRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverEndpointIpAddress -func (c *Route53Resolver) DisassociateResolverEndpointIpAddressRequest(input *DisassociateResolverEndpointIpAddressInput) (req *request.Request, output *DisassociateResolverEndpointIpAddressOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallDomainList +func (c *Route53Resolver) DeleteFirewallDomainListRequest(input *DeleteFirewallDomainListInput) (req *request.Request, output *DeleteFirewallDomainListOutput) { op := &request.Operation{ - Name: opDisassociateResolverEndpointIpAddress, + Name: opDeleteFirewallDomainList, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DisassociateResolverEndpointIpAddressInput{} + input = &DeleteFirewallDomainListInput{} } - output = &DisassociateResolverEndpointIpAddressOutput{} + output = &DeleteFirewallDomainListOutput{} req = c.newRequest(op, input, output) return } -// DisassociateResolverEndpointIpAddress API operation for Amazon Route 53 Resolver. -// -// Removes IP addresses from an inbound or an outbound Resolver endpoint. If -// you want to remove more than one IP address, submit one DisassociateResolverEndpointIpAddress -// request for each IP address. +// DeleteFirewallDomainList API operation for Amazon Route 53 Resolver. // -// To add an IP address to an endpoint, see AssociateResolverEndpointIpAddress -// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverEndpointIpAddress.html). +// Deletes the specified domain list. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation DisassociateResolverEndpointIpAddress for usage and error information. +// API operation DeleteFirewallDomainList for usage and error information. // // Returned Error Types: // * ResourceNotFoundException // The specified resource doesn't exist. // -// * InvalidParameterException -// One or more parameters in this request are not valid. -// -// * InvalidRequestException -// The request is invalid. +// * ConflictException // -// * ResourceExistsException -// The resource that you tried to create already exists. +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. @@ -1024,100 +1094,88 @@ func (c *Route53Resolver) DisassociateResolverEndpointIpAddressRequest(input *Di // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverEndpointIpAddress -func (c *Route53Resolver) DisassociateResolverEndpointIpAddress(input *DisassociateResolverEndpointIpAddressInput) (*DisassociateResolverEndpointIpAddressOutput, error) { - req, out := c.DisassociateResolverEndpointIpAddressRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallDomainList +func (c *Route53Resolver) DeleteFirewallDomainList(input *DeleteFirewallDomainListInput) (*DeleteFirewallDomainListOutput, error) { + req, out := c.DeleteFirewallDomainListRequest(input) return out, req.Send() } -// DisassociateResolverEndpointIpAddressWithContext is the same as DisassociateResolverEndpointIpAddress with the addition of +// DeleteFirewallDomainListWithContext is the same as DeleteFirewallDomainList with the addition of // the ability to pass a context and additional request options. // -// See DisassociateResolverEndpointIpAddress for details on how to use this API operation. +// See DeleteFirewallDomainList 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 *Route53Resolver) DisassociateResolverEndpointIpAddressWithContext(ctx aws.Context, input *DisassociateResolverEndpointIpAddressInput, opts ...request.Option) (*DisassociateResolverEndpointIpAddressOutput, error) { - req, out := c.DisassociateResolverEndpointIpAddressRequest(input) +func (c *Route53Resolver) DeleteFirewallDomainListWithContext(ctx aws.Context, input *DeleteFirewallDomainListInput, opts ...request.Option) (*DeleteFirewallDomainListOutput, error) { + req, out := c.DeleteFirewallDomainListRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDisassociateResolverQueryLogConfig = "DisassociateResolverQueryLogConfig" +const opDeleteFirewallRule = "DeleteFirewallRule" -// DisassociateResolverQueryLogConfigRequest generates a "aws/request.Request" representing the -// client's request for the DisassociateResolverQueryLogConfig operation. The "output" return +// DeleteFirewallRuleRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFirewallRule 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 DisassociateResolverQueryLogConfig for more information on using the DisassociateResolverQueryLogConfig +// See DeleteFirewallRule for more information on using the DeleteFirewallRule // 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 DisassociateResolverQueryLogConfigRequest method. -// req, resp := client.DisassociateResolverQueryLogConfigRequest(params) +// // Example sending a request using the DeleteFirewallRuleRequest method. +// req, resp := client.DeleteFirewallRuleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverQueryLogConfig -func (c *Route53Resolver) DisassociateResolverQueryLogConfigRequest(input *DisassociateResolverQueryLogConfigInput) (req *request.Request, output *DisassociateResolverQueryLogConfigOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallRule +func (c *Route53Resolver) DeleteFirewallRuleRequest(input *DeleteFirewallRuleInput) (req *request.Request, output *DeleteFirewallRuleOutput) { op := &request.Operation{ - Name: opDisassociateResolverQueryLogConfig, + Name: opDeleteFirewallRule, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DisassociateResolverQueryLogConfigInput{} + input = &DeleteFirewallRuleInput{} } - output = &DisassociateResolverQueryLogConfigOutput{} + output = &DeleteFirewallRuleOutput{} req = c.newRequest(op, input, output) return } -// DisassociateResolverQueryLogConfig API operation for Amazon Route 53 Resolver. -// -// Disassociates a VPC from a query logging configuration. -// -// Before you can delete a query logging configuration, you must first disassociate -// all VPCs from the configuration. If you used Resource Access Manager (RAM) -// to share a query logging configuration with other accounts, VPCs can be disassociated -// from the configuration in the following ways: +// DeleteFirewallRule API operation for Amazon Route 53 Resolver. // -// * The accounts that you shared the configuration with can disassociate -// VPCs from the configuration. -// -// * You can stop sharing the configuration. +// Deletes the specified firewall rule. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation DisassociateResolverQueryLogConfig for usage and error information. +// API operation DeleteFirewallRule for usage and error information. // // Returned Error Types: // * ResourceNotFoundException // The specified resource doesn't exist. // -// * InvalidParameterException -// One or more parameters in this request are not valid. -// -// * InvalidRequestException -// The request is invalid. +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. @@ -1125,95 +1183,92 @@ func (c *Route53Resolver) DisassociateResolverQueryLogConfigRequest(input *Disas // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// * AccessDeniedException -// The current account doesn't have the IAM permissions required to perform -// the specified Resolver operation. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverQueryLogConfig -func (c *Route53Resolver) DisassociateResolverQueryLogConfig(input *DisassociateResolverQueryLogConfigInput) (*DisassociateResolverQueryLogConfigOutput, error) { - req, out := c.DisassociateResolverQueryLogConfigRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallRule +func (c *Route53Resolver) DeleteFirewallRule(input *DeleteFirewallRuleInput) (*DeleteFirewallRuleOutput, error) { + req, out := c.DeleteFirewallRuleRequest(input) return out, req.Send() } -// DisassociateResolverQueryLogConfigWithContext is the same as DisassociateResolverQueryLogConfig with the addition of +// DeleteFirewallRuleWithContext is the same as DeleteFirewallRule with the addition of // the ability to pass a context and additional request options. // -// See DisassociateResolverQueryLogConfig for details on how to use this API operation. +// See DeleteFirewallRule 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 *Route53Resolver) DisassociateResolverQueryLogConfigWithContext(ctx aws.Context, input *DisassociateResolverQueryLogConfigInput, opts ...request.Option) (*DisassociateResolverQueryLogConfigOutput, error) { - req, out := c.DisassociateResolverQueryLogConfigRequest(input) +func (c *Route53Resolver) DeleteFirewallRuleWithContext(ctx aws.Context, input *DeleteFirewallRuleInput, opts ...request.Option) (*DeleteFirewallRuleOutput, error) { + req, out := c.DeleteFirewallRuleRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDisassociateResolverRule = "DisassociateResolverRule" +const opDeleteFirewallRuleGroup = "DeleteFirewallRuleGroup" -// DisassociateResolverRuleRequest generates a "aws/request.Request" representing the -// client's request for the DisassociateResolverRule operation. The "output" return +// DeleteFirewallRuleGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFirewallRuleGroup 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 DisassociateResolverRule for more information on using the DisassociateResolverRule +// See DeleteFirewallRuleGroup for more information on using the DeleteFirewallRuleGroup // 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 DisassociateResolverRuleRequest method. -// req, resp := client.DisassociateResolverRuleRequest(params) +// // Example sending a request using the DeleteFirewallRuleGroupRequest method. +// req, resp := client.DeleteFirewallRuleGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverRule -func (c *Route53Resolver) DisassociateResolverRuleRequest(input *DisassociateResolverRuleInput) (req *request.Request, output *DisassociateResolverRuleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallRuleGroup +func (c *Route53Resolver) DeleteFirewallRuleGroupRequest(input *DeleteFirewallRuleGroupInput) (req *request.Request, output *DeleteFirewallRuleGroupOutput) { op := &request.Operation{ - Name: opDisassociateResolverRule, + Name: opDeleteFirewallRuleGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DisassociateResolverRuleInput{} + input = &DeleteFirewallRuleGroupInput{} } - output = &DisassociateResolverRuleOutput{} + output = &DeleteFirewallRuleGroupOutput{} req = c.newRequest(op, input, output) return } -// DisassociateResolverRule API operation for Amazon Route 53 Resolver. +// DeleteFirewallRuleGroup API operation for Amazon Route 53 Resolver. // -// Removes the association between a specified Resolver rule and a specified -// VPC. -// -// If you disassociate a Resolver rule from a VPC, Resolver stops forwarding -// DNS queries for the domain name that you specified in the Resolver rule. +// Deletes the specified firewall rule group. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation DisassociateResolverRule for usage and error information. +// API operation DeleteFirewallRuleGroup for usage and error information. // // Returned Error Types: // * ResourceNotFoundException // The specified resource doesn't exist. // -// * InvalidParameterException -// One or more parameters in this request are not valid. +// * ConflictException +// +// * ValidationException +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. @@ -1221,88 +1276,94 @@ func (c *Route53Resolver) DisassociateResolverRuleRequest(input *DisassociateRes // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverRule -func (c *Route53Resolver) DisassociateResolverRule(input *DisassociateResolverRuleInput) (*DisassociateResolverRuleOutput, error) { - req, out := c.DisassociateResolverRuleRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteFirewallRuleGroup +func (c *Route53Resolver) DeleteFirewallRuleGroup(input *DeleteFirewallRuleGroupInput) (*DeleteFirewallRuleGroupOutput, error) { + req, out := c.DeleteFirewallRuleGroupRequest(input) return out, req.Send() } -// DisassociateResolverRuleWithContext is the same as DisassociateResolverRule with the addition of +// DeleteFirewallRuleGroupWithContext is the same as DeleteFirewallRuleGroup with the addition of // the ability to pass a context and additional request options. // -// See DisassociateResolverRule for details on how to use this API operation. +// See DeleteFirewallRuleGroup 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 *Route53Resolver) DisassociateResolverRuleWithContext(ctx aws.Context, input *DisassociateResolverRuleInput, opts ...request.Option) (*DisassociateResolverRuleOutput, error) { - req, out := c.DisassociateResolverRuleRequest(input) +func (c *Route53Resolver) DeleteFirewallRuleGroupWithContext(ctx aws.Context, input *DeleteFirewallRuleGroupInput, opts ...request.Option) (*DeleteFirewallRuleGroupOutput, error) { + req, out := c.DeleteFirewallRuleGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetResolverDnssecConfig = "GetResolverDnssecConfig" +const opDeleteResolverEndpoint = "DeleteResolverEndpoint" -// GetResolverDnssecConfigRequest generates a "aws/request.Request" representing the -// client's request for the GetResolverDnssecConfig operation. The "output" return +// DeleteResolverEndpointRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResolverEndpoint 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 GetResolverDnssecConfig for more information on using the GetResolverDnssecConfig +// See DeleteResolverEndpoint for more information on using the DeleteResolverEndpoint // 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 GetResolverDnssecConfigRequest method. -// req, resp := client.GetResolverDnssecConfigRequest(params) +// // Example sending a request using the DeleteResolverEndpointRequest method. +// req, resp := client.DeleteResolverEndpointRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverDnssecConfig -func (c *Route53Resolver) GetResolverDnssecConfigRequest(input *GetResolverDnssecConfigInput) (req *request.Request, output *GetResolverDnssecConfigOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverEndpoint +func (c *Route53Resolver) DeleteResolverEndpointRequest(input *DeleteResolverEndpointInput) (req *request.Request, output *DeleteResolverEndpointOutput) { op := &request.Operation{ - Name: opGetResolverDnssecConfig, + Name: opDeleteResolverEndpoint, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetResolverDnssecConfigInput{} + input = &DeleteResolverEndpointInput{} } - output = &GetResolverDnssecConfigOutput{} + output = &DeleteResolverEndpointOutput{} req = c.newRequest(op, input, output) return } -// GetResolverDnssecConfig API operation for Amazon Route 53 Resolver. +// DeleteResolverEndpoint API operation for Amazon Route 53 Resolver. // -// Gets DNSSEC validation information for a specified resource. +// Deletes a Resolver endpoint. The effect of deleting a Resolver endpoint depends +// on whether it's an inbound or an outbound Resolver endpoint: +// +// * Inbound: DNS queries from your network are no longer routed to the DNS +// service for the specified VPC. +// +// * Outbound: DNS queries from a VPC are no longer routed to your network. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation GetResolverDnssecConfig for usage and error information. +// API operation DeleteResolverEndpoint for usage and error information. // // Returned Error Types: -// * InvalidParameterException -// One or more parameters in this request are not valid. -// // * ResourceNotFoundException // The specified resource doesn't exist. // +// * InvalidParameterException +// One or more parameters in this request are not valid. +// // * InvalidRequestException // The request is invalid. // @@ -1312,86 +1373,94 @@ func (c *Route53Resolver) GetResolverDnssecConfigRequest(input *GetResolverDnsse // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// * AccessDeniedException -// The current account doesn't have the IAM permissions required to perform -// the specified Resolver operation. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverDnssecConfig -func (c *Route53Resolver) GetResolverDnssecConfig(input *GetResolverDnssecConfigInput) (*GetResolverDnssecConfigOutput, error) { - req, out := c.GetResolverDnssecConfigRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverEndpoint +func (c *Route53Resolver) DeleteResolverEndpoint(input *DeleteResolverEndpointInput) (*DeleteResolverEndpointOutput, error) { + req, out := c.DeleteResolverEndpointRequest(input) return out, req.Send() } -// GetResolverDnssecConfigWithContext is the same as GetResolverDnssecConfig with the addition of +// DeleteResolverEndpointWithContext is the same as DeleteResolverEndpoint with the addition of // the ability to pass a context and additional request options. // -// See GetResolverDnssecConfig for details on how to use this API operation. +// See DeleteResolverEndpoint 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 *Route53Resolver) GetResolverDnssecConfigWithContext(ctx aws.Context, input *GetResolverDnssecConfigInput, opts ...request.Option) (*GetResolverDnssecConfigOutput, error) { - req, out := c.GetResolverDnssecConfigRequest(input) +func (c *Route53Resolver) DeleteResolverEndpointWithContext(ctx aws.Context, input *DeleteResolverEndpointInput, opts ...request.Option) (*DeleteResolverEndpointOutput, error) { + req, out := c.DeleteResolverEndpointRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetResolverEndpoint = "GetResolverEndpoint" +const opDeleteResolverQueryLogConfig = "DeleteResolverQueryLogConfig" -// GetResolverEndpointRequest generates a "aws/request.Request" representing the -// client's request for the GetResolverEndpoint operation. The "output" return +// DeleteResolverQueryLogConfigRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResolverQueryLogConfig 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 GetResolverEndpoint for more information on using the GetResolverEndpoint +// See DeleteResolverQueryLogConfig for more information on using the DeleteResolverQueryLogConfig // 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 GetResolverEndpointRequest method. -// req, resp := client.GetResolverEndpointRequest(params) +// // Example sending a request using the DeleteResolverQueryLogConfigRequest method. +// req, resp := client.DeleteResolverQueryLogConfigRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpoint -func (c *Route53Resolver) GetResolverEndpointRequest(input *GetResolverEndpointInput) (req *request.Request, output *GetResolverEndpointOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverQueryLogConfig +func (c *Route53Resolver) DeleteResolverQueryLogConfigRequest(input *DeleteResolverQueryLogConfigInput) (req *request.Request, output *DeleteResolverQueryLogConfigOutput) { op := &request.Operation{ - Name: opGetResolverEndpoint, + Name: opDeleteResolverQueryLogConfig, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetResolverEndpointInput{} + input = &DeleteResolverQueryLogConfigInput{} } - output = &GetResolverEndpointOutput{} + output = &DeleteResolverQueryLogConfigOutput{} req = c.newRequest(op, input, output) return } -// GetResolverEndpoint API operation for Amazon Route 53 Resolver. +// DeleteResolverQueryLogConfig API operation for Amazon Route 53 Resolver. // -// Gets information about a specified Resolver endpoint, such as whether it's -// an inbound or an outbound Resolver endpoint, and the current status of the -// endpoint. +// Deletes a query logging configuration. When you delete a configuration, Resolver +// stops logging DNS queries for all of the Amazon VPCs that are associated +// with the configuration. This also applies if the query logging configuration +// is shared with other AWS accounts, and the other accounts have associated +// VPCs with the shared configuration. +// +// Before you can delete a query logging configuration, you must first disassociate +// all VPCs from the configuration. See DisassociateResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverQueryLogConfig.html). +// +// If you used Resource Access Manager (RAM) to share a query logging configuration +// with other accounts, you must stop sharing the configuration before you can +// delete a configuration. The accounts that you shared the configuration with +// can first disassociate VPCs that they associated with the configuration, +// but that's not necessary. If you stop sharing the configuration, those VPCs +// are automatically disassociated from the configuration. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation GetResolverEndpoint for usage and error information. +// API operation DeleteResolverQueryLogConfig for usage and error information. // // Returned Error Types: // * ResourceNotFoundException @@ -1400,98 +1469,105 @@ func (c *Route53Resolver) GetResolverEndpointRequest(input *GetResolverEndpointI // * InvalidParameterException // One or more parameters in this request are not valid. // +// * InvalidRequestException +// The request is invalid. +// // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpoint -func (c *Route53Resolver) GetResolverEndpoint(input *GetResolverEndpointInput) (*GetResolverEndpointOutput, error) { - req, out := c.GetResolverEndpointRequest(input) +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverQueryLogConfig +func (c *Route53Resolver) DeleteResolverQueryLogConfig(input *DeleteResolverQueryLogConfigInput) (*DeleteResolverQueryLogConfigOutput, error) { + req, out := c.DeleteResolverQueryLogConfigRequest(input) return out, req.Send() } -// GetResolverEndpointWithContext is the same as GetResolverEndpoint with the addition of +// DeleteResolverQueryLogConfigWithContext is the same as DeleteResolverQueryLogConfig with the addition of // the ability to pass a context and additional request options. // -// See GetResolverEndpoint for details on how to use this API operation. +// See DeleteResolverQueryLogConfig 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 *Route53Resolver) GetResolverEndpointWithContext(ctx aws.Context, input *GetResolverEndpointInput, opts ...request.Option) (*GetResolverEndpointOutput, error) { - req, out := c.GetResolverEndpointRequest(input) +func (c *Route53Resolver) DeleteResolverQueryLogConfigWithContext(ctx aws.Context, input *DeleteResolverQueryLogConfigInput, opts ...request.Option) (*DeleteResolverQueryLogConfigOutput, error) { + req, out := c.DeleteResolverQueryLogConfigRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetResolverQueryLogConfig = "GetResolverQueryLogConfig" +const opDeleteResolverRule = "DeleteResolverRule" -// GetResolverQueryLogConfigRequest generates a "aws/request.Request" representing the -// client's request for the GetResolverQueryLogConfig operation. The "output" return +// DeleteResolverRuleRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResolverRule 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 GetResolverQueryLogConfig for more information on using the GetResolverQueryLogConfig +// See DeleteResolverRule for more information on using the DeleteResolverRule // 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 GetResolverQueryLogConfigRequest method. -// req, resp := client.GetResolverQueryLogConfigRequest(params) +// // Example sending a request using the DeleteResolverRuleRequest method. +// req, resp := client.DeleteResolverRuleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfig -func (c *Route53Resolver) GetResolverQueryLogConfigRequest(input *GetResolverQueryLogConfigInput) (req *request.Request, output *GetResolverQueryLogConfigOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverRule +func (c *Route53Resolver) DeleteResolverRuleRequest(input *DeleteResolverRuleInput) (req *request.Request, output *DeleteResolverRuleOutput) { op := &request.Operation{ - Name: opGetResolverQueryLogConfig, + Name: opDeleteResolverRule, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetResolverQueryLogConfigInput{} + input = &DeleteResolverRuleInput{} } - output = &GetResolverQueryLogConfigOutput{} + output = &DeleteResolverRuleOutput{} req = c.newRequest(op, input, output) return } -// GetResolverQueryLogConfig API operation for Amazon Route 53 Resolver. +// DeleteResolverRule API operation for Amazon Route 53 Resolver. // -// Gets information about a specified Resolver query logging configuration, -// such as the number of VPCs that the configuration is logging queries for -// and the location that logs are sent to. +// Deletes a Resolver rule. Before you can delete a Resolver rule, you must +// disassociate it from all the VPCs that you associated the Resolver rule with. +// For more information, see DisassociateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation GetResolverQueryLogConfig for usage and error information. +// API operation DeleteResolverRule for usage and error information. // // Returned Error Types: +// * InvalidParameterException +// One or more parameters in this request are not valid. +// // * ResourceNotFoundException // The specified resource doesn't exist. // -// * InvalidRequestException -// The request is invalid. -// -// * InvalidParameterException -// One or more parameters in this request are not valid. +// * ResourceInUseException +// The resource that you tried to update or delete is currently in use. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. @@ -1499,96 +1575,93 @@ func (c *Route53Resolver) GetResolverQueryLogConfigRequest(input *GetResolverQue // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// * AccessDeniedException -// The current account doesn't have the IAM permissions required to perform -// the specified Resolver operation. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfig -func (c *Route53Resolver) GetResolverQueryLogConfig(input *GetResolverQueryLogConfigInput) (*GetResolverQueryLogConfigOutput, error) { - req, out := c.GetResolverQueryLogConfigRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DeleteResolverRule +func (c *Route53Resolver) DeleteResolverRule(input *DeleteResolverRuleInput) (*DeleteResolverRuleOutput, error) { + req, out := c.DeleteResolverRuleRequest(input) return out, req.Send() } -// GetResolverQueryLogConfigWithContext is the same as GetResolverQueryLogConfig with the addition of +// DeleteResolverRuleWithContext is the same as DeleteResolverRule with the addition of // the ability to pass a context and additional request options. // -// See GetResolverQueryLogConfig for details on how to use this API operation. +// See DeleteResolverRule 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 *Route53Resolver) GetResolverQueryLogConfigWithContext(ctx aws.Context, input *GetResolverQueryLogConfigInput, opts ...request.Option) (*GetResolverQueryLogConfigOutput, error) { - req, out := c.GetResolverQueryLogConfigRequest(input) +func (c *Route53Resolver) DeleteResolverRuleWithContext(ctx aws.Context, input *DeleteResolverRuleInput, opts ...request.Option) (*DeleteResolverRuleOutput, error) { + req, out := c.DeleteResolverRuleRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetResolverQueryLogConfigAssociation = "GetResolverQueryLogConfigAssociation" +const opDisassociateFirewallRuleGroup = "DisassociateFirewallRuleGroup" -// GetResolverQueryLogConfigAssociationRequest generates a "aws/request.Request" representing the -// client's request for the GetResolverQueryLogConfigAssociation operation. The "output" return +// DisassociateFirewallRuleGroupRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateFirewallRuleGroup 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 GetResolverQueryLogConfigAssociation for more information on using the GetResolverQueryLogConfigAssociation +// See DisassociateFirewallRuleGroup for more information on using the DisassociateFirewallRuleGroup // 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 GetResolverQueryLogConfigAssociationRequest method. -// req, resp := client.GetResolverQueryLogConfigAssociationRequest(params) +// // Example sending a request using the DisassociateFirewallRuleGroupRequest method. +// req, resp := client.DisassociateFirewallRuleGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigAssociation -func (c *Route53Resolver) GetResolverQueryLogConfigAssociationRequest(input *GetResolverQueryLogConfigAssociationInput) (req *request.Request, output *GetResolverQueryLogConfigAssociationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateFirewallRuleGroup +func (c *Route53Resolver) DisassociateFirewallRuleGroupRequest(input *DisassociateFirewallRuleGroupInput) (req *request.Request, output *DisassociateFirewallRuleGroupOutput) { op := &request.Operation{ - Name: opGetResolverQueryLogConfigAssociation, + Name: opDisassociateFirewallRuleGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetResolverQueryLogConfigAssociationInput{} + input = &DisassociateFirewallRuleGroupInput{} } - output = &GetResolverQueryLogConfigAssociationOutput{} + output = &DisassociateFirewallRuleGroupOutput{} req = c.newRequest(op, input, output) return } -// GetResolverQueryLogConfigAssociation API operation for Amazon Route 53 Resolver. +// DisassociateFirewallRuleGroup API operation for Amazon Route 53 Resolver. // -// Gets information about a specified association between a Resolver query logging -// configuration and an Amazon VPC. When you associate a VPC with a query logging -// configuration, Resolver logs DNS queries that originate in that VPC. +// Disassociates a FirewallRuleGroup from a VPC, to remove DNS filtering from +// the VPC. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation GetResolverQueryLogConfigAssociation for usage and error information. +// API operation DisassociateFirewallRuleGroup for usage and error information. // // Returned Error Types: // * ResourceNotFoundException // The specified resource doesn't exist. // -// * InvalidRequestException -// The request is invalid. +// * ValidationException // -// * InvalidParameterException -// One or more parameters in this request are not valid. +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// * ConflictException // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. @@ -1596,180 +1669,189 @@ func (c *Route53Resolver) GetResolverQueryLogConfigAssociationRequest(input *Get // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// * AccessDeniedException -// The current account doesn't have the IAM permissions required to perform -// the specified Resolver operation. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigAssociation -func (c *Route53Resolver) GetResolverQueryLogConfigAssociation(input *GetResolverQueryLogConfigAssociationInput) (*GetResolverQueryLogConfigAssociationOutput, error) { - req, out := c.GetResolverQueryLogConfigAssociationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateFirewallRuleGroup +func (c *Route53Resolver) DisassociateFirewallRuleGroup(input *DisassociateFirewallRuleGroupInput) (*DisassociateFirewallRuleGroupOutput, error) { + req, out := c.DisassociateFirewallRuleGroupRequest(input) return out, req.Send() } -// GetResolverQueryLogConfigAssociationWithContext is the same as GetResolverQueryLogConfigAssociation with the addition of +// DisassociateFirewallRuleGroupWithContext is the same as DisassociateFirewallRuleGroup with the addition of // the ability to pass a context and additional request options. // -// See GetResolverQueryLogConfigAssociation for details on how to use this API operation. +// See DisassociateFirewallRuleGroup 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 *Route53Resolver) GetResolverQueryLogConfigAssociationWithContext(ctx aws.Context, input *GetResolverQueryLogConfigAssociationInput, opts ...request.Option) (*GetResolverQueryLogConfigAssociationOutput, error) { - req, out := c.GetResolverQueryLogConfigAssociationRequest(input) +func (c *Route53Resolver) DisassociateFirewallRuleGroupWithContext(ctx aws.Context, input *DisassociateFirewallRuleGroupInput, opts ...request.Option) (*DisassociateFirewallRuleGroupOutput, error) { + req, out := c.DisassociateFirewallRuleGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetResolverQueryLogConfigPolicy = "GetResolverQueryLogConfigPolicy" +const opDisassociateResolverEndpointIpAddress = "DisassociateResolverEndpointIpAddress" -// GetResolverQueryLogConfigPolicyRequest generates a "aws/request.Request" representing the -// client's request for the GetResolverQueryLogConfigPolicy operation. The "output" return +// DisassociateResolverEndpointIpAddressRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateResolverEndpointIpAddress 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 GetResolverQueryLogConfigPolicy for more information on using the GetResolverQueryLogConfigPolicy +// See DisassociateResolverEndpointIpAddress for more information on using the DisassociateResolverEndpointIpAddress // 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 GetResolverQueryLogConfigPolicyRequest method. -// req, resp := client.GetResolverQueryLogConfigPolicyRequest(params) +// // Example sending a request using the DisassociateResolverEndpointIpAddressRequest method. +// req, resp := client.DisassociateResolverEndpointIpAddressRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigPolicy -func (c *Route53Resolver) GetResolverQueryLogConfigPolicyRequest(input *GetResolverQueryLogConfigPolicyInput) (req *request.Request, output *GetResolverQueryLogConfigPolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverEndpointIpAddress +func (c *Route53Resolver) DisassociateResolverEndpointIpAddressRequest(input *DisassociateResolverEndpointIpAddressInput) (req *request.Request, output *DisassociateResolverEndpointIpAddressOutput) { op := &request.Operation{ - Name: opGetResolverQueryLogConfigPolicy, + Name: opDisassociateResolverEndpointIpAddress, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetResolverQueryLogConfigPolicyInput{} + input = &DisassociateResolverEndpointIpAddressInput{} } - output = &GetResolverQueryLogConfigPolicyOutput{} + output = &DisassociateResolverEndpointIpAddressOutput{} req = c.newRequest(op, input, output) return } -// GetResolverQueryLogConfigPolicy API operation for Amazon Route 53 Resolver. +// DisassociateResolverEndpointIpAddress API operation for Amazon Route 53 Resolver. // -// Gets information about a query logging policy. A query logging policy specifies -// the Resolver query logging operations and resources that you want to allow -// another AWS account to be able to use. +// Removes IP addresses from an inbound or an outbound Resolver endpoint. If +// you want to remove more than one IP address, submit one DisassociateResolverEndpointIpAddress +// request for each IP address. +// +// To add an IP address to an endpoint, see AssociateResolverEndpointIpAddress +// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverEndpointIpAddress.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation GetResolverQueryLogConfigPolicy for usage and error information. +// API operation DisassociateResolverEndpointIpAddress for usage and error information. // // Returned Error Types: +// * ResourceNotFoundException +// The specified resource doesn't exist. +// // * InvalidParameterException // One or more parameters in this request are not valid. // // * InvalidRequestException // The request is invalid. // -// * UnknownResourceException -// The specified resource doesn't exist. +// * ResourceExistsException +// The resource that you tried to create already exists. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // -// * AccessDeniedException -// The current account doesn't have the IAM permissions required to perform -// the specified Resolver operation. +// * ThrottlingException +// The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigPolicy -func (c *Route53Resolver) GetResolverQueryLogConfigPolicy(input *GetResolverQueryLogConfigPolicyInput) (*GetResolverQueryLogConfigPolicyOutput, error) { - req, out := c.GetResolverQueryLogConfigPolicyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverEndpointIpAddress +func (c *Route53Resolver) DisassociateResolverEndpointIpAddress(input *DisassociateResolverEndpointIpAddressInput) (*DisassociateResolverEndpointIpAddressOutput, error) { + req, out := c.DisassociateResolverEndpointIpAddressRequest(input) return out, req.Send() } -// GetResolverQueryLogConfigPolicyWithContext is the same as GetResolverQueryLogConfigPolicy with the addition of +// DisassociateResolverEndpointIpAddressWithContext is the same as DisassociateResolverEndpointIpAddress with the addition of // the ability to pass a context and additional request options. // -// See GetResolverQueryLogConfigPolicy for details on how to use this API operation. +// See DisassociateResolverEndpointIpAddress 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 *Route53Resolver) GetResolverQueryLogConfigPolicyWithContext(ctx aws.Context, input *GetResolverQueryLogConfigPolicyInput, opts ...request.Option) (*GetResolverQueryLogConfigPolicyOutput, error) { - req, out := c.GetResolverQueryLogConfigPolicyRequest(input) +func (c *Route53Resolver) DisassociateResolverEndpointIpAddressWithContext(ctx aws.Context, input *DisassociateResolverEndpointIpAddressInput, opts ...request.Option) (*DisassociateResolverEndpointIpAddressOutput, error) { + req, out := c.DisassociateResolverEndpointIpAddressRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetResolverRule = "GetResolverRule" +const opDisassociateResolverQueryLogConfig = "DisassociateResolverQueryLogConfig" -// GetResolverRuleRequest generates a "aws/request.Request" representing the -// client's request for the GetResolverRule operation. The "output" return +// DisassociateResolverQueryLogConfigRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateResolverQueryLogConfig 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 GetResolverRule for more information on using the GetResolverRule +// See DisassociateResolverQueryLogConfig for more information on using the DisassociateResolverQueryLogConfig // 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 GetResolverRuleRequest method. -// req, resp := client.GetResolverRuleRequest(params) +// // Example sending a request using the DisassociateResolverQueryLogConfigRequest method. +// req, resp := client.DisassociateResolverQueryLogConfigRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule -func (c *Route53Resolver) GetResolverRuleRequest(input *GetResolverRuleInput) (req *request.Request, output *GetResolverRuleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverQueryLogConfig +func (c *Route53Resolver) DisassociateResolverQueryLogConfigRequest(input *DisassociateResolverQueryLogConfigInput) (req *request.Request, output *DisassociateResolverQueryLogConfigOutput) { op := &request.Operation{ - Name: opGetResolverRule, + Name: opDisassociateResolverQueryLogConfig, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetResolverRuleInput{} + input = &DisassociateResolverQueryLogConfigInput{} } - output = &GetResolverRuleOutput{} + output = &DisassociateResolverQueryLogConfigOutput{} req = c.newRequest(op, input, output) return } -// GetResolverRule API operation for Amazon Route 53 Resolver. +// DisassociateResolverQueryLogConfig API operation for Amazon Route 53 Resolver. // -// Gets information about a specified Resolver rule, such as the domain name -// that the rule forwards DNS queries for and the ID of the outbound Resolver -// endpoint that the rule is associated with. +// Disassociates a VPC from a query logging configuration. +// +// Before you can delete a query logging configuration, you must first disassociate +// all VPCs from the configuration. If you used Resource Access Manager (RAM) +// to share a query logging configuration with other accounts, VPCs can be disassociated +// from the configuration in the following ways: +// +// * The accounts that you shared the configuration with can disassociate +// VPCs from the configuration. +// +// * You can stop sharing the configuration. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation GetResolverRule for usage and error information. +// API operation DisassociateResolverQueryLogConfig for usage and error information. // // Returned Error Types: // * ResourceNotFoundException @@ -1778,88 +1860,97 @@ func (c *Route53Resolver) GetResolverRuleRequest(input *GetResolverRuleInput) (r // * InvalidParameterException // One or more parameters in this request are not valid. // +// * InvalidRequestException +// The request is invalid. +// // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule -func (c *Route53Resolver) GetResolverRule(input *GetResolverRuleInput) (*GetResolverRuleOutput, error) { - req, out := c.GetResolverRuleRequest(input) +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverQueryLogConfig +func (c *Route53Resolver) DisassociateResolverQueryLogConfig(input *DisassociateResolverQueryLogConfigInput) (*DisassociateResolverQueryLogConfigOutput, error) { + req, out := c.DisassociateResolverQueryLogConfigRequest(input) return out, req.Send() } -// GetResolverRuleWithContext is the same as GetResolverRule with the addition of +// DisassociateResolverQueryLogConfigWithContext is the same as DisassociateResolverQueryLogConfig with the addition of // the ability to pass a context and additional request options. // -// See GetResolverRule for details on how to use this API operation. +// See DisassociateResolverQueryLogConfig 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 *Route53Resolver) GetResolverRuleWithContext(ctx aws.Context, input *GetResolverRuleInput, opts ...request.Option) (*GetResolverRuleOutput, error) { - req, out := c.GetResolverRuleRequest(input) +func (c *Route53Resolver) DisassociateResolverQueryLogConfigWithContext(ctx aws.Context, input *DisassociateResolverQueryLogConfigInput, opts ...request.Option) (*DisassociateResolverQueryLogConfigOutput, error) { + req, out := c.DisassociateResolverQueryLogConfigRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetResolverRuleAssociation = "GetResolverRuleAssociation" +const opDisassociateResolverRule = "DisassociateResolverRule" -// GetResolverRuleAssociationRequest generates a "aws/request.Request" representing the -// client's request for the GetResolverRuleAssociation operation. The "output" return +// DisassociateResolverRuleRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateResolverRule 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 GetResolverRuleAssociation for more information on using the GetResolverRuleAssociation +// See DisassociateResolverRule for more information on using the DisassociateResolverRule // 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 GetResolverRuleAssociationRequest method. -// req, resp := client.GetResolverRuleAssociationRequest(params) +// // Example sending a request using the DisassociateResolverRuleRequest method. +// req, resp := client.DisassociateResolverRuleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation -func (c *Route53Resolver) GetResolverRuleAssociationRequest(input *GetResolverRuleAssociationInput) (req *request.Request, output *GetResolverRuleAssociationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverRule +func (c *Route53Resolver) DisassociateResolverRuleRequest(input *DisassociateResolverRuleInput) (req *request.Request, output *DisassociateResolverRuleOutput) { op := &request.Operation{ - Name: opGetResolverRuleAssociation, + Name: opDisassociateResolverRule, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetResolverRuleAssociationInput{} + input = &DisassociateResolverRuleInput{} } - output = &GetResolverRuleAssociationOutput{} + output = &DisassociateResolverRuleOutput{} req = c.newRequest(op, input, output) return } -// GetResolverRuleAssociation API operation for Amazon Route 53 Resolver. +// DisassociateResolverRule API operation for Amazon Route 53 Resolver. // -// Gets information about an association between a specified Resolver rule and -// a VPC. You associate a Resolver rule and a VPC using AssociateResolverRule -// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html). +// Removes the association between a specified Resolver rule and a specified +// VPC. +// +// If you disassociate a Resolver rule from a VPC, Resolver stops forwarding +// DNS queries for the domain name that you specified in the Resolver rule. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation GetResolverRuleAssociation for usage and error information. +// API operation DisassociateResolverRule for usage and error information. // // Returned Error Types: // * ResourceNotFoundException @@ -1874,185 +1965,180 @@ func (c *Route53Resolver) GetResolverRuleAssociationRequest(input *GetResolverRu // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation -func (c *Route53Resolver) GetResolverRuleAssociation(input *GetResolverRuleAssociationInput) (*GetResolverRuleAssociationOutput, error) { - req, out := c.GetResolverRuleAssociationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/DisassociateResolverRule +func (c *Route53Resolver) DisassociateResolverRule(input *DisassociateResolverRuleInput) (*DisassociateResolverRuleOutput, error) { + req, out := c.DisassociateResolverRuleRequest(input) return out, req.Send() } -// GetResolverRuleAssociationWithContext is the same as GetResolverRuleAssociation with the addition of +// DisassociateResolverRuleWithContext is the same as DisassociateResolverRule with the addition of // the ability to pass a context and additional request options. // -// See GetResolverRuleAssociation for details on how to use this API operation. +// See DisassociateResolverRule 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 *Route53Resolver) GetResolverRuleAssociationWithContext(ctx aws.Context, input *GetResolverRuleAssociationInput, opts ...request.Option) (*GetResolverRuleAssociationOutput, error) { - req, out := c.GetResolverRuleAssociationRequest(input) +func (c *Route53Resolver) DisassociateResolverRuleWithContext(ctx aws.Context, input *DisassociateResolverRuleInput, opts ...request.Option) (*DisassociateResolverRuleOutput, error) { + req, out := c.DisassociateResolverRuleRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetResolverRulePolicy = "GetResolverRulePolicy" +const opGetFirewallConfig = "GetFirewallConfig" -// GetResolverRulePolicyRequest generates a "aws/request.Request" representing the -// client's request for the GetResolverRulePolicy operation. The "output" return +// GetFirewallConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetFirewallConfig 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 GetResolverRulePolicy for more information on using the GetResolverRulePolicy +// See GetFirewallConfig for more information on using the GetFirewallConfig // 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 GetResolverRulePolicyRequest method. -// req, resp := client.GetResolverRulePolicyRequest(params) +// // Example sending a request using the GetFirewallConfigRequest method. +// req, resp := client.GetFirewallConfigRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy -func (c *Route53Resolver) GetResolverRulePolicyRequest(input *GetResolverRulePolicyInput) (req *request.Request, output *GetResolverRulePolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallConfig +func (c *Route53Resolver) GetFirewallConfigRequest(input *GetFirewallConfigInput) (req *request.Request, output *GetFirewallConfigOutput) { op := &request.Operation{ - Name: opGetResolverRulePolicy, + Name: opGetFirewallConfig, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetResolverRulePolicyInput{} + input = &GetFirewallConfigInput{} } - output = &GetResolverRulePolicyOutput{} + output = &GetFirewallConfigOutput{} req = c.newRequest(op, input, output) return } -// GetResolverRulePolicy API operation for Amazon Route 53 Resolver. +// GetFirewallConfig API operation for Amazon Route 53 Resolver. // -// Gets information about the Resolver rule policy for a specified rule. A Resolver -// rule policy includes the rule that you want to share with another account, -// the account that you want to share the rule with, and the Resolver operations -// that you want to allow the account to use. +// Retrieves the configuration of the firewall behavior provided by DNS Firewall +// for a single Amazon virtual private cloud (VPC). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation GetResolverRulePolicy for usage and error information. +// API operation GetFirewallConfig for usage and error information. // // Returned Error Types: -// * InvalidParameterException -// One or more parameters in this request are not valid. -// -// * UnknownResourceException +// * ResourceNotFoundException // The specified resource doesn't exist. // +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy -func (c *Route53Resolver) GetResolverRulePolicy(input *GetResolverRulePolicyInput) (*GetResolverRulePolicyOutput, error) { - req, out := c.GetResolverRulePolicyRequest(input) +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// * ValidationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallConfig +func (c *Route53Resolver) GetFirewallConfig(input *GetFirewallConfigInput) (*GetFirewallConfigOutput, error) { + req, out := c.GetFirewallConfigRequest(input) return out, req.Send() } -// GetResolverRulePolicyWithContext is the same as GetResolverRulePolicy with the addition of +// GetFirewallConfigWithContext is the same as GetFirewallConfig with the addition of // the ability to pass a context and additional request options. // -// See GetResolverRulePolicy for details on how to use this API operation. +// See GetFirewallConfig 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 *Route53Resolver) GetResolverRulePolicyWithContext(ctx aws.Context, input *GetResolverRulePolicyInput, opts ...request.Option) (*GetResolverRulePolicyOutput, error) { - req, out := c.GetResolverRulePolicyRequest(input) +func (c *Route53Resolver) GetFirewallConfigWithContext(ctx aws.Context, input *GetFirewallConfigInput, opts ...request.Option) (*GetFirewallConfigOutput, error) { + req, out := c.GetFirewallConfigRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListResolverDnssecConfigs = "ListResolverDnssecConfigs" +const opGetFirewallDomainList = "GetFirewallDomainList" -// ListResolverDnssecConfigsRequest generates a "aws/request.Request" representing the -// client's request for the ListResolverDnssecConfigs operation. The "output" return +// GetFirewallDomainListRequest generates a "aws/request.Request" representing the +// client's request for the GetFirewallDomainList 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 ListResolverDnssecConfigs for more information on using the ListResolverDnssecConfigs +// See GetFirewallDomainList for more information on using the GetFirewallDomainList // 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 ListResolverDnssecConfigsRequest method. -// req, resp := client.ListResolverDnssecConfigsRequest(params) +// // Example sending a request using the GetFirewallDomainListRequest method. +// req, resp := client.GetFirewallDomainListRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverDnssecConfigs -func (c *Route53Resolver) ListResolverDnssecConfigsRequest(input *ListResolverDnssecConfigsInput) (req *request.Request, output *ListResolverDnssecConfigsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallDomainList +func (c *Route53Resolver) GetFirewallDomainListRequest(input *GetFirewallDomainListInput) (req *request.Request, output *GetFirewallDomainListOutput) { op := &request.Operation{ - Name: opListResolverDnssecConfigs, + Name: opGetFirewallDomainList, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListResolverDnssecConfigsInput{} + input = &GetFirewallDomainListInput{} } - output = &ListResolverDnssecConfigsOutput{} + output = &GetFirewallDomainListOutput{} req = c.newRequest(op, input, output) return } -// ListResolverDnssecConfigs API operation for Amazon Route 53 Resolver. +// GetFirewallDomainList API operation for Amazon Route 53 Resolver. // -// Lists the configurations for DNSSEC validation that are associated with the -// current AWS account. +// Retrieves the specified firewall domain list. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation ListResolverDnssecConfigs for usage and error information. +// API operation GetFirewallDomainList for usage and error information. // // Returned Error Types: -// * InvalidNextTokenException -// The value that you specified for NextToken in a List request isn't valid. -// -// * InvalidParameterException -// One or more parameters in this request are not valid. +// * ResourceNotFoundException +// The specified resource doesn't exist. // -// * InvalidRequestException -// The request is invalid. +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. @@ -2060,302 +2146,180 @@ func (c *Route53Resolver) ListResolverDnssecConfigsRequest(input *ListResolverDn // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// * AccessDeniedException -// The current account doesn't have the IAM permissions required to perform -// the specified Resolver operation. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverDnssecConfigs -func (c *Route53Resolver) ListResolverDnssecConfigs(input *ListResolverDnssecConfigsInput) (*ListResolverDnssecConfigsOutput, error) { - req, out := c.ListResolverDnssecConfigsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallDomainList +func (c *Route53Resolver) GetFirewallDomainList(input *GetFirewallDomainListInput) (*GetFirewallDomainListOutput, error) { + req, out := c.GetFirewallDomainListRequest(input) return out, req.Send() } -// ListResolverDnssecConfigsWithContext is the same as ListResolverDnssecConfigs with the addition of +// GetFirewallDomainListWithContext is the same as GetFirewallDomainList with the addition of // the ability to pass a context and additional request options. // -// See ListResolverDnssecConfigs for details on how to use this API operation. +// See GetFirewallDomainList 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 *Route53Resolver) ListResolverDnssecConfigsWithContext(ctx aws.Context, input *ListResolverDnssecConfigsInput, opts ...request.Option) (*ListResolverDnssecConfigsOutput, error) { - req, out := c.ListResolverDnssecConfigsRequest(input) +func (c *Route53Resolver) GetFirewallDomainListWithContext(ctx aws.Context, input *GetFirewallDomainListInput, opts ...request.Option) (*GetFirewallDomainListOutput, error) { + req, out := c.GetFirewallDomainListRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListResolverDnssecConfigsPages iterates over the pages of a ListResolverDnssecConfigs operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opGetFirewallRuleGroup = "GetFirewallRuleGroup" + +// GetFirewallRuleGroupRequest generates a "aws/request.Request" representing the +// client's request for the GetFirewallRuleGroup operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListResolverDnssecConfigs method for more information on how to use this operation. +// 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. // -// Note: This operation can generate multiple requests to a service. +// See GetFirewallRuleGroup for more information on using the GetFirewallRuleGroup +// API call, and error handling. // -// // Example iterating over at most 3 pages of a ListResolverDnssecConfigs operation. -// pageNum := 0 -// err := client.ListResolverDnssecConfigsPages(params, -// func(page *route53resolver.ListResolverDnssecConfigsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) +// 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. // -func (c *Route53Resolver) ListResolverDnssecConfigsPages(input *ListResolverDnssecConfigsInput, fn func(*ListResolverDnssecConfigsOutput, bool) bool) error { - return c.ListResolverDnssecConfigsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListResolverDnssecConfigsPagesWithContext same as ListResolverDnssecConfigsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *Route53Resolver) ListResolverDnssecConfigsPagesWithContext(ctx aws.Context, input *ListResolverDnssecConfigsInput, fn func(*ListResolverDnssecConfigsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListResolverDnssecConfigsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListResolverDnssecConfigsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListResolverDnssecConfigsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListResolverEndpointIpAddresses = "ListResolverEndpointIpAddresses" - -// ListResolverEndpointIpAddressesRequest generates a "aws/request.Request" representing the -// client's request for the ListResolverEndpointIpAddresses 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 ListResolverEndpointIpAddresses for more information on using the ListResolverEndpointIpAddresses -// 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 ListResolverEndpointIpAddressesRequest method. -// req, resp := client.ListResolverEndpointIpAddressesRequest(params) +// // Example sending a request using the GetFirewallRuleGroupRequest method. +// req, resp := client.GetFirewallRuleGroupRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpointIpAddresses -func (c *Route53Resolver) ListResolverEndpointIpAddressesRequest(input *ListResolverEndpointIpAddressesInput) (req *request.Request, output *ListResolverEndpointIpAddressesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroup +func (c *Route53Resolver) GetFirewallRuleGroupRequest(input *GetFirewallRuleGroupInput) (req *request.Request, output *GetFirewallRuleGroupOutput) { op := &request.Operation{ - Name: opListResolverEndpointIpAddresses, + Name: opGetFirewallRuleGroup, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListResolverEndpointIpAddressesInput{} + input = &GetFirewallRuleGroupInput{} } - output = &ListResolverEndpointIpAddressesOutput{} + output = &GetFirewallRuleGroupOutput{} req = c.newRequest(op, input, output) return } -// ListResolverEndpointIpAddresses API operation for Amazon Route 53 Resolver. +// GetFirewallRuleGroup API operation for Amazon Route 53 Resolver. // -// Gets the IP addresses for a specified Resolver endpoint. +// Retrieves the specified firewall rule group. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation ListResolverEndpointIpAddresses for usage and error information. +// API operation GetFirewallRuleGroup for usage and error information. // // Returned Error Types: // * ResourceNotFoundException // The specified resource doesn't exist. // -// * InvalidParameterException -// One or more parameters in this request are not valid. +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // -// * InvalidNextTokenException -// The value that you specified for NextToken in a List request isn't valid. -// // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpointIpAddresses -func (c *Route53Resolver) ListResolverEndpointIpAddresses(input *ListResolverEndpointIpAddressesInput) (*ListResolverEndpointIpAddressesOutput, error) { - req, out := c.ListResolverEndpointIpAddressesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroup +func (c *Route53Resolver) GetFirewallRuleGroup(input *GetFirewallRuleGroupInput) (*GetFirewallRuleGroupOutput, error) { + req, out := c.GetFirewallRuleGroupRequest(input) return out, req.Send() } -// ListResolverEndpointIpAddressesWithContext is the same as ListResolverEndpointIpAddresses with the addition of +// GetFirewallRuleGroupWithContext is the same as GetFirewallRuleGroup with the addition of // the ability to pass a context and additional request options. // -// See ListResolverEndpointIpAddresses for details on how to use this API operation. +// See GetFirewallRuleGroup 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 *Route53Resolver) ListResolverEndpointIpAddressesWithContext(ctx aws.Context, input *ListResolverEndpointIpAddressesInput, opts ...request.Option) (*ListResolverEndpointIpAddressesOutput, error) { - req, out := c.ListResolverEndpointIpAddressesRequest(input) +func (c *Route53Resolver) GetFirewallRuleGroupWithContext(ctx aws.Context, input *GetFirewallRuleGroupInput, opts ...request.Option) (*GetFirewallRuleGroupOutput, error) { + req, out := c.GetFirewallRuleGroupRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListResolverEndpointIpAddressesPages iterates over the pages of a ListResolverEndpointIpAddresses operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListResolverEndpointIpAddresses method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListResolverEndpointIpAddresses operation. -// pageNum := 0 -// err := client.ListResolverEndpointIpAddressesPages(params, -// func(page *route53resolver.ListResolverEndpointIpAddressesOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *Route53Resolver) ListResolverEndpointIpAddressesPages(input *ListResolverEndpointIpAddressesInput, fn func(*ListResolverEndpointIpAddressesOutput, bool) bool) error { - return c.ListResolverEndpointIpAddressesPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListResolverEndpointIpAddressesPagesWithContext same as ListResolverEndpointIpAddressesPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *Route53Resolver) ListResolverEndpointIpAddressesPagesWithContext(ctx aws.Context, input *ListResolverEndpointIpAddressesInput, fn func(*ListResolverEndpointIpAddressesOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListResolverEndpointIpAddressesInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListResolverEndpointIpAddressesRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListResolverEndpointIpAddressesOutput), !p.HasNextPage()) { - break - } - } +const opGetFirewallRuleGroupAssociation = "GetFirewallRuleGroupAssociation" - return p.Err() -} - -const opListResolverEndpoints = "ListResolverEndpoints" - -// ListResolverEndpointsRequest generates a "aws/request.Request" representing the -// client's request for the ListResolverEndpoints operation. The "output" return +// GetFirewallRuleGroupAssociationRequest generates a "aws/request.Request" representing the +// client's request for the GetFirewallRuleGroupAssociation 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 ListResolverEndpoints for more information on using the ListResolverEndpoints +// See GetFirewallRuleGroupAssociation for more information on using the GetFirewallRuleGroupAssociation // 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 ListResolverEndpointsRequest method. -// req, resp := client.ListResolverEndpointsRequest(params) +// // Example sending a request using the GetFirewallRuleGroupAssociationRequest method. +// req, resp := client.GetFirewallRuleGroupAssociationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpoints -func (c *Route53Resolver) ListResolverEndpointsRequest(input *ListResolverEndpointsInput) (req *request.Request, output *ListResolverEndpointsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroupAssociation +func (c *Route53Resolver) GetFirewallRuleGroupAssociationRequest(input *GetFirewallRuleGroupAssociationInput) (req *request.Request, output *GetFirewallRuleGroupAssociationOutput) { op := &request.Operation{ - Name: opListResolverEndpoints, + Name: opGetFirewallRuleGroupAssociation, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListResolverEndpointsInput{} + input = &GetFirewallRuleGroupAssociationInput{} } - output = &ListResolverEndpointsOutput{} + output = &GetFirewallRuleGroupAssociationOutput{} req = c.newRequest(op, input, output) return } -// ListResolverEndpoints API operation for Amazon Route 53 Resolver. +// GetFirewallRuleGroupAssociation API operation for Amazon Route 53 Resolver. // -// Lists all the Resolver endpoints that were created using the current AWS -// account. +// Retrieves a firewall rule group association, which enables DNS filtering +// for a VPC with one rule group. A VPC can have more than one firewall rule +// group association, and a rule group can be associated with more than one +// VPC. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation ListResolverEndpoints for usage and error information. +// API operation GetFirewallRuleGroupAssociation for usage and error information. // // Returned Error Types: -// * InvalidNextTokenException -// The value that you specified for NextToken in a List request isn't valid. -// -// * InvalidRequestException -// The request is invalid. +// * ResourceNotFoundException +// The specified resource doesn't exist. // -// * InvalidParameterException -// One or more parameters in this request are not valid. +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. @@ -2363,149 +2327,92 @@ func (c *Route53Resolver) ListResolverEndpointsRequest(input *ListResolverEndpoi // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpoints -func (c *Route53Resolver) ListResolverEndpoints(input *ListResolverEndpointsInput) (*ListResolverEndpointsOutput, error) { - req, out := c.ListResolverEndpointsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroupAssociation +func (c *Route53Resolver) GetFirewallRuleGroupAssociation(input *GetFirewallRuleGroupAssociationInput) (*GetFirewallRuleGroupAssociationOutput, error) { + req, out := c.GetFirewallRuleGroupAssociationRequest(input) return out, req.Send() } -// ListResolverEndpointsWithContext is the same as ListResolverEndpoints with the addition of +// GetFirewallRuleGroupAssociationWithContext is the same as GetFirewallRuleGroupAssociation with the addition of // the ability to pass a context and additional request options. // -// See ListResolverEndpoints for details on how to use this API operation. +// See GetFirewallRuleGroupAssociation 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 *Route53Resolver) ListResolverEndpointsWithContext(ctx aws.Context, input *ListResolverEndpointsInput, opts ...request.Option) (*ListResolverEndpointsOutput, error) { - req, out := c.ListResolverEndpointsRequest(input) +func (c *Route53Resolver) GetFirewallRuleGroupAssociationWithContext(ctx aws.Context, input *GetFirewallRuleGroupAssociationInput, opts ...request.Option) (*GetFirewallRuleGroupAssociationOutput, error) { + req, out := c.GetFirewallRuleGroupAssociationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListResolverEndpointsPages iterates over the pages of a ListResolverEndpoints operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListResolverEndpoints method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListResolverEndpoints operation. -// pageNum := 0 -// err := client.ListResolverEndpointsPages(params, -// func(page *route53resolver.ListResolverEndpointsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *Route53Resolver) ListResolverEndpointsPages(input *ListResolverEndpointsInput, fn func(*ListResolverEndpointsOutput, bool) bool) error { - return c.ListResolverEndpointsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListResolverEndpointsPagesWithContext same as ListResolverEndpointsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *Route53Resolver) ListResolverEndpointsPagesWithContext(ctx aws.Context, input *ListResolverEndpointsInput, fn func(*ListResolverEndpointsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListResolverEndpointsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListResolverEndpointsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListResolverEndpointsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListResolverQueryLogConfigAssociations = "ListResolverQueryLogConfigAssociations" +const opGetFirewallRuleGroupPolicy = "GetFirewallRuleGroupPolicy" -// ListResolverQueryLogConfigAssociationsRequest generates a "aws/request.Request" representing the -// client's request for the ListResolverQueryLogConfigAssociations operation. The "output" return +// GetFirewallRuleGroupPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetFirewallRuleGroupPolicy 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 ListResolverQueryLogConfigAssociations for more information on using the ListResolverQueryLogConfigAssociations +// See GetFirewallRuleGroupPolicy for more information on using the GetFirewallRuleGroupPolicy // 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 ListResolverQueryLogConfigAssociationsRequest method. -// req, resp := client.ListResolverQueryLogConfigAssociationsRequest(params) +// // Example sending a request using the GetFirewallRuleGroupPolicyRequest method. +// req, resp := client.GetFirewallRuleGroupPolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverQueryLogConfigAssociations -func (c *Route53Resolver) ListResolverQueryLogConfigAssociationsRequest(input *ListResolverQueryLogConfigAssociationsInput) (req *request.Request, output *ListResolverQueryLogConfigAssociationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroupPolicy +func (c *Route53Resolver) GetFirewallRuleGroupPolicyRequest(input *GetFirewallRuleGroupPolicyInput) (req *request.Request, output *GetFirewallRuleGroupPolicyOutput) { op := &request.Operation{ - Name: opListResolverQueryLogConfigAssociations, + Name: opGetFirewallRuleGroupPolicy, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListResolverQueryLogConfigAssociationsInput{} + input = &GetFirewallRuleGroupPolicyInput{} } - output = &ListResolverQueryLogConfigAssociationsOutput{} + output = &GetFirewallRuleGroupPolicyOutput{} req = c.newRequest(op, input, output) return } -// ListResolverQueryLogConfigAssociations API operation for Amazon Route 53 Resolver. +// GetFirewallRuleGroupPolicy API operation for Amazon Route 53 Resolver. // -// Lists information about associations between Amazon VPCs and query logging -// configurations. +// Returns the AWS Identity and Access Management (AWS IAM) policy for sharing +// the specified rule group. You can use the policy to share the rule group +// using AWS Resource Access Manager (RAM). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation ListResolverQueryLogConfigAssociations for usage and error information. +// API operation GetFirewallRuleGroupPolicy for usage and error information. // // Returned Error Types: -// * InvalidParameterException -// One or more parameters in this request are not valid. +// * ValidationException // -// * InvalidRequestException -// The request is invalid. +// * ResourceNotFoundException +// The specified resource doesn't exist. // -// * LimitExceededException -// The request caused one or more limits to be exceeded. +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. @@ -2513,155 +2420,91 @@ func (c *Route53Resolver) ListResolverQueryLogConfigAssociationsRequest(input *L // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// * AccessDeniedException -// The current account doesn't have the IAM permissions required to perform -// the specified Resolver operation. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverQueryLogConfigAssociations -func (c *Route53Resolver) ListResolverQueryLogConfigAssociations(input *ListResolverQueryLogConfigAssociationsInput) (*ListResolverQueryLogConfigAssociationsOutput, error) { - req, out := c.ListResolverQueryLogConfigAssociationsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetFirewallRuleGroupPolicy +func (c *Route53Resolver) GetFirewallRuleGroupPolicy(input *GetFirewallRuleGroupPolicyInput) (*GetFirewallRuleGroupPolicyOutput, error) { + req, out := c.GetFirewallRuleGroupPolicyRequest(input) return out, req.Send() } -// ListResolverQueryLogConfigAssociationsWithContext is the same as ListResolverQueryLogConfigAssociations with the addition of +// GetFirewallRuleGroupPolicyWithContext is the same as GetFirewallRuleGroupPolicy with the addition of // the ability to pass a context and additional request options. // -// See ListResolverQueryLogConfigAssociations for details on how to use this API operation. +// See GetFirewallRuleGroupPolicy 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 *Route53Resolver) ListResolverQueryLogConfigAssociationsWithContext(ctx aws.Context, input *ListResolverQueryLogConfigAssociationsInput, opts ...request.Option) (*ListResolverQueryLogConfigAssociationsOutput, error) { - req, out := c.ListResolverQueryLogConfigAssociationsRequest(input) +func (c *Route53Resolver) GetFirewallRuleGroupPolicyWithContext(ctx aws.Context, input *GetFirewallRuleGroupPolicyInput, opts ...request.Option) (*GetFirewallRuleGroupPolicyOutput, error) { + req, out := c.GetFirewallRuleGroupPolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListResolverQueryLogConfigAssociationsPages iterates over the pages of a ListResolverQueryLogConfigAssociations operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListResolverQueryLogConfigAssociations method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListResolverQueryLogConfigAssociations operation. -// pageNum := 0 -// err := client.ListResolverQueryLogConfigAssociationsPages(params, -// func(page *route53resolver.ListResolverQueryLogConfigAssociationsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *Route53Resolver) ListResolverQueryLogConfigAssociationsPages(input *ListResolverQueryLogConfigAssociationsInput, fn func(*ListResolverQueryLogConfigAssociationsOutput, bool) bool) error { - return c.ListResolverQueryLogConfigAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListResolverQueryLogConfigAssociationsPagesWithContext same as ListResolverQueryLogConfigAssociationsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *Route53Resolver) ListResolverQueryLogConfigAssociationsPagesWithContext(ctx aws.Context, input *ListResolverQueryLogConfigAssociationsInput, fn func(*ListResolverQueryLogConfigAssociationsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListResolverQueryLogConfigAssociationsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListResolverQueryLogConfigAssociationsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListResolverQueryLogConfigAssociationsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListResolverQueryLogConfigs = "ListResolverQueryLogConfigs" +const opGetResolverDnssecConfig = "GetResolverDnssecConfig" -// ListResolverQueryLogConfigsRequest generates a "aws/request.Request" representing the -// client's request for the ListResolverQueryLogConfigs operation. The "output" return +// GetResolverDnssecConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverDnssecConfig 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 ListResolverQueryLogConfigs for more information on using the ListResolverQueryLogConfigs +// See GetResolverDnssecConfig for more information on using the GetResolverDnssecConfig // 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 ListResolverQueryLogConfigsRequest method. -// req, resp := client.ListResolverQueryLogConfigsRequest(params) +// // Example sending a request using the GetResolverDnssecConfigRequest method. +// req, resp := client.GetResolverDnssecConfigRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverQueryLogConfigs -func (c *Route53Resolver) ListResolverQueryLogConfigsRequest(input *ListResolverQueryLogConfigsInput) (req *request.Request, output *ListResolverQueryLogConfigsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverDnssecConfig +func (c *Route53Resolver) GetResolverDnssecConfigRequest(input *GetResolverDnssecConfigInput) (req *request.Request, output *GetResolverDnssecConfigOutput) { op := &request.Operation{ - Name: opListResolverQueryLogConfigs, + Name: opGetResolverDnssecConfig, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListResolverQueryLogConfigsInput{} + input = &GetResolverDnssecConfigInput{} } - output = &ListResolverQueryLogConfigsOutput{} + output = &GetResolverDnssecConfigOutput{} req = c.newRequest(op, input, output) return } -// ListResolverQueryLogConfigs API operation for Amazon Route 53 Resolver. +// GetResolverDnssecConfig API operation for Amazon Route 53 Resolver. // -// Lists information about the specified query logging configurations. Each -// configuration defines where you want Resolver to save DNS query logs and -// specifies the VPCs that you want to log queries for. +// Gets DNSSEC validation information for a specified resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation ListResolverQueryLogConfigs for usage and error information. +// API operation GetResolverDnssecConfig for usage and error information. // // Returned Error Types: -// * InvalidNextTokenException -// The value that you specified for NextToken in a List request isn't valid. +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * ResourceNotFoundException +// The specified resource doesn't exist. // // * InvalidRequestException // The request is invalid. // -// * InvalidParameterException -// One or more parameters in this request are not valid. -// // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // @@ -2672,146 +2515,86 @@ func (c *Route53Resolver) ListResolverQueryLogConfigsRequest(input *ListResolver // The current account doesn't have the IAM permissions required to perform // the specified Resolver operation. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverQueryLogConfigs -func (c *Route53Resolver) ListResolverQueryLogConfigs(input *ListResolverQueryLogConfigsInput) (*ListResolverQueryLogConfigsOutput, error) { - req, out := c.ListResolverQueryLogConfigsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverDnssecConfig +func (c *Route53Resolver) GetResolverDnssecConfig(input *GetResolverDnssecConfigInput) (*GetResolverDnssecConfigOutput, error) { + req, out := c.GetResolverDnssecConfigRequest(input) return out, req.Send() } -// ListResolverQueryLogConfigsWithContext is the same as ListResolverQueryLogConfigs with the addition of +// GetResolverDnssecConfigWithContext is the same as GetResolverDnssecConfig with the addition of // the ability to pass a context and additional request options. // -// See ListResolverQueryLogConfigs for details on how to use this API operation. +// See GetResolverDnssecConfig 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 *Route53Resolver) ListResolverQueryLogConfigsWithContext(ctx aws.Context, input *ListResolverQueryLogConfigsInput, opts ...request.Option) (*ListResolverQueryLogConfigsOutput, error) { - req, out := c.ListResolverQueryLogConfigsRequest(input) +func (c *Route53Resolver) GetResolverDnssecConfigWithContext(ctx aws.Context, input *GetResolverDnssecConfigInput, opts ...request.Option) (*GetResolverDnssecConfigOutput, error) { + req, out := c.GetResolverDnssecConfigRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListResolverQueryLogConfigsPages iterates over the pages of a ListResolverQueryLogConfigs operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListResolverQueryLogConfigs method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListResolverQueryLogConfigs operation. -// pageNum := 0 -// err := client.ListResolverQueryLogConfigsPages(params, -// func(page *route53resolver.ListResolverQueryLogConfigsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *Route53Resolver) ListResolverQueryLogConfigsPages(input *ListResolverQueryLogConfigsInput, fn func(*ListResolverQueryLogConfigsOutput, bool) bool) error { - return c.ListResolverQueryLogConfigsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListResolverQueryLogConfigsPagesWithContext same as ListResolverQueryLogConfigsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *Route53Resolver) ListResolverQueryLogConfigsPagesWithContext(ctx aws.Context, input *ListResolverQueryLogConfigsInput, fn func(*ListResolverQueryLogConfigsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListResolverQueryLogConfigsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListResolverQueryLogConfigsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListResolverQueryLogConfigsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListResolverRuleAssociations = "ListResolverRuleAssociations" +const opGetResolverEndpoint = "GetResolverEndpoint" -// ListResolverRuleAssociationsRequest generates a "aws/request.Request" representing the -// client's request for the ListResolverRuleAssociations operation. The "output" return +// GetResolverEndpointRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverEndpoint 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 ListResolverRuleAssociations for more information on using the ListResolverRuleAssociations +// See GetResolverEndpoint for more information on using the GetResolverEndpoint // 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 ListResolverRuleAssociationsRequest method. -// req, resp := client.ListResolverRuleAssociationsRequest(params) +// // Example sending a request using the GetResolverEndpointRequest method. +// req, resp := client.GetResolverEndpointRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRuleAssociations -func (c *Route53Resolver) ListResolverRuleAssociationsRequest(input *ListResolverRuleAssociationsInput) (req *request.Request, output *ListResolverRuleAssociationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpoint +func (c *Route53Resolver) GetResolverEndpointRequest(input *GetResolverEndpointInput) (req *request.Request, output *GetResolverEndpointOutput) { op := &request.Operation{ - Name: opListResolverRuleAssociations, + Name: opGetResolverEndpoint, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListResolverRuleAssociationsInput{} + input = &GetResolverEndpointInput{} } - output = &ListResolverRuleAssociationsOutput{} + output = &GetResolverEndpointOutput{} req = c.newRequest(op, input, output) return } -// ListResolverRuleAssociations API operation for Amazon Route 53 Resolver. +// GetResolverEndpoint API operation for Amazon Route 53 Resolver. // -// Lists the associations that were created between Resolver rules and VPCs -// using the current AWS account. +// Gets information about a specified Resolver endpoint, such as whether it's +// an inbound or an outbound Resolver endpoint, and the current status of the +// endpoint. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation ListResolverRuleAssociations for usage and error information. +// API operation GetResolverEndpoint for usage and error information. // // Returned Error Types: -// * InvalidNextTokenException -// The value that you specified for NextToken in a List request isn't valid. -// -// * InvalidRequestException -// The request is invalid. +// * ResourceNotFoundException +// The specified resource doesn't exist. // // * InvalidParameterException // One or more parameters in this request are not valid. @@ -2822,142 +2605,86 @@ func (c *Route53Resolver) ListResolverRuleAssociationsRequest(input *ListResolve // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRuleAssociations -func (c *Route53Resolver) ListResolverRuleAssociations(input *ListResolverRuleAssociationsInput) (*ListResolverRuleAssociationsOutput, error) { - req, out := c.ListResolverRuleAssociationsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverEndpoint +func (c *Route53Resolver) GetResolverEndpoint(input *GetResolverEndpointInput) (*GetResolverEndpointOutput, error) { + req, out := c.GetResolverEndpointRequest(input) return out, req.Send() } -// ListResolverRuleAssociationsWithContext is the same as ListResolverRuleAssociations with the addition of +// GetResolverEndpointWithContext is the same as GetResolverEndpoint with the addition of // the ability to pass a context and additional request options. // -// See ListResolverRuleAssociations for details on how to use this API operation. +// See GetResolverEndpoint 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 *Route53Resolver) ListResolverRuleAssociationsWithContext(ctx aws.Context, input *ListResolverRuleAssociationsInput, opts ...request.Option) (*ListResolverRuleAssociationsOutput, error) { - req, out := c.ListResolverRuleAssociationsRequest(input) +func (c *Route53Resolver) GetResolverEndpointWithContext(ctx aws.Context, input *GetResolverEndpointInput, opts ...request.Option) (*GetResolverEndpointOutput, error) { + req, out := c.GetResolverEndpointRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListResolverRuleAssociationsPages iterates over the pages of a ListResolverRuleAssociations operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opGetResolverQueryLogConfig = "GetResolverQueryLogConfig" + +// GetResolverQueryLogConfigRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverQueryLogConfig operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListResolverRuleAssociations method for more information on how to use this operation. +// 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. // -// Note: This operation can generate multiple requests to a service. +// See GetResolverQueryLogConfig for more information on using the GetResolverQueryLogConfig +// API call, and error handling. // -// // Example iterating over at most 3 pages of a ListResolverRuleAssociations operation. -// pageNum := 0 -// err := client.ListResolverRuleAssociationsPages(params, -// func(page *route53resolver.ListResolverRuleAssociationsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) +// 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. // -func (c *Route53Resolver) ListResolverRuleAssociationsPages(input *ListResolverRuleAssociationsInput, fn func(*ListResolverRuleAssociationsOutput, bool) bool) error { - return c.ListResolverRuleAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListResolverRuleAssociationsPagesWithContext same as ListResolverRuleAssociationsPages except -// it takes a Context and allows setting request options on the pages. // -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *Route53Resolver) ListResolverRuleAssociationsPagesWithContext(ctx aws.Context, input *ListResolverRuleAssociationsInput, fn func(*ListResolverRuleAssociationsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListResolverRuleAssociationsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListResolverRuleAssociationsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListResolverRuleAssociationsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListResolverRules = "ListResolverRules" - -// ListResolverRulesRequest generates a "aws/request.Request" representing the -// client's request for the ListResolverRules 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 ListResolverRules for more information on using the ListResolverRules -// 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 ListResolverRulesRequest method. -// req, resp := client.ListResolverRulesRequest(params) +// // Example sending a request using the GetResolverQueryLogConfigRequest method. +// req, resp := client.GetResolverQueryLogConfigRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRules -func (c *Route53Resolver) ListResolverRulesRequest(input *ListResolverRulesInput) (req *request.Request, output *ListResolverRulesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfig +func (c *Route53Resolver) GetResolverQueryLogConfigRequest(input *GetResolverQueryLogConfigInput) (req *request.Request, output *GetResolverQueryLogConfigOutput) { op := &request.Operation{ - Name: opListResolverRules, + Name: opGetResolverQueryLogConfig, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListResolverRulesInput{} + input = &GetResolverQueryLogConfigInput{} } - output = &ListResolverRulesOutput{} + output = &GetResolverQueryLogConfigOutput{} req = c.newRequest(op, input, output) return } -// ListResolverRules API operation for Amazon Route 53 Resolver. +// GetResolverQueryLogConfig API operation for Amazon Route 53 Resolver. // -// Lists the Resolver rules that were created using the current AWS account. +// Gets information about a specified Resolver query logging configuration, +// such as the number of VPCs that the configuration is logging queries for +// and the location that logs are sent to. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation ListResolverRules for usage and error information. +// API operation GetResolverQueryLogConfig for usage and error information. // // Returned Error Types: -// * InvalidNextTokenException -// The value that you specified for NextToken in a List request isn't valid. +// * ResourceNotFoundException +// The specified resource doesn't exist. // // * InvalidRequestException // The request is invalid. @@ -2971,580 +2698,569 @@ func (c *Route53Resolver) ListResolverRulesRequest(input *ListResolverRulesInput // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRules -func (c *Route53Resolver) ListResolverRules(input *ListResolverRulesInput) (*ListResolverRulesOutput, error) { - req, out := c.ListResolverRulesRequest(input) +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfig +func (c *Route53Resolver) GetResolverQueryLogConfig(input *GetResolverQueryLogConfigInput) (*GetResolverQueryLogConfigOutput, error) { + req, out := c.GetResolverQueryLogConfigRequest(input) return out, req.Send() } -// ListResolverRulesWithContext is the same as ListResolverRules with the addition of +// GetResolverQueryLogConfigWithContext is the same as GetResolverQueryLogConfig with the addition of // the ability to pass a context and additional request options. // -// See ListResolverRules for details on how to use this API operation. +// See GetResolverQueryLogConfig 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 *Route53Resolver) ListResolverRulesWithContext(ctx aws.Context, input *ListResolverRulesInput, opts ...request.Option) (*ListResolverRulesOutput, error) { - req, out := c.ListResolverRulesRequest(input) +func (c *Route53Resolver) GetResolverQueryLogConfigWithContext(ctx aws.Context, input *GetResolverQueryLogConfigInput, opts ...request.Option) (*GetResolverQueryLogConfigOutput, error) { + req, out := c.GetResolverQueryLogConfigRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListResolverRulesPages iterates over the pages of a ListResolverRules operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListResolverRules method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListResolverRules operation. -// pageNum := 0 -// err := client.ListResolverRulesPages(params, -// func(page *route53resolver.ListResolverRulesOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *Route53Resolver) ListResolverRulesPages(input *ListResolverRulesInput, fn func(*ListResolverRulesOutput, bool) bool) error { - return c.ListResolverRulesPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListResolverRulesPagesWithContext same as ListResolverRulesPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *Route53Resolver) ListResolverRulesPagesWithContext(ctx aws.Context, input *ListResolverRulesInput, fn func(*ListResolverRulesOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListResolverRulesInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListResolverRulesRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListResolverRulesOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListTagsForResource = "ListTagsForResource" +const opGetResolverQueryLogConfigAssociation = "GetResolverQueryLogConfigAssociation" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// GetResolverQueryLogConfigAssociationRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverQueryLogConfigAssociation 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 ListTagsForResource for more information on using the ListTagsForResource +// See GetResolverQueryLogConfigAssociation for more information on using the GetResolverQueryLogConfigAssociation // 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 ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the GetResolverQueryLogConfigAssociationRequest method. +// req, resp := client.GetResolverQueryLogConfigAssociationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListTagsForResource -func (c *Route53Resolver) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigAssociation +func (c *Route53Resolver) GetResolverQueryLogConfigAssociationRequest(input *GetResolverQueryLogConfigAssociationInput) (req *request.Request, output *GetResolverQueryLogConfigAssociationOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opGetResolverQueryLogConfigAssociation, HTTPMethod: "POST", HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, } if input == nil { - input = &ListTagsForResourceInput{} + input = &GetResolverQueryLogConfigAssociationInput{} } - output = &ListTagsForResourceOutput{} + output = &GetResolverQueryLogConfigAssociationOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for Amazon Route 53 Resolver. +// GetResolverQueryLogConfigAssociation API operation for Amazon Route 53 Resolver. // -// Lists the tags that you associated with the specified resource. +// Gets information about a specified association between a Resolver query logging +// configuration and an Amazon VPC. When you associate a VPC with a query logging +// configuration, Resolver logs DNS queries that originate in that VPC. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation ListTagsForResource for usage and error information. +// API operation GetResolverQueryLogConfigAssociation for usage and error information. // // Returned Error Types: // * ResourceNotFoundException // The specified resource doesn't exist. // -// * InvalidParameterException -// One or more parameters in this request are not valid. -// -// * InvalidNextTokenException -// The value that you specified for NextToken in a List request isn't valid. -// // * InvalidRequestException // The request is invalid. // +// * InvalidParameterException +// One or more parameters in this request are not valid. +// // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListTagsForResource -func (c *Route53Resolver) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigAssociation +func (c *Route53Resolver) GetResolverQueryLogConfigAssociation(input *GetResolverQueryLogConfigAssociationInput) (*GetResolverQueryLogConfigAssociationOutput, error) { + req, out := c.GetResolverQueryLogConfigAssociationRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// GetResolverQueryLogConfigAssociationWithContext is the same as GetResolverQueryLogConfigAssociation with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See GetResolverQueryLogConfigAssociation 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 *Route53Resolver) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *Route53Resolver) GetResolverQueryLogConfigAssociationWithContext(ctx aws.Context, input *GetResolverQueryLogConfigAssociationInput, opts ...request.Option) (*GetResolverQueryLogConfigAssociationOutput, error) { + req, out := c.GetResolverQueryLogConfigAssociationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opGetResolverQueryLogConfigPolicy = "GetResolverQueryLogConfigPolicy" + +// GetResolverQueryLogConfigPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverQueryLogConfigPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListTagsForResource method for more information on how to use this operation. +// 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. // -// Note: This operation can generate multiple requests to a service. +// See GetResolverQueryLogConfigPolicy for more information on using the GetResolverQueryLogConfigPolicy +// API call, and error handling. // -// // Example iterating over at most 3 pages of a ListTagsForResource operation. -// pageNum := 0 -// err := client.ListTagsForResourcePages(params, -// func(page *route53resolver.ListTagsForResourceOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) +// 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. // -func (c *Route53Resolver) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { - return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) +// +// // Example sending a request using the GetResolverQueryLogConfigPolicyRequest method. +// req, resp := client.GetResolverQueryLogConfigPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigPolicy +func (c *Route53Resolver) GetResolverQueryLogConfigPolicyRequest(input *GetResolverQueryLogConfigPolicyInput) (req *request.Request, output *GetResolverQueryLogConfigPolicyOutput) { + op := &request.Operation{ + Name: opGetResolverQueryLogConfigPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetResolverQueryLogConfigPolicyInput{} + } + + output = &GetResolverQueryLogConfigPolicyOutput{} + req = c.newRequest(op, input, output) + return } -// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except -// it takes a Context and allows setting request options on the pages. +// GetResolverQueryLogConfigPolicy API operation for Amazon Route 53 Resolver. +// +// Gets information about a query logging policy. A query logging policy specifies +// the Resolver query logging operations and resources that you want to allow +// another AWS account to be able to use. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation GetResolverQueryLogConfigPolicy for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * UnknownResourceException +// The specified resource doesn't exist. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverQueryLogConfigPolicy +func (c *Route53Resolver) GetResolverQueryLogConfigPolicy(input *GetResolverQueryLogConfigPolicyInput) (*GetResolverQueryLogConfigPolicyOutput, error) { + req, out := c.GetResolverQueryLogConfigPolicyRequest(input) + return out, req.Send() +} + +// GetResolverQueryLogConfigPolicyWithContext is the same as GetResolverQueryLogConfigPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetResolverQueryLogConfigPolicy 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 *Route53Resolver) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListTagsForResourceInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListTagsForResourceRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() +func (c *Route53Resolver) GetResolverQueryLogConfigPolicyWithContext(ctx aws.Context, input *GetResolverQueryLogConfigPolicyInput, opts ...request.Option) (*GetResolverQueryLogConfigPolicyOutput, error) { + req, out := c.GetResolverQueryLogConfigPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -const opPutResolverQueryLogConfigPolicy = "PutResolverQueryLogConfigPolicy" +const opGetResolverRule = "GetResolverRule" -// PutResolverQueryLogConfigPolicyRequest generates a "aws/request.Request" representing the -// client's request for the PutResolverQueryLogConfigPolicy operation. The "output" return +// GetResolverRuleRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverRule 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 PutResolverQueryLogConfigPolicy for more information on using the PutResolverQueryLogConfigPolicy +// See GetResolverRule for more information on using the GetResolverRule // 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 PutResolverQueryLogConfigPolicyRequest method. -// req, resp := client.PutResolverQueryLogConfigPolicyRequest(params) +// // Example sending a request using the GetResolverRuleRequest method. +// req, resp := client.GetResolverRuleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverQueryLogConfigPolicy -func (c *Route53Resolver) PutResolverQueryLogConfigPolicyRequest(input *PutResolverQueryLogConfigPolicyInput) (req *request.Request, output *PutResolverQueryLogConfigPolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule +func (c *Route53Resolver) GetResolverRuleRequest(input *GetResolverRuleInput) (req *request.Request, output *GetResolverRuleOutput) { op := &request.Operation{ - Name: opPutResolverQueryLogConfigPolicy, + Name: opGetResolverRule, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &PutResolverQueryLogConfigPolicyInput{} + input = &GetResolverRuleInput{} } - output = &PutResolverQueryLogConfigPolicyOutput{} + output = &GetResolverRuleOutput{} req = c.newRequest(op, input, output) return } -// PutResolverQueryLogConfigPolicy API operation for Amazon Route 53 Resolver. +// GetResolverRule API operation for Amazon Route 53 Resolver. // -// Specifies an AWS account that you want to share a query logging configuration -// with, the query logging configuration that you want to share, and the operations -// that you want the account to be able to perform on the configuration. +// Gets information about a specified Resolver rule, such as the domain name +// that the rule forwards DNS queries for and the ID of the outbound Resolver +// endpoint that the rule is associated with. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation PutResolverQueryLogConfigPolicy for usage and error information. +// API operation GetResolverRule for usage and error information. // // Returned Error Types: -// * InvalidPolicyDocument -// The specified Resolver rule policy is invalid. +// * ResourceNotFoundException +// The specified resource doesn't exist. // // * InvalidParameterException // One or more parameters in this request are not valid. // -// * InvalidRequestException -// The request is invalid. -// -// * UnknownResourceException -// The specified resource doesn't exist. -// // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // -// * AccessDeniedException -// The current account doesn't have the IAM permissions required to perform -// the specified Resolver operation. +// * ThrottlingException +// The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverQueryLogConfigPolicy -func (c *Route53Resolver) PutResolverQueryLogConfigPolicy(input *PutResolverQueryLogConfigPolicyInput) (*PutResolverQueryLogConfigPolicyOutput, error) { - req, out := c.PutResolverQueryLogConfigPolicyRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRule +func (c *Route53Resolver) GetResolverRule(input *GetResolverRuleInput) (*GetResolverRuleOutput, error) { + req, out := c.GetResolverRuleRequest(input) return out, req.Send() } -// PutResolverQueryLogConfigPolicyWithContext is the same as PutResolverQueryLogConfigPolicy with the addition of +// GetResolverRuleWithContext is the same as GetResolverRule with the addition of // the ability to pass a context and additional request options. // -// See PutResolverQueryLogConfigPolicy for details on how to use this API operation. +// See GetResolverRule 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 *Route53Resolver) PutResolverQueryLogConfigPolicyWithContext(ctx aws.Context, input *PutResolverQueryLogConfigPolicyInput, opts ...request.Option) (*PutResolverQueryLogConfigPolicyOutput, error) { - req, out := c.PutResolverQueryLogConfigPolicyRequest(input) +func (c *Route53Resolver) GetResolverRuleWithContext(ctx aws.Context, input *GetResolverRuleInput, opts ...request.Option) (*GetResolverRuleOutput, error) { + req, out := c.GetResolverRuleRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutResolverRulePolicy = "PutResolverRulePolicy" +const opGetResolverRuleAssociation = "GetResolverRuleAssociation" -// PutResolverRulePolicyRequest generates a "aws/request.Request" representing the -// client's request for the PutResolverRulePolicy operation. The "output" return +// GetResolverRuleAssociationRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverRuleAssociation 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 PutResolverRulePolicy for more information on using the PutResolverRulePolicy +// See GetResolverRuleAssociation for more information on using the GetResolverRuleAssociation // 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 PutResolverRulePolicyRequest method. -// req, resp := client.PutResolverRulePolicyRequest(params) +// // Example sending a request using the GetResolverRuleAssociationRequest method. +// req, resp := client.GetResolverRuleAssociationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverRulePolicy -func (c *Route53Resolver) PutResolverRulePolicyRequest(input *PutResolverRulePolicyInput) (req *request.Request, output *PutResolverRulePolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation +func (c *Route53Resolver) GetResolverRuleAssociationRequest(input *GetResolverRuleAssociationInput) (req *request.Request, output *GetResolverRuleAssociationOutput) { op := &request.Operation{ - Name: opPutResolverRulePolicy, + Name: opGetResolverRuleAssociation, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &PutResolverRulePolicyInput{} + input = &GetResolverRuleAssociationInput{} } - output = &PutResolverRulePolicyOutput{} + output = &GetResolverRuleAssociationOutput{} req = c.newRequest(op, input, output) return } -// PutResolverRulePolicy API operation for Amazon Route 53 Resolver. +// GetResolverRuleAssociation API operation for Amazon Route 53 Resolver. // -// Specifies an AWS rule that you want to share with another account, the account -// that you want to share the rule with, and the operations that you want the -// account to be able to perform on the rule. +// Gets information about an association between a specified Resolver rule and +// a VPC. You associate a Resolver rule and a VPC using AssociateResolverRule +// (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation PutResolverRulePolicy for usage and error information. +// API operation GetResolverRuleAssociation for usage and error information. // // Returned Error Types: -// * InvalidPolicyDocument -// The specified Resolver rule policy is invalid. +// * ResourceNotFoundException +// The specified resource doesn't exist. // // * InvalidParameterException // One or more parameters in this request are not valid. // -// * UnknownResourceException -// The specified resource doesn't exist. -// // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverRulePolicy -func (c *Route53Resolver) PutResolverRulePolicy(input *PutResolverRulePolicyInput) (*PutResolverRulePolicyOutput, error) { - req, out := c.PutResolverRulePolicyRequest(input) +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRuleAssociation +func (c *Route53Resolver) GetResolverRuleAssociation(input *GetResolverRuleAssociationInput) (*GetResolverRuleAssociationOutput, error) { + req, out := c.GetResolverRuleAssociationRequest(input) return out, req.Send() } -// PutResolverRulePolicyWithContext is the same as PutResolverRulePolicy with the addition of +// GetResolverRuleAssociationWithContext is the same as GetResolverRuleAssociation with the addition of // the ability to pass a context and additional request options. // -// See PutResolverRulePolicy for details on how to use this API operation. +// See GetResolverRuleAssociation 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 *Route53Resolver) PutResolverRulePolicyWithContext(ctx aws.Context, input *PutResolverRulePolicyInput, opts ...request.Option) (*PutResolverRulePolicyOutput, error) { - req, out := c.PutResolverRulePolicyRequest(input) +func (c *Route53Resolver) GetResolverRuleAssociationWithContext(ctx aws.Context, input *GetResolverRuleAssociationInput, opts ...request.Option) (*GetResolverRuleAssociationOutput, error) { + req, out := c.GetResolverRuleAssociationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +const opGetResolverRulePolicy = "GetResolverRulePolicy" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// GetResolverRulePolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetResolverRulePolicy operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TagResource for more information on using the TagResource +// See GetResolverRulePolicy for more information on using the GetResolverRulePolicy // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the GetResolverRulePolicyRequest method. +// req, resp := client.GetResolverRulePolicyRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/TagResource -func (c *Route53Resolver) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy +func (c *Route53Resolver) GetResolverRulePolicyRequest(input *GetResolverRulePolicyInput) (req *request.Request, output *GetResolverRulePolicyOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opGetResolverRulePolicy, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &TagResourceInput{} + input = &GetResolverRulePolicyInput{} } - output = &TagResourceOutput{} + output = &GetResolverRulePolicyOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for Amazon Route 53 Resolver. +// GetResolverRulePolicy API operation for Amazon Route 53 Resolver. // -// Adds one or more tags to a specified resource. +// Gets information about the Resolver rule policy for a specified rule. A Resolver +// rule policy includes the rule that you want to share with another account, +// the account that you want to share the rule with, and the Resolver operations +// that you want to allow the account to use. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation TagResource for usage and error information. +// API operation GetResolverRulePolicy for usage and error information. // // Returned Error Types: -// * LimitExceededException -// The request caused one or more limits to be exceeded. -// -// * ResourceNotFoundException -// The specified resource doesn't exist. -// // * InvalidParameterException // One or more parameters in this request are not valid. // -// * InvalidRequestException -// The request is invalid. -// -// * InvalidTagException -// The specified tag is invalid. +// * UnknownResourceException +// The specified resource doesn't exist. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. // -// * ThrottlingException -// The request was throttled. Try again in a few minutes. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/TagResource -func (c *Route53Resolver) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/GetResolverRulePolicy +func (c *Route53Resolver) GetResolverRulePolicy(input *GetResolverRulePolicyInput) (*GetResolverRulePolicyOutput, error) { + req, out := c.GetResolverRulePolicyRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// GetResolverRulePolicyWithContext is the same as GetResolverRulePolicy with the addition of // the ability to pass a context and additional request options. // -// See TagResource for details on how to use this API operation. +// See GetResolverRulePolicy 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 *Route53Resolver) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *Route53Resolver) GetResolverRulePolicyWithContext(ctx aws.Context, input *GetResolverRulePolicyInput, opts ...request.Option) (*GetResolverRulePolicyOutput, error) { + req, out := c.GetResolverRulePolicyRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opImportFirewallDomains = "ImportFirewallDomains" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// ImportFirewallDomainsRequest generates a "aws/request.Request" representing the +// client's request for the ImportFirewallDomains 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 UntagResource for more information on using the UntagResource +// See ImportFirewallDomains for more information on using the ImportFirewallDomains // 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 UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // Example sending a request using the ImportFirewallDomainsRequest method. +// req, resp := client.ImportFirewallDomainsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UntagResource -func (c *Route53Resolver) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ImportFirewallDomains +func (c *Route53Resolver) ImportFirewallDomainsRequest(input *ImportFirewallDomainsInput) (req *request.Request, output *ImportFirewallDomainsOutput) { op := &request.Operation{ - Name: opUntagResource, + Name: opImportFirewallDomains, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UntagResourceInput{} + input = &ImportFirewallDomainsInput{} } - output = &UntagResourceOutput{} + output = &ImportFirewallDomainsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UntagResource API operation for Amazon Route 53 Resolver. +// ImportFirewallDomains API operation for Amazon Route 53 Resolver. // -// Removes one or more tags from a specified resource. +// Imports domain names from a file into a domain list, for use in a DNS firewall +// rule group. +// +// Each domain specification in your domain list must satisfy the following +// requirements: +// +// * It can optionally start with * (asterisk). +// +// * With the exception of the optional starting asterisk, it must only contain +// the following characters: A-Z, a-z, 0-9, - (hyphen). +// +// * It must be from 1-255 characters in length. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation UntagResource for usage and error information. +// API operation ImportFirewallDomains for usage and error information. // // Returned Error Types: +// * ValidationException +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// // * ResourceNotFoundException // The specified resource doesn't exist. // -// * InvalidParameterException -// One or more parameters in this request are not valid. +// * LimitExceededException +// The request caused one or more limits to be exceeded. // -// * InvalidRequestException -// The request is invalid. +// * ConflictException // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. @@ -3552,91 +3268,97 @@ func (c *Route53Resolver) UntagResourceRequest(input *UntagResourceInput) (req * // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UntagResource -func (c *Route53Resolver) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ImportFirewallDomains +func (c *Route53Resolver) ImportFirewallDomains(input *ImportFirewallDomainsInput) (*ImportFirewallDomainsOutput, error) { + req, out := c.ImportFirewallDomainsRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// ImportFirewallDomainsWithContext is the same as ImportFirewallDomains with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See ImportFirewallDomains 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 *Route53Resolver) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *Route53Resolver) ImportFirewallDomainsWithContext(ctx aws.Context, input *ImportFirewallDomainsInput, opts ...request.Option) (*ImportFirewallDomainsOutput, error) { + req, out := c.ImportFirewallDomainsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateResolverDnssecConfig = "UpdateResolverDnssecConfig" +const opListFirewallConfigs = "ListFirewallConfigs" -// UpdateResolverDnssecConfigRequest generates a "aws/request.Request" representing the -// client's request for the UpdateResolverDnssecConfig operation. The "output" return +// ListFirewallConfigsRequest generates a "aws/request.Request" representing the +// client's request for the ListFirewallConfigs 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 UpdateResolverDnssecConfig for more information on using the UpdateResolverDnssecConfig +// See ListFirewallConfigs for more information on using the ListFirewallConfigs // 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 UpdateResolverDnssecConfigRequest method. -// req, resp := client.UpdateResolverDnssecConfigRequest(params) +// // Example sending a request using the ListFirewallConfigsRequest method. +// req, resp := client.ListFirewallConfigsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverDnssecConfig -func (c *Route53Resolver) UpdateResolverDnssecConfigRequest(input *UpdateResolverDnssecConfigInput) (req *request.Request, output *UpdateResolverDnssecConfigOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallConfigs +func (c *Route53Resolver) ListFirewallConfigsRequest(input *ListFirewallConfigsInput) (req *request.Request, output *ListFirewallConfigsOutput) { op := &request.Operation{ - Name: opUpdateResolverDnssecConfig, + Name: opListFirewallConfigs, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateResolverDnssecConfigInput{} + input = &ListFirewallConfigsInput{} } - output = &UpdateResolverDnssecConfigOutput{} + output = &ListFirewallConfigsOutput{} req = c.newRequest(op, input, output) return } -// UpdateResolverDnssecConfig API operation for Amazon Route 53 Resolver. +// ListFirewallConfigs API operation for Amazon Route 53 Resolver. // -// Updates an existing DNSSEC validation configuration. If there is no existing -// DNSSEC validation configuration, one is created. +// Retrieves the firewall configurations that you have defined. DNS Firewall +// uses the configurations to manage firewall behavior for your VPCs. +// +// A single call might return only a partial list of the configurations. For +// information, see MaxResults. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation UpdateResolverDnssecConfig for usage and error information. +// API operation ListFirewallConfigs for usage and error information. // // Returned Error Types: -// * InvalidParameterException -// One or more parameters in this request are not valid. -// -// * ResourceNotFoundException -// The specified resource doesn't exist. +// * ValidationException // -// * InvalidRequestException -// The request is invalid. +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. @@ -3644,94 +3366,150 @@ func (c *Route53Resolver) UpdateResolverDnssecConfigRequest(input *UpdateResolve // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// * AccessDeniedException -// The current account doesn't have the IAM permissions required to perform -// the specified Resolver operation. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverDnssecConfig -func (c *Route53Resolver) UpdateResolverDnssecConfig(input *UpdateResolverDnssecConfigInput) (*UpdateResolverDnssecConfigOutput, error) { - req, out := c.UpdateResolverDnssecConfigRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallConfigs +func (c *Route53Resolver) ListFirewallConfigs(input *ListFirewallConfigsInput) (*ListFirewallConfigsOutput, error) { + req, out := c.ListFirewallConfigsRequest(input) return out, req.Send() } -// UpdateResolverDnssecConfigWithContext is the same as UpdateResolverDnssecConfig with the addition of +// ListFirewallConfigsWithContext is the same as ListFirewallConfigs with the addition of // the ability to pass a context and additional request options. // -// See UpdateResolverDnssecConfig for details on how to use this API operation. +// See ListFirewallConfigs 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 *Route53Resolver) UpdateResolverDnssecConfigWithContext(ctx aws.Context, input *UpdateResolverDnssecConfigInput, opts ...request.Option) (*UpdateResolverDnssecConfigOutput, error) { - req, out := c.UpdateResolverDnssecConfigRequest(input) +func (c *Route53Resolver) ListFirewallConfigsWithContext(ctx aws.Context, input *ListFirewallConfigsInput, opts ...request.Option) (*ListFirewallConfigsOutput, error) { + req, out := c.ListFirewallConfigsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateResolverEndpoint = "UpdateResolverEndpoint" +// ListFirewallConfigsPages iterates over the pages of a ListFirewallConfigs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFirewallConfigs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListFirewallConfigs operation. +// pageNum := 0 +// err := client.ListFirewallConfigsPages(params, +// func(page *route53resolver.ListFirewallConfigsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListFirewallConfigsPages(input *ListFirewallConfigsInput, fn func(*ListFirewallConfigsOutput, bool) bool) error { + return c.ListFirewallConfigsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateResolverEndpointRequest generates a "aws/request.Request" representing the -// client's request for the UpdateResolverEndpoint operation. The "output" return +// ListFirewallConfigsPagesWithContext same as ListFirewallConfigsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListFirewallConfigsPagesWithContext(ctx aws.Context, input *ListFirewallConfigsInput, fn func(*ListFirewallConfigsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFirewallConfigsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFirewallConfigsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListFirewallConfigsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListFirewallDomainLists = "ListFirewallDomainLists" + +// ListFirewallDomainListsRequest generates a "aws/request.Request" representing the +// client's request for the ListFirewallDomainLists 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 UpdateResolverEndpoint for more information on using the UpdateResolverEndpoint +// See ListFirewallDomainLists for more information on using the ListFirewallDomainLists // 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 UpdateResolverEndpointRequest method. -// req, resp := client.UpdateResolverEndpointRequest(params) +// // Example sending a request using the ListFirewallDomainListsRequest method. +// req, resp := client.ListFirewallDomainListsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverEndpoint -func (c *Route53Resolver) UpdateResolverEndpointRequest(input *UpdateResolverEndpointInput) (req *request.Request, output *UpdateResolverEndpointOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallDomainLists +func (c *Route53Resolver) ListFirewallDomainListsRequest(input *ListFirewallDomainListsInput) (req *request.Request, output *ListFirewallDomainListsOutput) { op := &request.Operation{ - Name: opUpdateResolverEndpoint, + Name: opListFirewallDomainLists, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateResolverEndpointInput{} + input = &ListFirewallDomainListsInput{} } - output = &UpdateResolverEndpointOutput{} + output = &ListFirewallDomainListsOutput{} req = c.newRequest(op, input, output) return } -// UpdateResolverEndpoint API operation for Amazon Route 53 Resolver. +// ListFirewallDomainLists API operation for Amazon Route 53 Resolver. // -// Updates the name of an inbound or an outbound Resolver endpoint. +// Retrieves the firewall domain lists that you have defined. For each firewall +// domain list, you can retrieve the domains that are defined for a list by +// calling ListFirewallDomains. +// +// A single call to this list operation might return only a partial list of +// the domain lists. For information, see MaxResults. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation UpdateResolverEndpoint for usage and error information. +// API operation ListFirewallDomainLists for usage and error information. // // Returned Error Types: -// * ResourceNotFoundException -// The specified resource doesn't exist. -// -// * InvalidParameterException -// One or more parameters in this request are not valid. +// * ValidationException // -// * InvalidRequestException -// The request is invalid. +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. @@ -3739,98 +3517,152 @@ func (c *Route53Resolver) UpdateResolverEndpointRequest(input *UpdateResolverEnd // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverEndpoint -func (c *Route53Resolver) UpdateResolverEndpoint(input *UpdateResolverEndpointInput) (*UpdateResolverEndpointOutput, error) { - req, out := c.UpdateResolverEndpointRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallDomainLists +func (c *Route53Resolver) ListFirewallDomainLists(input *ListFirewallDomainListsInput) (*ListFirewallDomainListsOutput, error) { + req, out := c.ListFirewallDomainListsRequest(input) return out, req.Send() } -// UpdateResolverEndpointWithContext is the same as UpdateResolverEndpoint with the addition of +// ListFirewallDomainListsWithContext is the same as ListFirewallDomainLists with the addition of // the ability to pass a context and additional request options. // -// See UpdateResolverEndpoint for details on how to use this API operation. +// See ListFirewallDomainLists 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 *Route53Resolver) UpdateResolverEndpointWithContext(ctx aws.Context, input *UpdateResolverEndpointInput, opts ...request.Option) (*UpdateResolverEndpointOutput, error) { - req, out := c.UpdateResolverEndpointRequest(input) +func (c *Route53Resolver) ListFirewallDomainListsWithContext(ctx aws.Context, input *ListFirewallDomainListsInput, opts ...request.Option) (*ListFirewallDomainListsOutput, error) { + req, out := c.ListFirewallDomainListsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateResolverRule = "UpdateResolverRule" +// ListFirewallDomainListsPages iterates over the pages of a ListFirewallDomainLists operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFirewallDomainLists method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListFirewallDomainLists operation. +// pageNum := 0 +// err := client.ListFirewallDomainListsPages(params, +// func(page *route53resolver.ListFirewallDomainListsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListFirewallDomainListsPages(input *ListFirewallDomainListsInput, fn func(*ListFirewallDomainListsOutput, bool) bool) error { + return c.ListFirewallDomainListsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateResolverRuleRequest generates a "aws/request.Request" representing the -// client's request for the UpdateResolverRule operation. The "output" return +// ListFirewallDomainListsPagesWithContext same as ListFirewallDomainListsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListFirewallDomainListsPagesWithContext(ctx aws.Context, input *ListFirewallDomainListsInput, fn func(*ListFirewallDomainListsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFirewallDomainListsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFirewallDomainListsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListFirewallDomainListsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListFirewallDomains = "ListFirewallDomains" + +// ListFirewallDomainsRequest generates a "aws/request.Request" representing the +// client's request for the ListFirewallDomains 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 UpdateResolverRule for more information on using the UpdateResolverRule +// See ListFirewallDomains for more information on using the ListFirewallDomains // 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 UpdateResolverRuleRequest method. -// req, resp := client.UpdateResolverRuleRequest(params) +// // Example sending a request using the ListFirewallDomainsRequest method. +// req, resp := client.ListFirewallDomainsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverRule -func (c *Route53Resolver) UpdateResolverRuleRequest(input *UpdateResolverRuleInput) (req *request.Request, output *UpdateResolverRuleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallDomains +func (c *Route53Resolver) ListFirewallDomainsRequest(input *ListFirewallDomainsInput) (req *request.Request, output *ListFirewallDomainsOutput) { op := &request.Operation{ - Name: opUpdateResolverRule, + Name: opListFirewallDomains, HTTPMethod: "POST", HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateResolverRuleInput{} + input = &ListFirewallDomainsInput{} } - output = &UpdateResolverRuleOutput{} + output = &ListFirewallDomainsOutput{} req = c.newRequest(op, input, output) return } -// UpdateResolverRule API operation for Amazon Route 53 Resolver. +// ListFirewallDomains API operation for Amazon Route 53 Resolver. // -// Updates settings for a specified Resolver rule. ResolverRuleId is required, -// and all other parameters are optional. If you don't specify a parameter, -// it retains its current value. +// Retrieves the domains that you have defined for the specified firewall domain +// list. +// +// A single call might return only a partial list of the domains. For information, +// see MaxResults. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Route 53 Resolver's -// API operation UpdateResolverRule for usage and error information. +// API operation ListFirewallDomains for usage and error information. // // Returned Error Types: -// * InvalidRequestException -// The request is invalid. -// -// * InvalidParameterException -// One or more parameters in this request are not valid. -// // * ResourceNotFoundException // The specified resource doesn't exist. // -// * ResourceUnavailableException -// The specified resource isn't available. +// * ValidationException // -// * LimitExceededException -// The request caused one or more limits to be exceeded. +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. // // * InternalServiceErrorException // We encountered an unknown error. Try again in a few minutes. @@ -3838,127 +3670,6181 @@ func (c *Route53Resolver) UpdateResolverRuleRequest(input *UpdateResolverRuleInp // * ThrottlingException // The request was throttled. Try again in a few minutes. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverRule -func (c *Route53Resolver) UpdateResolverRule(input *UpdateResolverRuleInput) (*UpdateResolverRuleOutput, error) { - req, out := c.UpdateResolverRuleRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallDomains +func (c *Route53Resolver) ListFirewallDomains(input *ListFirewallDomainsInput) (*ListFirewallDomainsOutput, error) { + req, out := c.ListFirewallDomainsRequest(input) return out, req.Send() } -// UpdateResolverRuleWithContext is the same as UpdateResolverRule with the addition of +// ListFirewallDomainsWithContext is the same as ListFirewallDomains with the addition of // the ability to pass a context and additional request options. // -// See UpdateResolverRule for details on how to use this API operation. +// See ListFirewallDomains 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 *Route53Resolver) UpdateResolverRuleWithContext(ctx aws.Context, input *UpdateResolverRuleInput, opts ...request.Option) (*UpdateResolverRuleOutput, error) { - req, out := c.UpdateResolverRuleRequest(input) +func (c *Route53Resolver) ListFirewallDomainsWithContext(ctx aws.Context, input *ListFirewallDomainsInput, opts ...request.Option) (*ListFirewallDomainsOutput, error) { + req, out := c.ListFirewallDomainsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// The current account doesn't have the IAM permissions required to perform -// the specified Resolver operation. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"Message" type:"string"` -} - -// String returns the string representation -func (s AccessDeniedException) String() string { - return awsutil.Prettify(s) +// ListFirewallDomainsPages iterates over the pages of a ListFirewallDomains operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFirewallDomains method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListFirewallDomains operation. +// pageNum := 0 +// err := client.ListFirewallDomainsPages(params, +// func(page *route53resolver.ListFirewallDomainsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListFirewallDomainsPages(input *ListFirewallDomainsInput, fn func(*ListFirewallDomainsOutput, bool) bool) error { + return c.ListFirewallDomainsPagesWithContext(aws.BackgroundContext(), input, fn) } -// GoString returns the string representation +// ListFirewallDomainsPagesWithContext same as ListFirewallDomainsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListFirewallDomainsPagesWithContext(ctx aws.Context, input *ListFirewallDomainsInput, fn func(*ListFirewallDomainsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFirewallDomainsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFirewallDomainsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListFirewallDomainsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListFirewallRuleGroupAssociations = "ListFirewallRuleGroupAssociations" + +// ListFirewallRuleGroupAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the ListFirewallRuleGroupAssociations 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 ListFirewallRuleGroupAssociations for more information on using the ListFirewallRuleGroupAssociations +// 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 ListFirewallRuleGroupAssociationsRequest method. +// req, resp := client.ListFirewallRuleGroupAssociationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRuleGroupAssociations +func (c *Route53Resolver) ListFirewallRuleGroupAssociationsRequest(input *ListFirewallRuleGroupAssociationsInput) (req *request.Request, output *ListFirewallRuleGroupAssociationsOutput) { + op := &request.Operation{ + Name: opListFirewallRuleGroupAssociations, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListFirewallRuleGroupAssociationsInput{} + } + + output = &ListFirewallRuleGroupAssociationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFirewallRuleGroupAssociations API operation for Amazon Route 53 Resolver. +// +// Retrieves the firewall rule group associations that you have defined. Each +// association enables DNS filtering for a VPC with one rule group. +// +// A single call might return only a partial list of the associations. For information, +// see MaxResults. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation ListFirewallRuleGroupAssociations for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRuleGroupAssociations +func (c *Route53Resolver) ListFirewallRuleGroupAssociations(input *ListFirewallRuleGroupAssociationsInput) (*ListFirewallRuleGroupAssociationsOutput, error) { + req, out := c.ListFirewallRuleGroupAssociationsRequest(input) + return out, req.Send() +} + +// ListFirewallRuleGroupAssociationsWithContext is the same as ListFirewallRuleGroupAssociations with the addition of +// the ability to pass a context and additional request options. +// +// See ListFirewallRuleGroupAssociations 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 *Route53Resolver) ListFirewallRuleGroupAssociationsWithContext(ctx aws.Context, input *ListFirewallRuleGroupAssociationsInput, opts ...request.Option) (*ListFirewallRuleGroupAssociationsOutput, error) { + req, out := c.ListFirewallRuleGroupAssociationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListFirewallRuleGroupAssociationsPages iterates over the pages of a ListFirewallRuleGroupAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFirewallRuleGroupAssociations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListFirewallRuleGroupAssociations operation. +// pageNum := 0 +// err := client.ListFirewallRuleGroupAssociationsPages(params, +// func(page *route53resolver.ListFirewallRuleGroupAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListFirewallRuleGroupAssociationsPages(input *ListFirewallRuleGroupAssociationsInput, fn func(*ListFirewallRuleGroupAssociationsOutput, bool) bool) error { + return c.ListFirewallRuleGroupAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListFirewallRuleGroupAssociationsPagesWithContext same as ListFirewallRuleGroupAssociationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListFirewallRuleGroupAssociationsPagesWithContext(ctx aws.Context, input *ListFirewallRuleGroupAssociationsInput, fn func(*ListFirewallRuleGroupAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFirewallRuleGroupAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFirewallRuleGroupAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListFirewallRuleGroupAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListFirewallRuleGroups = "ListFirewallRuleGroups" + +// ListFirewallRuleGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListFirewallRuleGroups 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 ListFirewallRuleGroups for more information on using the ListFirewallRuleGroups +// 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 ListFirewallRuleGroupsRequest method. +// req, resp := client.ListFirewallRuleGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRuleGroups +func (c *Route53Resolver) ListFirewallRuleGroupsRequest(input *ListFirewallRuleGroupsInput) (req *request.Request, output *ListFirewallRuleGroupsOutput) { + op := &request.Operation{ + Name: opListFirewallRuleGroups, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListFirewallRuleGroupsInput{} + } + + output = &ListFirewallRuleGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFirewallRuleGroups API operation for Amazon Route 53 Resolver. +// +// Retrieves the minimal high-level information for the rule groups that you +// have defined. +// +// A single call might return only a partial list of the rule groups. For information, +// see MaxResults. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation ListFirewallRuleGroups for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRuleGroups +func (c *Route53Resolver) ListFirewallRuleGroups(input *ListFirewallRuleGroupsInput) (*ListFirewallRuleGroupsOutput, error) { + req, out := c.ListFirewallRuleGroupsRequest(input) + return out, req.Send() +} + +// ListFirewallRuleGroupsWithContext is the same as ListFirewallRuleGroups with the addition of +// the ability to pass a context and additional request options. +// +// See ListFirewallRuleGroups 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 *Route53Resolver) ListFirewallRuleGroupsWithContext(ctx aws.Context, input *ListFirewallRuleGroupsInput, opts ...request.Option) (*ListFirewallRuleGroupsOutput, error) { + req, out := c.ListFirewallRuleGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListFirewallRuleGroupsPages iterates over the pages of a ListFirewallRuleGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFirewallRuleGroups method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListFirewallRuleGroups operation. +// pageNum := 0 +// err := client.ListFirewallRuleGroupsPages(params, +// func(page *route53resolver.ListFirewallRuleGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListFirewallRuleGroupsPages(input *ListFirewallRuleGroupsInput, fn func(*ListFirewallRuleGroupsOutput, bool) bool) error { + return c.ListFirewallRuleGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListFirewallRuleGroupsPagesWithContext same as ListFirewallRuleGroupsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListFirewallRuleGroupsPagesWithContext(ctx aws.Context, input *ListFirewallRuleGroupsInput, fn func(*ListFirewallRuleGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFirewallRuleGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFirewallRuleGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListFirewallRuleGroupsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListFirewallRules = "ListFirewallRules" + +// ListFirewallRulesRequest generates a "aws/request.Request" representing the +// client's request for the ListFirewallRules 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 ListFirewallRules for more information on using the ListFirewallRules +// 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 ListFirewallRulesRequest method. +// req, resp := client.ListFirewallRulesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRules +func (c *Route53Resolver) ListFirewallRulesRequest(input *ListFirewallRulesInput) (req *request.Request, output *ListFirewallRulesOutput) { + op := &request.Operation{ + Name: opListFirewallRules, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListFirewallRulesInput{} + } + + output = &ListFirewallRulesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFirewallRules API operation for Amazon Route 53 Resolver. +// +// Retrieves the firewall rules that you have defined for the specified firewall +// rule group. DNS Firewall uses the rules in a rule group to filter DNS network +// traffic for a VPC. +// +// A single call might return only a partial list of the rules. For information, +// see MaxResults. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation ListFirewallRules for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * ValidationException +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListFirewallRules +func (c *Route53Resolver) ListFirewallRules(input *ListFirewallRulesInput) (*ListFirewallRulesOutput, error) { + req, out := c.ListFirewallRulesRequest(input) + return out, req.Send() +} + +// ListFirewallRulesWithContext is the same as ListFirewallRules with the addition of +// the ability to pass a context and additional request options. +// +// See ListFirewallRules 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 *Route53Resolver) ListFirewallRulesWithContext(ctx aws.Context, input *ListFirewallRulesInput, opts ...request.Option) (*ListFirewallRulesOutput, error) { + req, out := c.ListFirewallRulesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListFirewallRulesPages iterates over the pages of a ListFirewallRules operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListFirewallRules method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListFirewallRules operation. +// pageNum := 0 +// err := client.ListFirewallRulesPages(params, +// func(page *route53resolver.ListFirewallRulesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListFirewallRulesPages(input *ListFirewallRulesInput, fn func(*ListFirewallRulesOutput, bool) bool) error { + return c.ListFirewallRulesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListFirewallRulesPagesWithContext same as ListFirewallRulesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListFirewallRulesPagesWithContext(ctx aws.Context, input *ListFirewallRulesInput, fn func(*ListFirewallRulesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListFirewallRulesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListFirewallRulesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListFirewallRulesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListResolverDnssecConfigs = "ListResolverDnssecConfigs" + +// ListResolverDnssecConfigsRequest generates a "aws/request.Request" representing the +// client's request for the ListResolverDnssecConfigs 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 ListResolverDnssecConfigs for more information on using the ListResolverDnssecConfigs +// 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 ListResolverDnssecConfigsRequest method. +// req, resp := client.ListResolverDnssecConfigsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverDnssecConfigs +func (c *Route53Resolver) ListResolverDnssecConfigsRequest(input *ListResolverDnssecConfigsInput) (req *request.Request, output *ListResolverDnssecConfigsOutput) { + op := &request.Operation{ + Name: opListResolverDnssecConfigs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResolverDnssecConfigsInput{} + } + + output = &ListResolverDnssecConfigsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResolverDnssecConfigs API operation for Amazon Route 53 Resolver. +// +// Lists the configurations for DNSSEC validation that are associated with the +// current AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation ListResolverDnssecConfigs for usage and error information. +// +// Returned Error Types: +// * InvalidNextTokenException +// The value that you specified for NextToken in a List request isn't valid. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverDnssecConfigs +func (c *Route53Resolver) ListResolverDnssecConfigs(input *ListResolverDnssecConfigsInput) (*ListResolverDnssecConfigsOutput, error) { + req, out := c.ListResolverDnssecConfigsRequest(input) + return out, req.Send() +} + +// ListResolverDnssecConfigsWithContext is the same as ListResolverDnssecConfigs with the addition of +// the ability to pass a context and additional request options. +// +// See ListResolverDnssecConfigs 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 *Route53Resolver) ListResolverDnssecConfigsWithContext(ctx aws.Context, input *ListResolverDnssecConfigsInput, opts ...request.Option) (*ListResolverDnssecConfigsOutput, error) { + req, out := c.ListResolverDnssecConfigsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResolverDnssecConfigsPages iterates over the pages of a ListResolverDnssecConfigs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolverDnssecConfigs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListResolverDnssecConfigs operation. +// pageNum := 0 +// err := client.ListResolverDnssecConfigsPages(params, +// func(page *route53resolver.ListResolverDnssecConfigsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListResolverDnssecConfigsPages(input *ListResolverDnssecConfigsInput, fn func(*ListResolverDnssecConfigsOutput, bool) bool) error { + return c.ListResolverDnssecConfigsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolverDnssecConfigsPagesWithContext same as ListResolverDnssecConfigsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListResolverDnssecConfigsPagesWithContext(ctx aws.Context, input *ListResolverDnssecConfigsInput, fn func(*ListResolverDnssecConfigsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolverDnssecConfigsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolverDnssecConfigsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResolverDnssecConfigsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListResolverEndpointIpAddresses = "ListResolverEndpointIpAddresses" + +// ListResolverEndpointIpAddressesRequest generates a "aws/request.Request" representing the +// client's request for the ListResolverEndpointIpAddresses 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 ListResolverEndpointIpAddresses for more information on using the ListResolverEndpointIpAddresses +// 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 ListResolverEndpointIpAddressesRequest method. +// req, resp := client.ListResolverEndpointIpAddressesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpointIpAddresses +func (c *Route53Resolver) ListResolverEndpointIpAddressesRequest(input *ListResolverEndpointIpAddressesInput) (req *request.Request, output *ListResolverEndpointIpAddressesOutput) { + op := &request.Operation{ + Name: opListResolverEndpointIpAddresses, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResolverEndpointIpAddressesInput{} + } + + output = &ListResolverEndpointIpAddressesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResolverEndpointIpAddresses API operation for Amazon Route 53 Resolver. +// +// Gets the IP addresses for a specified Resolver endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation ListResolverEndpointIpAddresses for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * InvalidNextTokenException +// The value that you specified for NextToken in a List request isn't valid. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpointIpAddresses +func (c *Route53Resolver) ListResolverEndpointIpAddresses(input *ListResolverEndpointIpAddressesInput) (*ListResolverEndpointIpAddressesOutput, error) { + req, out := c.ListResolverEndpointIpAddressesRequest(input) + return out, req.Send() +} + +// ListResolverEndpointIpAddressesWithContext is the same as ListResolverEndpointIpAddresses with the addition of +// the ability to pass a context and additional request options. +// +// See ListResolverEndpointIpAddresses 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 *Route53Resolver) ListResolverEndpointIpAddressesWithContext(ctx aws.Context, input *ListResolverEndpointIpAddressesInput, opts ...request.Option) (*ListResolverEndpointIpAddressesOutput, error) { + req, out := c.ListResolverEndpointIpAddressesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResolverEndpointIpAddressesPages iterates over the pages of a ListResolverEndpointIpAddresses operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolverEndpointIpAddresses method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListResolverEndpointIpAddresses operation. +// pageNum := 0 +// err := client.ListResolverEndpointIpAddressesPages(params, +// func(page *route53resolver.ListResolverEndpointIpAddressesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListResolverEndpointIpAddressesPages(input *ListResolverEndpointIpAddressesInput, fn func(*ListResolverEndpointIpAddressesOutput, bool) bool) error { + return c.ListResolverEndpointIpAddressesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolverEndpointIpAddressesPagesWithContext same as ListResolverEndpointIpAddressesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListResolverEndpointIpAddressesPagesWithContext(ctx aws.Context, input *ListResolverEndpointIpAddressesInput, fn func(*ListResolverEndpointIpAddressesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolverEndpointIpAddressesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolverEndpointIpAddressesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResolverEndpointIpAddressesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListResolverEndpoints = "ListResolverEndpoints" + +// ListResolverEndpointsRequest generates a "aws/request.Request" representing the +// client's request for the ListResolverEndpoints 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 ListResolverEndpoints for more information on using the ListResolverEndpoints +// 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 ListResolverEndpointsRequest method. +// req, resp := client.ListResolverEndpointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpoints +func (c *Route53Resolver) ListResolverEndpointsRequest(input *ListResolverEndpointsInput) (req *request.Request, output *ListResolverEndpointsOutput) { + op := &request.Operation{ + Name: opListResolverEndpoints, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResolverEndpointsInput{} + } + + output = &ListResolverEndpointsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResolverEndpoints API operation for Amazon Route 53 Resolver. +// +// Lists all the Resolver endpoints that were created using the current AWS +// account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation ListResolverEndpoints for usage and error information. +// +// Returned Error Types: +// * InvalidNextTokenException +// The value that you specified for NextToken in a List request isn't valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverEndpoints +func (c *Route53Resolver) ListResolverEndpoints(input *ListResolverEndpointsInput) (*ListResolverEndpointsOutput, error) { + req, out := c.ListResolverEndpointsRequest(input) + return out, req.Send() +} + +// ListResolverEndpointsWithContext is the same as ListResolverEndpoints with the addition of +// the ability to pass a context and additional request options. +// +// See ListResolverEndpoints 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 *Route53Resolver) ListResolverEndpointsWithContext(ctx aws.Context, input *ListResolverEndpointsInput, opts ...request.Option) (*ListResolverEndpointsOutput, error) { + req, out := c.ListResolverEndpointsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResolverEndpointsPages iterates over the pages of a ListResolverEndpoints operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolverEndpoints method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListResolverEndpoints operation. +// pageNum := 0 +// err := client.ListResolverEndpointsPages(params, +// func(page *route53resolver.ListResolverEndpointsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListResolverEndpointsPages(input *ListResolverEndpointsInput, fn func(*ListResolverEndpointsOutput, bool) bool) error { + return c.ListResolverEndpointsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolverEndpointsPagesWithContext same as ListResolverEndpointsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListResolverEndpointsPagesWithContext(ctx aws.Context, input *ListResolverEndpointsInput, fn func(*ListResolverEndpointsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolverEndpointsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolverEndpointsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResolverEndpointsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListResolverQueryLogConfigAssociations = "ListResolverQueryLogConfigAssociations" + +// ListResolverQueryLogConfigAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the ListResolverQueryLogConfigAssociations 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 ListResolverQueryLogConfigAssociations for more information on using the ListResolverQueryLogConfigAssociations +// 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 ListResolverQueryLogConfigAssociationsRequest method. +// req, resp := client.ListResolverQueryLogConfigAssociationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverQueryLogConfigAssociations +func (c *Route53Resolver) ListResolverQueryLogConfigAssociationsRequest(input *ListResolverQueryLogConfigAssociationsInput) (req *request.Request, output *ListResolverQueryLogConfigAssociationsOutput) { + op := &request.Operation{ + Name: opListResolverQueryLogConfigAssociations, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResolverQueryLogConfigAssociationsInput{} + } + + output = &ListResolverQueryLogConfigAssociationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResolverQueryLogConfigAssociations API operation for Amazon Route 53 Resolver. +// +// Lists information about associations between Amazon VPCs and query logging +// configurations. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation ListResolverQueryLogConfigAssociations for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * LimitExceededException +// The request caused one or more limits to be exceeded. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverQueryLogConfigAssociations +func (c *Route53Resolver) ListResolverQueryLogConfigAssociations(input *ListResolverQueryLogConfigAssociationsInput) (*ListResolverQueryLogConfigAssociationsOutput, error) { + req, out := c.ListResolverQueryLogConfigAssociationsRequest(input) + return out, req.Send() +} + +// ListResolverQueryLogConfigAssociationsWithContext is the same as ListResolverQueryLogConfigAssociations with the addition of +// the ability to pass a context and additional request options. +// +// See ListResolverQueryLogConfigAssociations 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 *Route53Resolver) ListResolverQueryLogConfigAssociationsWithContext(ctx aws.Context, input *ListResolverQueryLogConfigAssociationsInput, opts ...request.Option) (*ListResolverQueryLogConfigAssociationsOutput, error) { + req, out := c.ListResolverQueryLogConfigAssociationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResolverQueryLogConfigAssociationsPages iterates over the pages of a ListResolverQueryLogConfigAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolverQueryLogConfigAssociations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListResolverQueryLogConfigAssociations operation. +// pageNum := 0 +// err := client.ListResolverQueryLogConfigAssociationsPages(params, +// func(page *route53resolver.ListResolverQueryLogConfigAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListResolverQueryLogConfigAssociationsPages(input *ListResolverQueryLogConfigAssociationsInput, fn func(*ListResolverQueryLogConfigAssociationsOutput, bool) bool) error { + return c.ListResolverQueryLogConfigAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolverQueryLogConfigAssociationsPagesWithContext same as ListResolverQueryLogConfigAssociationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListResolverQueryLogConfigAssociationsPagesWithContext(ctx aws.Context, input *ListResolverQueryLogConfigAssociationsInput, fn func(*ListResolverQueryLogConfigAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolverQueryLogConfigAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolverQueryLogConfigAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResolverQueryLogConfigAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListResolverQueryLogConfigs = "ListResolverQueryLogConfigs" + +// ListResolverQueryLogConfigsRequest generates a "aws/request.Request" representing the +// client's request for the ListResolverQueryLogConfigs 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 ListResolverQueryLogConfigs for more information on using the ListResolverQueryLogConfigs +// 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 ListResolverQueryLogConfigsRequest method. +// req, resp := client.ListResolverQueryLogConfigsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverQueryLogConfigs +func (c *Route53Resolver) ListResolverQueryLogConfigsRequest(input *ListResolverQueryLogConfigsInput) (req *request.Request, output *ListResolverQueryLogConfigsOutput) { + op := &request.Operation{ + Name: opListResolverQueryLogConfigs, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResolverQueryLogConfigsInput{} + } + + output = &ListResolverQueryLogConfigsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResolverQueryLogConfigs API operation for Amazon Route 53 Resolver. +// +// Lists information about the specified query logging configurations. Each +// configuration defines where you want Resolver to save DNS query logs and +// specifies the VPCs that you want to log queries for. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation ListResolverQueryLogConfigs for usage and error information. +// +// Returned Error Types: +// * InvalidNextTokenException +// The value that you specified for NextToken in a List request isn't valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverQueryLogConfigs +func (c *Route53Resolver) ListResolverQueryLogConfigs(input *ListResolverQueryLogConfigsInput) (*ListResolverQueryLogConfigsOutput, error) { + req, out := c.ListResolverQueryLogConfigsRequest(input) + return out, req.Send() +} + +// ListResolverQueryLogConfigsWithContext is the same as ListResolverQueryLogConfigs with the addition of +// the ability to pass a context and additional request options. +// +// See ListResolverQueryLogConfigs 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 *Route53Resolver) ListResolverQueryLogConfigsWithContext(ctx aws.Context, input *ListResolverQueryLogConfigsInput, opts ...request.Option) (*ListResolverQueryLogConfigsOutput, error) { + req, out := c.ListResolverQueryLogConfigsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResolverQueryLogConfigsPages iterates over the pages of a ListResolverQueryLogConfigs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolverQueryLogConfigs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListResolverQueryLogConfigs operation. +// pageNum := 0 +// err := client.ListResolverQueryLogConfigsPages(params, +// func(page *route53resolver.ListResolverQueryLogConfigsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListResolverQueryLogConfigsPages(input *ListResolverQueryLogConfigsInput, fn func(*ListResolverQueryLogConfigsOutput, bool) bool) error { + return c.ListResolverQueryLogConfigsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolverQueryLogConfigsPagesWithContext same as ListResolverQueryLogConfigsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListResolverQueryLogConfigsPagesWithContext(ctx aws.Context, input *ListResolverQueryLogConfigsInput, fn func(*ListResolverQueryLogConfigsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolverQueryLogConfigsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolverQueryLogConfigsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResolverQueryLogConfigsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListResolverRuleAssociations = "ListResolverRuleAssociations" + +// ListResolverRuleAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the ListResolverRuleAssociations 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 ListResolverRuleAssociations for more information on using the ListResolverRuleAssociations +// 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 ListResolverRuleAssociationsRequest method. +// req, resp := client.ListResolverRuleAssociationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRuleAssociations +func (c *Route53Resolver) ListResolverRuleAssociationsRequest(input *ListResolverRuleAssociationsInput) (req *request.Request, output *ListResolverRuleAssociationsOutput) { + op := &request.Operation{ + Name: opListResolverRuleAssociations, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResolverRuleAssociationsInput{} + } + + output = &ListResolverRuleAssociationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResolverRuleAssociations API operation for Amazon Route 53 Resolver. +// +// Lists the associations that were created between Resolver rules and VPCs +// using the current AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation ListResolverRuleAssociations for usage and error information. +// +// Returned Error Types: +// * InvalidNextTokenException +// The value that you specified for NextToken in a List request isn't valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRuleAssociations +func (c *Route53Resolver) ListResolverRuleAssociations(input *ListResolverRuleAssociationsInput) (*ListResolverRuleAssociationsOutput, error) { + req, out := c.ListResolverRuleAssociationsRequest(input) + return out, req.Send() +} + +// ListResolverRuleAssociationsWithContext is the same as ListResolverRuleAssociations with the addition of +// the ability to pass a context and additional request options. +// +// See ListResolverRuleAssociations 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 *Route53Resolver) ListResolverRuleAssociationsWithContext(ctx aws.Context, input *ListResolverRuleAssociationsInput, opts ...request.Option) (*ListResolverRuleAssociationsOutput, error) { + req, out := c.ListResolverRuleAssociationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResolverRuleAssociationsPages iterates over the pages of a ListResolverRuleAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolverRuleAssociations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListResolverRuleAssociations operation. +// pageNum := 0 +// err := client.ListResolverRuleAssociationsPages(params, +// func(page *route53resolver.ListResolverRuleAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListResolverRuleAssociationsPages(input *ListResolverRuleAssociationsInput, fn func(*ListResolverRuleAssociationsOutput, bool) bool) error { + return c.ListResolverRuleAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolverRuleAssociationsPagesWithContext same as ListResolverRuleAssociationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListResolverRuleAssociationsPagesWithContext(ctx aws.Context, input *ListResolverRuleAssociationsInput, fn func(*ListResolverRuleAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolverRuleAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolverRuleAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResolverRuleAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListResolverRules = "ListResolverRules" + +// ListResolverRulesRequest generates a "aws/request.Request" representing the +// client's request for the ListResolverRules 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 ListResolverRules for more information on using the ListResolverRules +// 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 ListResolverRulesRequest method. +// req, resp := client.ListResolverRulesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRules +func (c *Route53Resolver) ListResolverRulesRequest(input *ListResolverRulesInput) (req *request.Request, output *ListResolverRulesOutput) { + op := &request.Operation{ + Name: opListResolverRules, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResolverRulesInput{} + } + + output = &ListResolverRulesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResolverRules API operation for Amazon Route 53 Resolver. +// +// Lists the Resolver rules that were created using the current AWS account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation ListResolverRules for usage and error information. +// +// Returned Error Types: +// * InvalidNextTokenException +// The value that you specified for NextToken in a List request isn't valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListResolverRules +func (c *Route53Resolver) ListResolverRules(input *ListResolverRulesInput) (*ListResolverRulesOutput, error) { + req, out := c.ListResolverRulesRequest(input) + return out, req.Send() +} + +// ListResolverRulesWithContext is the same as ListResolverRules with the addition of +// the ability to pass a context and additional request options. +// +// See ListResolverRules 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 *Route53Resolver) ListResolverRulesWithContext(ctx aws.Context, input *ListResolverRulesInput, opts ...request.Option) (*ListResolverRulesOutput, error) { + req, out := c.ListResolverRulesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResolverRulesPages iterates over the pages of a ListResolverRules operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResolverRules method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListResolverRules operation. +// pageNum := 0 +// err := client.ListResolverRulesPages(params, +// func(page *route53resolver.ListResolverRulesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListResolverRulesPages(input *ListResolverRulesInput, fn func(*ListResolverRulesOutput, bool) bool) error { + return c.ListResolverRulesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResolverRulesPagesWithContext same as ListResolverRulesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListResolverRulesPagesWithContext(ctx aws.Context, input *ListResolverRulesInput, fn func(*ListResolverRulesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResolverRulesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResolverRulesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResolverRulesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource 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 ListTagsForResource for more information on using the ListTagsForResource +// 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 ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListTagsForResource +func (c *Route53Resolver) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon Route 53 Resolver. +// +// Lists the tags that you associated with the specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InvalidNextTokenException +// The value that you specified for NextToken in a List request isn't valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/ListTagsForResource +func (c *Route53Resolver) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource 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 *Route53Resolver) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTagsForResource method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTagsForResource operation. +// pageNum := 0 +// err := client.ListTagsForResourcePages(params, +// func(page *route53resolver.ListTagsForResourceOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Route53Resolver) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { + return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Resolver) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTagsForResourceInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTagsForResourceRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opPutFirewallRuleGroupPolicy = "PutFirewallRuleGroupPolicy" + +// PutFirewallRuleGroupPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutFirewallRuleGroupPolicy 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 PutFirewallRuleGroupPolicy for more information on using the PutFirewallRuleGroupPolicy +// 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 PutFirewallRuleGroupPolicyRequest method. +// req, resp := client.PutFirewallRuleGroupPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutFirewallRuleGroupPolicy +func (c *Route53Resolver) PutFirewallRuleGroupPolicyRequest(input *PutFirewallRuleGroupPolicyInput) (req *request.Request, output *PutFirewallRuleGroupPolicyOutput) { + op := &request.Operation{ + Name: opPutFirewallRuleGroupPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutFirewallRuleGroupPolicyInput{} + } + + output = &PutFirewallRuleGroupPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutFirewallRuleGroupPolicy API operation for Amazon Route 53 Resolver. +// +// Attaches an AWS Identity and Access Management (AWS IAM) policy for sharing +// the rule group. You can use the policy to share the rule group using AWS +// Resource Access Manager (RAM). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation PutFirewallRuleGroupPolicy for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutFirewallRuleGroupPolicy +func (c *Route53Resolver) PutFirewallRuleGroupPolicy(input *PutFirewallRuleGroupPolicyInput) (*PutFirewallRuleGroupPolicyOutput, error) { + req, out := c.PutFirewallRuleGroupPolicyRequest(input) + return out, req.Send() +} + +// PutFirewallRuleGroupPolicyWithContext is the same as PutFirewallRuleGroupPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutFirewallRuleGroupPolicy 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 *Route53Resolver) PutFirewallRuleGroupPolicyWithContext(ctx aws.Context, input *PutFirewallRuleGroupPolicyInput, opts ...request.Option) (*PutFirewallRuleGroupPolicyOutput, error) { + req, out := c.PutFirewallRuleGroupPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutResolverQueryLogConfigPolicy = "PutResolverQueryLogConfigPolicy" + +// PutResolverQueryLogConfigPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutResolverQueryLogConfigPolicy 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 PutResolverQueryLogConfigPolicy for more information on using the PutResolverQueryLogConfigPolicy +// 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 PutResolverQueryLogConfigPolicyRequest method. +// req, resp := client.PutResolverQueryLogConfigPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverQueryLogConfigPolicy +func (c *Route53Resolver) PutResolverQueryLogConfigPolicyRequest(input *PutResolverQueryLogConfigPolicyInput) (req *request.Request, output *PutResolverQueryLogConfigPolicyOutput) { + op := &request.Operation{ + Name: opPutResolverQueryLogConfigPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutResolverQueryLogConfigPolicyInput{} + } + + output = &PutResolverQueryLogConfigPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutResolverQueryLogConfigPolicy API operation for Amazon Route 53 Resolver. +// +// Specifies an AWS account that you want to share a query logging configuration +// with, the query logging configuration that you want to share, and the operations +// that you want the account to be able to perform on the configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation PutResolverQueryLogConfigPolicy for usage and error information. +// +// Returned Error Types: +// * InvalidPolicyDocument +// The specified Resolver rule policy is invalid. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * UnknownResourceException +// The specified resource doesn't exist. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverQueryLogConfigPolicy +func (c *Route53Resolver) PutResolverQueryLogConfigPolicy(input *PutResolverQueryLogConfigPolicyInput) (*PutResolverQueryLogConfigPolicyOutput, error) { + req, out := c.PutResolverQueryLogConfigPolicyRequest(input) + return out, req.Send() +} + +// PutResolverQueryLogConfigPolicyWithContext is the same as PutResolverQueryLogConfigPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutResolverQueryLogConfigPolicy 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 *Route53Resolver) PutResolverQueryLogConfigPolicyWithContext(ctx aws.Context, input *PutResolverQueryLogConfigPolicyInput, opts ...request.Option) (*PutResolverQueryLogConfigPolicyOutput, error) { + req, out := c.PutResolverQueryLogConfigPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutResolverRulePolicy = "PutResolverRulePolicy" + +// PutResolverRulePolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutResolverRulePolicy 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 PutResolverRulePolicy for more information on using the PutResolverRulePolicy +// 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 PutResolverRulePolicyRequest method. +// req, resp := client.PutResolverRulePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverRulePolicy +func (c *Route53Resolver) PutResolverRulePolicyRequest(input *PutResolverRulePolicyInput) (req *request.Request, output *PutResolverRulePolicyOutput) { + op := &request.Operation{ + Name: opPutResolverRulePolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutResolverRulePolicyInput{} + } + + output = &PutResolverRulePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutResolverRulePolicy API operation for Amazon Route 53 Resolver. +// +// Specifies an AWS rule that you want to share with another account, the account +// that you want to share the rule with, and the operations that you want the +// account to be able to perform on the rule. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation PutResolverRulePolicy for usage and error information. +// +// Returned Error Types: +// * InvalidPolicyDocument +// The specified Resolver rule policy is invalid. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * UnknownResourceException +// The specified resource doesn't exist. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/PutResolverRulePolicy +func (c *Route53Resolver) PutResolverRulePolicy(input *PutResolverRulePolicyInput) (*PutResolverRulePolicyOutput, error) { + req, out := c.PutResolverRulePolicyRequest(input) + return out, req.Send() +} + +// PutResolverRulePolicyWithContext is the same as PutResolverRulePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutResolverRulePolicy 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 *Route53Resolver) PutResolverRulePolicyWithContext(ctx aws.Context, input *PutResolverRulePolicyInput, opts ...request.Option) (*PutResolverRulePolicyOutput, error) { + req, out := c.PutResolverRulePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/TagResource +func (c *Route53Resolver) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon Route 53 Resolver. +// +// Adds one or more tags to a specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * LimitExceededException +// The request caused one or more limits to be exceeded. +// +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * InvalidTagException +// The specified tag is invalid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/TagResource +func (c *Route53Resolver) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource 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 *Route53Resolver) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource 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 UntagResource for more information on using the UntagResource +// 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 UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UntagResource +func (c *Route53Resolver) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon Route 53 Resolver. +// +// Removes one or more tags from a specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UntagResource +func (c *Route53Resolver) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource 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 *Route53Resolver) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateFirewallConfig = "UpdateFirewallConfig" + +// UpdateFirewallConfigRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFirewallConfig 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 UpdateFirewallConfig for more information on using the UpdateFirewallConfig +// 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 UpdateFirewallConfigRequest method. +// req, resp := client.UpdateFirewallConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallConfig +func (c *Route53Resolver) UpdateFirewallConfigRequest(input *UpdateFirewallConfigInput) (req *request.Request, output *UpdateFirewallConfigOutput) { + op := &request.Operation{ + Name: opUpdateFirewallConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateFirewallConfigInput{} + } + + output = &UpdateFirewallConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateFirewallConfig API operation for Amazon Route 53 Resolver. +// +// Updates the configuration of the firewall behavior provided by DNS Firewall +// for a single Amazon virtual private cloud (VPC). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation UpdateFirewallConfig for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallConfig +func (c *Route53Resolver) UpdateFirewallConfig(input *UpdateFirewallConfigInput) (*UpdateFirewallConfigOutput, error) { + req, out := c.UpdateFirewallConfigRequest(input) + return out, req.Send() +} + +// UpdateFirewallConfigWithContext is the same as UpdateFirewallConfig with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFirewallConfig 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 *Route53Resolver) UpdateFirewallConfigWithContext(ctx aws.Context, input *UpdateFirewallConfigInput, opts ...request.Option) (*UpdateFirewallConfigOutput, error) { + req, out := c.UpdateFirewallConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateFirewallDomains = "UpdateFirewallDomains" + +// UpdateFirewallDomainsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFirewallDomains 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 UpdateFirewallDomains for more information on using the UpdateFirewallDomains +// 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 UpdateFirewallDomainsRequest method. +// req, resp := client.UpdateFirewallDomainsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallDomains +func (c *Route53Resolver) UpdateFirewallDomainsRequest(input *UpdateFirewallDomainsInput) (req *request.Request, output *UpdateFirewallDomainsOutput) { + op := &request.Operation{ + Name: opUpdateFirewallDomains, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateFirewallDomainsInput{} + } + + output = &UpdateFirewallDomainsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateFirewallDomains API operation for Amazon Route 53 Resolver. +// +// Updates the firewall domain list from an array of domain specifications. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation UpdateFirewallDomains for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * LimitExceededException +// The request caused one or more limits to be exceeded. +// +// * ConflictException +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallDomains +func (c *Route53Resolver) UpdateFirewallDomains(input *UpdateFirewallDomainsInput) (*UpdateFirewallDomainsOutput, error) { + req, out := c.UpdateFirewallDomainsRequest(input) + return out, req.Send() +} + +// UpdateFirewallDomainsWithContext is the same as UpdateFirewallDomains with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFirewallDomains 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 *Route53Resolver) UpdateFirewallDomainsWithContext(ctx aws.Context, input *UpdateFirewallDomainsInput, opts ...request.Option) (*UpdateFirewallDomainsOutput, error) { + req, out := c.UpdateFirewallDomainsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateFirewallRule = "UpdateFirewallRule" + +// UpdateFirewallRuleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFirewallRule 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 UpdateFirewallRule for more information on using the UpdateFirewallRule +// 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 UpdateFirewallRuleRequest method. +// req, resp := client.UpdateFirewallRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallRule +func (c *Route53Resolver) UpdateFirewallRuleRequest(input *UpdateFirewallRuleInput) (req *request.Request, output *UpdateFirewallRuleOutput) { + op := &request.Operation{ + Name: opUpdateFirewallRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateFirewallRuleInput{} + } + + output = &UpdateFirewallRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateFirewallRule API operation for Amazon Route 53 Resolver. +// +// Updates the specified firewall rule. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation UpdateFirewallRule for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * ValidationException +// +// * ConflictException +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallRule +func (c *Route53Resolver) UpdateFirewallRule(input *UpdateFirewallRuleInput) (*UpdateFirewallRuleOutput, error) { + req, out := c.UpdateFirewallRuleRequest(input) + return out, req.Send() +} + +// UpdateFirewallRuleWithContext is the same as UpdateFirewallRule with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFirewallRule 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 *Route53Resolver) UpdateFirewallRuleWithContext(ctx aws.Context, input *UpdateFirewallRuleInput, opts ...request.Option) (*UpdateFirewallRuleOutput, error) { + req, out := c.UpdateFirewallRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateFirewallRuleGroupAssociation = "UpdateFirewallRuleGroupAssociation" + +// UpdateFirewallRuleGroupAssociationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFirewallRuleGroupAssociation 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 UpdateFirewallRuleGroupAssociation for more information on using the UpdateFirewallRuleGroupAssociation +// 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 UpdateFirewallRuleGroupAssociationRequest method. +// req, resp := client.UpdateFirewallRuleGroupAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallRuleGroupAssociation +func (c *Route53Resolver) UpdateFirewallRuleGroupAssociationRequest(input *UpdateFirewallRuleGroupAssociationInput) (req *request.Request, output *UpdateFirewallRuleGroupAssociationOutput) { + op := &request.Operation{ + Name: opUpdateFirewallRuleGroupAssociation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateFirewallRuleGroupAssociationInput{} + } + + output = &UpdateFirewallRuleGroupAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateFirewallRuleGroupAssociation API operation for Amazon Route 53 Resolver. +// +// Changes the association of a FirewallRuleGroup with a VPC. The association +// enables DNS filtering for the VPC. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation UpdateFirewallRuleGroupAssociation for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * ValidationException +// +// * ConflictException +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateFirewallRuleGroupAssociation +func (c *Route53Resolver) UpdateFirewallRuleGroupAssociation(input *UpdateFirewallRuleGroupAssociationInput) (*UpdateFirewallRuleGroupAssociationOutput, error) { + req, out := c.UpdateFirewallRuleGroupAssociationRequest(input) + return out, req.Send() +} + +// UpdateFirewallRuleGroupAssociationWithContext is the same as UpdateFirewallRuleGroupAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFirewallRuleGroupAssociation 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 *Route53Resolver) UpdateFirewallRuleGroupAssociationWithContext(ctx aws.Context, input *UpdateFirewallRuleGroupAssociationInput, opts ...request.Option) (*UpdateFirewallRuleGroupAssociationOutput, error) { + req, out := c.UpdateFirewallRuleGroupAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateResolverDnssecConfig = "UpdateResolverDnssecConfig" + +// UpdateResolverDnssecConfigRequest generates a "aws/request.Request" representing the +// client's request for the UpdateResolverDnssecConfig 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 UpdateResolverDnssecConfig for more information on using the UpdateResolverDnssecConfig +// 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 UpdateResolverDnssecConfigRequest method. +// req, resp := client.UpdateResolverDnssecConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverDnssecConfig +func (c *Route53Resolver) UpdateResolverDnssecConfigRequest(input *UpdateResolverDnssecConfigInput) (req *request.Request, output *UpdateResolverDnssecConfigOutput) { + op := &request.Operation{ + Name: opUpdateResolverDnssecConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateResolverDnssecConfigInput{} + } + + output = &UpdateResolverDnssecConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateResolverDnssecConfig API operation for Amazon Route 53 Resolver. +// +// Updates an existing DNSSEC validation configuration. If there is no existing +// DNSSEC validation configuration, one is created. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation UpdateResolverDnssecConfig for usage and error information. +// +// Returned Error Types: +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * InvalidRequestException +// The request is invalid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// * AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverDnssecConfig +func (c *Route53Resolver) UpdateResolverDnssecConfig(input *UpdateResolverDnssecConfigInput) (*UpdateResolverDnssecConfigOutput, error) { + req, out := c.UpdateResolverDnssecConfigRequest(input) + return out, req.Send() +} + +// UpdateResolverDnssecConfigWithContext is the same as UpdateResolverDnssecConfig with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateResolverDnssecConfig 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 *Route53Resolver) UpdateResolverDnssecConfigWithContext(ctx aws.Context, input *UpdateResolverDnssecConfigInput, opts ...request.Option) (*UpdateResolverDnssecConfigOutput, error) { + req, out := c.UpdateResolverDnssecConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateResolverEndpoint = "UpdateResolverEndpoint" + +// UpdateResolverEndpointRequest generates a "aws/request.Request" representing the +// client's request for the UpdateResolverEndpoint 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 UpdateResolverEndpoint for more information on using the UpdateResolverEndpoint +// 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 UpdateResolverEndpointRequest method. +// req, resp := client.UpdateResolverEndpointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverEndpoint +func (c *Route53Resolver) UpdateResolverEndpointRequest(input *UpdateResolverEndpointInput) (req *request.Request, output *UpdateResolverEndpointOutput) { + op := &request.Operation{ + Name: opUpdateResolverEndpoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateResolverEndpointInput{} + } + + output = &UpdateResolverEndpointOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateResolverEndpoint API operation for Amazon Route 53 Resolver. +// +// Updates the name of an inbound or an outbound Resolver endpoint. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation UpdateResolverEndpoint for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * InvalidRequestException +// The request is invalid. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverEndpoint +func (c *Route53Resolver) UpdateResolverEndpoint(input *UpdateResolverEndpointInput) (*UpdateResolverEndpointOutput, error) { + req, out := c.UpdateResolverEndpointRequest(input) + return out, req.Send() +} + +// UpdateResolverEndpointWithContext is the same as UpdateResolverEndpoint with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateResolverEndpoint 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 *Route53Resolver) UpdateResolverEndpointWithContext(ctx aws.Context, input *UpdateResolverEndpointInput, opts ...request.Option) (*UpdateResolverEndpointOutput, error) { + req, out := c.UpdateResolverEndpointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateResolverRule = "UpdateResolverRule" + +// UpdateResolverRuleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateResolverRule 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 UpdateResolverRule for more information on using the UpdateResolverRule +// 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 UpdateResolverRuleRequest method. +// req, resp := client.UpdateResolverRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverRule +func (c *Route53Resolver) UpdateResolverRuleRequest(input *UpdateResolverRuleInput) (req *request.Request, output *UpdateResolverRuleOutput) { + op := &request.Operation{ + Name: opUpdateResolverRule, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateResolverRuleInput{} + } + + output = &UpdateResolverRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateResolverRule API operation for Amazon Route 53 Resolver. +// +// Updates settings for a specified Resolver rule. ResolverRuleId is required, +// and all other parameters are optional. If you don't specify a parameter, +// it retains its current value. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Route 53 Resolver's +// API operation UpdateResolverRule for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is invalid. +// +// * InvalidParameterException +// One or more parameters in this request are not valid. +// +// * ResourceNotFoundException +// The specified resource doesn't exist. +// +// * ResourceUnavailableException +// The specified resource isn't available. +// +// * LimitExceededException +// The request caused one or more limits to be exceeded. +// +// * InternalServiceErrorException +// We encountered an unknown error. Try again in a few minutes. +// +// * ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01/UpdateResolverRule +func (c *Route53Resolver) UpdateResolverRule(input *UpdateResolverRuleInput) (*UpdateResolverRuleOutput, error) { + req, out := c.UpdateResolverRuleRequest(input) + return out, req.Send() +} + +// UpdateResolverRuleWithContext is the same as UpdateResolverRule with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateResolverRule 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 *Route53Resolver) UpdateResolverRuleWithContext(ctx aws.Context, input *UpdateResolverRuleInput, opts ...request.Option) (*UpdateResolverRuleOutput, error) { + req, out := c.UpdateResolverRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// The current account doesn't have the IAM permissions required to perform +// the specified Resolver operation. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation func (s AccessDeniedException) GoString() string { return s.String() } -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, - } +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +type AssociateFirewallRuleGroupInput struct { + _ struct{} `type:"structure"` + + // A unique string that identifies the request and that allows failed requests + // to be retried without the risk of executing the operation twice. CreatorRequestId + // can be any unique string, for example, a date/time stamp. + CreatorRequestId *string `min:"1" type:"string" idempotencyToken:"true"` + + // The unique identifier of the firewall rule group. + // + // FirewallRuleGroupId is a required field + FirewallRuleGroupId *string `min:"1" type:"string" required:"true"` + + // If enabled, this setting disallows modification or removal of the association, + // to help prevent against accidentally altering DNS firewall protections. When + // you create the association, the default setting is DISABLED. + MutationProtection *string `type:"string" enum:"MutationProtectionStatus"` + + // A name that lets you identify the association, to manage and use it. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The setting that determines the processing order of the rule group among + // the rule groups that you associate with the specified VPC. DNS Firewall filters + // VPC traffic starting from rule group with the lowest numeric priority setting. + // + // You must specify a unique priority for each rule group that you associate + // with a single VPC. To make it easier to insert rule groups later, leave space + // between the numbers, for example, use 100, 200, and so on. You can change + // the priority setting for a rule group association after you create it. + // + // Priority is a required field + Priority *int64 `type:"integer" required:"true"` + + // A list of the tag keys and values that you want to associate with the rule + // group association. + Tags []*Tag `type:"list"` + + // The unique identifier of the VPC that you want to associate with the rule + // group. + // + // VpcId is a required field + VpcId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateFirewallRuleGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateFirewallRuleGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateFirewallRuleGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateFirewallRuleGroupInput"} + if s.CreatorRequestId != nil && len(*s.CreatorRequestId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CreatorRequestId", 1)) + } + if s.FirewallRuleGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallRuleGroupId")) + } + if s.FirewallRuleGroupId != nil && len(*s.FirewallRuleGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallRuleGroupId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Priority == nil { + invalidParams.Add(request.NewErrParamRequired("Priority")) + } + if s.VpcId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcId")) + } + if s.VpcId != nil && len(*s.VpcId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VpcId", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *AssociateFirewallRuleGroupInput) SetCreatorRequestId(v string) *AssociateFirewallRuleGroupInput { + s.CreatorRequestId = &v + return s +} + +// SetFirewallRuleGroupId sets the FirewallRuleGroupId field's value. +func (s *AssociateFirewallRuleGroupInput) SetFirewallRuleGroupId(v string) *AssociateFirewallRuleGroupInput { + s.FirewallRuleGroupId = &v + return s +} + +// SetMutationProtection sets the MutationProtection field's value. +func (s *AssociateFirewallRuleGroupInput) SetMutationProtection(v string) *AssociateFirewallRuleGroupInput { + s.MutationProtection = &v + return s +} + +// SetName sets the Name field's value. +func (s *AssociateFirewallRuleGroupInput) SetName(v string) *AssociateFirewallRuleGroupInput { + s.Name = &v + return s +} + +// SetPriority sets the Priority field's value. +func (s *AssociateFirewallRuleGroupInput) SetPriority(v int64) *AssociateFirewallRuleGroupInput { + s.Priority = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *AssociateFirewallRuleGroupInput) SetTags(v []*Tag) *AssociateFirewallRuleGroupInput { + s.Tags = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *AssociateFirewallRuleGroupInput) SetVpcId(v string) *AssociateFirewallRuleGroupInput { + s.VpcId = &v + return s +} + +type AssociateFirewallRuleGroupOutput struct { + _ struct{} `type:"structure"` + + // The association that you just created. The association has an Id that you + // can use to identify it in other requests, like update and delete. + FirewallRuleGroupAssociation *FirewallRuleGroupAssociation `type:"structure"` +} + +// String returns the string representation +func (s AssociateFirewallRuleGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateFirewallRuleGroupOutput) GoString() string { + return s.String() +} + +// SetFirewallRuleGroupAssociation sets the FirewallRuleGroupAssociation field's value. +func (s *AssociateFirewallRuleGroupOutput) SetFirewallRuleGroupAssociation(v *FirewallRuleGroupAssociation) *AssociateFirewallRuleGroupOutput { + s.FirewallRuleGroupAssociation = v + return s +} + +type AssociateResolverEndpointIpAddressInput struct { + _ struct{} `type:"structure"` + + // Either the IPv4 address that you want to add to a Resolver endpoint or a + // subnet ID. If you specify a subnet ID, Resolver chooses an IP address for + // you from the available IPs in the specified subnet. + // + // IpAddress is a required field + IpAddress *IpAddressUpdate `type:"structure" required:"true"` + + // The ID of the Resolver endpoint that you want to associate IP addresses with. + // + // ResolverEndpointId is a required field + ResolverEndpointId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateResolverEndpointIpAddressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResolverEndpointIpAddressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateResolverEndpointIpAddressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateResolverEndpointIpAddressInput"} + if s.IpAddress == nil { + invalidParams.Add(request.NewErrParamRequired("IpAddress")) + } + if s.ResolverEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) + } + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + } + if s.IpAddress != nil { + if err := s.IpAddress.Validate(); err != nil { + invalidParams.AddNested("IpAddress", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIpAddress sets the IpAddress field's value. +func (s *AssociateResolverEndpointIpAddressInput) SetIpAddress(v *IpAddressUpdate) *AssociateResolverEndpointIpAddressInput { + s.IpAddress = v + return s +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *AssociateResolverEndpointIpAddressInput) SetResolverEndpointId(v string) *AssociateResolverEndpointIpAddressInput { + s.ResolverEndpointId = &v + return s +} + +type AssociateResolverEndpointIpAddressOutput struct { + _ struct{} `type:"structure"` + + // The response to an AssociateResolverEndpointIpAddress request. + ResolverEndpoint *ResolverEndpoint `type:"structure"` +} + +// String returns the string representation +func (s AssociateResolverEndpointIpAddressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResolverEndpointIpAddressOutput) GoString() string { + return s.String() +} + +// SetResolverEndpoint sets the ResolverEndpoint field's value. +func (s *AssociateResolverEndpointIpAddressOutput) SetResolverEndpoint(v *ResolverEndpoint) *AssociateResolverEndpointIpAddressOutput { + s.ResolverEndpoint = v + return s +} + +type AssociateResolverQueryLogConfigInput struct { + _ struct{} `type:"structure"` + + // The ID of the query logging configuration that you want to associate a VPC + // with. + // + // ResolverQueryLogConfigId is a required field + ResolverQueryLogConfigId *string `min:"1" type:"string" required:"true"` + + // The ID of an Amazon VPC that you want this query logging configuration to + // log queries for. + // + // The VPCs and the query logging configuration must be in the same Region. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateResolverQueryLogConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResolverQueryLogConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateResolverQueryLogConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateResolverQueryLogConfigInput"} + if s.ResolverQueryLogConfigId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigId")) + } + if s.ResolverQueryLogConfigId != nil && len(*s.ResolverQueryLogConfigId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverQueryLogConfigId", 1)) + } + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverQueryLogConfigId sets the ResolverQueryLogConfigId field's value. +func (s *AssociateResolverQueryLogConfigInput) SetResolverQueryLogConfigId(v string) *AssociateResolverQueryLogConfigInput { + s.ResolverQueryLogConfigId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *AssociateResolverQueryLogConfigInput) SetResourceId(v string) *AssociateResolverQueryLogConfigInput { + s.ResourceId = &v + return s +} + +type AssociateResolverQueryLogConfigOutput struct { + _ struct{} `type:"structure"` + + // A complex type that contains settings for a specified association between + // an Amazon VPC and a query logging configuration. + ResolverQueryLogConfigAssociation *ResolverQueryLogConfigAssociation `type:"structure"` +} + +// String returns the string representation +func (s AssociateResolverQueryLogConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResolverQueryLogConfigOutput) GoString() string { + return s.String() +} + +// SetResolverQueryLogConfigAssociation sets the ResolverQueryLogConfigAssociation field's value. +func (s *AssociateResolverQueryLogConfigOutput) SetResolverQueryLogConfigAssociation(v *ResolverQueryLogConfigAssociation) *AssociateResolverQueryLogConfigOutput { + s.ResolverQueryLogConfigAssociation = v + return s +} + +type AssociateResolverRuleInput struct { + _ struct{} `type:"structure"` + + // A name for the association that you're creating between a Resolver rule and + // a VPC. + Name *string `type:"string"` + + // The ID of the Resolver rule that you want to associate with the VPC. To list + // the existing Resolver rules, use ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html). + // + // ResolverRuleId is a required field + ResolverRuleId *string `min:"1" type:"string" required:"true"` + + // The ID of the VPC that you want to associate the Resolver rule with. + // + // VPCId is a required field + VPCId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AssociateResolverRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResolverRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateResolverRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateResolverRuleInput"} + if s.ResolverRuleId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverRuleId")) + } + if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1)) + } + if s.VPCId == nil { + invalidParams.Add(request.NewErrParamRequired("VPCId")) + } + if s.VPCId != nil && len(*s.VPCId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VPCId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *AssociateResolverRuleInput) SetName(v string) *AssociateResolverRuleInput { + s.Name = &v + return s +} + +// SetResolverRuleId sets the ResolverRuleId field's value. +func (s *AssociateResolverRuleInput) SetResolverRuleId(v string) *AssociateResolverRuleInput { + s.ResolverRuleId = &v + return s +} + +// SetVPCId sets the VPCId field's value. +func (s *AssociateResolverRuleInput) SetVPCId(v string) *AssociateResolverRuleInput { + s.VPCId = &v + return s +} + +type AssociateResolverRuleOutput struct { + _ struct{} `type:"structure"` + + // Information about the AssociateResolverRule request, including the status + // of the request. + ResolverRuleAssociation *ResolverRuleAssociation `type:"structure"` +} + +// String returns the string representation +func (s AssociateResolverRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AssociateResolverRuleOutput) GoString() string { + return s.String() +} + +// SetResolverRuleAssociation sets the ResolverRuleAssociation field's value. +func (s *AssociateResolverRuleOutput) SetResolverRuleAssociation(v *ResolverRuleAssociation) *AssociateResolverRuleOutput { + s.ResolverRuleAssociation = v + return s +} + +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateFirewallDomainListInput struct { + _ struct{} `type:"structure"` + + // A unique string that identifies the request and that allows you to retry + // failed requests without the risk of executing the operation twice. CreatorRequestId + // can be any unique string, for example, a date/time stamp. + CreatorRequestId *string `min:"1" type:"string" idempotencyToken:"true"` + + // A name that lets you identify the domain list to manage and use it. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // A list of the tag keys and values that you want to associate with the domain + // list. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateFirewallDomainListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFirewallDomainListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFirewallDomainListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFirewallDomainListInput"} + if s.CreatorRequestId != nil && len(*s.CreatorRequestId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CreatorRequestId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *CreateFirewallDomainListInput) SetCreatorRequestId(v string) *CreateFirewallDomainListInput { + s.CreatorRequestId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateFirewallDomainListInput) SetName(v string) *CreateFirewallDomainListInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateFirewallDomainListInput) SetTags(v []*Tag) *CreateFirewallDomainListInput { + s.Tags = v + return s +} + +type CreateFirewallDomainListOutput struct { + _ struct{} `type:"structure"` + + // The domain list that you just created. + FirewallDomainList *FirewallDomainList `type:"structure"` +} + +// String returns the string representation +func (s CreateFirewallDomainListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFirewallDomainListOutput) GoString() string { + return s.String() +} + +// SetFirewallDomainList sets the FirewallDomainList field's value. +func (s *CreateFirewallDomainListOutput) SetFirewallDomainList(v *FirewallDomainList) *CreateFirewallDomainListOutput { + s.FirewallDomainList = v + return s +} + +type CreateFirewallRuleGroupInput struct { + _ struct{} `type:"structure"` + + // A unique string defined by you to identify the request. This allows you to + // retry failed requests without the risk of executing the operation twice. + // This can be any unique string, for example, a timestamp. + CreatorRequestId *string `min:"1" type:"string" idempotencyToken:"true"` + + // A name that lets you identify the rule group, to manage and use it. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // A list of the tag keys and values that you want to associate with the rule + // group. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateFirewallRuleGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFirewallRuleGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFirewallRuleGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFirewallRuleGroupInput"} + if s.CreatorRequestId != nil && len(*s.CreatorRequestId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CreatorRequestId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *CreateFirewallRuleGroupInput) SetCreatorRequestId(v string) *CreateFirewallRuleGroupInput { + s.CreatorRequestId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateFirewallRuleGroupInput) SetName(v string) *CreateFirewallRuleGroupInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateFirewallRuleGroupInput) SetTags(v []*Tag) *CreateFirewallRuleGroupInput { + s.Tags = v + return s +} + +type CreateFirewallRuleGroupOutput struct { + _ struct{} `type:"structure"` + + // A collection of rules used to filter DNS network traffic. + FirewallRuleGroup *FirewallRuleGroup `type:"structure"` +} + +// String returns the string representation +func (s CreateFirewallRuleGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFirewallRuleGroupOutput) GoString() string { + return s.String() +} + +// SetFirewallRuleGroup sets the FirewallRuleGroup field's value. +func (s *CreateFirewallRuleGroupOutput) SetFirewallRuleGroup(v *FirewallRuleGroup) *CreateFirewallRuleGroupOutput { + s.FirewallRuleGroup = v + return s +} + +type CreateFirewallRuleInput struct { + _ struct{} `type:"structure"` + + // The action that DNS Firewall should take on a DNS query when it matches one + // of the domains in the rule's domain list: + // + // * ALLOW - Permit the request to go through. + // + // * ALERT - Permit the request and send metrics and log to Cloud Watch. + // + // * BLOCK - Disallow the request. This option requires additional details + // in the rule's BlockResponse. + // + // Action is a required field + Action *string `type:"string" required:"true" enum:"Action"` + + // The DNS record's type. This determines the format of the record value that + // you provided in BlockOverrideDomain. Used for the rule action BLOCK with + // a BlockResponse setting of OVERRIDE. + // + // This setting is required if the BlockResponse setting is OVERRIDE. + BlockOverrideDnsType *string `type:"string" enum:"BlockOverrideDnsType"` + + // The custom DNS record to send back in response to the query. Used for the + // rule action BLOCK with a BlockResponse setting of OVERRIDE. + // + // This setting is required if the BlockResponse setting is OVERRIDE. + BlockOverrideDomain *string `min:"1" type:"string"` + + // The recommended amount of time, in seconds, for the DNS resolver or web browser + // to cache the provided override record. Used for the rule action BLOCK with + // a BlockResponse setting of OVERRIDE. + // + // This setting is required if the BlockResponse setting is OVERRIDE. + BlockOverrideTtl *int64 `type:"integer"` + + // The way that you want DNS Firewall to block the request, used with the rule + // aciton setting BLOCK. + // + // * NODATA - Respond indicating that the query was successful, but no response + // is available for it. + // + // * NXDOMAIN - Respond indicating that the domain name that's in the query + // doesn't exist. + // + // * OVERRIDE - Provide a custom override in the response. This option requires + // custom handling details in the rule's BlockOverride* settings. + // + // This setting is required if the rule action setting is BLOCK. + BlockResponse *string `type:"string" enum:"BlockResponse"` + + // A unique string that identifies the request and that allows you to retry + // failed requests without the risk of executing the operation twice. CreatorRequestId + // can be any unique string, for example, a date/time stamp. + CreatorRequestId *string `min:"1" type:"string" idempotencyToken:"true"` + + // The ID of the domain list that you want to use in the rule. + // + // FirewallDomainListId is a required field + FirewallDomainListId *string `min:"1" type:"string" required:"true"` + + // The unique identifier of the firewall rule group where you want to create + // the rule. + // + // FirewallRuleGroupId is a required field + FirewallRuleGroupId *string `min:"1" type:"string" required:"true"` + + // A name that lets you identify the rule in the rule group. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The setting that determines the processing order of the rule in the rule + // group. DNS Firewall processes the rules in a rule group by order of priority, + // starting from the lowest setting. + // + // You must specify a unique priority for each rule in a rule group. To make + // it easier to insert rules later, leave space between the numbers, for example, + // use 100, 200, and so on. You can change the priority setting for the rules + // in a rule group at any time. + // + // Priority is a required field + Priority *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s CreateFirewallRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFirewallRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFirewallRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFirewallRuleInput"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.BlockOverrideDomain != nil && len(*s.BlockOverrideDomain) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BlockOverrideDomain", 1)) + } + if s.CreatorRequestId != nil && len(*s.CreatorRequestId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CreatorRequestId", 1)) + } + if s.FirewallDomainListId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallDomainListId")) + } + if s.FirewallDomainListId != nil && len(*s.FirewallDomainListId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallDomainListId", 1)) + } + if s.FirewallRuleGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallRuleGroupId")) + } + if s.FirewallRuleGroupId != nil && len(*s.FirewallRuleGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallRuleGroupId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Priority == nil { + invalidParams.Add(request.NewErrParamRequired("Priority")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAction sets the Action field's value. +func (s *CreateFirewallRuleInput) SetAction(v string) *CreateFirewallRuleInput { + s.Action = &v + return s +} + +// SetBlockOverrideDnsType sets the BlockOverrideDnsType field's value. +func (s *CreateFirewallRuleInput) SetBlockOverrideDnsType(v string) *CreateFirewallRuleInput { + s.BlockOverrideDnsType = &v + return s +} + +// SetBlockOverrideDomain sets the BlockOverrideDomain field's value. +func (s *CreateFirewallRuleInput) SetBlockOverrideDomain(v string) *CreateFirewallRuleInput { + s.BlockOverrideDomain = &v + return s +} + +// SetBlockOverrideTtl sets the BlockOverrideTtl field's value. +func (s *CreateFirewallRuleInput) SetBlockOverrideTtl(v int64) *CreateFirewallRuleInput { + s.BlockOverrideTtl = &v + return s +} + +// SetBlockResponse sets the BlockResponse field's value. +func (s *CreateFirewallRuleInput) SetBlockResponse(v string) *CreateFirewallRuleInput { + s.BlockResponse = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *CreateFirewallRuleInput) SetCreatorRequestId(v string) *CreateFirewallRuleInput { + s.CreatorRequestId = &v + return s +} + +// SetFirewallDomainListId sets the FirewallDomainListId field's value. +func (s *CreateFirewallRuleInput) SetFirewallDomainListId(v string) *CreateFirewallRuleInput { + s.FirewallDomainListId = &v + return s +} + +// SetFirewallRuleGroupId sets the FirewallRuleGroupId field's value. +func (s *CreateFirewallRuleInput) SetFirewallRuleGroupId(v string) *CreateFirewallRuleInput { + s.FirewallRuleGroupId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateFirewallRuleInput) SetName(v string) *CreateFirewallRuleInput { + s.Name = &v + return s +} + +// SetPriority sets the Priority field's value. +func (s *CreateFirewallRuleInput) SetPriority(v int64) *CreateFirewallRuleInput { + s.Priority = &v + return s +} + +type CreateFirewallRuleOutput struct { + _ struct{} `type:"structure"` + + // The firewall rule that you just created. + FirewallRule *FirewallRule `type:"structure"` +} + +// String returns the string representation +func (s CreateFirewallRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFirewallRuleOutput) GoString() string { + return s.String() +} + +// SetFirewallRule sets the FirewallRule field's value. +func (s *CreateFirewallRuleOutput) SetFirewallRule(v *FirewallRule) *CreateFirewallRuleOutput { + s.FirewallRule = v + return s +} + +type CreateResolverEndpointInput struct { + _ struct{} `type:"structure"` + + // A unique string that identifies the request and that allows failed requests + // to be retried without the risk of executing the operation twice. CreatorRequestId + // can be any unique string, for example, a date/time stamp. + // + // CreatorRequestId is a required field + CreatorRequestId *string `min:"1" type:"string" required:"true"` + + // Specify the applicable value: + // + // * INBOUND: Resolver forwards DNS queries to the DNS service for a VPC + // from your network + // + // * OUTBOUND: Resolver forwards DNS queries from the DNS service for a VPC + // to your network + // + // Direction is a required field + Direction *string `type:"string" required:"true" enum:"ResolverEndpointDirection"` + + // The subnets and IP addresses in your VPC that DNS queries originate from + // (for outbound endpoints) or that you forward DNS queries to (for inbound + // endpoints). The subnet ID uniquely identifies a VPC. + // + // IpAddresses is a required field + IpAddresses []*IpAddressRequest `min:"1" type:"list" required:"true"` + + // A friendly name that lets you easily find a configuration in the Resolver + // dashboard in the Route 53 console. + Name *string `type:"string"` + + // The ID of one or more security groups that you want to use to control access + // to this VPC. The security group that you specify must include one or more + // inbound rules (for inbound Resolver endpoints) or outbound rules (for outbound + // Resolver endpoints). Inbound and outbound rules must allow TCP and UDP access. + // For inbound access, open port 53. For outbound access, open the port that + // you're using for DNS queries on your network. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `type:"list" required:"true"` + + // A list of the tag keys and values that you want to associate with the endpoint. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateResolverEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResolverEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateResolverEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateResolverEndpointInput"} + if s.CreatorRequestId == nil { + invalidParams.Add(request.NewErrParamRequired("CreatorRequestId")) + } + if s.CreatorRequestId != nil && len(*s.CreatorRequestId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CreatorRequestId", 1)) + } + if s.Direction == nil { + invalidParams.Add(request.NewErrParamRequired("Direction")) + } + if s.IpAddresses == nil { + invalidParams.Add(request.NewErrParamRequired("IpAddresses")) + } + if s.IpAddresses != nil && len(s.IpAddresses) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IpAddresses", 1)) + } + if s.SecurityGroupIds == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) + } + if s.IpAddresses != nil { + for i, v := range s.IpAddresses { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "IpAddresses", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *CreateResolverEndpointInput) SetCreatorRequestId(v string) *CreateResolverEndpointInput { + s.CreatorRequestId = &v + return s +} + +// SetDirection sets the Direction field's value. +func (s *CreateResolverEndpointInput) SetDirection(v string) *CreateResolverEndpointInput { + s.Direction = &v + return s +} + +// SetIpAddresses sets the IpAddresses field's value. +func (s *CreateResolverEndpointInput) SetIpAddresses(v []*IpAddressRequest) *CreateResolverEndpointInput { + s.IpAddresses = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateResolverEndpointInput) SetName(v string) *CreateResolverEndpointInput { + s.Name = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateResolverEndpointInput) SetSecurityGroupIds(v []*string) *CreateResolverEndpointInput { + s.SecurityGroupIds = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateResolverEndpointInput) SetTags(v []*Tag) *CreateResolverEndpointInput { + s.Tags = v + return s +} + +type CreateResolverEndpointOutput struct { + _ struct{} `type:"structure"` + + // Information about the CreateResolverEndpoint request, including the status + // of the request. + ResolverEndpoint *ResolverEndpoint `type:"structure"` +} + +// String returns the string representation +func (s CreateResolverEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResolverEndpointOutput) GoString() string { + return s.String() +} + +// SetResolverEndpoint sets the ResolverEndpoint field's value. +func (s *CreateResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *CreateResolverEndpointOutput { + s.ResolverEndpoint = v + return s +} + +type CreateResolverQueryLogConfigInput struct { + _ struct{} `type:"structure"` + + // A unique string that identifies the request and that allows failed requests + // to be retried without the risk of executing the operation twice. CreatorRequestId + // can be any unique string, for example, a date/time stamp. + CreatorRequestId *string `min:"1" type:"string" idempotencyToken:"true"` + + // The ARN of the resource that you want Resolver to send query logs. You can + // send query logs to an S3 bucket, a CloudWatch Logs log group, or a Kinesis + // Data Firehose delivery stream. Examples of valid values include the following: + // + // * S3 bucket: arn:aws:s3:::examplebucket You can optionally append a file + // prefix to the end of the ARN. arn:aws:s3:::examplebucket/development/ + // + // * CloudWatch Logs log group: arn:aws:logs:us-west-1:123456789012:log-group:/mystack-testgroup-12ABC1AB12A1:* + // + // * Kinesis Data Firehose delivery stream: arn:aws:kinesis:us-east-2:0123456789:stream/my_stream_name + // + // DestinationArn is a required field + DestinationArn *string `min:"1" type:"string" required:"true"` + + // The name that you want to give the query logging configuration + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A list of the tag keys and values that you want to associate with the query + // logging configuration. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateResolverQueryLogConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResolverQueryLogConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateResolverQueryLogConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateResolverQueryLogConfigInput"} + if s.CreatorRequestId != nil && len(*s.CreatorRequestId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CreatorRequestId", 1)) + } + if s.DestinationArn == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationArn")) + } + if s.DestinationArn != nil && len(*s.DestinationArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DestinationArn", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *CreateResolverQueryLogConfigInput) SetCreatorRequestId(v string) *CreateResolverQueryLogConfigInput { + s.CreatorRequestId = &v + return s +} + +// SetDestinationArn sets the DestinationArn field's value. +func (s *CreateResolverQueryLogConfigInput) SetDestinationArn(v string) *CreateResolverQueryLogConfigInput { + s.DestinationArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateResolverQueryLogConfigInput) SetName(v string) *CreateResolverQueryLogConfigInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateResolverQueryLogConfigInput) SetTags(v []*Tag) *CreateResolverQueryLogConfigInput { + s.Tags = v + return s +} + +type CreateResolverQueryLogConfigOutput struct { + _ struct{} `type:"structure"` + + // Information about the CreateResolverQueryLogConfig request, including the + // status of the request. + ResolverQueryLogConfig *ResolverQueryLogConfig `type:"structure"` +} + +// String returns the string representation +func (s CreateResolverQueryLogConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResolverQueryLogConfigOutput) GoString() string { + return s.String() +} + +// SetResolverQueryLogConfig sets the ResolverQueryLogConfig field's value. +func (s *CreateResolverQueryLogConfigOutput) SetResolverQueryLogConfig(v *ResolverQueryLogConfig) *CreateResolverQueryLogConfigOutput { + s.ResolverQueryLogConfig = v + return s +} + +type CreateResolverRuleInput struct { + _ struct{} `type:"structure"` + + // A unique string that identifies the request and that allows failed requests + // to be retried without the risk of executing the operation twice. CreatorRequestId + // can be any unique string, for example, a date/time stamp. + // + // CreatorRequestId is a required field + CreatorRequestId *string `min:"1" type:"string" required:"true"` + + // DNS queries for this domain name are forwarded to the IP addresses that you + // specify in TargetIps. If a query matches multiple Resolver rules (example.com + // and www.example.com), outbound DNS queries are routed using the Resolver + // rule that contains the most specific domain name (www.example.com). + // + // DomainName is a required field + DomainName *string `min:"1" type:"string" required:"true"` + + // A friendly name that lets you easily find a rule in the Resolver dashboard + // in the Route 53 console. + Name *string `type:"string"` + + // The ID of the outbound Resolver endpoint that you want to use to route DNS + // queries to the IP addresses that you specify in TargetIps. + ResolverEndpointId *string `min:"1" type:"string"` + + // When you want to forward DNS queries for specified domain name to resolvers + // on your network, specify FORWARD. + // + // When you have a forwarding rule to forward DNS queries for a domain to your + // network and you want Resolver to process queries for a subdomain of that + // domain, specify SYSTEM. + // + // For example, to forward DNS queries for example.com to resolvers on your + // network, you create a rule and specify FORWARD for RuleType. To then have + // Resolver process queries for apex.example.com, you create a rule and specify + // SYSTEM for RuleType. + // + // Currently, only Resolver can create rules that have a value of RECURSIVE + // for RuleType. + // + // RuleType is a required field + RuleType *string `type:"string" required:"true" enum:"RuleTypeOption"` + + // A list of the tag keys and values that you want to associate with the endpoint. + Tags []*Tag `type:"list"` + + // The IPs that you want Resolver to forward DNS queries to. You can specify + // only IPv4 addresses. Separate IP addresses with a comma. + // + // TargetIps is available only when the value of Rule type is FORWARD. + TargetIps []*TargetAddress `min:"1" type:"list"` +} + +// String returns the string representation +func (s CreateResolverRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResolverRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateResolverRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateResolverRuleInput"} + if s.CreatorRequestId == nil { + invalidParams.Add(request.NewErrParamRequired("CreatorRequestId")) + } + if s.CreatorRequestId != nil && len(*s.CreatorRequestId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CreatorRequestId", 1)) + } + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) + } + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + } + if s.RuleType == nil { + invalidParams.Add(request.NewErrParamRequired("RuleType")) + } + if s.TargetIps != nil && len(s.TargetIps) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetIps", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TargetIps != nil { + for i, v := range s.TargetIps { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetIps", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *CreateResolverRuleInput) SetCreatorRequestId(v string) *CreateResolverRuleInput { + s.CreatorRequestId = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *CreateResolverRuleInput) SetDomainName(v string) *CreateResolverRuleInput { + s.DomainName = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateResolverRuleInput) SetName(v string) *CreateResolverRuleInput { + s.Name = &v + return s +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *CreateResolverRuleInput) SetResolverEndpointId(v string) *CreateResolverRuleInput { + s.ResolverEndpointId = &v + return s +} + +// SetRuleType sets the RuleType field's value. +func (s *CreateResolverRuleInput) SetRuleType(v string) *CreateResolverRuleInput { + s.RuleType = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateResolverRuleInput) SetTags(v []*Tag) *CreateResolverRuleInput { + s.Tags = v + return s +} + +// SetTargetIps sets the TargetIps field's value. +func (s *CreateResolverRuleInput) SetTargetIps(v []*TargetAddress) *CreateResolverRuleInput { + s.TargetIps = v + return s +} + +type CreateResolverRuleOutput struct { + _ struct{} `type:"structure"` + + // Information about the CreateResolverRule request, including the status of + // the request. + ResolverRule *ResolverRule `type:"structure"` +} + +// String returns the string representation +func (s CreateResolverRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateResolverRuleOutput) GoString() string { + return s.String() +} + +// SetResolverRule sets the ResolverRule field's value. +func (s *CreateResolverRuleOutput) SetResolverRule(v *ResolverRule) *CreateResolverRuleOutput { + s.ResolverRule = v + return s +} + +type DeleteFirewallDomainListInput struct { + _ struct{} `type:"structure"` + + // The ID of the domain list that you want to delete. + // + // FirewallDomainListId is a required field + FirewallDomainListId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteFirewallDomainListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFirewallDomainListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFirewallDomainListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFirewallDomainListInput"} + if s.FirewallDomainListId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallDomainListId")) + } + if s.FirewallDomainListId != nil && len(*s.FirewallDomainListId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallDomainListId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFirewallDomainListId sets the FirewallDomainListId field's value. +func (s *DeleteFirewallDomainListInput) SetFirewallDomainListId(v string) *DeleteFirewallDomainListInput { + s.FirewallDomainListId = &v + return s +} + +type DeleteFirewallDomainListOutput struct { + _ struct{} `type:"structure"` + + // The domain list that you just deleted. + FirewallDomainList *FirewallDomainList `type:"structure"` +} + +// String returns the string representation +func (s DeleteFirewallDomainListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFirewallDomainListOutput) GoString() string { + return s.String() +} + +// SetFirewallDomainList sets the FirewallDomainList field's value. +func (s *DeleteFirewallDomainListOutput) SetFirewallDomainList(v *FirewallDomainList) *DeleteFirewallDomainListOutput { + s.FirewallDomainList = v + return s +} + +type DeleteFirewallRuleGroupInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the firewall rule group that you want to delete. + // + // FirewallRuleGroupId is a required field + FirewallRuleGroupId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteFirewallRuleGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFirewallRuleGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFirewallRuleGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFirewallRuleGroupInput"} + if s.FirewallRuleGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallRuleGroupId")) + } + if s.FirewallRuleGroupId != nil && len(*s.FirewallRuleGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallRuleGroupId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFirewallRuleGroupId sets the FirewallRuleGroupId field's value. +func (s *DeleteFirewallRuleGroupInput) SetFirewallRuleGroupId(v string) *DeleteFirewallRuleGroupInput { + s.FirewallRuleGroupId = &v + return s +} + +type DeleteFirewallRuleGroupOutput struct { + _ struct{} `type:"structure"` + + // A collection of rules used to filter DNS network traffic. + FirewallRuleGroup *FirewallRuleGroup `type:"structure"` +} + +// String returns the string representation +func (s DeleteFirewallRuleGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFirewallRuleGroupOutput) GoString() string { + return s.String() +} + +// SetFirewallRuleGroup sets the FirewallRuleGroup field's value. +func (s *DeleteFirewallRuleGroupOutput) SetFirewallRuleGroup(v *FirewallRuleGroup) *DeleteFirewallRuleGroupOutput { + s.FirewallRuleGroup = v + return s +} + +type DeleteFirewallRuleInput struct { + _ struct{} `type:"structure"` + + // The ID of the domain list that's used in the rule. + // + // FirewallDomainListId is a required field + FirewallDomainListId *string `min:"1" type:"string" required:"true"` + + // The unique identifier of the firewall rule group that you want to delete + // the rule from. + // + // FirewallRuleGroupId is a required field + FirewallRuleGroupId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteFirewallRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFirewallRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFirewallRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFirewallRuleInput"} + if s.FirewallDomainListId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallDomainListId")) + } + if s.FirewallDomainListId != nil && len(*s.FirewallDomainListId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallDomainListId", 1)) + } + if s.FirewallRuleGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallRuleGroupId")) + } + if s.FirewallRuleGroupId != nil && len(*s.FirewallRuleGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallRuleGroupId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFirewallDomainListId sets the FirewallDomainListId field's value. +func (s *DeleteFirewallRuleInput) SetFirewallDomainListId(v string) *DeleteFirewallRuleInput { + s.FirewallDomainListId = &v + return s +} + +// SetFirewallRuleGroupId sets the FirewallRuleGroupId field's value. +func (s *DeleteFirewallRuleInput) SetFirewallRuleGroupId(v string) *DeleteFirewallRuleInput { + s.FirewallRuleGroupId = &v + return s +} + +type DeleteFirewallRuleOutput struct { + _ struct{} `type:"structure"` + + // The specification for the firewall rule that you just deleted. + FirewallRule *FirewallRule `type:"structure"` +} + +// String returns the string representation +func (s DeleteFirewallRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFirewallRuleOutput) GoString() string { + return s.String() +} + +// SetFirewallRule sets the FirewallRule field's value. +func (s *DeleteFirewallRuleOutput) SetFirewallRule(v *FirewallRule) *DeleteFirewallRuleOutput { + s.FirewallRule = v + return s +} + +type DeleteResolverEndpointInput struct { + _ struct{} `type:"structure"` + + // The ID of the Resolver endpoint that you want to delete. + // + // ResolverEndpointId is a required field + ResolverEndpointId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteResolverEndpointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResolverEndpointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResolverEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResolverEndpointInput"} + if s.ResolverEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) + } + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *DeleteResolverEndpointInput) SetResolverEndpointId(v string) *DeleteResolverEndpointInput { + s.ResolverEndpointId = &v + return s +} + +type DeleteResolverEndpointOutput struct { + _ struct{} `type:"structure"` + + // Information about the DeleteResolverEndpoint request, including the status + // of the request. + ResolverEndpoint *ResolverEndpoint `type:"structure"` +} + +// String returns the string representation +func (s DeleteResolverEndpointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResolverEndpointOutput) GoString() string { + return s.String() +} + +// SetResolverEndpoint sets the ResolverEndpoint field's value. +func (s *DeleteResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *DeleteResolverEndpointOutput { + s.ResolverEndpoint = v + return s +} + +type DeleteResolverQueryLogConfigInput struct { + _ struct{} `type:"structure"` + + // The ID of the query logging configuration that you want to delete. + // + // ResolverQueryLogConfigId is a required field + ResolverQueryLogConfigId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteResolverQueryLogConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResolverQueryLogConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResolverQueryLogConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResolverQueryLogConfigInput"} + if s.ResolverQueryLogConfigId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigId")) + } + if s.ResolverQueryLogConfigId != nil && len(*s.ResolverQueryLogConfigId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverQueryLogConfigId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverQueryLogConfigId sets the ResolverQueryLogConfigId field's value. +func (s *DeleteResolverQueryLogConfigInput) SetResolverQueryLogConfigId(v string) *DeleteResolverQueryLogConfigInput { + s.ResolverQueryLogConfigId = &v + return s +} + +type DeleteResolverQueryLogConfigOutput struct { + _ struct{} `type:"structure"` + + // Information about the query logging configuration that you deleted, including + // the status of the request. + ResolverQueryLogConfig *ResolverQueryLogConfig `type:"structure"` +} + +// String returns the string representation +func (s DeleteResolverQueryLogConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResolverQueryLogConfigOutput) GoString() string { + return s.String() +} + +// SetResolverQueryLogConfig sets the ResolverQueryLogConfig field's value. +func (s *DeleteResolverQueryLogConfigOutput) SetResolverQueryLogConfig(v *ResolverQueryLogConfig) *DeleteResolverQueryLogConfigOutput { + s.ResolverQueryLogConfig = v + return s +} + +type DeleteResolverRuleInput struct { + _ struct{} `type:"structure"` + + // The ID of the Resolver rule that you want to delete. + // + // ResolverRuleId is a required field + ResolverRuleId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteResolverRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResolverRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResolverRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResolverRuleInput"} + if s.ResolverRuleId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverRuleId")) + } + if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverRuleId sets the ResolverRuleId field's value. +func (s *DeleteResolverRuleInput) SetResolverRuleId(v string) *DeleteResolverRuleInput { + s.ResolverRuleId = &v + return s +} + +type DeleteResolverRuleOutput struct { + _ struct{} `type:"structure"` + + // Information about the DeleteResolverRule request, including the status of + // the request. + ResolverRule *ResolverRule `type:"structure"` +} + +// String returns the string representation +func (s DeleteResolverRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResolverRuleOutput) GoString() string { + return s.String() +} + +// SetResolverRule sets the ResolverRule field's value. +func (s *DeleteResolverRuleOutput) SetResolverRule(v *ResolverRule) *DeleteResolverRuleOutput { + s.ResolverRule = v + return s +} + +type DisassociateFirewallRuleGroupInput struct { + _ struct{} `type:"structure"` + + // The identifier of the FirewallRuleGroupAssociation. + // + // FirewallRuleGroupAssociationId is a required field + FirewallRuleGroupAssociationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateFirewallRuleGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateFirewallRuleGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateFirewallRuleGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateFirewallRuleGroupInput"} + if s.FirewallRuleGroupAssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallRuleGroupAssociationId")) + } + if s.FirewallRuleGroupAssociationId != nil && len(*s.FirewallRuleGroupAssociationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallRuleGroupAssociationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFirewallRuleGroupAssociationId sets the FirewallRuleGroupAssociationId field's value. +func (s *DisassociateFirewallRuleGroupInput) SetFirewallRuleGroupAssociationId(v string) *DisassociateFirewallRuleGroupInput { + s.FirewallRuleGroupAssociationId = &v + return s +} + +type DisassociateFirewallRuleGroupOutput struct { + _ struct{} `type:"structure"` + + // The firewall rule group association that you just removed. + FirewallRuleGroupAssociation *FirewallRuleGroupAssociation `type:"structure"` +} + +// String returns the string representation +func (s DisassociateFirewallRuleGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateFirewallRuleGroupOutput) GoString() string { + return s.String() +} + +// SetFirewallRuleGroupAssociation sets the FirewallRuleGroupAssociation field's value. +func (s *DisassociateFirewallRuleGroupOutput) SetFirewallRuleGroupAssociation(v *FirewallRuleGroupAssociation) *DisassociateFirewallRuleGroupOutput { + s.FirewallRuleGroupAssociation = v + return s +} + +type DisassociateResolverEndpointIpAddressInput struct { + _ struct{} `type:"structure"` + + // The IPv4 address that you want to remove from a Resolver endpoint. + // + // IpAddress is a required field + IpAddress *IpAddressUpdate `type:"structure" required:"true"` + + // The ID of the Resolver endpoint that you want to disassociate an IP address + // from. + // + // ResolverEndpointId is a required field + ResolverEndpointId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateResolverEndpointIpAddressInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResolverEndpointIpAddressInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateResolverEndpointIpAddressInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateResolverEndpointIpAddressInput"} + if s.IpAddress == nil { + invalidParams.Add(request.NewErrParamRequired("IpAddress")) + } + if s.ResolverEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) + } + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + } + if s.IpAddress != nil { + if err := s.IpAddress.Validate(); err != nil { + invalidParams.AddNested("IpAddress", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIpAddress sets the IpAddress field's value. +func (s *DisassociateResolverEndpointIpAddressInput) SetIpAddress(v *IpAddressUpdate) *DisassociateResolverEndpointIpAddressInput { + s.IpAddress = v + return s +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *DisassociateResolverEndpointIpAddressInput) SetResolverEndpointId(v string) *DisassociateResolverEndpointIpAddressInput { + s.ResolverEndpointId = &v + return s +} + +type DisassociateResolverEndpointIpAddressOutput struct { + _ struct{} `type:"structure"` + + // The response to an DisassociateResolverEndpointIpAddress request. + ResolverEndpoint *ResolverEndpoint `type:"structure"` +} + +// String returns the string representation +func (s DisassociateResolverEndpointIpAddressOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResolverEndpointIpAddressOutput) GoString() string { + return s.String() +} + +// SetResolverEndpoint sets the ResolverEndpoint field's value. +func (s *DisassociateResolverEndpointIpAddressOutput) SetResolverEndpoint(v *ResolverEndpoint) *DisassociateResolverEndpointIpAddressOutput { + s.ResolverEndpoint = v + return s +} + +type DisassociateResolverQueryLogConfigInput struct { + _ struct{} `type:"structure"` + + // The ID of the query logging configuration that you want to disassociate a + // specified VPC from. + // + // ResolverQueryLogConfigId is a required field + ResolverQueryLogConfigId *string `min:"1" type:"string" required:"true"` + + // The ID of the Amazon VPC that you want to disassociate from a specified query + // logging configuration. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateResolverQueryLogConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResolverQueryLogConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateResolverQueryLogConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateResolverQueryLogConfigInput"} + if s.ResolverQueryLogConfigId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigId")) + } + if s.ResolverQueryLogConfigId != nil && len(*s.ResolverQueryLogConfigId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverQueryLogConfigId", 1)) + } + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverQueryLogConfigId sets the ResolverQueryLogConfigId field's value. +func (s *DisassociateResolverQueryLogConfigInput) SetResolverQueryLogConfigId(v string) *DisassociateResolverQueryLogConfigInput { + s.ResolverQueryLogConfigId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *DisassociateResolverQueryLogConfigInput) SetResourceId(v string) *DisassociateResolverQueryLogConfigInput { + s.ResourceId = &v + return s +} + +type DisassociateResolverQueryLogConfigOutput struct { + _ struct{} `type:"structure"` + + // A complex type that contains settings for the association that you deleted + // between an Amazon VPC and a query logging configuration. + ResolverQueryLogConfigAssociation *ResolverQueryLogConfigAssociation `type:"structure"` +} + +// String returns the string representation +func (s DisassociateResolverQueryLogConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResolverQueryLogConfigOutput) GoString() string { + return s.String() +} + +// SetResolverQueryLogConfigAssociation sets the ResolverQueryLogConfigAssociation field's value. +func (s *DisassociateResolverQueryLogConfigOutput) SetResolverQueryLogConfigAssociation(v *ResolverQueryLogConfigAssociation) *DisassociateResolverQueryLogConfigOutput { + s.ResolverQueryLogConfigAssociation = v + return s +} + +type DisassociateResolverRuleInput struct { + _ struct{} `type:"structure"` + + // The ID of the Resolver rule that you want to disassociate from the specified + // VPC. + // + // ResolverRuleId is a required field + ResolverRuleId *string `min:"1" type:"string" required:"true"` + + // The ID of the VPC that you want to disassociate the Resolver rule from. + // + // VPCId is a required field + VPCId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DisassociateResolverRuleInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResolverRuleInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateResolverRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateResolverRuleInput"} + if s.ResolverRuleId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverRuleId")) + } + if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1)) + } + if s.VPCId == nil { + invalidParams.Add(request.NewErrParamRequired("VPCId")) + } + if s.VPCId != nil && len(*s.VPCId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VPCId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResolverRuleId sets the ResolverRuleId field's value. +func (s *DisassociateResolverRuleInput) SetResolverRuleId(v string) *DisassociateResolverRuleInput { + s.ResolverRuleId = &v + return s +} + +// SetVPCId sets the VPCId field's value. +func (s *DisassociateResolverRuleInput) SetVPCId(v string) *DisassociateResolverRuleInput { + s.VPCId = &v + return s +} + +type DisassociateResolverRuleOutput struct { + _ struct{} `type:"structure"` + + // Information about the DisassociateResolverRule request, including the status + // of the request. + ResolverRuleAssociation *ResolverRuleAssociation `type:"structure"` +} + +// String returns the string representation +func (s DisassociateResolverRuleOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DisassociateResolverRuleOutput) GoString() string { + return s.String() +} + +// SetResolverRuleAssociation sets the ResolverRuleAssociation field's value. +func (s *DisassociateResolverRuleOutput) SetResolverRuleAssociation(v *ResolverRuleAssociation) *DisassociateResolverRuleOutput { + s.ResolverRuleAssociation = v + return s +} + +// For Resolver list operations (ListResolverEndpoints (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html), +// ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html), +// ListResolverRuleAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html), +// ListResolverQueryLogConfigs (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigs.html), +// ListResolverQueryLogConfigAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigAssociations.html)), +// and ListResolverDnssecConfigs (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverDnssecConfigs.html)), +// an optional specification to return a subset of objects. +// +// To filter objects, such as Resolver endpoints or Resolver rules, you specify +// Name and Values. For example, to list only inbound Resolver endpoints, specify +// Direction for Name and specify INBOUND for Values. +type Filter struct { + _ struct{} `type:"structure"` + + // The name of the parameter that you want to use to filter objects. + // + // The valid values for Name depend on the action that you're including the + // filter in, ListResolverEndpoints (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html), + // ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html), + // ListResolverRuleAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html), + // ListResolverQueryLogConfigs (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigs.html), + // or ListResolverQueryLogConfigAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigAssociations.html). + // + // In early versions of Resolver, values for Name were listed as uppercase, + // with underscore (_) delimiters. For example, CreatorRequestId was originally + // listed as CREATOR_REQUEST_ID. Uppercase values for Name are still supported. + // + // ListResolverEndpoints + // + // Valid values for Name include the following: + // + // * CreatorRequestId: The value that you specified when you created the + // Resolver endpoint. + // + // * Direction: Whether you want to return inbound or outbound Resolver endpoints. + // If you specify DIRECTION for Name, specify INBOUND or OUTBOUND for Values. + // + // * HostVpcId: The ID of the VPC that inbound DNS queries pass through on + // the way from your network to your VPCs in a region, or the VPC that outbound + // queries pass through on the way from your VPCs to your network. In a CreateResolverEndpoint + // (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html) + // request, SubnetId indirectly identifies the VPC. In a GetResolverEndpoint + // (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html) + // request, the VPC ID for a Resolver endpoint is returned in the HostVPCId + // element. + // + // * IpAddressCount: The number of IP addresses that you have associated + // with the Resolver endpoint. + // + // * Name: The name of the Resolver endpoint. + // + // * SecurityGroupIds: The IDs of the VPC security groups that you specified + // when you created the Resolver endpoint. + // + // * Status: The status of the Resolver endpoint. If you specify Status for + // Name, specify one of the following status codes for Values: CREATING, + // OPERATIONAL, UPDATING, AUTO_RECOVERING, ACTION_NEEDED, or DELETING. For + // more information, see Status in ResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverEndpoint.html). + // + // ListResolverRules + // + // Valid values for Name include the following: + // + // * CreatorRequestId: The value that you specified when you created the + // Resolver rule. + // + // * DomainName: The domain name for which Resolver is forwarding DNS queries + // to your network. In the value that you specify for Values, include a trailing + // dot (.) after the domain name. For example, if the domain name is example.com, + // specify the following value. Note the "." after com: example.com. + // + // * Name: The name of the Resolver rule. + // + // * ResolverEndpointId: The ID of the Resolver endpoint that the Resolver + // rule is associated with. You can filter on the Resolver endpoint only + // for rules that have a value of FORWARD for RuleType. + // + // * Status: The status of the Resolver rule. If you specify Status for Name, + // specify one of the following status codes for Values: COMPLETE, DELETING, + // UPDATING, or FAILED. + // + // * Type: The type of the Resolver rule. If you specify TYPE for Name, specify + // FORWARD or SYSTEM for Values. + // + // ListResolverRuleAssociations + // + // Valid values for Name include the following: + // + // * Name: The name of the Resolver rule association. + // + // * ResolverRuleId: The ID of the Resolver rule that is associated with + // one or more VPCs. + // + // * Status: The status of the Resolver rule association. If you specify + // Status for Name, specify one of the following status codes for Values: + // CREATING, COMPLETE, DELETING, or FAILED. + // + // * VPCId: The ID of the VPC that the Resolver rule is associated with. + // + // ListResolverQueryLogConfigs + // + // Valid values for Name include the following: + // + // * Arn: The ARN for the query logging configuration. + // + // * AssociationCount: The number of VPCs that are associated with the query + // logging configuration. + // + // * CreationTime: The date and time that the query logging configuration + // was created, in Unix time format and Coordinated Universal Time (UTC). + // + // * CreatorRequestId: A unique string that identifies the request that created + // the query logging configuration. + // + // * Destination: The AWS service that you want to forward query logs to. + // Valid values include the following: S3 CloudWatchLogs KinesisFirehose + // + // * DestinationArn: The ARN of the location that Resolver is sending query + // logs to. This value can be the ARN for an S3 bucket, a CloudWatch Logs + // log group, or a Kinesis Data Firehose delivery stream. + // + // * Id: The ID of the query logging configuration + // + // * Name: The name of the query logging configuration + // + // * OwnerId: The AWS account ID for the account that created the query logging + // configuration. + // + // * ShareStatus: An indication of whether the query logging configuration + // is shared with other AWS accounts, or was shared with the current account + // by another AWS account. Valid values include: NOT_SHARED, SHARED_WITH_ME, + // or SHARED_BY_ME. + // + // * Status: The status of the query logging configuration. If you specify + // Status for Name, specify the applicable status code for Values: CREATING, + // CREATED, DELETING, or FAILED. For more information, see Status (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverQueryLogConfig.html#Route53Resolver-Type-route53resolver_ResolverQueryLogConfig-Status). + // + // ListResolverQueryLogConfigAssociations + // + // Valid values for Name include the following: + // + // * CreationTime: The date and time that the VPC was associated with the + // query logging configuration, in Unix time format and Coordinated Universal + // Time (UTC). + // + // * Error: If the value of Status is FAILED, specify the cause: DESTINATION_NOT_FOUND + // or ACCESS_DENIED. + // + // * Id: The ID of the query logging association. + // + // * ResolverQueryLogConfigId: The ID of the query logging configuration + // that a VPC is associated with. + // + // * ResourceId: The ID of the Amazon VPC that is associated with the query + // logging configuration. + // + // * Status: The status of the query logging association. If you specify + // Status for Name, specify the applicable status code for Values: CREATING, + // CREATED, DELETING, or FAILED. For more information, see Status (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverQueryLogConfigAssociation.html#Route53Resolver-Type-route53resolver_ResolverQueryLogConfigAssociation-Status). + Name *string `min:"1" type:"string"` + + // When you're using a List operation and you want the operation to return a + // subset of objects, such as Resolver endpoints or Resolver rules, the value + // of the parameter that you want to use to filter objects. For example, to + // list only inbound Resolver endpoints, specify Direction for Name and specify + // INBOUND for Values. + Values []*string `type:"list"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Filter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Filter"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *Filter) SetValues(v []*string) *Filter { + s.Values = v + return s +} + +// Configuration of the firewall behavior provided by DNS Firewall for a single +// Amazon virtual private cloud (VPC). +type FirewallConfig struct { + _ struct{} `type:"structure"` + + // Determines how DNS Firewall operates during failures, for example when all + // traffic that is sent to DNS Firewall fails to receive a reply. + // + // * By default, fail open is disabled, which means the failure mode is closed. + // This approach favors security over availability. DNS Firewall returns + // a failure error when it is unable to properly evaluate a query. + // + // * If you enable this option, the failure mode is open. This approach favors + // availability over security. DNS Firewall allows queries to proceed if + // it is unable to properly evaluate them. + // + // This behavior is only enforced for VPCs that have at least one DNS Firewall + // rule group association. + FirewallFailOpen *string `type:"string" enum:"FirewallFailOpenStatus"` + + // The Id of the firewall configuration. + Id *string `min:"1" type:"string"` + + // The AWS account ID of the owner of the VPC that this firewall configuration + // applies to. + OwnerId *string `min:"12" type:"string"` + + // The ID of the VPC that this firewall configuration applies to. + ResourceId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s FirewallConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FirewallConfig) GoString() string { + return s.String() +} + +// SetFirewallFailOpen sets the FirewallFailOpen field's value. +func (s *FirewallConfig) SetFirewallFailOpen(v string) *FirewallConfig { + s.FirewallFailOpen = &v + return s +} + +// SetId sets the Id field's value. +func (s *FirewallConfig) SetId(v string) *FirewallConfig { + s.Id = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *FirewallConfig) SetOwnerId(v string) *FirewallConfig { + s.OwnerId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *FirewallConfig) SetResourceId(v string) *FirewallConfig { + s.ResourceId = &v + return s +} + +// High level information about a list of firewall domains for use in a FirewallRule. +// This is returned by GetFirewallDomainList. +// +// To retrieve the domains that are defined for this domain list, call ListFirewallDomains. +type FirewallDomainList struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the firewall domain list. + Arn *string `min:"1" type:"string"` + + // The date and time that the domain list was created, in Unix time format and + // Coordinated Universal Time (UTC). + CreationTime *string `min:"20" type:"string"` + + // A unique string defined by you to identify the request. This allows you to + // retry failed requests without the risk of executing the operation twice. + // This can be any unique string, for example, a timestamp. + CreatorRequestId *string `min:"1" type:"string"` + + // The number of domain names that are specified in the domain list. + DomainCount *int64 `type:"integer"` + + // The ID of the domain list. + Id *string `min:"1" type:"string"` + + // The owner of the list, used only for lists that are not managed by you. For + // example, the managed domain list AWSManagedDomainsMalwareDomainList has the + // managed owner name Route 53 Resolver DNS Firewall. + ManagedOwnerName *string `min:"1" type:"string"` + + // The date and time that the domain list was last modified, in Unix time format + // and Coordinated Universal Time (UTC). + ModificationTime *string `min:"20" type:"string"` + + // The name of the domain list. + Name *string `type:"string"` + + // The status of the domain list. + Status *string `type:"string" enum:"FirewallDomainListStatus"` + + // Additional information about the status of the list, if available. + StatusMessage *string `type:"string"` +} + +// String returns the string representation +func (s FirewallDomainList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FirewallDomainList) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *FirewallDomainList) SetArn(v string) *FirewallDomainList { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *FirewallDomainList) SetCreationTime(v string) *FirewallDomainList { + s.CreationTime = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *FirewallDomainList) SetCreatorRequestId(v string) *FirewallDomainList { + s.CreatorRequestId = &v + return s +} + +// SetDomainCount sets the DomainCount field's value. +func (s *FirewallDomainList) SetDomainCount(v int64) *FirewallDomainList { + s.DomainCount = &v + return s +} + +// SetId sets the Id field's value. +func (s *FirewallDomainList) SetId(v string) *FirewallDomainList { + s.Id = &v + return s +} + +// SetManagedOwnerName sets the ManagedOwnerName field's value. +func (s *FirewallDomainList) SetManagedOwnerName(v string) *FirewallDomainList { + s.ManagedOwnerName = &v + return s +} + +// SetModificationTime sets the ModificationTime field's value. +func (s *FirewallDomainList) SetModificationTime(v string) *FirewallDomainList { + s.ModificationTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *FirewallDomainList) SetName(v string) *FirewallDomainList { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *FirewallDomainList) SetStatus(v string) *FirewallDomainList { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *FirewallDomainList) SetStatusMessage(v string) *FirewallDomainList { + s.StatusMessage = &v + return s +} + +// Minimal high-level information for a firewall domain list. The action ListFirewallDomainLists +// returns an array of these objects. +// +// To retrieve full information for a firewall domain list, call GetFirewallDomainList +// and ListFirewallDomains. +type FirewallDomainListMetadata struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the firewall domain list metadata. + Arn *string `min:"1" type:"string"` + + // A unique string defined by you to identify the request. This allows you to + // retry failed requests without the risk of executing the operation twice. + // This can be any unique string, for example, a timestamp. + CreatorRequestId *string `min:"1" type:"string"` + + // The ID of the domain list. + Id *string `min:"1" type:"string"` + + // The owner of the list, used only for lists that are not managed by you. For + // example, the managed domain list AWSManagedDomainsMalwareDomainList has the + // managed owner name Route 53 Resolver DNS Firewall. + ManagedOwnerName *string `min:"1" type:"string"` + + // The name of the domain list. + Name *string `type:"string"` +} + +// String returns the string representation +func (s FirewallDomainListMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FirewallDomainListMetadata) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *FirewallDomainListMetadata) SetArn(v string) *FirewallDomainListMetadata { + s.Arn = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *FirewallDomainListMetadata) SetCreatorRequestId(v string) *FirewallDomainListMetadata { + s.CreatorRequestId = &v + return s +} + +// SetId sets the Id field's value. +func (s *FirewallDomainListMetadata) SetId(v string) *FirewallDomainListMetadata { + s.Id = &v + return s +} + +// SetManagedOwnerName sets the ManagedOwnerName field's value. +func (s *FirewallDomainListMetadata) SetManagedOwnerName(v string) *FirewallDomainListMetadata { + s.ManagedOwnerName = &v + return s +} + +// SetName sets the Name field's value. +func (s *FirewallDomainListMetadata) SetName(v string) *FirewallDomainListMetadata { + s.Name = &v + return s +} + +// A single firewall rule in a rule group. +type FirewallRule struct { + _ struct{} `type:"structure"` + + // The action that DNS Firewall should take on a DNS query when it matches one + // of the domains in the rule's domain list: + // + // * ALLOW - Permit the request to go through. + // + // * ALERT - Permit the request to go through but send an alert to the logs. + // + // * BLOCK - Disallow the request. If this is specified, additional handling + // details are provided in the rule's BlockResponse setting. + Action *string `type:"string" enum:"Action"` + + // The DNS record's type. This determines the format of the record value that + // you provided in BlockOverrideDomain. Used for the rule action BLOCK with + // a BlockResponse setting of OVERRIDE. + BlockOverrideDnsType *string `type:"string" enum:"BlockOverrideDnsType"` + + // The custom DNS record to send back in response to the query. Used for the + // rule action BLOCK with a BlockResponse setting of OVERRIDE. + BlockOverrideDomain *string `min:"1" type:"string"` + + // The recommended amount of time, in seconds, for the DNS resolver or web browser + // to cache the provided override record. Used for the rule action BLOCK with + // a BlockResponse setting of OVERRIDE. + BlockOverrideTtl *int64 `type:"integer"` + + // The way that you want DNS Firewall to block the request. Used for the rule + // action setting BLOCK. + // + // * NODATA - Respond indicating that the query was successful, but no response + // is available for it. + // + // * NXDOMAIN - Respond indicating that the domain name that's in the query + // doesn't exist. + // + // * OVERRIDE - Provide a custom override in the response. This option requires + // custom handling details in the rule's BlockOverride* settings. + BlockResponse *string `type:"string" enum:"BlockResponse"` + + // The date and time that the rule was created, in Unix time format and Coordinated + // Universal Time (UTC). + CreationTime *string `min:"20" type:"string"` + + // A unique string defined by you to identify the request. This allows you to + // retry failed requests without the risk of executing the operation twice. + // This can be any unique string, for example, a timestamp. + CreatorRequestId *string `min:"1" type:"string"` + + // The ID of the domain list that's used in the rule. + FirewallDomainListId *string `min:"1" type:"string"` + + // The unique identifier of the firewall rule group of the rule. + FirewallRuleGroupId *string `min:"1" type:"string"` + + // The date and time that the rule was last modified, in Unix time format and + // Coordinated Universal Time (UTC). + ModificationTime *string `min:"20" type:"string"` + + // The name of the rule. + Name *string `type:"string"` + + // The priority of the rule in the rule group. This value must be unique within + // the rule group. DNS Firewall processes the rules in a rule group by order + // of priority, starting from the lowest setting. + Priority *int64 `type:"integer"` +} + +// String returns the string representation +func (s FirewallRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FirewallRule) GoString() string { + return s.String() +} + +// SetAction sets the Action field's value. +func (s *FirewallRule) SetAction(v string) *FirewallRule { + s.Action = &v + return s +} + +// SetBlockOverrideDnsType sets the BlockOverrideDnsType field's value. +func (s *FirewallRule) SetBlockOverrideDnsType(v string) *FirewallRule { + s.BlockOverrideDnsType = &v + return s +} + +// SetBlockOverrideDomain sets the BlockOverrideDomain field's value. +func (s *FirewallRule) SetBlockOverrideDomain(v string) *FirewallRule { + s.BlockOverrideDomain = &v + return s +} + +// SetBlockOverrideTtl sets the BlockOverrideTtl field's value. +func (s *FirewallRule) SetBlockOverrideTtl(v int64) *FirewallRule { + s.BlockOverrideTtl = &v + return s +} + +// SetBlockResponse sets the BlockResponse field's value. +func (s *FirewallRule) SetBlockResponse(v string) *FirewallRule { + s.BlockResponse = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *FirewallRule) SetCreationTime(v string) *FirewallRule { + s.CreationTime = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *FirewallRule) SetCreatorRequestId(v string) *FirewallRule { + s.CreatorRequestId = &v + return s +} + +// SetFirewallDomainListId sets the FirewallDomainListId field's value. +func (s *FirewallRule) SetFirewallDomainListId(v string) *FirewallRule { + s.FirewallDomainListId = &v + return s +} + +// SetFirewallRuleGroupId sets the FirewallRuleGroupId field's value. +func (s *FirewallRule) SetFirewallRuleGroupId(v string) *FirewallRule { + s.FirewallRuleGroupId = &v + return s +} + +// SetModificationTime sets the ModificationTime field's value. +func (s *FirewallRule) SetModificationTime(v string) *FirewallRule { + s.ModificationTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *FirewallRule) SetName(v string) *FirewallRule { + s.Name = &v + return s +} + +// SetPriority sets the Priority field's value. +func (s *FirewallRule) SetPriority(v int64) *FirewallRule { + s.Priority = &v + return s +} + +// High-level information for a firewall rule group. A firewall rule group is +// a collection of rules that DNS Firewall uses to filter DNS network traffic +// for a VPC. To retrieve the rules for the rule group, call ListFirewallRules. +type FirewallRuleGroup struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon Resource Name) of the rule group. + Arn *string `min:"1" type:"string"` + + // The date and time that the rule group was created, in Unix time format and + // Coordinated Universal Time (UTC). + CreationTime *string `min:"20" type:"string"` + + // A unique string defined by you to identify the request. This allows you to + // retry failed requests without the risk of executing the operation twice. + // This can be any unique string, for example, a timestamp. + CreatorRequestId *string `min:"1" type:"string"` + + // The ID of the rule group. + Id *string `min:"1" type:"string"` + + // The date and time that the rule group was last modified, in Unix time format + // and Coordinated Universal Time (UTC). + ModificationTime *string `min:"20" type:"string"` + + // The name of the rule group. + Name *string `type:"string"` + + // The AWS account ID for the account that created the rule group. When a rule + // group is shared with your account, this is the account that has shared the + // rule group with you. + OwnerId *string `min:"12" type:"string"` + + // The number of rules in the rule group. + RuleCount *int64 `type:"integer"` + + // Whether the rule group is shared with other AWS accounts, or was shared with + // the current account by another AWS account. Sharing is configured through + // AWS Resource Access Manager (AWS RAM). + ShareStatus *string `type:"string" enum:"ShareStatus"` + + // The status of the domain list. + Status *string `type:"string" enum:"FirewallRuleGroupStatus"` + + // Additional information about the status of the rule group, if available. + StatusMessage *string `type:"string"` +} + +// String returns the string representation +func (s FirewallRuleGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FirewallRuleGroup) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *FirewallRuleGroup) SetArn(v string) *FirewallRuleGroup { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *FirewallRuleGroup) SetCreationTime(v string) *FirewallRuleGroup { + s.CreationTime = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *FirewallRuleGroup) SetCreatorRequestId(v string) *FirewallRuleGroup { + s.CreatorRequestId = &v + return s +} + +// SetId sets the Id field's value. +func (s *FirewallRuleGroup) SetId(v string) *FirewallRuleGroup { + s.Id = &v + return s +} + +// SetModificationTime sets the ModificationTime field's value. +func (s *FirewallRuleGroup) SetModificationTime(v string) *FirewallRuleGroup { + s.ModificationTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *FirewallRuleGroup) SetName(v string) *FirewallRuleGroup { + s.Name = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *FirewallRuleGroup) SetOwnerId(v string) *FirewallRuleGroup { + s.OwnerId = &v + return s +} + +// SetRuleCount sets the RuleCount field's value. +func (s *FirewallRuleGroup) SetRuleCount(v int64) *FirewallRuleGroup { + s.RuleCount = &v + return s +} + +// SetShareStatus sets the ShareStatus field's value. +func (s *FirewallRuleGroup) SetShareStatus(v string) *FirewallRuleGroup { + s.ShareStatus = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *FirewallRuleGroup) SetStatus(v string) *FirewallRuleGroup { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *FirewallRuleGroup) SetStatusMessage(v string) *FirewallRuleGroup { + s.StatusMessage = &v + return s +} + +// An association between a firewall rul group and a VPC, which enables DNS +// filtering for the VPC. +type FirewallRuleGroupAssociation struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the firewall rule group association. + Arn *string `min:"1" type:"string"` + + // The date and time that the association was created, in Unix time format and + // Coordinated Universal Time (UTC). + CreationTime *string `min:"20" type:"string"` + + // A unique string defined by you to identify the request. This allows you to + // retry failed requests without the risk of executing the operation twice. + // This can be any unique string, for example, a timestamp. + CreatorRequestId *string `min:"1" type:"string"` + + // The unique identifier of the firewall rule group. + FirewallRuleGroupId *string `min:"1" type:"string"` + + // The identifier for the association. + Id *string `min:"1" type:"string"` + + // The owner of the association, used only for associations that are not managed + // by you. If you use AWS Firewall Manager to manage your DNS Firewalls, then + // this reports Firewall Manager as the managed owner. + ManagedOwnerName *string `min:"1" type:"string"` + + // The date and time that the association was last modified, in Unix time format + // and Coordinated Universal Time (UTC). + ModificationTime *string `min:"20" type:"string"` + + // If enabled, this setting disallows modification or removal of the association, + // to help prevent against accidentally altering DNS firewall protections. + MutationProtection *string `type:"string" enum:"MutationProtectionStatus"` + + // The name of the association. + Name *string `type:"string"` + + // The setting that determines the processing order of the rule group among + // the rule groups that are associated with a single VPC. DNS Firewall filters + // VPC traffic starting from rule group with the lowest numeric priority setting. + Priority *int64 `type:"integer"` + + // The current status of the association. + Status *string `type:"string" enum:"FirewallRuleGroupAssociationStatus"` + + // Additional information about the status of the response, if available. + StatusMessage *string `type:"string"` + + // The unique identifier of the VPC that is associated with the rule group. + VpcId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s FirewallRuleGroupAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FirewallRuleGroupAssociation) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *FirewallRuleGroupAssociation) SetArn(v string) *FirewallRuleGroupAssociation { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *FirewallRuleGroupAssociation) SetCreationTime(v string) *FirewallRuleGroupAssociation { + s.CreationTime = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *FirewallRuleGroupAssociation) SetCreatorRequestId(v string) *FirewallRuleGroupAssociation { + s.CreatorRequestId = &v + return s +} + +// SetFirewallRuleGroupId sets the FirewallRuleGroupId field's value. +func (s *FirewallRuleGroupAssociation) SetFirewallRuleGroupId(v string) *FirewallRuleGroupAssociation { + s.FirewallRuleGroupId = &v + return s +} + +// SetId sets the Id field's value. +func (s *FirewallRuleGroupAssociation) SetId(v string) *FirewallRuleGroupAssociation { + s.Id = &v + return s +} + +// SetManagedOwnerName sets the ManagedOwnerName field's value. +func (s *FirewallRuleGroupAssociation) SetManagedOwnerName(v string) *FirewallRuleGroupAssociation { + s.ManagedOwnerName = &v + return s +} + +// SetModificationTime sets the ModificationTime field's value. +func (s *FirewallRuleGroupAssociation) SetModificationTime(v string) *FirewallRuleGroupAssociation { + s.ModificationTime = &v + return s +} + +// SetMutationProtection sets the MutationProtection field's value. +func (s *FirewallRuleGroupAssociation) SetMutationProtection(v string) *FirewallRuleGroupAssociation { + s.MutationProtection = &v + return s +} + +// SetName sets the Name field's value. +func (s *FirewallRuleGroupAssociation) SetName(v string) *FirewallRuleGroupAssociation { + s.Name = &v + return s +} + +// SetPriority sets the Priority field's value. +func (s *FirewallRuleGroupAssociation) SetPriority(v int64) *FirewallRuleGroupAssociation { + s.Priority = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *FirewallRuleGroupAssociation) SetStatus(v string) *FirewallRuleGroupAssociation { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *FirewallRuleGroupAssociation) SetStatusMessage(v string) *FirewallRuleGroupAssociation { + s.StatusMessage = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *FirewallRuleGroupAssociation) SetVpcId(v string) *FirewallRuleGroupAssociation { + s.VpcId = &v + return s +} + +// Minimal high-level information for a firewall rule group. The action ListFirewallRuleGroups +// returns an array of these objects. +// +// To retrieve full information for a firewall rule group, call GetFirewallRuleGroup +// and ListFirewallRules. +type FirewallRuleGroupMetadata struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon Resource Name) of the rule group. + Arn *string `min:"1" type:"string"` + + // A unique string defined by you to identify the request. This allows you to + // retry failed requests without the risk of executing the operation twice. + // This can be any unique string, for example, a timestamp. + CreatorRequestId *string `min:"1" type:"string"` + + // The ID of the rule group. + Id *string `min:"1" type:"string"` + + // The name of the rule group. + Name *string `type:"string"` + + // The AWS account ID for the account that created the rule group. When a rule + // group is shared with your account, this is the account that has shared the + // rule group with you. + OwnerId *string `min:"12" type:"string"` + + // Whether the rule group is shared with other AWS accounts, or was shared with + // the current account by another AWS account. Sharing is configured through + // AWS Resource Access Manager (AWS RAM). + ShareStatus *string `type:"string" enum:"ShareStatus"` +} + +// String returns the string representation +func (s FirewallRuleGroupMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FirewallRuleGroupMetadata) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *FirewallRuleGroupMetadata) SetArn(v string) *FirewallRuleGroupMetadata { + s.Arn = &v + return s +} + +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *FirewallRuleGroupMetadata) SetCreatorRequestId(v string) *FirewallRuleGroupMetadata { + s.CreatorRequestId = &v + return s +} + +// SetId sets the Id field's value. +func (s *FirewallRuleGroupMetadata) SetId(v string) *FirewallRuleGroupMetadata { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *FirewallRuleGroupMetadata) SetName(v string) *FirewallRuleGroupMetadata { + s.Name = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *FirewallRuleGroupMetadata) SetOwnerId(v string) *FirewallRuleGroupMetadata { + s.OwnerId = &v + return s +} + +// SetShareStatus sets the ShareStatus field's value. +func (s *FirewallRuleGroupMetadata) SetShareStatus(v string) *FirewallRuleGroupMetadata { + s.ShareStatus = &v + return s +} + +type GetFirewallConfigInput struct { + _ struct{} `type:"structure"` + + // The ID of the Amazon virtual private cloud (VPC) that the configuration is + // for. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` } -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" +// String returns the string representation +func (s GetFirewallConfigInput) String() string { + return awsutil.Prettify(s) } -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// GoString returns the string representation +func (s GetFirewallConfigInput) GoString() string { + return s.String() } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFirewallConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFirewallConfigInput"} + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetResourceId sets the ResourceId field's value. +func (s *GetFirewallConfigInput) SetResourceId(v string) *GetFirewallConfigInput { + s.ResourceId = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode +type GetFirewallConfigOutput struct { + _ struct{} `type:"structure"` + + // Configuration of the firewall behavior provided by DNS Firewall for a single + // Amazon virtual private cloud (VPC). + FirewallConfig *FirewallConfig `type:"structure"` } -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID +// String returns the string representation +func (s GetFirewallConfigOutput) String() string { + return awsutil.Prettify(s) } -type AssociateResolverEndpointIpAddressInput struct { +// GoString returns the string representation +func (s GetFirewallConfigOutput) GoString() string { + return s.String() +} + +// SetFirewallConfig sets the FirewallConfig field's value. +func (s *GetFirewallConfigOutput) SetFirewallConfig(v *FirewallConfig) *GetFirewallConfigOutput { + s.FirewallConfig = v + return s +} + +type GetFirewallDomainListInput struct { _ struct{} `type:"structure"` - // Either the IPv4 address that you want to add to a Resolver endpoint or a - // subnet ID. If you specify a subnet ID, Resolver chooses an IP address for - // you from the available IPs in the specified subnet. + // The ID of the domain list. // - // IpAddress is a required field - IpAddress *IpAddressUpdate `type:"structure" required:"true"` + // FirewallDomainListId is a required field + FirewallDomainListId *string `min:"1" type:"string" required:"true"` +} - // The ID of the Resolver endpoint that you want to associate IP addresses with. +// String returns the string representation +func (s GetFirewallDomainListInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFirewallDomainListInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFirewallDomainListInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFirewallDomainListInput"} + if s.FirewallDomainListId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallDomainListId")) + } + if s.FirewallDomainListId != nil && len(*s.FirewallDomainListId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallDomainListId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFirewallDomainListId sets the FirewallDomainListId field's value. +func (s *GetFirewallDomainListInput) SetFirewallDomainListId(v string) *GetFirewallDomainListInput { + s.FirewallDomainListId = &v + return s +} + +type GetFirewallDomainListOutput struct { + _ struct{} `type:"structure"` + + // The domain list that you requested. + FirewallDomainList *FirewallDomainList `type:"structure"` +} + +// String returns the string representation +func (s GetFirewallDomainListOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFirewallDomainListOutput) GoString() string { + return s.String() +} + +// SetFirewallDomainList sets the FirewallDomainList field's value. +func (s *GetFirewallDomainListOutput) SetFirewallDomainList(v *FirewallDomainList) *GetFirewallDomainListOutput { + s.FirewallDomainList = v + return s +} + +type GetFirewallRuleGroupAssociationInput struct { + _ struct{} `type:"structure"` + + // The identifier of the FirewallRuleGroupAssociation. // - // ResolverEndpointId is a required field - ResolverEndpointId *string `min:"1" type:"string" required:"true"` + // FirewallRuleGroupAssociationId is a required field + FirewallRuleGroupAssociationId *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s AssociateResolverEndpointIpAddressInput) String() string { +func (s GetFirewallRuleGroupAssociationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AssociateResolverEndpointIpAddressInput) GoString() string { +func (s GetFirewallRuleGroupAssociationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AssociateResolverEndpointIpAddressInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssociateResolverEndpointIpAddressInput"} - if s.IpAddress == nil { - invalidParams.Add(request.NewErrParamRequired("IpAddress")) +func (s *GetFirewallRuleGroupAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFirewallRuleGroupAssociationInput"} + if s.FirewallRuleGroupAssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallRuleGroupAssociationId")) } - if s.ResolverEndpointId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) + if s.FirewallRuleGroupAssociationId != nil && len(*s.FirewallRuleGroupAssociationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallRuleGroupAssociationId", 1)) } - if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + + if invalidParams.Len() > 0 { + return invalidParams } - if s.IpAddress != nil { - if err := s.IpAddress.Validate(); err != nil { - invalidParams.AddNested("IpAddress", err.(request.ErrInvalidParams)) - } + return nil +} + +// SetFirewallRuleGroupAssociationId sets the FirewallRuleGroupAssociationId field's value. +func (s *GetFirewallRuleGroupAssociationInput) SetFirewallRuleGroupAssociationId(v string) *GetFirewallRuleGroupAssociationInput { + s.FirewallRuleGroupAssociationId = &v + return s +} + +type GetFirewallRuleGroupAssociationOutput struct { + _ struct{} `type:"structure"` + + // The association that you requested. + FirewallRuleGroupAssociation *FirewallRuleGroupAssociation `type:"structure"` +} + +// String returns the string representation +func (s GetFirewallRuleGroupAssociationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFirewallRuleGroupAssociationOutput) GoString() string { + return s.String() +} + +// SetFirewallRuleGroupAssociation sets the FirewallRuleGroupAssociation field's value. +func (s *GetFirewallRuleGroupAssociationOutput) SetFirewallRuleGroupAssociation(v *FirewallRuleGroupAssociation) *GetFirewallRuleGroupAssociationOutput { + s.FirewallRuleGroupAssociation = v + return s +} + +type GetFirewallRuleGroupInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the firewall rule group. + // + // FirewallRuleGroupId is a required field + FirewallRuleGroupId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetFirewallRuleGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFirewallRuleGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFirewallRuleGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFirewallRuleGroupInput"} + if s.FirewallRuleGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallRuleGroupId")) + } + if s.FirewallRuleGroupId != nil && len(*s.FirewallRuleGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallRuleGroupId", 1)) } if invalidParams.Len() > 0 { @@ -3967,78 +9853,123 @@ func (s *AssociateResolverEndpointIpAddressInput) Validate() error { return nil } -// SetIpAddress sets the IpAddress field's value. -func (s *AssociateResolverEndpointIpAddressInput) SetIpAddress(v *IpAddressUpdate) *AssociateResolverEndpointIpAddressInput { - s.IpAddress = v +// SetFirewallRuleGroupId sets the FirewallRuleGroupId field's value. +func (s *GetFirewallRuleGroupInput) SetFirewallRuleGroupId(v string) *GetFirewallRuleGroupInput { + s.FirewallRuleGroupId = &v return s } -// SetResolverEndpointId sets the ResolverEndpointId field's value. -func (s *AssociateResolverEndpointIpAddressInput) SetResolverEndpointId(v string) *AssociateResolverEndpointIpAddressInput { - s.ResolverEndpointId = &v +type GetFirewallRuleGroupOutput struct { + _ struct{} `type:"structure"` + + // A collection of rules used to filter DNS network traffic. + FirewallRuleGroup *FirewallRuleGroup `type:"structure"` +} + +// String returns the string representation +func (s GetFirewallRuleGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFirewallRuleGroupOutput) GoString() string { + return s.String() +} + +// SetFirewallRuleGroup sets the FirewallRuleGroup field's value. +func (s *GetFirewallRuleGroupOutput) SetFirewallRuleGroup(v *FirewallRuleGroup) *GetFirewallRuleGroupOutput { + s.FirewallRuleGroup = v return s } -type AssociateResolverEndpointIpAddressOutput struct { +type GetFirewallRuleGroupPolicyInput struct { _ struct{} `type:"structure"` - // The response to an AssociateResolverEndpointIpAddress request. - ResolverEndpoint *ResolverEndpoint `type:"structure"` + // The ARN (Amazon Resource Name) for the rule group. + // + // Arn is a required field + Arn *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s AssociateResolverEndpointIpAddressOutput) String() string { +func (s GetFirewallRuleGroupPolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AssociateResolverEndpointIpAddressOutput) GoString() string { +func (s GetFirewallRuleGroupPolicyInput) GoString() string { return s.String() } -// SetResolverEndpoint sets the ResolverEndpoint field's value. -func (s *AssociateResolverEndpointIpAddressOutput) SetResolverEndpoint(v *ResolverEndpoint) *AssociateResolverEndpointIpAddressOutput { - s.ResolverEndpoint = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFirewallRuleGroupPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFirewallRuleGroupPolicyInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *GetFirewallRuleGroupPolicyInput) SetArn(v string) *GetFirewallRuleGroupPolicyInput { + s.Arn = &v return s } -type AssociateResolverQueryLogConfigInput struct { +type GetFirewallRuleGroupPolicyOutput struct { _ struct{} `type:"structure"` - // The ID of the query logging configuration that you want to associate a VPC - // with. - // - // ResolverQueryLogConfigId is a required field - ResolverQueryLogConfigId *string `min:"1" type:"string" required:"true"` + // The AWS Identity and Access Management (AWS IAM) policy for sharing the specified + // rule group. You can use the policy to share the rule group using AWS Resource + // Access Manager (RAM). + FirewallRuleGroupPolicy *string `type:"string"` +} - // The ID of an Amazon VPC that you want this query logging configuration to - // log queries for. - // - // The VPCs and the query logging configuration must be in the same Region. +// String returns the string representation +func (s GetFirewallRuleGroupPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFirewallRuleGroupPolicyOutput) GoString() string { + return s.String() +} + +// SetFirewallRuleGroupPolicy sets the FirewallRuleGroupPolicy field's value. +func (s *GetFirewallRuleGroupPolicyOutput) SetFirewallRuleGroupPolicy(v string) *GetFirewallRuleGroupPolicyOutput { + s.FirewallRuleGroupPolicy = &v + return s +} + +type GetResolverDnssecConfigInput struct { + _ struct{} `type:"structure"` + + // The ID of the virtual private cloud (VPC) for the DNSSEC validation status. // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s AssociateResolverQueryLogConfigInput) String() string { +func (s GetResolverDnssecConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AssociateResolverQueryLogConfigInput) GoString() string { +func (s GetResolverDnssecConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AssociateResolverQueryLogConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssociateResolverQueryLogConfigInput"} - if s.ResolverQueryLogConfigId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigId")) - } - if s.ResolverQueryLogConfigId != nil && len(*s.ResolverQueryLogConfigId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverQueryLogConfigId", 1)) - } +func (s *GetResolverDnssecConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverDnssecConfigInput"} if s.ResourceId == nil { invalidParams.Add(request.NewErrParamRequired("ResourceId")) } @@ -4046,91 +9977,68 @@ func (s *AssociateResolverQueryLogConfigInput) Validate() error { invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) } - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetResolverQueryLogConfigId sets the ResolverQueryLogConfigId field's value. -func (s *AssociateResolverQueryLogConfigInput) SetResolverQueryLogConfigId(v string) *AssociateResolverQueryLogConfigInput { - s.ResolverQueryLogConfigId = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } // SetResourceId sets the ResourceId field's value. -func (s *AssociateResolverQueryLogConfigInput) SetResourceId(v string) *AssociateResolverQueryLogConfigInput { +func (s *GetResolverDnssecConfigInput) SetResourceId(v string) *GetResolverDnssecConfigInput { s.ResourceId = &v return s } -type AssociateResolverQueryLogConfigOutput struct { +type GetResolverDnssecConfigOutput struct { _ struct{} `type:"structure"` - // A complex type that contains settings for a specified association between - // an Amazon VPC and a query logging configuration. - ResolverQueryLogConfigAssociation *ResolverQueryLogConfigAssociation `type:"structure"` + // The information about a configuration for DNSSEC validation. + ResolverDNSSECConfig *ResolverDnssecConfig `type:"structure"` } // String returns the string representation -func (s AssociateResolverQueryLogConfigOutput) String() string { +func (s GetResolverDnssecConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AssociateResolverQueryLogConfigOutput) GoString() string { +func (s GetResolverDnssecConfigOutput) GoString() string { return s.String() } -// SetResolverQueryLogConfigAssociation sets the ResolverQueryLogConfigAssociation field's value. -func (s *AssociateResolverQueryLogConfigOutput) SetResolverQueryLogConfigAssociation(v *ResolverQueryLogConfigAssociation) *AssociateResolverQueryLogConfigOutput { - s.ResolverQueryLogConfigAssociation = v +// SetResolverDNSSECConfig sets the ResolverDNSSECConfig field's value. +func (s *GetResolverDnssecConfigOutput) SetResolverDNSSECConfig(v *ResolverDnssecConfig) *GetResolverDnssecConfigOutput { + s.ResolverDNSSECConfig = v return s } -type AssociateResolverRuleInput struct { +type GetResolverEndpointInput struct { _ struct{} `type:"structure"` - // A name for the association that you're creating between a Resolver rule and - // a VPC. - Name *string `type:"string"` - - // The ID of the Resolver rule that you want to associate with the VPC. To list - // the existing Resolver rules, use ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html). - // - // ResolverRuleId is a required field - ResolverRuleId *string `min:"1" type:"string" required:"true"` - - // The ID of the VPC that you want to associate the Resolver rule with. + // The ID of the Resolver endpoint that you want to get information about. // - // VPCId is a required field - VPCId *string `min:"1" type:"string" required:"true"` + // ResolverEndpointId is a required field + ResolverEndpointId *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s AssociateResolverRuleInput) String() string { +func (s GetResolverEndpointInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AssociateResolverRuleInput) GoString() string { +func (s GetResolverEndpointInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AssociateResolverRuleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssociateResolverRuleInput"} - if s.ResolverRuleId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverRuleId")) - } - if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1)) - } - if s.VPCId == nil { - invalidParams.Add(request.NewErrParamRequired("VPCId")) +func (s *GetResolverEndpointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverEndpointInput"} + if s.ResolverEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) } - if s.VPCId != nil && len(*s.VPCId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VPCId", 1)) + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) } if invalidParams.Len() > 0 { @@ -4139,144 +10047,64 @@ func (s *AssociateResolverRuleInput) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *AssociateResolverRuleInput) SetName(v string) *AssociateResolverRuleInput { - s.Name = &v - return s -} - -// SetResolverRuleId sets the ResolverRuleId field's value. -func (s *AssociateResolverRuleInput) SetResolverRuleId(v string) *AssociateResolverRuleInput { - s.ResolverRuleId = &v - return s -} - -// SetVPCId sets the VPCId field's value. -func (s *AssociateResolverRuleInput) SetVPCId(v string) *AssociateResolverRuleInput { - s.VPCId = &v +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *GetResolverEndpointInput) SetResolverEndpointId(v string) *GetResolverEndpointInput { + s.ResolverEndpointId = &v return s } -type AssociateResolverRuleOutput struct { +type GetResolverEndpointOutput struct { _ struct{} `type:"structure"` - // Information about the AssociateResolverRule request, including the status - // of the request. - ResolverRuleAssociation *ResolverRuleAssociation `type:"structure"` + // Information about the Resolver endpoint that you specified in a GetResolverEndpoint + // request. + ResolverEndpoint *ResolverEndpoint `type:"structure"` } // String returns the string representation -func (s AssociateResolverRuleOutput) String() string { +func (s GetResolverEndpointOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AssociateResolverRuleOutput) GoString() string { +func (s GetResolverEndpointOutput) GoString() string { return s.String() } -// SetResolverRuleAssociation sets the ResolverRuleAssociation field's value. -func (s *AssociateResolverRuleOutput) SetResolverRuleAssociation(v *ResolverRuleAssociation) *AssociateResolverRuleOutput { - s.ResolverRuleAssociation = v +// SetResolverEndpoint sets the ResolverEndpoint field's value. +func (s *GetResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *GetResolverEndpointOutput { + s.ResolverEndpoint = v return s } -type CreateResolverEndpointInput struct { +type GetResolverQueryLogConfigAssociationInput struct { _ struct{} `type:"structure"` - // A unique string that identifies the request and that allows failed requests - // to be retried without the risk of executing the operation twice. CreatorRequestId - // can be any unique string, for example, a date/time stamp. - // - // CreatorRequestId is a required field - CreatorRequestId *string `min:"1" type:"string" required:"true"` - - // Specify the applicable value: - // - // * INBOUND: Resolver forwards DNS queries to the DNS service for a VPC - // from your network - // - // * OUTBOUND: Resolver forwards DNS queries from the DNS service for a VPC - // to your network - // - // Direction is a required field - Direction *string `type:"string" required:"true" enum:"ResolverEndpointDirection"` - - // The subnets and IP addresses in your VPC that DNS queries originate from - // (for outbound endpoints) or that you forward DNS queries to (for inbound - // endpoints). The subnet ID uniquely identifies a VPC. - // - // IpAddresses is a required field - IpAddresses []*IpAddressRequest `min:"1" type:"list" required:"true"` - - // A friendly name that lets you easily find a configuration in the Resolver - // dashboard in the Route 53 console. - Name *string `type:"string"` - - // The ID of one or more security groups that you want to use to control access - // to this VPC. The security group that you specify must include one or more - // inbound rules (for inbound Resolver endpoints) or outbound rules (for outbound - // Resolver endpoints). Inbound and outbound rules must allow TCP and UDP access. - // For inbound access, open port 53. For outbound access, open the port that - // you're using for DNS queries on your network. + // The ID of the Resolver query logging configuration association that you want + // to get information about. // - // SecurityGroupIds is a required field - SecurityGroupIds []*string `type:"list" required:"true"` - - // A list of the tag keys and values that you want to associate with the endpoint. - Tags []*Tag `type:"list"` + // ResolverQueryLogConfigAssociationId is a required field + ResolverQueryLogConfigAssociationId *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateResolverEndpointInput) String() string { +func (s GetResolverQueryLogConfigAssociationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateResolverEndpointInput) GoString() string { +func (s GetResolverQueryLogConfigAssociationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateResolverEndpointInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateResolverEndpointInput"} - if s.CreatorRequestId == nil { - invalidParams.Add(request.NewErrParamRequired("CreatorRequestId")) - } - if s.CreatorRequestId != nil && len(*s.CreatorRequestId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CreatorRequestId", 1)) - } - if s.Direction == nil { - invalidParams.Add(request.NewErrParamRequired("Direction")) - } - if s.IpAddresses == nil { - invalidParams.Add(request.NewErrParamRequired("IpAddresses")) - } - if s.IpAddresses != nil && len(s.IpAddresses) < 1 { - invalidParams.Add(request.NewErrParamMinLen("IpAddresses", 1)) - } - if s.SecurityGroupIds == nil { - invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) - } - if s.IpAddresses != nil { - for i, v := range s.IpAddresses { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "IpAddresses", i), err.(request.ErrInvalidParams)) - } - } +func (s *GetResolverQueryLogConfigAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverQueryLogConfigAssociationInput"} + if s.ResolverQueryLogConfigAssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigAssociationId")) } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } + if s.ResolverQueryLogConfigAssociationId != nil && len(*s.ResolverQueryLogConfigAssociationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverQueryLogConfigAssociationId", 1)) } if invalidParams.Len() > 0 { @@ -4285,135 +10113,64 @@ func (s *CreateResolverEndpointInput) Validate() error { return nil } -// SetCreatorRequestId sets the CreatorRequestId field's value. -func (s *CreateResolverEndpointInput) SetCreatorRequestId(v string) *CreateResolverEndpointInput { - s.CreatorRequestId = &v - return s -} - -// SetDirection sets the Direction field's value. -func (s *CreateResolverEndpointInput) SetDirection(v string) *CreateResolverEndpointInput { - s.Direction = &v - return s -} - -// SetIpAddresses sets the IpAddresses field's value. -func (s *CreateResolverEndpointInput) SetIpAddresses(v []*IpAddressRequest) *CreateResolverEndpointInput { - s.IpAddresses = v - return s -} - -// SetName sets the Name field's value. -func (s *CreateResolverEndpointInput) SetName(v string) *CreateResolverEndpointInput { - s.Name = &v - return s -} - -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *CreateResolverEndpointInput) SetSecurityGroupIds(v []*string) *CreateResolverEndpointInput { - s.SecurityGroupIds = v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateResolverEndpointInput) SetTags(v []*Tag) *CreateResolverEndpointInput { - s.Tags = v +// SetResolverQueryLogConfigAssociationId sets the ResolverQueryLogConfigAssociationId field's value. +func (s *GetResolverQueryLogConfigAssociationInput) SetResolverQueryLogConfigAssociationId(v string) *GetResolverQueryLogConfigAssociationInput { + s.ResolverQueryLogConfigAssociationId = &v return s } -type CreateResolverEndpointOutput struct { +type GetResolverQueryLogConfigAssociationOutput struct { _ struct{} `type:"structure"` - // Information about the CreateResolverEndpoint request, including the status - // of the request. - ResolverEndpoint *ResolverEndpoint `type:"structure"` + // Information about the Resolver query logging configuration association that + // you specified in a GetQueryLogConfigAssociation request. + ResolverQueryLogConfigAssociation *ResolverQueryLogConfigAssociation `type:"structure"` } // String returns the string representation -func (s CreateResolverEndpointOutput) String() string { +func (s GetResolverQueryLogConfigAssociationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateResolverEndpointOutput) GoString() string { +func (s GetResolverQueryLogConfigAssociationOutput) GoString() string { return s.String() } -// SetResolverEndpoint sets the ResolverEndpoint field's value. -func (s *CreateResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *CreateResolverEndpointOutput { - s.ResolverEndpoint = v +// SetResolverQueryLogConfigAssociation sets the ResolverQueryLogConfigAssociation field's value. +func (s *GetResolverQueryLogConfigAssociationOutput) SetResolverQueryLogConfigAssociation(v *ResolverQueryLogConfigAssociation) *GetResolverQueryLogConfigAssociationOutput { + s.ResolverQueryLogConfigAssociation = v return s -} - -type CreateResolverQueryLogConfigInput struct { - _ struct{} `type:"structure"` - - // A unique string that identifies the request and that allows failed requests - // to be retried without the risk of executing the operation twice. CreatorRequestId - // can be any unique string, for example, a date/time stamp. - CreatorRequestId *string `min:"1" type:"string" idempotencyToken:"true"` +} - // The ARN of the resource that you want Resolver to send query logs. You can - // send query logs to an S3 bucket, a CloudWatch Logs log group, or a Kinesis - // Data Firehose delivery stream. Examples of valid values include the following: - // - // * S3 bucket: arn:aws:s3:::examplebucket You can optionally append a file - // prefix to the end of the ARN. arn:aws:s3:::examplebucket/development/ - // - // * CloudWatch Logs log group: arn:aws:logs:us-west-1:123456789012:log-group:/mystack-testgroup-12ABC1AB12A1:* - // - // * Kinesis Data Firehose delivery stream: arn:aws:kinesis:us-east-2:0123456789:stream/my_stream_name - // - // DestinationArn is a required field - DestinationArn *string `min:"1" type:"string" required:"true"` +type GetResolverQueryLogConfigInput struct { + _ struct{} `type:"structure"` - // The name that you want to give the query logging configuration + // The ID of the Resolver query logging configuration that you want to get information + // about. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` - - // A list of the tag keys and values that you want to associate with the query - // logging configuration. - Tags []*Tag `type:"list"` + // ResolverQueryLogConfigId is a required field + ResolverQueryLogConfigId *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateResolverQueryLogConfigInput) String() string { +func (s GetResolverQueryLogConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateResolverQueryLogConfigInput) GoString() string { +func (s GetResolverQueryLogConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateResolverQueryLogConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateResolverQueryLogConfigInput"} - if s.CreatorRequestId != nil && len(*s.CreatorRequestId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CreatorRequestId", 1)) - } - if s.DestinationArn == nil { - invalidParams.Add(request.NewErrParamRequired("DestinationArn")) - } - if s.DestinationArn != nil && len(*s.DestinationArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DestinationArn", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) +func (s *GetResolverQueryLogConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverQueryLogConfigInput"} + if s.ResolverQueryLogConfigId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigId")) } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } + if s.ResolverQueryLogConfigId != nil && len(*s.ResolverQueryLogConfigId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverQueryLogConfigId", 1)) } if invalidParams.Len() > 0 { @@ -4422,161 +10179,64 @@ func (s *CreateResolverQueryLogConfigInput) Validate() error { return nil } -// SetCreatorRequestId sets the CreatorRequestId field's value. -func (s *CreateResolverQueryLogConfigInput) SetCreatorRequestId(v string) *CreateResolverQueryLogConfigInput { - s.CreatorRequestId = &v - return s -} - -// SetDestinationArn sets the DestinationArn field's value. -func (s *CreateResolverQueryLogConfigInput) SetDestinationArn(v string) *CreateResolverQueryLogConfigInput { - s.DestinationArn = &v - return s -} - -// SetName sets the Name field's value. -func (s *CreateResolverQueryLogConfigInput) SetName(v string) *CreateResolverQueryLogConfigInput { - s.Name = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateResolverQueryLogConfigInput) SetTags(v []*Tag) *CreateResolverQueryLogConfigInput { - s.Tags = v +// SetResolverQueryLogConfigId sets the ResolverQueryLogConfigId field's value. +func (s *GetResolverQueryLogConfigInput) SetResolverQueryLogConfigId(v string) *GetResolverQueryLogConfigInput { + s.ResolverQueryLogConfigId = &v return s } -type CreateResolverQueryLogConfigOutput struct { +type GetResolverQueryLogConfigOutput struct { _ struct{} `type:"structure"` - // Information about the CreateResolverQueryLogConfig request, including the - // status of the request. + // Information about the Resolver query logging configuration that you specified + // in a GetQueryLogConfig request. ResolverQueryLogConfig *ResolverQueryLogConfig `type:"structure"` } // String returns the string representation -func (s CreateResolverQueryLogConfigOutput) String() string { +func (s GetResolverQueryLogConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateResolverQueryLogConfigOutput) GoString() string { +func (s GetResolverQueryLogConfigOutput) GoString() string { return s.String() } // SetResolverQueryLogConfig sets the ResolverQueryLogConfig field's value. -func (s *CreateResolverQueryLogConfigOutput) SetResolverQueryLogConfig(v *ResolverQueryLogConfig) *CreateResolverQueryLogConfigOutput { +func (s *GetResolverQueryLogConfigOutput) SetResolverQueryLogConfig(v *ResolverQueryLogConfig) *GetResolverQueryLogConfigOutput { s.ResolverQueryLogConfig = v return s } -type CreateResolverRuleInput struct { +type GetResolverQueryLogConfigPolicyInput struct { _ struct{} `type:"structure"` - // A unique string that identifies the request and that allows failed requests - // to be retried without the risk of executing the operation twice. CreatorRequestId - // can be any unique string, for example, a date/time stamp. - // - // CreatorRequestId is a required field - CreatorRequestId *string `min:"1" type:"string" required:"true"` - - // DNS queries for this domain name are forwarded to the IP addresses that you - // specify in TargetIps. If a query matches multiple Resolver rules (example.com - // and www.example.com), outbound DNS queries are routed using the Resolver - // rule that contains the most specific domain name (www.example.com). - // - // DomainName is a required field - DomainName *string `min:"1" type:"string" required:"true"` - - // A friendly name that lets you easily find a rule in the Resolver dashboard - // in the Route 53 console. - Name *string `type:"string"` - - // The ID of the outbound Resolver endpoint that you want to use to route DNS - // queries to the IP addresses that you specify in TargetIps. - ResolverEndpointId *string `min:"1" type:"string"` - - // When you want to forward DNS queries for specified domain name to resolvers - // on your network, specify FORWARD. - // - // When you have a forwarding rule to forward DNS queries for a domain to your - // network and you want Resolver to process queries for a subdomain of that - // domain, specify SYSTEM. - // - // For example, to forward DNS queries for example.com to resolvers on your - // network, you create a rule and specify FORWARD for RuleType. To then have - // Resolver process queries for apex.example.com, you create a rule and specify - // SYSTEM for RuleType. - // - // Currently, only Resolver can create rules that have a value of RECURSIVE - // for RuleType. - // - // RuleType is a required field - RuleType *string `type:"string" required:"true" enum:"RuleTypeOption"` - - // A list of the tag keys and values that you want to associate with the endpoint. - Tags []*Tag `type:"list"` - - // The IPs that you want Resolver to forward DNS queries to. You can specify - // only IPv4 addresses. Separate IP addresses with a comma. + // The ARN of the query logging configuration that you want to get the query + // logging policy for. // - // TargetIps is available only when the value of Rule type is FORWARD. - TargetIps []*TargetAddress `min:"1" type:"list"` + // Arn is a required field + Arn *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s CreateResolverRuleInput) String() string { +func (s GetResolverQueryLogConfigPolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateResolverRuleInput) GoString() string { +func (s GetResolverQueryLogConfigPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateResolverRuleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateResolverRuleInput"} - if s.CreatorRequestId == nil { - invalidParams.Add(request.NewErrParamRequired("CreatorRequestId")) - } - if s.CreatorRequestId != nil && len(*s.CreatorRequestId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CreatorRequestId", 1)) - } - if s.DomainName == nil { - invalidParams.Add(request.NewErrParamRequired("DomainName")) - } - if s.DomainName != nil && len(*s.DomainName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) - } - if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) - } - if s.RuleType == nil { - invalidParams.Add(request.NewErrParamRequired("RuleType")) - } - if s.TargetIps != nil && len(s.TargetIps) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TargetIps", 1)) - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } +func (s *GetResolverQueryLogConfigPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverQueryLogConfigPolicyInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } - if s.TargetIps != nil { - for i, v := range s.TargetIps { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetIps", i), err.(request.ErrInvalidParams)) - } - } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) } if invalidParams.Len() > 0 { @@ -4585,99 +10245,129 @@ func (s *CreateResolverRuleInput) Validate() error { return nil } -// SetCreatorRequestId sets the CreatorRequestId field's value. -func (s *CreateResolverRuleInput) SetCreatorRequestId(v string) *CreateResolverRuleInput { - s.CreatorRequestId = &v +// SetArn sets the Arn field's value. +func (s *GetResolverQueryLogConfigPolicyInput) SetArn(v string) *GetResolverQueryLogConfigPolicyInput { + s.Arn = &v return s } -// SetDomainName sets the DomainName field's value. -func (s *CreateResolverRuleInput) SetDomainName(v string) *CreateResolverRuleInput { - s.DomainName = &v - return s +type GetResolverQueryLogConfigPolicyOutput struct { + _ struct{} `type:"structure"` + + // Information about the query logging policy for the query logging configuration + // that you specified in a GetResolverQueryLogConfigPolicy request. + ResolverQueryLogConfigPolicy *string `type:"string"` } -// SetName sets the Name field's value. -func (s *CreateResolverRuleInput) SetName(v string) *CreateResolverRuleInput { - s.Name = &v - return s +// String returns the string representation +func (s GetResolverQueryLogConfigPolicyOutput) String() string { + return awsutil.Prettify(s) } -// SetResolverEndpointId sets the ResolverEndpointId field's value. -func (s *CreateResolverRuleInput) SetResolverEndpointId(v string) *CreateResolverRuleInput { - s.ResolverEndpointId = &v +// GoString returns the string representation +func (s GetResolverQueryLogConfigPolicyOutput) GoString() string { + return s.String() +} + +// SetResolverQueryLogConfigPolicy sets the ResolverQueryLogConfigPolicy field's value. +func (s *GetResolverQueryLogConfigPolicyOutput) SetResolverQueryLogConfigPolicy(v string) *GetResolverQueryLogConfigPolicyOutput { + s.ResolverQueryLogConfigPolicy = &v return s } -// SetRuleType sets the RuleType field's value. -func (s *CreateResolverRuleInput) SetRuleType(v string) *CreateResolverRuleInput { - s.RuleType = &v - return s -} +type GetResolverRuleAssociationInput struct { + _ struct{} `type:"structure"` + + // The ID of the Resolver rule association that you want to get information + // about. + // + // ResolverRuleAssociationId is a required field + ResolverRuleAssociationId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetResolverRuleAssociationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResolverRuleAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResolverRuleAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverRuleAssociationInput"} + if s.ResolverRuleAssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverRuleAssociationId")) + } + if s.ResolverRuleAssociationId != nil && len(*s.ResolverRuleAssociationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverRuleAssociationId", 1)) + } -// SetTags sets the Tags field's value. -func (s *CreateResolverRuleInput) SetTags(v []*Tag) *CreateResolverRuleInput { - s.Tags = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTargetIps sets the TargetIps field's value. -func (s *CreateResolverRuleInput) SetTargetIps(v []*TargetAddress) *CreateResolverRuleInput { - s.TargetIps = v +// SetResolverRuleAssociationId sets the ResolverRuleAssociationId field's value. +func (s *GetResolverRuleAssociationInput) SetResolverRuleAssociationId(v string) *GetResolverRuleAssociationInput { + s.ResolverRuleAssociationId = &v return s } -type CreateResolverRuleOutput struct { +type GetResolverRuleAssociationOutput struct { _ struct{} `type:"structure"` - // Information about the CreateResolverRule request, including the status of - // the request. - ResolverRule *ResolverRule `type:"structure"` + // Information about the Resolver rule association that you specified in a GetResolverRuleAssociation + // request. + ResolverRuleAssociation *ResolverRuleAssociation `type:"structure"` } // String returns the string representation -func (s CreateResolverRuleOutput) String() string { +func (s GetResolverRuleAssociationOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateResolverRuleOutput) GoString() string { +func (s GetResolverRuleAssociationOutput) GoString() string { return s.String() } -// SetResolverRule sets the ResolverRule field's value. -func (s *CreateResolverRuleOutput) SetResolverRule(v *ResolverRule) *CreateResolverRuleOutput { - s.ResolverRule = v +// SetResolverRuleAssociation sets the ResolverRuleAssociation field's value. +func (s *GetResolverRuleAssociationOutput) SetResolverRuleAssociation(v *ResolverRuleAssociation) *GetResolverRuleAssociationOutput { + s.ResolverRuleAssociation = v return s } -type DeleteResolverEndpointInput struct { +type GetResolverRuleInput struct { _ struct{} `type:"structure"` - // The ID of the Resolver endpoint that you want to delete. + // The ID of the Resolver rule that you want to get information about. // - // ResolverEndpointId is a required field - ResolverEndpointId *string `min:"1" type:"string" required:"true"` + // ResolverRuleId is a required field + ResolverRuleId *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteResolverEndpointInput) String() string { +func (s GetResolverRuleInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteResolverEndpointInput) GoString() string { +func (s GetResolverRuleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteResolverEndpointInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteResolverEndpointInput"} - if s.ResolverEndpointId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) +func (s *GetResolverRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverRuleInput"} + if s.ResolverRuleId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverRuleId")) } - if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1)) } if invalidParams.Len() > 0 { @@ -4686,63 +10376,64 @@ func (s *DeleteResolverEndpointInput) Validate() error { return nil } -// SetResolverEndpointId sets the ResolverEndpointId field's value. -func (s *DeleteResolverEndpointInput) SetResolverEndpointId(v string) *DeleteResolverEndpointInput { - s.ResolverEndpointId = &v +// SetResolverRuleId sets the ResolverRuleId field's value. +func (s *GetResolverRuleInput) SetResolverRuleId(v string) *GetResolverRuleInput { + s.ResolverRuleId = &v return s } -type DeleteResolverEndpointOutput struct { +type GetResolverRuleOutput struct { _ struct{} `type:"structure"` - // Information about the DeleteResolverEndpoint request, including the status - // of the request. - ResolverEndpoint *ResolverEndpoint `type:"structure"` + // Information about the Resolver rule that you specified in a GetResolverRule + // request. + ResolverRule *ResolverRule `type:"structure"` } // String returns the string representation -func (s DeleteResolverEndpointOutput) String() string { +func (s GetResolverRuleOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteResolverEndpointOutput) GoString() string { +func (s GetResolverRuleOutput) GoString() string { return s.String() } -// SetResolverEndpoint sets the ResolverEndpoint field's value. -func (s *DeleteResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *DeleteResolverEndpointOutput { - s.ResolverEndpoint = v +// SetResolverRule sets the ResolverRule field's value. +func (s *GetResolverRuleOutput) SetResolverRule(v *ResolverRule) *GetResolverRuleOutput { + s.ResolverRule = v return s } -type DeleteResolverQueryLogConfigInput struct { +type GetResolverRulePolicyInput struct { _ struct{} `type:"structure"` - // The ID of the query logging configuration that you want to delete. + // The ID of the Resolver rule that you want to get the Resolver rule policy + // for. // - // ResolverQueryLogConfigId is a required field - ResolverQueryLogConfigId *string `min:"1" type:"string" required:"true"` + // Arn is a required field + Arn *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteResolverQueryLogConfigInput) String() string { +func (s GetResolverRulePolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteResolverQueryLogConfigInput) GoString() string { +func (s GetResolverRulePolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteResolverQueryLogConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteResolverQueryLogConfigInput"} - if s.ResolverQueryLogConfigId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigId")) +func (s *GetResolverRulePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResolverRulePolicyInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } - if s.ResolverQueryLogConfigId != nil && len(*s.ResolverQueryLogConfigId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverQueryLogConfigId", 1)) + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) } if invalidParams.Len() > 0 { @@ -4751,63 +10442,88 @@ func (s *DeleteResolverQueryLogConfigInput) Validate() error { return nil } -// SetResolverQueryLogConfigId sets the ResolverQueryLogConfigId field's value. -func (s *DeleteResolverQueryLogConfigInput) SetResolverQueryLogConfigId(v string) *DeleteResolverQueryLogConfigInput { - s.ResolverQueryLogConfigId = &v +// SetArn sets the Arn field's value. +func (s *GetResolverRulePolicyInput) SetArn(v string) *GetResolverRulePolicyInput { + s.Arn = &v return s } -type DeleteResolverQueryLogConfigOutput struct { +type GetResolverRulePolicyOutput struct { _ struct{} `type:"structure"` - // Information about the query logging configuration that you deleted, including - // the status of the request. - ResolverQueryLogConfig *ResolverQueryLogConfig `type:"structure"` + // The Resolver rule policy for the rule that you specified in a GetResolverRulePolicy + // request. + ResolverRulePolicy *string `type:"string"` } // String returns the string representation -func (s DeleteResolverQueryLogConfigOutput) String() string { +func (s GetResolverRulePolicyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteResolverQueryLogConfigOutput) GoString() string { +func (s GetResolverRulePolicyOutput) GoString() string { return s.String() } -// SetResolverQueryLogConfig sets the ResolverQueryLogConfig field's value. -func (s *DeleteResolverQueryLogConfigOutput) SetResolverQueryLogConfig(v *ResolverQueryLogConfig) *DeleteResolverQueryLogConfigOutput { - s.ResolverQueryLogConfig = v +// SetResolverRulePolicy sets the ResolverRulePolicy field's value. +func (s *GetResolverRulePolicyOutput) SetResolverRulePolicy(v string) *GetResolverRulePolicyOutput { + s.ResolverRulePolicy = &v return s } -type DeleteResolverRuleInput struct { +type ImportFirewallDomainsInput struct { _ struct{} `type:"structure"` - // The ID of the Resolver rule that you want to delete. + // The fully qualified URL or URI of the file stored in Amazon Simple Storage + // Service (S3) that contains the list of domains to import. // - // ResolverRuleId is a required field - ResolverRuleId *string `min:"1" type:"string" required:"true"` + // The file must be in an S3 bucket that's in the same Region as your DNS Firewall. + // The file must be a text file and must contain a single domain per line. + // + // DomainFileUrl is a required field + DomainFileUrl *string `min:"1" type:"string" required:"true"` + + // The ID of the domain list that you want to modify with the import operation. + // + // FirewallDomainListId is a required field + FirewallDomainListId *string `min:"1" type:"string" required:"true"` + + // What you want DNS Firewall to do with the domains that are listed in the + // file. This must be set to REPLACE, which updates the domain list to exactly + // match the list in the file. + // + // Operation is a required field + Operation *string `type:"string" required:"true" enum:"FirewallDomainImportOperation"` } // String returns the string representation -func (s DeleteResolverRuleInput) String() string { +func (s ImportFirewallDomainsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteResolverRuleInput) GoString() string { +func (s ImportFirewallDomainsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteResolverRuleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteResolverRuleInput"} - if s.ResolverRuleId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverRuleId")) +func (s *ImportFirewallDomainsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportFirewallDomainsInput"} + if s.DomainFileUrl == nil { + invalidParams.Add(request.NewErrParamRequired("DomainFileUrl")) } - if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1)) + if s.DomainFileUrl != nil && len(*s.DomainFileUrl) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainFileUrl", 1)) + } + if s.FirewallDomainListId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallDomainListId")) + } + if s.FirewallDomainListId != nil && len(*s.FirewallDomainListId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallDomainListId", 1)) + } + if s.Operation == nil { + invalidParams.Add(request.NewErrParamRequired("Operation")) } if invalidParams.Len() > 0 { @@ -4816,518 +10532,450 @@ func (s *DeleteResolverRuleInput) Validate() error { return nil } -// SetResolverRuleId sets the ResolverRuleId field's value. -func (s *DeleteResolverRuleInput) SetResolverRuleId(v string) *DeleteResolverRuleInput { - s.ResolverRuleId = &v +// SetDomainFileUrl sets the DomainFileUrl field's value. +func (s *ImportFirewallDomainsInput) SetDomainFileUrl(v string) *ImportFirewallDomainsInput { + s.DomainFileUrl = &v return s } -type DeleteResolverRuleOutput struct { +// SetFirewallDomainListId sets the FirewallDomainListId field's value. +func (s *ImportFirewallDomainsInput) SetFirewallDomainListId(v string) *ImportFirewallDomainsInput { + s.FirewallDomainListId = &v + return s +} + +// SetOperation sets the Operation field's value. +func (s *ImportFirewallDomainsInput) SetOperation(v string) *ImportFirewallDomainsInput { + s.Operation = &v + return s +} + +type ImportFirewallDomainsOutput struct { _ struct{} `type:"structure"` - // Information about the DeleteResolverRule request, including the status of - // the request. - ResolverRule *ResolverRule `type:"structure"` + // The Id of the firewall domain list that DNS Firewall just updated. + Id *string `min:"1" type:"string"` + + // The name of the domain list. + Name *string `type:"string"` + + Status *string `type:"string" enum:"FirewallDomainListStatus"` + + // Additional information about the status of the list, if available. + StatusMessage *string `type:"string"` } // String returns the string representation -func (s DeleteResolverRuleOutput) String() string { +func (s ImportFirewallDomainsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteResolverRuleOutput) GoString() string { +func (s ImportFirewallDomainsOutput) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *ImportFirewallDomainsOutput) SetId(v string) *ImportFirewallDomainsOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *ImportFirewallDomainsOutput) SetName(v string) *ImportFirewallDomainsOutput { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ImportFirewallDomainsOutput) SetStatus(v string) *ImportFirewallDomainsOutput { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *ImportFirewallDomainsOutput) SetStatusMessage(v string) *ImportFirewallDomainsOutput { + s.StatusMessage = &v + return s +} + +// We encountered an unknown error. Try again in a few minutes. +type InternalServiceErrorException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s InternalServiceErrorException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InternalServiceErrorException) GoString() string { return s.String() } -// SetResolverRule sets the ResolverRule field's value. -func (s *DeleteResolverRuleOutput) SetResolverRule(v *ResolverRule) *DeleteResolverRuleOutput { - s.ResolverRule = v - return s +func newErrorInternalServiceErrorException(v protocol.ResponseMetadata) error { + return &InternalServiceErrorException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServiceErrorException) Code() string { + return "InternalServiceErrorException" +} + +// Message returns the exception's message. +func (s *InternalServiceErrorException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServiceErrorException) OrigErr() error { + return nil +} + +func (s *InternalServiceErrorException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServiceErrorException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServiceErrorException) RequestID() string { + return s.RespMetadata.RequestID } -type DisassociateResolverEndpointIpAddressInput struct { - _ struct{} `type:"structure"` - - // The IPv4 address that you want to remove from a Resolver endpoint. - // - // IpAddress is a required field - IpAddress *IpAddressUpdate `type:"structure" required:"true"` +// The value that you specified for NextToken in a List request isn't valid. +type InvalidNextTokenException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The ID of the Resolver endpoint that you want to disassociate an IP address - // from. - // - // ResolverEndpointId is a required field - ResolverEndpointId *string `min:"1" type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation -func (s DisassociateResolverEndpointIpAddressInput) String() string { +func (s InvalidNextTokenException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DisassociateResolverEndpointIpAddressInput) GoString() string { +func (s InvalidNextTokenException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DisassociateResolverEndpointIpAddressInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DisassociateResolverEndpointIpAddressInput"} - if s.IpAddress == nil { - invalidParams.Add(request.NewErrParamRequired("IpAddress")) - } - if s.ResolverEndpointId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) - } - if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) - } - if s.IpAddress != nil { - if err := s.IpAddress.Validate(); err != nil { - invalidParams.AddNested("IpAddress", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams +func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { + return &InvalidNextTokenException{ + RespMetadata: v, } - return nil } -// SetIpAddress sets the IpAddress field's value. -func (s *DisassociateResolverEndpointIpAddressInput) SetIpAddress(v *IpAddressUpdate) *DisassociateResolverEndpointIpAddressInput { - s.IpAddress = v - return s +// Code returns the exception type name. +func (s *InvalidNextTokenException) Code() string { + return "InvalidNextTokenException" } -// SetResolverEndpointId sets the ResolverEndpointId field's value. -func (s *DisassociateResolverEndpointIpAddressInput) SetResolverEndpointId(v string) *DisassociateResolverEndpointIpAddressInput { - s.ResolverEndpointId = &v - return s +// Message returns the exception's message. +func (s *InvalidNextTokenException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -type DisassociateResolverEndpointIpAddressOutput struct { - _ struct{} `type:"structure"` - - // The response to an DisassociateResolverEndpointIpAddress request. - ResolverEndpoint *ResolverEndpoint `type:"structure"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidNextTokenException) OrigErr() error { + return nil } -// String returns the string representation -func (s DisassociateResolverEndpointIpAddressOutput) String() string { - return awsutil.Prettify(s) +func (s *InvalidNextTokenException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// GoString returns the string representation -func (s DisassociateResolverEndpointIpAddressOutput) GoString() string { - return s.String() +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidNextTokenException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetResolverEndpoint sets the ResolverEndpoint field's value. -func (s *DisassociateResolverEndpointIpAddressOutput) SetResolverEndpoint(v *ResolverEndpoint) *DisassociateResolverEndpointIpAddressOutput { - s.ResolverEndpoint = v - return s +// RequestID returns the service's response RequestID for request. +func (s *InvalidNextTokenException) RequestID() string { + return s.RespMetadata.RequestID } -type DisassociateResolverQueryLogConfigInput struct { - _ struct{} `type:"structure"` +// One or more parameters in this request are not valid. +type InvalidParameterException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The ID of the query logging configuration that you want to disassociate a - // specified VPC from. - // - // ResolverQueryLogConfigId is a required field - ResolverQueryLogConfigId *string `min:"1" type:"string" required:"true"` + // For an InvalidParameterException error, the name of the parameter that's + // invalid. + FieldName *string `type:"string"` - // The ID of the Amazon VPC that you want to disassociate from a specified query - // logging configuration. - // - // ResourceId is a required field - ResourceId *string `min:"1" type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation -func (s DisassociateResolverQueryLogConfigInput) String() string { +func (s InvalidParameterException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DisassociateResolverQueryLogConfigInput) GoString() string { +func (s InvalidParameterException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DisassociateResolverQueryLogConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DisassociateResolverQueryLogConfigInput"} - if s.ResolverQueryLogConfigId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigId")) - } - if s.ResolverQueryLogConfigId != nil && len(*s.ResolverQueryLogConfigId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverQueryLogConfigId", 1)) - } - if s.ResourceId == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceId")) - } - if s.ResourceId != nil && len(*s.ResourceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) +func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { + return &InvalidParameterException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *InvalidParameterException) Code() string { + return "InvalidParameterException" +} + +// Message returns the exception's message. +func (s *InvalidParameterException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidParameterException) OrigErr() error { return nil } -// SetResolverQueryLogConfigId sets the ResolverQueryLogConfigId field's value. -func (s *DisassociateResolverQueryLogConfigInput) SetResolverQueryLogConfigId(v string) *DisassociateResolverQueryLogConfigInput { - s.ResolverQueryLogConfigId = &v - return s +func (s *InvalidParameterException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetResourceId sets the ResourceId field's value. -func (s *DisassociateResolverQueryLogConfigInput) SetResourceId(v string) *DisassociateResolverQueryLogConfigInput { - s.ResourceId = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidParameterException) StatusCode() int { + return s.RespMetadata.StatusCode } -type DisassociateResolverQueryLogConfigOutput struct { - _ struct{} `type:"structure"` +// RequestID returns the service's response RequestID for request. +func (s *InvalidParameterException) RequestID() string { + return s.RespMetadata.RequestID +} - // A complex type that contains settings for the association that you deleted - // between an Amazon VPC and a query logging configuration. - ResolverQueryLogConfigAssociation *ResolverQueryLogConfigAssociation `type:"structure"` +// The specified Resolver rule policy is invalid. +type InvalidPolicyDocument struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation -func (s DisassociateResolverQueryLogConfigOutput) String() string { +func (s InvalidPolicyDocument) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DisassociateResolverQueryLogConfigOutput) GoString() string { +func (s InvalidPolicyDocument) GoString() string { return s.String() } -// SetResolverQueryLogConfigAssociation sets the ResolverQueryLogConfigAssociation field's value. -func (s *DisassociateResolverQueryLogConfigOutput) SetResolverQueryLogConfigAssociation(v *ResolverQueryLogConfigAssociation) *DisassociateResolverQueryLogConfigOutput { - s.ResolverQueryLogConfigAssociation = v - return s +func newErrorInvalidPolicyDocument(v protocol.ResponseMetadata) error { + return &InvalidPolicyDocument{ + RespMetadata: v, + } } -type DisassociateResolverRuleInput struct { - _ struct{} `type:"structure"` +// Code returns the exception type name. +func (s *InvalidPolicyDocument) Code() string { + return "InvalidPolicyDocument" +} - // The ID of the Resolver rule that you want to disassociate from the specified - // VPC. - // - // ResolverRuleId is a required field - ResolverRuleId *string `min:"1" type:"string" required:"true"` +// Message returns the exception's message. +func (s *InvalidPolicyDocument) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // The ID of the VPC that you want to disassociate the Resolver rule from. - // - // VPCId is a required field - VPCId *string `min:"1" type:"string" required:"true"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidPolicyDocument) OrigErr() error { + return nil } -// String returns the string representation -func (s DisassociateResolverRuleInput) String() string { - return awsutil.Prettify(s) +func (s *InvalidPolicyDocument) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// GoString returns the string representation -func (s DisassociateResolverRuleInput) GoString() string { - return s.String() +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidPolicyDocument) StatusCode() int { + return s.RespMetadata.StatusCode } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DisassociateResolverRuleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DisassociateResolverRuleInput"} - if s.ResolverRuleId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverRuleId")) - } - if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1)) - } - if s.VPCId == nil { - invalidParams.Add(request.NewErrParamRequired("VPCId")) - } - if s.VPCId != nil && len(*s.VPCId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("VPCId", 1)) - } +// RequestID returns the service's response RequestID for request. +func (s *InvalidPolicyDocument) RequestID() string { + return s.RespMetadata.RequestID +} + +// The request is invalid. +type InvalidRequestException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// String returns the string representation +func (s InvalidRequestException) String() string { + return awsutil.Prettify(s) } -// SetResolverRuleId sets the ResolverRuleId field's value. -func (s *DisassociateResolverRuleInput) SetResolverRuleId(v string) *DisassociateResolverRuleInput { - s.ResolverRuleId = &v - return s +// GoString returns the string representation +func (s InvalidRequestException) GoString() string { + return s.String() } -// SetVPCId sets the VPCId field's value. -func (s *DisassociateResolverRuleInput) SetVPCId(v string) *DisassociateResolverRuleInput { - s.VPCId = &v - return s +func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { + return &InvalidRequestException{ + RespMetadata: v, + } } -type DisassociateResolverRuleOutput struct { - _ struct{} `type:"structure"` +// Code returns the exception type name. +func (s *InvalidRequestException) Code() string { + return "InvalidRequestException" +} - // Information about the DisassociateResolverRule request, including the status - // of the request. - ResolverRuleAssociation *ResolverRuleAssociation `type:"structure"` +// Message returns the exception's message. +func (s *InvalidRequestException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// String returns the string representation -func (s DisassociateResolverRuleOutput) String() string { - return awsutil.Prettify(s) +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidRequestException) OrigErr() error { + return nil } -// GoString returns the string representation -func (s DisassociateResolverRuleOutput) GoString() string { - return s.String() +func (s *InvalidRequestException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetResolverRuleAssociation sets the ResolverRuleAssociation field's value. -func (s *DisassociateResolverRuleOutput) SetResolverRuleAssociation(v *ResolverRuleAssociation) *DisassociateResolverRuleOutput { - s.ResolverRuleAssociation = v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidRequestException) StatusCode() int { + return s.RespMetadata.StatusCode } -// For Resolver list operations (ListResolverEndpoints (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html), -// ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html), -// ListResolverRuleAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html), -// ListResolverQueryLogConfigs (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigs.html), -// ListResolverQueryLogConfigAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigAssociations.html)), -// and ListResolverDnssecConfigs (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverDnssecConfigs.html)), -// an optional specification to return a subset of objects. -// -// To filter objects, such as Resolver endpoints or Resolver rules, you specify -// Name and Values. For example, to list only inbound Resolver endpoints, specify -// Direction for Name and specify INBOUND for Values. -type Filter struct { - _ struct{} `type:"structure"` +// RequestID returns the service's response RequestID for request. +func (s *InvalidRequestException) RequestID() string { + return s.RespMetadata.RequestID +} - // The name of the parameter that you want to use to filter objects. - // - // The valid values for Name depend on the action that you're including the - // filter in, ListResolverEndpoints (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html), - // ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html), - // ListResolverRuleAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html), - // ListResolverQueryLogConfigs (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigs.html), - // or ListResolverQueryLogConfigAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigAssociations.html). - // - // In early versions of Resolver, values for Name were listed as uppercase, - // with underscore (_) delimiters. For example, CreatorRequestId was originally - // listed as CREATOR_REQUEST_ID. Uppercase values for Name are still supported. - // - // ListResolverEndpoints - // - // Valid values for Name include the following: - // - // * CreatorRequestId: The value that you specified when you created the - // Resolver endpoint. - // - // * Direction: Whether you want to return inbound or outbound Resolver endpoints. - // If you specify DIRECTION for Name, specify INBOUND or OUTBOUND for Values. - // - // * HostVpcId: The ID of the VPC that inbound DNS queries pass through on - // the way from your network to your VPCs in a region, or the VPC that outbound - // queries pass through on the way from your VPCs to your network. In a CreateResolverEndpoint - // (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html) - // request, SubnetId indirectly identifies the VPC. In a GetResolverEndpoint - // (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html) - // request, the VPC ID for a Resolver endpoint is returned in the HostVPCId - // element. - // - // * IpAddressCount: The number of IP addresses that you have associated - // with the Resolver endpoint. - // - // * Name: The name of the Resolver endpoint. - // - // * SecurityGroupIds: The IDs of the VPC security groups that you specified - // when you created the Resolver endpoint. - // - // * Status: The status of the Resolver endpoint. If you specify Status for - // Name, specify one of the following status codes for Values: CREATING, - // OPERATIONAL, UPDATING, AUTO_RECOVERING, ACTION_NEEDED, or DELETING. For - // more information, see Status in ResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverEndpoint.html). - // - // ListResolverRules - // - // Valid values for Name include the following: - // - // * CreatorRequestId: The value that you specified when you created the - // Resolver rule. - // - // * DomainName: The domain name for which Resolver is forwarding DNS queries - // to your network. In the value that you specify for Values, include a trailing - // dot (.) after the domain name. For example, if the domain name is example.com, - // specify the following value. Note the "." after com: example.com. - // - // * Name: The name of the Resolver rule. - // - // * ResolverEndpointId: The ID of the Resolver endpoint that the Resolver - // rule is associated with. You can filter on the Resolver endpoint only - // for rules that have a value of FORWARD for RuleType. - // - // * Status: The status of the Resolver rule. If you specify Status for Name, - // specify one of the following status codes for Values: COMPLETE, DELETING, - // UPDATING, or FAILED. - // - // * Type: The type of the Resolver rule. If you specify TYPE for Name, specify - // FORWARD or SYSTEM for Values. - // - // ListResolverRuleAssociations - // - // Valid values for Name include the following: - // - // * Name: The name of the Resolver rule association. - // - // * ResolverRuleId: The ID of the Resolver rule that is associated with - // one or more VPCs. - // - // * Status: The status of the Resolver rule association. If you specify - // Status for Name, specify one of the following status codes for Values: - // CREATING, COMPLETE, DELETING, or FAILED. - // - // * VPCId: The ID of the VPC that the Resolver rule is associated with. - // - // ListResolverQueryLogConfigs - // - // Valid values for Name include the following: - // - // * Arn: The ARN for the query logging configuration. - // - // * AssociationCount: The number of VPCs that are associated with the query - // logging configuration. - // - // * CreationTime: The date and time that the query logging configuration - // was created, in Unix time format and Coordinated Universal Time (UTC). - // - // * CreatorRequestId: A unique string that identifies the request that created - // the query logging configuration. - // - // * Destination: The AWS service that you want to forward query logs to. - // Valid values include the following: S3 CloudWatchLogs KinesisFirehose - // - // * DestinationArn: The ARN of the location that Resolver is sending query - // logs to. This value can be the ARN for an S3 bucket, a CloudWatch Logs - // log group, or a Kinesis Data Firehose delivery stream. - // - // * Id: The ID of the query logging configuration - // - // * Name: The name of the query logging configuration - // - // * OwnerId: The AWS account ID for the account that created the query logging - // configuration. - // - // * ShareStatus: An indication of whether the query logging configuration - // is shared with other AWS accounts, or was shared with the current account - // by another AWS account. Valid values include: NOT_SHARED, SHARED_WITH_ME, - // or SHARED_BY_ME. - // - // * Status: The status of the query logging configuration. If you specify - // Status for Name, specify the applicable status code for Values: CREATING, - // CREATED, DELETING, or FAILED. For more information, see Status (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverQueryLogConfig.html#Route53Resolver-Type-route53resolver_ResolverQueryLogConfig-Status). - // - // ListResolverQueryLogConfigAssociations - // - // Valid values for Name include the following: - // - // * CreationTime: The date and time that the VPC was associated with the - // query logging configuration, in Unix time format and Coordinated Universal - // Time (UTC). - // - // * Error: If the value of Status is FAILED, specify the cause: DESTINATION_NOT_FOUND - // or ACCESS_DENIED. - // - // * Id: The ID of the query logging association. - // - // * ResolverQueryLogConfigId: The ID of the query logging configuration - // that a VPC is associated with. - // - // * ResourceId: The ID of the Amazon VPC that is associated with the query - // logging configuration. - // - // * Status: The status of the query logging association. If you specify - // Status for Name, specify the applicable status code for Values: CREATING, - // CREATED, DELETING, or FAILED. For more information, see Status (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ResolverQueryLogConfigAssociation.html#Route53Resolver-Type-route53resolver_ResolverQueryLogConfigAssociation-Status). - Name *string `min:"1" type:"string"` +// The specified tag is invalid. +type InvalidTagException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // When you're using a List operation and you want the operation to return a - // subset of objects, such as Resolver endpoints or Resolver rules, the value - // of the parameter that you want to use to filter objects. For example, to - // list only inbound Resolver endpoints, specify Direction for Name and specify - // INBOUND for Values. - Values []*string `type:"list"` + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation -func (s Filter) String() string { +func (s InvalidTagException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Filter) GoString() string { +func (s InvalidTagException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Filter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Filter"} - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) +func newErrorInvalidTagException(v protocol.ResponseMetadata) error { + return &InvalidTagException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *InvalidTagException) Code() string { + return "InvalidTagException" +} + +// Message returns the exception's message. +func (s *InvalidTagException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidTagException) OrigErr() error { return nil } -// SetName sets the Name field's value. -func (s *Filter) SetName(v string) *Filter { - s.Name = &v - return s +func (s *InvalidTagException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetValues sets the Values field's value. -func (s *Filter) SetValues(v []*string) *Filter { - s.Values = v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidTagException) StatusCode() int { + return s.RespMetadata.StatusCode } -type GetResolverDnssecConfigInput struct { +// RequestID returns the service's response RequestID for request. +func (s *InvalidTagException) RequestID() string { + return s.RespMetadata.RequestID +} + +// In a CreateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html) +// request, the IP address that DNS queries originate from (for outbound endpoints) +// or that you forward DNS queries to (for inbound endpoints). IpAddressRequest +// also includes the ID of the subnet that contains the IP address. +type IpAddressRequest struct { _ struct{} `type:"structure"` - // The ID of the virtual private cloud (VPC) for the DNSSEC validation status. + // The IP address that you want to use for DNS queries. + Ip *string `min:"7" type:"string"` + + // The ID of the subnet that contains the IP address. // - // ResourceId is a required field - ResourceId *string `min:"1" type:"string" required:"true"` + // SubnetId is a required field + SubnetId *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetResolverDnssecConfigInput) String() string { +func (s IpAddressRequest) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResolverDnssecConfigInput) GoString() string { +func (s IpAddressRequest) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetResolverDnssecConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetResolverDnssecConfigInput"} - if s.ResourceId == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceId")) +func (s *IpAddressRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IpAddressRequest"} + if s.Ip != nil && len(*s.Ip) < 7 { + invalidParams.Add(request.NewErrParamMinLen("Ip", 7)) } - if s.ResourceId != nil && len(*s.ResourceId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + if s.SubnetId == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetId")) + } + if s.SubnetId != nil && len(*s.SubnetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) } if invalidParams.Len() > 0 { @@ -5336,128 +10984,139 @@ func (s *GetResolverDnssecConfigInput) Validate() error { return nil } -// SetResourceId sets the ResourceId field's value. -func (s *GetResolverDnssecConfigInput) SetResourceId(v string) *GetResolverDnssecConfigInput { - s.ResourceId = &v +// SetIp sets the Ip field's value. +func (s *IpAddressRequest) SetIp(v string) *IpAddressRequest { + s.Ip = &v return s } -type GetResolverDnssecConfigOutput struct { +// SetSubnetId sets the SubnetId field's value. +func (s *IpAddressRequest) SetSubnetId(v string) *IpAddressRequest { + s.SubnetId = &v + return s +} + +// In the response to a GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html) +// request, information about the IP addresses that the Resolver endpoint uses +// for DNS queries. +type IpAddressResponse struct { _ struct{} `type:"structure"` - // The information about a configuration for DNSSEC validation. - ResolverDNSSECConfig *ResolverDnssecConfig `type:"structure"` -} + // The date and time that the IP address was created, in Unix time format and + // Coordinated Universal Time (UTC). + CreationTime *string `min:"20" type:"string"` -// String returns the string representation -func (s GetResolverDnssecConfigOutput) String() string { - return awsutil.Prettify(s) -} + // One IP address that the Resolver endpoint uses for DNS queries. + Ip *string `min:"7" type:"string"` -// GoString returns the string representation -func (s GetResolverDnssecConfigOutput) GoString() string { - return s.String() -} + // The ID of one IP address. + IpId *string `min:"1" type:"string"` -// SetResolverDNSSECConfig sets the ResolverDNSSECConfig field's value. -func (s *GetResolverDnssecConfigOutput) SetResolverDNSSECConfig(v *ResolverDnssecConfig) *GetResolverDnssecConfigOutput { - s.ResolverDNSSECConfig = v - return s -} + // The date and time that the IP address was last modified, in Unix time format + // and Coordinated Universal Time (UTC). + ModificationTime *string `min:"20" type:"string"` -type GetResolverEndpointInput struct { - _ struct{} `type:"structure"` + // A status code that gives the current status of the request. + Status *string `type:"string" enum:"IpAddressStatus"` - // The ID of the Resolver endpoint that you want to get information about. - // - // ResolverEndpointId is a required field - ResolverEndpointId *string `min:"1" type:"string" required:"true"` + // A message that provides additional information about the status of the request. + StatusMessage *string `type:"string"` + + // The ID of one subnet. + SubnetId *string `min:"1" type:"string"` } // String returns the string representation -func (s GetResolverEndpointInput) String() string { +func (s IpAddressResponse) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResolverEndpointInput) GoString() string { +func (s IpAddressResponse) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetResolverEndpointInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetResolverEndpointInput"} - if s.ResolverEndpointId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) - } - if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreationTime sets the CreationTime field's value. +func (s *IpAddressResponse) SetCreationTime(v string) *IpAddressResponse { + s.CreationTime = &v + return s } -// SetResolverEndpointId sets the ResolverEndpointId field's value. -func (s *GetResolverEndpointInput) SetResolverEndpointId(v string) *GetResolverEndpointInput { - s.ResolverEndpointId = &v +// SetIp sets the Ip field's value. +func (s *IpAddressResponse) SetIp(v string) *IpAddressResponse { + s.Ip = &v return s } -type GetResolverEndpointOutput struct { - _ struct{} `type:"structure"` +// SetIpId sets the IpId field's value. +func (s *IpAddressResponse) SetIpId(v string) *IpAddressResponse { + s.IpId = &v + return s +} - // Information about the Resolver endpoint that you specified in a GetResolverEndpoint - // request. - ResolverEndpoint *ResolverEndpoint `type:"structure"` +// SetModificationTime sets the ModificationTime field's value. +func (s *IpAddressResponse) SetModificationTime(v string) *IpAddressResponse { + s.ModificationTime = &v + return s } -// String returns the string representation -func (s GetResolverEndpointOutput) String() string { - return awsutil.Prettify(s) +// SetStatus sets the Status field's value. +func (s *IpAddressResponse) SetStatus(v string) *IpAddressResponse { + s.Status = &v + return s } -// GoString returns the string representation -func (s GetResolverEndpointOutput) GoString() string { - return s.String() +// SetStatusMessage sets the StatusMessage field's value. +func (s *IpAddressResponse) SetStatusMessage(v string) *IpAddressResponse { + s.StatusMessage = &v + return s } -// SetResolverEndpoint sets the ResolverEndpoint field's value. -func (s *GetResolverEndpointOutput) SetResolverEndpoint(v *ResolverEndpoint) *GetResolverEndpointOutput { - s.ResolverEndpoint = v +// SetSubnetId sets the SubnetId field's value. +func (s *IpAddressResponse) SetSubnetId(v string) *IpAddressResponse { + s.SubnetId = &v return s } -type GetResolverQueryLogConfigAssociationInput struct { +// In an UpdateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverEndpoint.html) +// request, information about an IP address to update. +type IpAddressUpdate struct { _ struct{} `type:"structure"` - // The ID of the Resolver query logging configuration association that you want - // to get information about. - // - // ResolverQueryLogConfigAssociationId is a required field - ResolverQueryLogConfigAssociationId *string `min:"1" type:"string" required:"true"` + // The new IP address. + Ip *string `min:"7" type:"string"` + + // Only when removing an IP address from a Resolver endpoint: The ID of the + // IP address that you want to remove. To get this ID, use GetResolverEndpoint + // (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html). + IpId *string `min:"1" type:"string"` + + // The ID of the subnet that includes the IP address that you want to update. + // To get this ID, use GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html). + SubnetId *string `min:"1" type:"string"` } // String returns the string representation -func (s GetResolverQueryLogConfigAssociationInput) String() string { +func (s IpAddressUpdate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResolverQueryLogConfigAssociationInput) GoString() string { +func (s IpAddressUpdate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetResolverQueryLogConfigAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetResolverQueryLogConfigAssociationInput"} - if s.ResolverQueryLogConfigAssociationId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigAssociationId")) +func (s *IpAddressUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IpAddressUpdate"} + if s.Ip != nil && len(*s.Ip) < 7 { + invalidParams.Add(request.NewErrParamMinLen("Ip", 7)) } - if s.ResolverQueryLogConfigAssociationId != nil && len(*s.ResolverQueryLogConfigAssociationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverQueryLogConfigAssociationId", 1)) + if s.IpId != nil && len(*s.IpId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IpId", 1)) + } + if s.SubnetId != nil && len(*s.SubnetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) } if invalidParams.Len() > 0 { @@ -5466,130 +11125,119 @@ func (s *GetResolverQueryLogConfigAssociationInput) Validate() error { return nil } -// SetResolverQueryLogConfigAssociationId sets the ResolverQueryLogConfigAssociationId field's value. -func (s *GetResolverQueryLogConfigAssociationInput) SetResolverQueryLogConfigAssociationId(v string) *GetResolverQueryLogConfigAssociationInput { - s.ResolverQueryLogConfigAssociationId = &v +// SetIp sets the Ip field's value. +func (s *IpAddressUpdate) SetIp(v string) *IpAddressUpdate { + s.Ip = &v return s } -type GetResolverQueryLogConfigAssociationOutput struct { - _ struct{} `type:"structure"` - - // Information about the Resolver query logging configuration association that - // you specified in a GetQueryLogConfigAssociation request. - ResolverQueryLogConfigAssociation *ResolverQueryLogConfigAssociation `type:"structure"` -} - -// String returns the string representation -func (s GetResolverQueryLogConfigAssociationOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s GetResolverQueryLogConfigAssociationOutput) GoString() string { - return s.String() +// SetIpId sets the IpId field's value. +func (s *IpAddressUpdate) SetIpId(v string) *IpAddressUpdate { + s.IpId = &v + return s } -// SetResolverQueryLogConfigAssociation sets the ResolverQueryLogConfigAssociation field's value. -func (s *GetResolverQueryLogConfigAssociationOutput) SetResolverQueryLogConfigAssociation(v *ResolverQueryLogConfigAssociation) *GetResolverQueryLogConfigAssociationOutput { - s.ResolverQueryLogConfigAssociation = v +// SetSubnetId sets the SubnetId field's value. +func (s *IpAddressUpdate) SetSubnetId(v string) *IpAddressUpdate { + s.SubnetId = &v return s } -type GetResolverQueryLogConfigInput struct { - _ struct{} `type:"structure"` +// The request caused one or more limits to be exceeded. +type LimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The ID of the Resolver query logging configuration that you want to get information - // about. - // - // ResolverQueryLogConfigId is a required field - ResolverQueryLogConfigId *string `min:"1" type:"string" required:"true"` + Message_ *string `locationName:"Message" type:"string"` + + // For a LimitExceededException error, the type of resource that exceeded the + // current limit. + ResourceType *string `type:"string"` } // String returns the string representation -func (s GetResolverQueryLogConfigInput) String() string { +func (s LimitExceededException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResolverQueryLogConfigInput) GoString() string { +func (s LimitExceededException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetResolverQueryLogConfigInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetResolverQueryLogConfigInput"} - if s.ResolverQueryLogConfigId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigId")) - } - if s.ResolverQueryLogConfigId != nil && len(*s.ResolverQueryLogConfigId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverQueryLogConfigId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams +func newErrorLimitExceededException(v protocol.ResponseMetadata) error { + return &LimitExceededException{ + RespMetadata: v, } - return nil } -// SetResolverQueryLogConfigId sets the ResolverQueryLogConfigId field's value. -func (s *GetResolverQueryLogConfigInput) SetResolverQueryLogConfigId(v string) *GetResolverQueryLogConfigInput { - s.ResolverQueryLogConfigId = &v - return s +// Code returns the exception type name. +func (s *LimitExceededException) Code() string { + return "LimitExceededException" } -type GetResolverQueryLogConfigOutput struct { - _ struct{} `type:"structure"` +// Message returns the exception's message. +func (s *LimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // Information about the Resolver query logging configuration that you specified - // in a GetQueryLogConfig request. - ResolverQueryLogConfig *ResolverQueryLogConfig `type:"structure"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *LimitExceededException) OrigErr() error { + return nil } -// String returns the string representation -func (s GetResolverQueryLogConfigOutput) String() string { - return awsutil.Prettify(s) +func (s *LimitExceededException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// GoString returns the string representation -func (s GetResolverQueryLogConfigOutput) GoString() string { - return s.String() +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetResolverQueryLogConfig sets the ResolverQueryLogConfig field's value. -func (s *GetResolverQueryLogConfigOutput) SetResolverQueryLogConfig(v *ResolverQueryLogConfig) *GetResolverQueryLogConfigOutput { - s.ResolverQueryLogConfig = v - return s +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID } -type GetResolverQueryLogConfigPolicyInput struct { +type ListFirewallConfigsInput struct { _ struct{} `type:"structure"` - // The ARN of the query logging configuration that you want to get the query - // logging policy for. + // The maximum number of objects that you want Resolver to return for this request. + // If more objects are available, in the response, Resolver provides a NextToken + // value that you can use in a subsequent call to get the next batch of objects. // - // Arn is a required field - Arn *string `min:"1" type:"string" required:"true"` + // If you don't specify a value for MaxResults, Resolver returns up to 100 objects. + MaxResults *int64 `min:"5" type:"integer"` + + // For the first call to this list request, omit this value. + // + // When you request a list of objects, Resolver returns at most the number of + // objects specified in MaxResults. If more objects are available for retrieval, + // Resolver returns a NextToken value in the response. To retrieve the next + // batch of objects, use the token that was returned for the prior request in + // your next request. + NextToken *string `type:"string"` } // String returns the string representation -func (s GetResolverQueryLogConfigPolicyInput) String() string { +func (s ListFirewallConfigsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResolverQueryLogConfigPolicyInput) GoString() string { +func (s ListFirewallConfigsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetResolverQueryLogConfigPolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetResolverQueryLogConfigPolicyInput"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) - } - if s.Arn != nil && len(*s.Arn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) +func (s *ListFirewallConfigsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFirewallConfigsInput"} + if s.MaxResults != nil && *s.MaxResults < 5 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5)) } if invalidParams.Len() > 0 { @@ -5598,64 +11246,88 @@ func (s *GetResolverQueryLogConfigPolicyInput) Validate() error { return nil } -// SetArn sets the Arn field's value. -func (s *GetResolverQueryLogConfigPolicyInput) SetArn(v string) *GetResolverQueryLogConfigPolicyInput { - s.Arn = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListFirewallConfigsInput) SetMaxResults(v int64) *ListFirewallConfigsInput { + s.MaxResults = &v return s } -type GetResolverQueryLogConfigPolicyOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListFirewallConfigsInput) SetNextToken(v string) *ListFirewallConfigsInput { + s.NextToken = &v + return s +} + +type ListFirewallConfigsOutput struct { _ struct{} `type:"structure"` - // Information about the query logging policy for the query logging configuration - // that you specified in a GetResolverQueryLogConfigPolicy request. - ResolverQueryLogConfigPolicy *string `type:"string"` + // The configurations for the firewall behavior provided by DNS Firewall for + // Amazon virtual private clouds (VPC). + FirewallConfigs []*FirewallConfig `type:"list"` + + // If objects are still available for retrieval, Resolver returns this token + // in the response. To retrieve the next batch of objects, provide this token + // in your next request. + NextToken *string `type:"string"` } // String returns the string representation -func (s GetResolverQueryLogConfigPolicyOutput) String() string { +func (s ListFirewallConfigsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResolverQueryLogConfigPolicyOutput) GoString() string { +func (s ListFirewallConfigsOutput) GoString() string { return s.String() } -// SetResolverQueryLogConfigPolicy sets the ResolverQueryLogConfigPolicy field's value. -func (s *GetResolverQueryLogConfigPolicyOutput) SetResolverQueryLogConfigPolicy(v string) *GetResolverQueryLogConfigPolicyOutput { - s.ResolverQueryLogConfigPolicy = &v +// SetFirewallConfigs sets the FirewallConfigs field's value. +func (s *ListFirewallConfigsOutput) SetFirewallConfigs(v []*FirewallConfig) *ListFirewallConfigsOutput { + s.FirewallConfigs = v return s } -type GetResolverRuleAssociationInput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListFirewallConfigsOutput) SetNextToken(v string) *ListFirewallConfigsOutput { + s.NextToken = &v + return s +} + +type ListFirewallDomainListsInput struct { _ struct{} `type:"structure"` - // The ID of the Resolver rule association that you want to get information - // about. + // The maximum number of objects that you want Resolver to return for this request. + // If more objects are available, in the response, Resolver provides a NextToken + // value that you can use in a subsequent call to get the next batch of objects. // - // ResolverRuleAssociationId is a required field - ResolverRuleAssociationId *string `min:"1" type:"string" required:"true"` + // If you don't specify a value for MaxResults, Resolver returns up to 100 objects. + MaxResults *int64 `min:"1" type:"integer"` + + // For the first call to this list request, omit this value. + // + // When you request a list of objects, Resolver returns at most the number of + // objects specified in MaxResults. If more objects are available for retrieval, + // Resolver returns a NextToken value in the response. To retrieve the next + // batch of objects, use the token that was returned for the prior request in + // your next request. + NextToken *string `type:"string"` } // String returns the string representation -func (s GetResolverRuleAssociationInput) String() string { +func (s ListFirewallDomainListsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResolverRuleAssociationInput) GoString() string { +func (s ListFirewallDomainListsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetResolverRuleAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetResolverRuleAssociationInput"} - if s.ResolverRuleAssociationId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverRuleAssociationId")) - } - if s.ResolverRuleAssociationId != nil && len(*s.ResolverRuleAssociationId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverRuleAssociationId", 1)) +func (s *ListFirewallDomainListsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFirewallDomainListsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -5664,63 +11336,101 @@ func (s *GetResolverRuleAssociationInput) Validate() error { return nil } -// SetResolverRuleAssociationId sets the ResolverRuleAssociationId field's value. -func (s *GetResolverRuleAssociationInput) SetResolverRuleAssociationId(v string) *GetResolverRuleAssociationInput { - s.ResolverRuleAssociationId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListFirewallDomainListsInput) SetMaxResults(v int64) *ListFirewallDomainListsInput { + s.MaxResults = &v return s } -type GetResolverRuleAssociationOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListFirewallDomainListsInput) SetNextToken(v string) *ListFirewallDomainListsInput { + s.NextToken = &v + return s +} + +type ListFirewallDomainListsOutput struct { _ struct{} `type:"structure"` - // Information about the Resolver rule association that you specified in a GetResolverRuleAssociation - // request. - ResolverRuleAssociation *ResolverRuleAssociation `type:"structure"` + // A list of the domain lists that you have defined. + // + // This might be a parital list of the domain lists that you've defined. For + // information, see MaxResults. + FirewallDomainLists []*FirewallDomainListMetadata `type:"list"` + + // If objects are still available for retrieval, Resolver returns this token + // in the response. To retrieve the next batch of objects, provide this token + // in your next request. + NextToken *string `type:"string"` } // String returns the string representation -func (s GetResolverRuleAssociationOutput) String() string { +func (s ListFirewallDomainListsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResolverRuleAssociationOutput) GoString() string { +func (s ListFirewallDomainListsOutput) GoString() string { return s.String() } -// SetResolverRuleAssociation sets the ResolverRuleAssociation field's value. -func (s *GetResolverRuleAssociationOutput) SetResolverRuleAssociation(v *ResolverRuleAssociation) *GetResolverRuleAssociationOutput { - s.ResolverRuleAssociation = v +// SetFirewallDomainLists sets the FirewallDomainLists field's value. +func (s *ListFirewallDomainListsOutput) SetFirewallDomainLists(v []*FirewallDomainListMetadata) *ListFirewallDomainListsOutput { + s.FirewallDomainLists = v return s } -type GetResolverRuleInput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListFirewallDomainListsOutput) SetNextToken(v string) *ListFirewallDomainListsOutput { + s.NextToken = &v + return s +} + +type ListFirewallDomainsInput struct { _ struct{} `type:"structure"` - // The ID of the Resolver rule that you want to get information about. + // The ID of the domain list whose domains you want to retrieve. // - // ResolverRuleId is a required field - ResolverRuleId *string `min:"1" type:"string" required:"true"` + // FirewallDomainListId is a required field + FirewallDomainListId *string `min:"1" type:"string" required:"true"` + + // The maximum number of objects that you want Resolver to return for this request. + // If more objects are available, in the response, Resolver provides a NextToken + // value that you can use in a subsequent call to get the next batch of objects. + // + // If you don't specify a value for MaxResults, Resolver returns up to 100 objects. + MaxResults *int64 `min:"1" type:"integer"` + + // For the first call to this list request, omit this value. + // + // When you request a list of objects, Resolver returns at most the number of + // objects specified in MaxResults. If more objects are available for retrieval, + // Resolver returns a NextToken value in the response. To retrieve the next + // batch of objects, use the token that was returned for the prior request in + // your next request. + NextToken *string `type:"string"` } // String returns the string representation -func (s GetResolverRuleInput) String() string { +func (s ListFirewallDomainsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResolverRuleInput) GoString() string { +func (s ListFirewallDomainsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetResolverRuleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetResolverRuleInput"} - if s.ResolverRuleId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverRuleId")) +func (s *ListFirewallDomainsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFirewallDomainsInput"} + if s.FirewallDomainListId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallDomainListId")) } - if s.ResolverRuleId != nil && len(*s.ResolverRuleId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverRuleId", 1)) + if s.FirewallDomainListId != nil && len(*s.FirewallDomainListId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallDomainListId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -5729,64 +11439,121 @@ func (s *GetResolverRuleInput) Validate() error { return nil } -// SetResolverRuleId sets the ResolverRuleId field's value. -func (s *GetResolverRuleInput) SetResolverRuleId(v string) *GetResolverRuleInput { - s.ResolverRuleId = &v +// SetFirewallDomainListId sets the FirewallDomainListId field's value. +func (s *ListFirewallDomainsInput) SetFirewallDomainListId(v string) *ListFirewallDomainsInput { + s.FirewallDomainListId = &v return s } -type GetResolverRuleOutput struct { +// SetMaxResults sets the MaxResults field's value. +func (s *ListFirewallDomainsInput) SetMaxResults(v int64) *ListFirewallDomainsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFirewallDomainsInput) SetNextToken(v string) *ListFirewallDomainsInput { + s.NextToken = &v + return s +} + +type ListFirewallDomainsOutput struct { _ struct{} `type:"structure"` - // Information about the Resolver rule that you specified in a GetResolverRule - // request. - ResolverRule *ResolverRule `type:"structure"` + // A list of the domains in the firewall domain list. + // + // This might be a parital list of the domains that you've defined in the domain + // list. For information, see MaxResults. + Domains []*string `type:"list"` + + // If objects are still available for retrieval, Resolver returns this token + // in the response. To retrieve the next batch of objects, provide this token + // in your next request. + NextToken *string `type:"string"` } // String returns the string representation -func (s GetResolverRuleOutput) String() string { +func (s ListFirewallDomainsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResolverRuleOutput) GoString() string { +func (s ListFirewallDomainsOutput) GoString() string { return s.String() } -// SetResolverRule sets the ResolverRule field's value. -func (s *GetResolverRuleOutput) SetResolverRule(v *ResolverRule) *GetResolverRuleOutput { - s.ResolverRule = v +// SetDomains sets the Domains field's value. +func (s *ListFirewallDomainsOutput) SetDomains(v []*string) *ListFirewallDomainsOutput { + s.Domains = v return s } -type GetResolverRulePolicyInput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListFirewallDomainsOutput) SetNextToken(v string) *ListFirewallDomainsOutput { + s.NextToken = &v + return s +} + +type ListFirewallRuleGroupAssociationsInput struct { _ struct{} `type:"structure"` - // The ID of the Resolver rule that you want to get the Resolver rule policy - // for. + // The unique identifier of the firewall rule group that you want to retrieve + // the associations for. Leave this blank to retrieve associations for any rule + // group. + FirewallRuleGroupId *string `min:"1" type:"string"` + + // The maximum number of objects that you want Resolver to return for this request. + // If more objects are available, in the response, Resolver provides a NextToken + // value that you can use in a subsequent call to get the next batch of objects. // - // Arn is a required field - Arn *string `min:"1" type:"string" required:"true"` + // If you don't specify a value for MaxResults, Resolver returns up to 100 objects. + MaxResults *int64 `min:"1" type:"integer"` + + // For the first call to this list request, omit this value. + // + // When you request a list of objects, Resolver returns at most the number of + // objects specified in MaxResults. If more objects are available for retrieval, + // Resolver returns a NextToken value in the response. To retrieve the next + // batch of objects, use the token that was returned for the prior request in + // your next request. + NextToken *string `type:"string"` + + // The setting that determines the processing order of the rule group among + // the rule groups that are associated with a single VPC. DNS Firewall filters + // VPC traffic starting from rule group with the lowest numeric priority setting. + Priority *int64 `type:"integer"` + + // The association Status setting that you want DNS Firewall to filter on for + // the list. If you don't specify this, then DNS Firewall returns all associations, + // regardless of status. + Status *string `type:"string" enum:"FirewallRuleGroupAssociationStatus"` + + // The unique identifier of the VPC that you want to retrieve the associations + // for. Leave this blank to retrieve associations for any VPC. + VpcId *string `min:"1" type:"string"` } // String returns the string representation -func (s GetResolverRulePolicyInput) String() string { +func (s ListFirewallRuleGroupAssociationsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResolverRulePolicyInput) GoString() string { +func (s ListFirewallRuleGroupAssociationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetResolverRulePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetResolverRulePolicyInput"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) +func (s *ListFirewallRuleGroupAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFirewallRuleGroupAssociationsInput"} + if s.FirewallRuleGroupId != nil && len(*s.FirewallRuleGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallRuleGroupId", 1)) } - if s.Arn != nil && len(*s.Arn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.VpcId != nil && len(*s.VpcId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VpcId", 1)) } if invalidParams.Len() > 0 { @@ -5795,413 +11562,468 @@ func (s *GetResolverRulePolicyInput) Validate() error { return nil } -// SetArn sets the Arn field's value. -func (s *GetResolverRulePolicyInput) SetArn(v string) *GetResolverRulePolicyInput { - s.Arn = &v +// SetFirewallRuleGroupId sets the FirewallRuleGroupId field's value. +func (s *ListFirewallRuleGroupAssociationsInput) SetFirewallRuleGroupId(v string) *ListFirewallRuleGroupAssociationsInput { + s.FirewallRuleGroupId = &v return s } -type GetResolverRulePolicyOutput struct { +// SetMaxResults sets the MaxResults field's value. +func (s *ListFirewallRuleGroupAssociationsInput) SetMaxResults(v int64) *ListFirewallRuleGroupAssociationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListFirewallRuleGroupAssociationsInput) SetNextToken(v string) *ListFirewallRuleGroupAssociationsInput { + s.NextToken = &v + return s +} + +// SetPriority sets the Priority field's value. +func (s *ListFirewallRuleGroupAssociationsInput) SetPriority(v int64) *ListFirewallRuleGroupAssociationsInput { + s.Priority = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListFirewallRuleGroupAssociationsInput) SetStatus(v string) *ListFirewallRuleGroupAssociationsInput { + s.Status = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *ListFirewallRuleGroupAssociationsInput) SetVpcId(v string) *ListFirewallRuleGroupAssociationsInput { + s.VpcId = &v + return s +} + +type ListFirewallRuleGroupAssociationsOutput struct { _ struct{} `type:"structure"` - // The Resolver rule policy for the rule that you specified in a GetResolverRulePolicy - // request. - ResolverRulePolicy *string `type:"string"` + // A list of your firewall rule group associations. + // + // This might be a partial list of the associations that you have defined. For + // information, see MaxResults. + FirewallRuleGroupAssociations []*FirewallRuleGroupAssociation `type:"list"` + + // If objects are still available for retrieval, Resolver returns this token + // in the response. To retrieve the next batch of objects, provide this token + // in your next request. + NextToken *string `type:"string"` } // String returns the string representation -func (s GetResolverRulePolicyOutput) String() string { +func (s ListFirewallRuleGroupAssociationsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResolverRulePolicyOutput) GoString() string { +func (s ListFirewallRuleGroupAssociationsOutput) GoString() string { return s.String() } -// SetResolverRulePolicy sets the ResolverRulePolicy field's value. -func (s *GetResolverRulePolicyOutput) SetResolverRulePolicy(v string) *GetResolverRulePolicyOutput { - s.ResolverRulePolicy = &v +// SetFirewallRuleGroupAssociations sets the FirewallRuleGroupAssociations field's value. +func (s *ListFirewallRuleGroupAssociationsOutput) SetFirewallRuleGroupAssociations(v []*FirewallRuleGroupAssociation) *ListFirewallRuleGroupAssociationsOutput { + s.FirewallRuleGroupAssociations = v return s } -// We encountered an unknown error. Try again in a few minutes. -type InternalServiceErrorException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetNextToken sets the NextToken field's value. +func (s *ListFirewallRuleGroupAssociationsOutput) SetNextToken(v string) *ListFirewallRuleGroupAssociationsOutput { + s.NextToken = &v + return s +} - Message_ *string `locationName:"Message" type:"string"` +type ListFirewallRuleGroupsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of objects that you want Resolver to return for this request. + // If more objects are available, in the response, Resolver provides a NextToken + // value that you can use in a subsequent call to get the next batch of objects. + // + // If you don't specify a value for MaxResults, Resolver returns up to 100 objects. + MaxResults *int64 `min:"1" type:"integer"` + + // For the first call to this list request, omit this value. + // + // When you request a list of objects, Resolver returns at most the number of + // objects specified in MaxResults. If more objects are available for retrieval, + // Resolver returns a NextToken value in the response. To retrieve the next + // batch of objects, use the token that was returned for the prior request in + // your next request. + NextToken *string `type:"string"` } // String returns the string representation -func (s InternalServiceErrorException) String() string { +func (s ListFirewallRuleGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InternalServiceErrorException) GoString() string { +func (s ListFirewallRuleGroupsInput) GoString() string { return s.String() } -func newErrorInternalServiceErrorException(v protocol.ResponseMetadata) error { - return &InternalServiceErrorException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFirewallRuleGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFirewallRuleGroupsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } -} - -// Code returns the exception type name. -func (s *InternalServiceErrorException) Code() string { - return "InternalServiceErrorException" -} -// Message returns the exception's message. -func (s *InternalServiceErrorException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalServiceErrorException) OrigErr() error { return nil } -func (s *InternalServiceErrorException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetMaxResults sets the MaxResults field's value. +func (s *ListFirewallRuleGroupsInput) SetMaxResults(v int64) *ListFirewallRuleGroupsInput { + s.MaxResults = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InternalServiceErrorException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetNextToken sets the NextToken field's value. +func (s *ListFirewallRuleGroupsInput) SetNextToken(v string) *ListFirewallRuleGroupsInput { + s.NextToken = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InternalServiceErrorException) RequestID() string { - return s.RespMetadata.RequestID -} +type ListFirewallRuleGroupsOutput struct { + _ struct{} `type:"structure"` -// The value that you specified for NextToken in a List request isn't valid. -type InvalidNextTokenException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // A list of your firewall rule groups. + // + // This might be a partial list of the rule groups that you have defined. For + // information, see MaxResults. + FirewallRuleGroups []*FirewallRuleGroupMetadata `type:"list"` - Message_ *string `locationName:"Message" type:"string"` + // If objects are still available for retrieval, Resolver returns this token + // in the response. To retrieve the next batch of objects, provide this token + // in your next request. + NextToken *string `type:"string"` } // String returns the string representation -func (s InvalidNextTokenException) String() string { +func (s ListFirewallRuleGroupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidNextTokenException) GoString() string { +func (s ListFirewallRuleGroupsOutput) GoString() string { return s.String() } -func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { - return &InvalidNextTokenException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *InvalidNextTokenException) Code() string { - return "InvalidNextTokenException" -} - -// Message returns the exception's message. -func (s *InvalidNextTokenException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetFirewallRuleGroups sets the FirewallRuleGroups field's value. +func (s *ListFirewallRuleGroupsOutput) SetFirewallRuleGroups(v []*FirewallRuleGroupMetadata) *ListFirewallRuleGroupsOutput { + s.FirewallRuleGroups = v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidNextTokenException) OrigErr() error { - return nil +// SetNextToken sets the NextToken field's value. +func (s *ListFirewallRuleGroupsOutput) SetNextToken(v string) *ListFirewallRuleGroupsOutput { + s.NextToken = &v + return s } -func (s *InvalidNextTokenException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} +type ListFirewallRulesInput struct { + _ struct{} `type:"structure"` -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidNextTokenException) StatusCode() int { - return s.RespMetadata.StatusCode -} + // Optional additional filter for the rules to retrieve. + // + // The action that DNS Firewall should take on a DNS query when it matches one + // of the domains in the rule's domain list: + // + // * ALLOW - Permit the request to go through. + // + // * ALERT - Permit the request to go through but send an alert to the logs. + // + // * BLOCK - Disallow the request. If this is specified, additional handling + // details are provided in the rule's BlockResponse setting. + Action *string `type:"string" enum:"Action"` -// RequestID returns the service's response RequestID for request. -func (s *InvalidNextTokenException) RequestID() string { - return s.RespMetadata.RequestID -} + // The unique identifier of the firewall rule group that you want to retrieve + // the rules for. + // + // FirewallRuleGroupId is a required field + FirewallRuleGroupId *string `min:"1" type:"string" required:"true"` -// One or more parameters in this request are not valid. -type InvalidParameterException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The maximum number of objects that you want Resolver to return for this request. + // If more objects are available, in the response, Resolver provides a NextToken + // value that you can use in a subsequent call to get the next batch of objects. + // + // If you don't specify a value for MaxResults, Resolver returns up to 100 objects. + MaxResults *int64 `min:"1" type:"integer"` - // For an InvalidParameterException error, the name of the parameter that's - // invalid. - FieldName *string `type:"string"` + // For the first call to this list request, omit this value. + // + // When you request a list of objects, Resolver returns at most the number of + // objects specified in MaxResults. If more objects are available for retrieval, + // Resolver returns a NextToken value in the response. To retrieve the next + // batch of objects, use the token that was returned for the prior request in + // your next request. + NextToken *string `type:"string"` - Message_ *string `locationName:"Message" type:"string"` + // Optional additional filter for the rules to retrieve. + // + // The setting that determines the processing order of the rules in a rule group. + // DNS Firewall processes the rules in a rule group by order of priority, starting + // from the lowest setting. + Priority *int64 `type:"integer"` } // String returns the string representation -func (s InvalidParameterException) String() string { +func (s ListFirewallRulesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidParameterException) GoString() string { +func (s ListFirewallRulesInput) GoString() string { return s.String() } -func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { - return &InvalidParameterException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFirewallRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListFirewallRulesInput"} + if s.FirewallRuleGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallRuleGroupId")) + } + if s.FirewallRuleGroupId != nil && len(*s.FirewallRuleGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallRuleGroupId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } -} -// Code returns the exception type name. -func (s *InvalidParameterException) Code() string { - return "InvalidParameterException" + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// Message returns the exception's message. -func (s *InvalidParameterException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetAction sets the Action field's value. +func (s *ListFirewallRulesInput) SetAction(v string) *ListFirewallRulesInput { + s.Action = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidParameterException) OrigErr() error { - return nil +// SetFirewallRuleGroupId sets the FirewallRuleGroupId field's value. +func (s *ListFirewallRulesInput) SetFirewallRuleGroupId(v string) *ListFirewallRulesInput { + s.FirewallRuleGroupId = &v + return s } -func (s *InvalidParameterException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetMaxResults sets the MaxResults field's value. +func (s *ListFirewallRulesInput) SetMaxResults(v int64) *ListFirewallRulesInput { + s.MaxResults = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidParameterException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetNextToken sets the NextToken field's value. +func (s *ListFirewallRulesInput) SetNextToken(v string) *ListFirewallRulesInput { + s.NextToken = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidParameterException) RequestID() string { - return s.RespMetadata.RequestID +// SetPriority sets the Priority field's value. +func (s *ListFirewallRulesInput) SetPriority(v int64) *ListFirewallRulesInput { + s.Priority = &v + return s } -// The specified Resolver rule policy is invalid. -type InvalidPolicyDocument struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListFirewallRulesOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // A list of the rules that you have defined. + // + // This might be a parital list of the firewall rules that you've defined. For + // information, see MaxResults. + FirewallRules []*FirewallRule `type:"list"` + + // If objects are still available for retrieval, Resolver returns this token + // in the response. To retrieve the next batch of objects, provide this token + // in your next request. + NextToken *string `type:"string"` } // String returns the string representation -func (s InvalidPolicyDocument) String() string { +func (s ListFirewallRulesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidPolicyDocument) GoString() string { +func (s ListFirewallRulesOutput) GoString() string { return s.String() } -func newErrorInvalidPolicyDocument(v protocol.ResponseMetadata) error { - return &InvalidPolicyDocument{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *InvalidPolicyDocument) Code() string { - return "InvalidPolicyDocument" -} - -// Message returns the exception's message. -func (s *InvalidPolicyDocument) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidPolicyDocument) OrigErr() error { - return nil +// SetFirewallRules sets the FirewallRules field's value. +func (s *ListFirewallRulesOutput) SetFirewallRules(v []*FirewallRule) *ListFirewallRulesOutput { + s.FirewallRules = v + return s } -func (s *InvalidPolicyDocument) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetNextToken sets the NextToken field's value. +func (s *ListFirewallRulesOutput) SetNextToken(v string) *ListFirewallRulesOutput { + s.NextToken = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidPolicyDocument) StatusCode() int { - return s.RespMetadata.StatusCode -} +type ListResolverDnssecConfigsInput struct { + _ struct{} `type:"structure"` -// RequestID returns the service's response RequestID for request. -func (s *InvalidPolicyDocument) RequestID() string { - return s.RespMetadata.RequestID -} + // An optional specification to return a subset of objects. + Filters []*Filter `type:"list"` -// The request is invalid. -type InvalidRequestException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Optional: An integer that specifies the maximum number of DNSSEC configuration + // results that you want Amazon Route 53 to return. If you don't specify a value + // for MaxResults, Route 53 returns up to 100 configuration per page. + MaxResults *int64 `min:"1" type:"integer"` - Message_ *string `locationName:"Message" type:"string"` + // (Optional) If the current AWS account has more than MaxResults DNSSEC configurations, + // use NextToken to get the second and subsequent pages of results. + // + // For the first ListResolverDnssecConfigs request, omit this value. + // + // For the second and subsequent requests, get the value of NextToken from the + // previous response and specify that value for NextToken in the request. + NextToken *string `type:"string"` } // String returns the string representation -func (s InvalidRequestException) String() string { +func (s ListResolverDnssecConfigsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidRequestException) GoString() string { - return s.String() -} - -func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { - return &InvalidRequestException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *InvalidRequestException) Code() string { - return "InvalidRequestException" +func (s ListResolverDnssecConfigsInput) GoString() string { + return s.String() } -// Message returns the exception's message. -func (s *InvalidRequestException) Message() string { - if s.Message_ != nil { - return *s.Message_ +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListResolverDnssecConfigsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResolverDnssecConfigsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidRequestException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *InvalidRequestException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetFilters sets the Filters field's value. +func (s *ListResolverDnssecConfigsInput) SetFilters(v []*Filter) *ListResolverDnssecConfigsInput { + s.Filters = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidRequestException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverDnssecConfigsInput) SetMaxResults(v int64) *ListResolverDnssecConfigsInput { + s.MaxResults = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidRequestException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListResolverDnssecConfigsInput) SetNextToken(v string) *ListResolverDnssecConfigsInput { + s.NextToken = &v + return s } -// The specified tag is invalid. -type InvalidTagException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListResolverDnssecConfigsOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // If a response includes the last of the DNSSEC configurations that are associated + // with the current AWS account, NextToken doesn't appear in the response. + // + // If a response doesn't include the last of the configurations, you can get + // more configurations by submitting another ListResolverDnssecConfigs (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListResolverDnssecConfigs.html) + // request. Get the value of NextToken that Amazon Route 53 returned in the + // previous response and include it in NextToken in the next request. + NextToken *string `type:"string"` + + // An array that contains one ResolverDnssecConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ResolverDnssecConfig.html) + // element for each configuration for DNSSEC validation that is associated with + // the current AWS account. + ResolverDnssecConfigs []*ResolverDnssecConfig `type:"list"` } // String returns the string representation -func (s InvalidTagException) String() string { +func (s ListResolverDnssecConfigsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidTagException) GoString() string { +func (s ListResolverDnssecConfigsOutput) GoString() string { return s.String() } -func newErrorInvalidTagException(v protocol.ResponseMetadata) error { - return &InvalidTagException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *InvalidTagException) Code() string { - return "InvalidTagException" -} - -// Message returns the exception's message. -func (s *InvalidTagException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidTagException) OrigErr() error { - return nil -} - -func (s *InvalidTagException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidTagException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetNextToken sets the NextToken field's value. +func (s *ListResolverDnssecConfigsOutput) SetNextToken(v string) *ListResolverDnssecConfigsOutput { + s.NextToken = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidTagException) RequestID() string { - return s.RespMetadata.RequestID +// SetResolverDnssecConfigs sets the ResolverDnssecConfigs field's value. +func (s *ListResolverDnssecConfigsOutput) SetResolverDnssecConfigs(v []*ResolverDnssecConfig) *ListResolverDnssecConfigsOutput { + s.ResolverDnssecConfigs = v + return s } -// In a CreateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html) -// request, the IP address that DNS queries originate from (for outbound endpoints) -// or that you forward DNS queries to (for inbound endpoints). IpAddressRequest -// also includes the ID of the subnet that contains the IP address. -type IpAddressRequest struct { +type ListResolverEndpointIpAddressesInput struct { _ struct{} `type:"structure"` - // The IP address that you want to use for DNS queries. - Ip *string `min:"7" type:"string"` + // The maximum number of IP addresses that you want to return in the response + // to a ListResolverEndpointIpAddresses request. If you don't specify a value + // for MaxResults, Resolver returns up to 100 IP addresses. + MaxResults *int64 `min:"1" type:"integer"` - // The ID of the subnet that contains the IP address. + // For the first ListResolverEndpointIpAddresses request, omit this value. // - // SubnetId is a required field - SubnetId *string `min:"1" type:"string" required:"true"` + // If the specified Resolver endpoint has more than MaxResults IP addresses, + // you can submit another ListResolverEndpointIpAddresses request to get the + // next group of IP addresses. In the next request, specify the value of NextToken + // from the previous response. + NextToken *string `type:"string"` + + // The ID of the Resolver endpoint that you want to get IP addresses for. + // + // ResolverEndpointId is a required field + ResolverEndpointId *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s IpAddressRequest) String() string { +func (s ListResolverEndpointIpAddressesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s IpAddressRequest) GoString() string { +func (s ListResolverEndpointIpAddressesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *IpAddressRequest) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "IpAddressRequest"} - if s.Ip != nil && len(*s.Ip) < 7 { - invalidParams.Add(request.NewErrParamMinLen("Ip", 7)) +func (s *ListResolverEndpointIpAddressesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResolverEndpointIpAddressesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.SubnetId == nil { - invalidParams.Add(request.NewErrParamRequired("SubnetId")) + if s.ResolverEndpointId == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) } - if s.SubnetId != nil && len(*s.SubnetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) } if invalidParams.Len() > 0 { @@ -6210,139 +12032,119 @@ func (s *IpAddressRequest) Validate() error { return nil } -// SetIp sets the Ip field's value. -func (s *IpAddressRequest) SetIp(v string) *IpAddressRequest { - s.Ip = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverEndpointIpAddressesInput) SetMaxResults(v int64) *ListResolverEndpointIpAddressesInput { + s.MaxResults = &v return s } -// SetSubnetId sets the SubnetId field's value. -func (s *IpAddressRequest) SetSubnetId(v string) *IpAddressRequest { - s.SubnetId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListResolverEndpointIpAddressesInput) SetNextToken(v string) *ListResolverEndpointIpAddressesInput { + s.NextToken = &v return s } -// In the response to a GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html) -// request, information about the IP addresses that the Resolver endpoint uses -// for DNS queries. -type IpAddressResponse struct { - _ struct{} `type:"structure"` - - // The date and time that the IP address was created, in Unix time format and - // Coordinated Universal Time (UTC). - CreationTime *string `min:"20" type:"string"` - - // One IP address that the Resolver endpoint uses for DNS queries. - Ip *string `min:"7" type:"string"` - - // The ID of one IP address. - IpId *string `min:"1" type:"string"` +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *ListResolverEndpointIpAddressesInput) SetResolverEndpointId(v string) *ListResolverEndpointIpAddressesInput { + s.ResolverEndpointId = &v + return s +} - // The date and time that the IP address was last modified, in Unix time format - // and Coordinated Universal Time (UTC). - ModificationTime *string `min:"20" type:"string"` +type ListResolverEndpointIpAddressesOutput struct { + _ struct{} `type:"structure"` - // A status code that gives the current status of the request. - Status *string `type:"string" enum:"IpAddressStatus"` + // Information about the IP addresses in your VPC that DNS queries originate + // from (for outbound endpoints) or that you forward DNS queries to (for inbound + // endpoints). + IpAddresses []*IpAddressResponse `type:"list"` - // A message that provides additional information about the status of the request. - StatusMessage *string `type:"string"` + // The value that you specified for MaxResults in the request. + MaxResults *int64 `min:"1" type:"integer"` - // The ID of one subnet. - SubnetId *string `min:"1" type:"string"` + // If the specified endpoint has more than MaxResults IP addresses, you can + // submit another ListResolverEndpointIpAddresses request to get the next group + // of IP addresses. In the next request, specify the value of NextToken from + // the previous response. + NextToken *string `type:"string"` } // String returns the string representation -func (s IpAddressResponse) String() string { +func (s ListResolverEndpointIpAddressesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s IpAddressResponse) GoString() string { +func (s ListResolverEndpointIpAddressesOutput) GoString() string { return s.String() } -// SetCreationTime sets the CreationTime field's value. -func (s *IpAddressResponse) SetCreationTime(v string) *IpAddressResponse { - s.CreationTime = &v - return s -} - -// SetIp sets the Ip field's value. -func (s *IpAddressResponse) SetIp(v string) *IpAddressResponse { - s.Ip = &v - return s -} - -// SetIpId sets the IpId field's value. -func (s *IpAddressResponse) SetIpId(v string) *IpAddressResponse { - s.IpId = &v - return s -} - -// SetModificationTime sets the ModificationTime field's value. -func (s *IpAddressResponse) SetModificationTime(v string) *IpAddressResponse { - s.ModificationTime = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *IpAddressResponse) SetStatus(v string) *IpAddressResponse { - s.Status = &v +// SetIpAddresses sets the IpAddresses field's value. +func (s *ListResolverEndpointIpAddressesOutput) SetIpAddresses(v []*IpAddressResponse) *ListResolverEndpointIpAddressesOutput { + s.IpAddresses = v return s } -// SetStatusMessage sets the StatusMessage field's value. -func (s *IpAddressResponse) SetStatusMessage(v string) *IpAddressResponse { - s.StatusMessage = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverEndpointIpAddressesOutput) SetMaxResults(v int64) *ListResolverEndpointIpAddressesOutput { + s.MaxResults = &v return s } -// SetSubnetId sets the SubnetId field's value. -func (s *IpAddressResponse) SetSubnetId(v string) *IpAddressResponse { - s.SubnetId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListResolverEndpointIpAddressesOutput) SetNextToken(v string) *ListResolverEndpointIpAddressesOutput { + s.NextToken = &v return s } -// In an UpdateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverEndpoint.html) -// request, information about an IP address to update. -type IpAddressUpdate struct { +type ListResolverEndpointsInput struct { _ struct{} `type:"structure"` - // The new IP address. - Ip *string `min:"7" type:"string"` + // An optional specification to return a subset of Resolver endpoints, such + // as all inbound Resolver endpoints. + // + // If you submit a second or subsequent ListResolverEndpoints request and specify + // the NextToken parameter, you must use the same values for Filters, if any, + // as in the previous request. + Filters []*Filter `type:"list"` - // Only when removing an IP address from a Resolver endpoint: The ID of the - // IP address that you want to remove. To get this ID, use GetResolverEndpoint - // (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html). - IpId *string `min:"1" type:"string"` + // The maximum number of Resolver endpoints that you want to return in the response + // to a ListResolverEndpoints request. If you don't specify a value for MaxResults, + // Resolver returns up to 100 Resolver endpoints. + MaxResults *int64 `min:"1" type:"integer"` - // The ID of the subnet that includes the IP address that you want to update. - // To get this ID, use GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html). - SubnetId *string `min:"1" type:"string"` + // For the first ListResolverEndpoints request, omit this value. + // + // If you have more than MaxResults Resolver endpoints, you can submit another + // ListResolverEndpoints request to get the next group of Resolver endpoints. + // In the next request, specify the value of NextToken from the previous response. + NextToken *string `type:"string"` } // String returns the string representation -func (s IpAddressUpdate) String() string { +func (s ListResolverEndpointsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s IpAddressUpdate) GoString() string { +func (s ListResolverEndpointsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *IpAddressUpdate) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "IpAddressUpdate"} - if s.Ip != nil && len(*s.Ip) < 7 { - invalidParams.Add(request.NewErrParamMinLen("Ip", 7)) - } - if s.IpId != nil && len(*s.IpId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("IpId", 1)) +func (s *ListResolverEndpointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResolverEndpointsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.SubnetId != nil && len(*s.SubnetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SubnetId", 1)) + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -6351,121 +12153,155 @@ func (s *IpAddressUpdate) Validate() error { return nil } -// SetIp sets the Ip field's value. -func (s *IpAddressUpdate) SetIp(v string) *IpAddressUpdate { - s.Ip = &v +// SetFilters sets the Filters field's value. +func (s *ListResolverEndpointsInput) SetFilters(v []*Filter) *ListResolverEndpointsInput { + s.Filters = v return s } -// SetIpId sets the IpId field's value. -func (s *IpAddressUpdate) SetIpId(v string) *IpAddressUpdate { - s.IpId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverEndpointsInput) SetMaxResults(v int64) *ListResolverEndpointsInput { + s.MaxResults = &v return s } -// SetSubnetId sets the SubnetId field's value. -func (s *IpAddressUpdate) SetSubnetId(v string) *IpAddressUpdate { - s.SubnetId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListResolverEndpointsInput) SetNextToken(v string) *ListResolverEndpointsInput { + s.NextToken = &v return s } -// The request caused one or more limits to be exceeded. -type LimitExceededException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListResolverEndpointsOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // The value that you specified for MaxResults in the request. + MaxResults *int64 `min:"1" type:"integer"` - // For a LimitExceededException error, the type of resource that exceeded the - // current limit. - ResourceType *string `type:"string"` + // If more than MaxResults IP addresses match the specified criteria, you can + // submit another ListResolverEndpoint request to get the next group of results. + // In the next request, specify the value of NextToken from the previous response. + NextToken *string `type:"string"` + + // The Resolver endpoints that were created by using the current AWS account, + // and that match the specified filters, if any. + ResolverEndpoints []*ResolverEndpoint `type:"list"` } // String returns the string representation -func (s LimitExceededException) String() string { +func (s ListResolverEndpointsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LimitExceededException) GoString() string { +func (s ListResolverEndpointsOutput) GoString() string { return s.String() } -func newErrorLimitExceededException(v protocol.ResponseMetadata) error { - return &LimitExceededException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *LimitExceededException) Code() string { - return "LimitExceededException" -} - -// Message returns the exception's message. -func (s *LimitExceededException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *LimitExceededException) OrigErr() error { - return nil -} - -func (s *LimitExceededException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverEndpointsOutput) SetMaxResults(v int64) *ListResolverEndpointsOutput { + s.MaxResults = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *LimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetNextToken sets the NextToken field's value. +func (s *ListResolverEndpointsOutput) SetNextToken(v string) *ListResolverEndpointsOutput { + s.NextToken = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *LimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetResolverEndpoints sets the ResolverEndpoints field's value. +func (s *ListResolverEndpointsOutput) SetResolverEndpoints(v []*ResolverEndpoint) *ListResolverEndpointsOutput { + s.ResolverEndpoints = v + return s } -type ListResolverDnssecConfigsInput struct { +type ListResolverQueryLogConfigAssociationsInput struct { _ struct{} `type:"structure"` - // An optional specification to return a subset of objects. + // An optional specification to return a subset of query logging associations. + // + // If you submit a second or subsequent ListResolverQueryLogConfigAssociations + // request and specify the NextToken parameter, you must use the same values + // for Filters, if any, as in the previous request. Filters []*Filter `type:"list"` - // Optional: An integer that specifies the maximum number of DNSSEC configuration - // results that you want Amazon Route 53 to return. If you don't specify a value - // for MaxResults, Route 53 returns up to 100 configuration per page. + // The maximum number of query logging associations that you want to return + // in the response to a ListResolverQueryLogConfigAssociations request. If you + // don't specify a value for MaxResults, Resolver returns up to 100 query logging + // associations. MaxResults *int64 `min:"1" type:"integer"` - // (Optional) If the current AWS account has more than MaxResults DNSSEC configurations, - // use NextToken to get the second and subsequent pages of results. - // - // For the first ListResolverDnssecConfigs request, omit this value. + // For the first ListResolverQueryLogConfigAssociations request, omit this value. // - // For the second and subsequent requests, get the value of NextToken from the - // previous response and specify that value for NextToken in the request. + // If there are more than MaxResults query logging associations that match the + // values that you specify for Filters, you can submit another ListResolverQueryLogConfigAssociations + // request to get the next group of associations. In the next request, specify + // the value of NextToken from the previous response. NextToken *string `type:"string"` + + // The element that you want Resolver to sort query logging associations by. + // + // If you submit a second or subsequent ListResolverQueryLogConfigAssociations + // request and specify the NextToken parameter, you must use the same value + // for SortBy, if any, as in the previous request. + // + // Valid values include the following elements: + // + // * CreationTime: The ID of the query logging association. + // + // * Error: If the value of Status is FAILED, the value of Error indicates + // the cause: DESTINATION_NOT_FOUND: The specified destination (for example, + // an Amazon S3 bucket) was deleted. ACCESS_DENIED: Permissions don't allow + // sending logs to the destination. If Status is a value other than FAILED, + // ERROR is null. + // + // * Id: The ID of the query logging association + // + // * ResolverQueryLogConfigId: The ID of the query logging configuration + // + // * ResourceId: The ID of the VPC that is associated with the query logging + // configuration + // + // * Status: The current status of the configuration. Valid values include + // the following: CREATING: Resolver is creating an association between an + // Amazon VPC and a query logging configuration. CREATED: The association + // between an Amazon VPC and a query logging configuration was successfully + // created. Resolver is logging queries that originate in the specified VPC. + // DELETING: Resolver is deleting this query logging association. FAILED: + // Resolver either couldn't create or couldn't delete the query logging association. + // Here are two common causes: The specified destination (for example, an + // Amazon S3 bucket) was deleted. Permissions don't allow sending logs to + // the destination. + SortBy *string `min:"1" type:"string"` + + // If you specified a value for SortBy, the order that you want query logging + // associations to be listed in, ASCENDING or DESCENDING. + // + // If you submit a second or subsequent ListResolverQueryLogConfigAssociations + // request and specify the NextToken parameter, you must use the same value + // for SortOrder, if any, as in the previous request. + SortOrder *string `type:"string" enum:"SortOrder"` } // String returns the string representation -func (s ListResolverDnssecConfigsInput) String() string { +func (s ListResolverQueryLogConfigAssociationsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverDnssecConfigsInput) GoString() string { +func (s ListResolverQueryLogConfigAssociationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListResolverDnssecConfigsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListResolverDnssecConfigsInput"} +func (s *ListResolverQueryLogConfigAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResolverQueryLogConfigAssociationsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.SortBy != nil && len(*s.SortBy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SortBy", 1)) + } if s.Filters != nil { for i, v := range s.Filters { if v == nil { @@ -6484,106 +12320,198 @@ func (s *ListResolverDnssecConfigsInput) Validate() error { } // SetFilters sets the Filters field's value. -func (s *ListResolverDnssecConfigsInput) SetFilters(v []*Filter) *ListResolverDnssecConfigsInput { +func (s *ListResolverQueryLogConfigAssociationsInput) SetFilters(v []*Filter) *ListResolverQueryLogConfigAssociationsInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListResolverDnssecConfigsInput) SetMaxResults(v int64) *ListResolverDnssecConfigsInput { +func (s *ListResolverQueryLogConfigAssociationsInput) SetMaxResults(v int64) *ListResolverQueryLogConfigAssociationsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListResolverDnssecConfigsInput) SetNextToken(v string) *ListResolverDnssecConfigsInput { +func (s *ListResolverQueryLogConfigAssociationsInput) SetNextToken(v string) *ListResolverQueryLogConfigAssociationsInput { s.NextToken = &v return s } -type ListResolverDnssecConfigsOutput struct { +// SetSortBy sets the SortBy field's value. +func (s *ListResolverQueryLogConfigAssociationsInput) SetSortBy(v string) *ListResolverQueryLogConfigAssociationsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListResolverQueryLogConfigAssociationsInput) SetSortOrder(v string) *ListResolverQueryLogConfigAssociationsInput { + s.SortOrder = &v + return s +} + +type ListResolverQueryLogConfigAssociationsOutput struct { _ struct{} `type:"structure"` - // If a response includes the last of the DNSSEC configurations that are associated - // with the current AWS account, NextToken doesn't appear in the response. - // - // If a response doesn't include the last of the configurations, you can get - // more configurations by submitting another ListResolverDnssecConfigs (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListResolverDnssecConfigs.html) - // request. Get the value of NextToken that Amazon Route 53 returned in the - // previous response and include it in NextToken in the next request. + // If there are more than MaxResults query logging associations, you can submit + // another ListResolverQueryLogConfigAssociations request to get the next group + // of associations. In the next request, specify the value of NextToken from + // the previous response. NextToken *string `type:"string"` - // An array that contains one ResolverDnssecConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_ResolverDnssecConfig.html) - // element for each configuration for DNSSEC validation that is associated with - // the current AWS account. - ResolverDnssecConfigs []*ResolverDnssecConfig `type:"list"` + // A list that contains one ResolverQueryLogConfigAssociations element for each + // query logging association that matches the values that you specified for + // Filter. + ResolverQueryLogConfigAssociations []*ResolverQueryLogConfigAssociation `type:"list"` + + // The total number of query logging associations that were created by the current + // account in the specified Region. This count can differ from the number of + // associations that are returned in a ListResolverQueryLogConfigAssociations + // response, depending on the values that you specify in the request. + TotalCount *int64 `type:"integer"` + + // The total number of query logging associations that were created by the current + // account in the specified Region and that match the filters that were specified + // in the ListResolverQueryLogConfigAssociations request. For the total number + // of associations that were created by the current account in the specified + // Region, see TotalCount. + TotalFilteredCount *int64 `type:"integer"` } // String returns the string representation -func (s ListResolverDnssecConfigsOutput) String() string { +func (s ListResolverQueryLogConfigAssociationsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverDnssecConfigsOutput) GoString() string { +func (s ListResolverQueryLogConfigAssociationsOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *ListResolverDnssecConfigsOutput) SetNextToken(v string) *ListResolverDnssecConfigsOutput { +func (s *ListResolverQueryLogConfigAssociationsOutput) SetNextToken(v string) *ListResolverQueryLogConfigAssociationsOutput { s.NextToken = &v return s } -// SetResolverDnssecConfigs sets the ResolverDnssecConfigs field's value. -func (s *ListResolverDnssecConfigsOutput) SetResolverDnssecConfigs(v []*ResolverDnssecConfig) *ListResolverDnssecConfigsOutput { - s.ResolverDnssecConfigs = v +// SetResolverQueryLogConfigAssociations sets the ResolverQueryLogConfigAssociations field's value. +func (s *ListResolverQueryLogConfigAssociationsOutput) SetResolverQueryLogConfigAssociations(v []*ResolverQueryLogConfigAssociation) *ListResolverQueryLogConfigAssociationsOutput { + s.ResolverQueryLogConfigAssociations = v return s } -type ListResolverEndpointIpAddressesInput struct { +// SetTotalCount sets the TotalCount field's value. +func (s *ListResolverQueryLogConfigAssociationsOutput) SetTotalCount(v int64) *ListResolverQueryLogConfigAssociationsOutput { + s.TotalCount = &v + return s +} + +// SetTotalFilteredCount sets the TotalFilteredCount field's value. +func (s *ListResolverQueryLogConfigAssociationsOutput) SetTotalFilteredCount(v int64) *ListResolverQueryLogConfigAssociationsOutput { + s.TotalFilteredCount = &v + return s +} + +type ListResolverQueryLogConfigsInput struct { _ struct{} `type:"structure"` - // The maximum number of IP addresses that you want to return in the response - // to a ListResolverEndpointIpAddresses request. If you don't specify a value - // for MaxResults, Resolver returns up to 100 IP addresses. + // An optional specification to return a subset of query logging configurations. + // + // If you submit a second or subsequent ListResolverQueryLogConfigs request + // and specify the NextToken parameter, you must use the same values for Filters, + // if any, as in the previous request. + Filters []*Filter `type:"list"` + + // The maximum number of query logging configurations that you want to return + // in the response to a ListResolverQueryLogConfigs request. If you don't specify + // a value for MaxResults, Resolver returns up to 100 query logging configurations. MaxResults *int64 `min:"1" type:"integer"` - // For the first ListResolverEndpointIpAddresses request, omit this value. + // For the first ListResolverQueryLogConfigs request, omit this value. // - // If the specified Resolver endpoint has more than MaxResults IP addresses, - // you can submit another ListResolverEndpointIpAddresses request to get the - // next group of IP addresses. In the next request, specify the value of NextToken - // from the previous response. + // If there are more than MaxResults query logging configurations that match + // the values that you specify for Filters, you can submit another ListResolverQueryLogConfigs + // request to get the next group of configurations. In the next request, specify + // the value of NextToken from the previous response. NextToken *string `type:"string"` - // The ID of the Resolver endpoint that you want to get IP addresses for. + // The element that you want Resolver to sort query logging configurations by. // - // ResolverEndpointId is a required field - ResolverEndpointId *string `min:"1" type:"string" required:"true"` + // If you submit a second or subsequent ListResolverQueryLogConfigs request + // and specify the NextToken parameter, you must use the same value for SortBy, + // if any, as in the previous request. + // + // Valid values include the following elements: + // + // * Arn: The ARN of the query logging configuration + // + // * AssociationCount: The number of VPCs that are associated with the specified + // configuration + // + // * CreationTime: The date and time that Resolver returned when the configuration + // was created + // + // * CreatorRequestId: The value that was specified for CreatorRequestId + // when the configuration was created + // + // * DestinationArn: The location that logs are sent to + // + // * Id: The ID of the configuration + // + // * Name: The name of the configuration + // + // * OwnerId: The AWS account number of the account that created the configuration + // + // * ShareStatus: Whether the configuration is shared with other AWS accounts + // or shared with the current account by another AWS account. Sharing is + // configured through AWS Resource Access Manager (AWS RAM). + // + // * Status: The current status of the configuration. Valid values include + // the following: CREATING: Resolver is creating the query logging configuration. + // CREATED: The query logging configuration was successfully created. Resolver + // is logging queries that originate in the specified VPC. DELETING: Resolver + // is deleting this query logging configuration. FAILED: Resolver either + // couldn't create or couldn't delete the query logging configuration. Here + // are two common causes: The specified destination (for example, an Amazon + // S3 bucket) was deleted. Permissions don't allow sending logs to the destination. + SortBy *string `min:"1" type:"string"` + + // If you specified a value for SortBy, the order that you want query logging + // configurations to be listed in, ASCENDING or DESCENDING. + // + // If you submit a second or subsequent ListResolverQueryLogConfigs request + // and specify the NextToken parameter, you must use the same value for SortOrder, + // if any, as in the previous request. + SortOrder *string `type:"string" enum:"SortOrder"` } // String returns the string representation -func (s ListResolverEndpointIpAddressesInput) String() string { +func (s ListResolverQueryLogConfigsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverEndpointIpAddressesInput) GoString() string { +func (s ListResolverQueryLogConfigsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListResolverEndpointIpAddressesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListResolverEndpointIpAddressesInput"} +func (s *ListResolverQueryLogConfigsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResolverQueryLogConfigsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.ResolverEndpointId == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverEndpointId")) + if s.SortBy != nil && len(*s.SortBy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SortBy", 1)) } - if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -6592,107 +12520,133 @@ func (s *ListResolverEndpointIpAddressesInput) Validate() error { return nil } +// SetFilters sets the Filters field's value. +func (s *ListResolverQueryLogConfigsInput) SetFilters(v []*Filter) *ListResolverQueryLogConfigsInput { + s.Filters = v + return s +} + // SetMaxResults sets the MaxResults field's value. -func (s *ListResolverEndpointIpAddressesInput) SetMaxResults(v int64) *ListResolverEndpointIpAddressesInput { +func (s *ListResolverQueryLogConfigsInput) SetMaxResults(v int64) *ListResolverQueryLogConfigsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListResolverEndpointIpAddressesInput) SetNextToken(v string) *ListResolverEndpointIpAddressesInput { +func (s *ListResolverQueryLogConfigsInput) SetNextToken(v string) *ListResolverQueryLogConfigsInput { s.NextToken = &v return s } -// SetResolverEndpointId sets the ResolverEndpointId field's value. -func (s *ListResolverEndpointIpAddressesInput) SetResolverEndpointId(v string) *ListResolverEndpointIpAddressesInput { - s.ResolverEndpointId = &v +// SetSortBy sets the SortBy field's value. +func (s *ListResolverQueryLogConfigsInput) SetSortBy(v string) *ListResolverQueryLogConfigsInput { + s.SortBy = &v return s } -type ListResolverEndpointIpAddressesOutput struct { +// SetSortOrder sets the SortOrder field's value. +func (s *ListResolverQueryLogConfigsInput) SetSortOrder(v string) *ListResolverQueryLogConfigsInput { + s.SortOrder = &v + return s +} + +type ListResolverQueryLogConfigsOutput struct { _ struct{} `type:"structure"` - // Information about the IP addresses in your VPC that DNS queries originate - // from (for outbound endpoints) or that you forward DNS queries to (for inbound - // endpoints). - IpAddresses []*IpAddressResponse `type:"list"` + // If there are more than MaxResults query logging configurations, you can submit + // another ListResolverQueryLogConfigs request to get the next group of configurations. + // In the next request, specify the value of NextToken from the previous response. + NextToken *string `type:"string"` - // The value that you specified for MaxResults in the request. - MaxResults *int64 `min:"1" type:"integer"` + // A list that contains one ResolverQueryLogConfig element for each query logging + // configuration that matches the values that you specified for Filter. + ResolverQueryLogConfigs []*ResolverQueryLogConfig `type:"list"` - // If the specified endpoint has more than MaxResults IP addresses, you can - // submit another ListResolverEndpointIpAddresses request to get the next group - // of IP addresses. In the next request, specify the value of NextToken from - // the previous response. - NextToken *string `type:"string"` + // The total number of query logging configurations that were created by the + // current account in the specified Region. This count can differ from the number + // of query logging configurations that are returned in a ListResolverQueryLogConfigs + // response, depending on the values that you specify in the request. + TotalCount *int64 `type:"integer"` + + // The total number of query logging configurations that were created by the + // current account in the specified Region and that match the filters that were + // specified in the ListResolverQueryLogConfigs request. For the total number + // of query logging configurations that were created by the current account + // in the specified Region, see TotalCount. + TotalFilteredCount *int64 `type:"integer"` } // String returns the string representation -func (s ListResolverEndpointIpAddressesOutput) String() string { +func (s ListResolverQueryLogConfigsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverEndpointIpAddressesOutput) GoString() string { +func (s ListResolverQueryLogConfigsOutput) GoString() string { return s.String() } -// SetIpAddresses sets the IpAddresses field's value. -func (s *ListResolverEndpointIpAddressesOutput) SetIpAddresses(v []*IpAddressResponse) *ListResolverEndpointIpAddressesOutput { - s.IpAddresses = v +// SetNextToken sets the NextToken field's value. +func (s *ListResolverQueryLogConfigsOutput) SetNextToken(v string) *ListResolverQueryLogConfigsOutput { + s.NextToken = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListResolverEndpointIpAddressesOutput) SetMaxResults(v int64) *ListResolverEndpointIpAddressesOutput { - s.MaxResults = &v +// SetResolverQueryLogConfigs sets the ResolverQueryLogConfigs field's value. +func (s *ListResolverQueryLogConfigsOutput) SetResolverQueryLogConfigs(v []*ResolverQueryLogConfig) *ListResolverQueryLogConfigsOutput { + s.ResolverQueryLogConfigs = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListResolverEndpointIpAddressesOutput) SetNextToken(v string) *ListResolverEndpointIpAddressesOutput { - s.NextToken = &v +// SetTotalCount sets the TotalCount field's value. +func (s *ListResolverQueryLogConfigsOutput) SetTotalCount(v int64) *ListResolverQueryLogConfigsOutput { + s.TotalCount = &v return s } -type ListResolverEndpointsInput struct { +// SetTotalFilteredCount sets the TotalFilteredCount field's value. +func (s *ListResolverQueryLogConfigsOutput) SetTotalFilteredCount(v int64) *ListResolverQueryLogConfigsOutput { + s.TotalFilteredCount = &v + return s +} + +type ListResolverRuleAssociationsInput struct { _ struct{} `type:"structure"` - // An optional specification to return a subset of Resolver endpoints, such - // as all inbound Resolver endpoints. + // An optional specification to return a subset of Resolver rules, such as Resolver + // rules that are associated with the same VPC ID. // - // If you submit a second or subsequent ListResolverEndpoints request and specify - // the NextToken parameter, you must use the same values for Filters, if any, - // as in the previous request. + // If you submit a second or subsequent ListResolverRuleAssociations request + // and specify the NextToken parameter, you must use the same values for Filters, + // if any, as in the previous request. Filters []*Filter `type:"list"` - // The maximum number of Resolver endpoints that you want to return in the response - // to a ListResolverEndpoints request. If you don't specify a value for MaxResults, - // Resolver returns up to 100 Resolver endpoints. + // The maximum number of rule associations that you want to return in the response + // to a ListResolverRuleAssociations request. If you don't specify a value for + // MaxResults, Resolver returns up to 100 rule associations. MaxResults *int64 `min:"1" type:"integer"` - // For the first ListResolverEndpoints request, omit this value. + // For the first ListResolverRuleAssociation request, omit this value. // - // If you have more than MaxResults Resolver endpoints, you can submit another - // ListResolverEndpoints request to get the next group of Resolver endpoints. + // If you have more than MaxResults rule associations, you can submit another + // ListResolverRuleAssociation request to get the next group of rule associations. // In the next request, specify the value of NextToken from the previous response. NextToken *string `type:"string"` } // String returns the string representation -func (s ListResolverEndpointsInput) String() string { +func (s ListResolverRuleAssociationsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverEndpointsInput) GoString() string { +func (s ListResolverRuleAssociationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListResolverEndpointsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListResolverEndpointsInput"} +func (s *ListResolverRuleAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResolverRuleAssociationsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -6714,154 +12668,108 @@ func (s *ListResolverEndpointsInput) Validate() error { } // SetFilters sets the Filters field's value. -func (s *ListResolverEndpointsInput) SetFilters(v []*Filter) *ListResolverEndpointsInput { +func (s *ListResolverRuleAssociationsInput) SetFilters(v []*Filter) *ListResolverRuleAssociationsInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListResolverEndpointsInput) SetMaxResults(v int64) *ListResolverEndpointsInput { +func (s *ListResolverRuleAssociationsInput) SetMaxResults(v int64) *ListResolverRuleAssociationsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListResolverEndpointsInput) SetNextToken(v string) *ListResolverEndpointsInput { +func (s *ListResolverRuleAssociationsInput) SetNextToken(v string) *ListResolverRuleAssociationsInput { s.NextToken = &v return s } -type ListResolverEndpointsOutput struct { +type ListResolverRuleAssociationsOutput struct { _ struct{} `type:"structure"` // The value that you specified for MaxResults in the request. MaxResults *int64 `min:"1" type:"integer"` - // If more than MaxResults IP addresses match the specified criteria, you can - // submit another ListResolverEndpoint request to get the next group of results. - // In the next request, specify the value of NextToken from the previous response. + // If more than MaxResults rule associations match the specified criteria, you + // can submit another ListResolverRuleAssociation request to get the next group + // of results. In the next request, specify the value of NextToken from the + // previous response. NextToken *string `type:"string"` - // The Resolver endpoints that were created by using the current AWS account, - // and that match the specified filters, if any. - ResolverEndpoints []*ResolverEndpoint `type:"list"` + // The associations that were created between Resolver rules and VPCs using + // the current AWS account, and that match the specified filters, if any. + ResolverRuleAssociations []*ResolverRuleAssociation `type:"list"` } // String returns the string representation -func (s ListResolverEndpointsOutput) String() string { +func (s ListResolverRuleAssociationsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverEndpointsOutput) GoString() string { +func (s ListResolverRuleAssociationsOutput) GoString() string { return s.String() } // SetMaxResults sets the MaxResults field's value. -func (s *ListResolverEndpointsOutput) SetMaxResults(v int64) *ListResolverEndpointsOutput { +func (s *ListResolverRuleAssociationsOutput) SetMaxResults(v int64) *ListResolverRuleAssociationsOutput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListResolverEndpointsOutput) SetNextToken(v string) *ListResolverEndpointsOutput { +func (s *ListResolverRuleAssociationsOutput) SetNextToken(v string) *ListResolverRuleAssociationsOutput { s.NextToken = &v return s } -// SetResolverEndpoints sets the ResolverEndpoints field's value. -func (s *ListResolverEndpointsOutput) SetResolverEndpoints(v []*ResolverEndpoint) *ListResolverEndpointsOutput { - s.ResolverEndpoints = v +// SetResolverRuleAssociations sets the ResolverRuleAssociations field's value. +func (s *ListResolverRuleAssociationsOutput) SetResolverRuleAssociations(v []*ResolverRuleAssociation) *ListResolverRuleAssociationsOutput { + s.ResolverRuleAssociations = v return s } -type ListResolverQueryLogConfigAssociationsInput struct { +type ListResolverRulesInput struct { _ struct{} `type:"structure"` - // An optional specification to return a subset of query logging associations. + // An optional specification to return a subset of Resolver rules, such as all + // Resolver rules that are associated with the same Resolver endpoint. // - // If you submit a second or subsequent ListResolverQueryLogConfigAssociations - // request and specify the NextToken parameter, you must use the same values - // for Filters, if any, as in the previous request. + // If you submit a second or subsequent ListResolverRules request and specify + // the NextToken parameter, you must use the same values for Filters, if any, + // as in the previous request. Filters []*Filter `type:"list"` - // The maximum number of query logging associations that you want to return - // in the response to a ListResolverQueryLogConfigAssociations request. If you - // don't specify a value for MaxResults, Resolver returns up to 100 query logging - // associations. + // The maximum number of Resolver rules that you want to return in the response + // to a ListResolverRules request. If you don't specify a value for MaxResults, + // Resolver returns up to 100 Resolver rules. MaxResults *int64 `min:"1" type:"integer"` - // For the first ListResolverQueryLogConfigAssociations request, omit this value. + // For the first ListResolverRules request, omit this value. // - // If there are more than MaxResults query logging associations that match the - // values that you specify for Filters, you can submit another ListResolverQueryLogConfigAssociations - // request to get the next group of associations. In the next request, specify + // If you have more than MaxResults Resolver rules, you can submit another ListResolverRules + // request to get the next group of Resolver rules. In the next request, specify // the value of NextToken from the previous response. NextToken *string `type:"string"` - - // The element that you want Resolver to sort query logging associations by. - // - // If you submit a second or subsequent ListResolverQueryLogConfigAssociations - // request and specify the NextToken parameter, you must use the same value - // for SortBy, if any, as in the previous request. - // - // Valid values include the following elements: - // - // * CreationTime: The ID of the query logging association. - // - // * Error: If the value of Status is FAILED, the value of Error indicates - // the cause: DESTINATION_NOT_FOUND: The specified destination (for example, - // an Amazon S3 bucket) was deleted. ACCESS_DENIED: Permissions don't allow - // sending logs to the destination. If Status is a value other than FAILED, - // ERROR is null. - // - // * Id: The ID of the query logging association - // - // * ResolverQueryLogConfigId: The ID of the query logging configuration - // - // * ResourceId: The ID of the VPC that is associated with the query logging - // configuration - // - // * Status: The current status of the configuration. Valid values include - // the following: CREATING: Resolver is creating an association between an - // Amazon VPC and a query logging configuration. CREATED: The association - // between an Amazon VPC and a query logging configuration was successfully - // created. Resolver is logging queries that originate in the specified VPC. - // DELETING: Resolver is deleting this query logging association. FAILED: - // Resolver either couldn't create or couldn't delete the query logging association. - // Here are two common causes: The specified destination (for example, an - // Amazon S3 bucket) was deleted. Permissions don't allow sending logs to - // the destination. - SortBy *string `min:"1" type:"string"` - - // If you specified a value for SortBy, the order that you want query logging - // associations to be listed in, ASCENDING or DESCENDING. - // - // If you submit a second or subsequent ListResolverQueryLogConfigAssociations - // request and specify the NextToken parameter, you must use the same value - // for SortOrder, if any, as in the previous request. - SortOrder *string `type:"string" enum:"SortOrder"` } // String returns the string representation -func (s ListResolverQueryLogConfigAssociationsInput) String() string { +func (s ListResolverRulesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverQueryLogConfigAssociationsInput) GoString() string { +func (s ListResolverRulesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListResolverQueryLogConfigAssociationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListResolverQueryLogConfigAssociationsInput"} +func (s *ListResolverRulesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResolverRulesInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.SortBy != nil && len(*s.SortBy) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SortBy", 1)) - } if s.Filters != nil { for i, v := range s.Filters { if v == nil { @@ -6880,198 +12788,110 @@ func (s *ListResolverQueryLogConfigAssociationsInput) Validate() error { } // SetFilters sets the Filters field's value. -func (s *ListResolverQueryLogConfigAssociationsInput) SetFilters(v []*Filter) *ListResolverQueryLogConfigAssociationsInput { +func (s *ListResolverRulesInput) SetFilters(v []*Filter) *ListResolverRulesInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListResolverQueryLogConfigAssociationsInput) SetMaxResults(v int64) *ListResolverQueryLogConfigAssociationsInput { +func (s *ListResolverRulesInput) SetMaxResults(v int64) *ListResolverRulesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListResolverQueryLogConfigAssociationsInput) SetNextToken(v string) *ListResolverQueryLogConfigAssociationsInput { +func (s *ListResolverRulesInput) SetNextToken(v string) *ListResolverRulesInput { s.NextToken = &v return s } -// SetSortBy sets the SortBy field's value. -func (s *ListResolverQueryLogConfigAssociationsInput) SetSortBy(v string) *ListResolverQueryLogConfigAssociationsInput { - s.SortBy = &v - return s -} - -// SetSortOrder sets the SortOrder field's value. -func (s *ListResolverQueryLogConfigAssociationsInput) SetSortOrder(v string) *ListResolverQueryLogConfigAssociationsInput { - s.SortOrder = &v - return s -} - -type ListResolverQueryLogConfigAssociationsOutput struct { +type ListResolverRulesOutput struct { _ struct{} `type:"structure"` - // If there are more than MaxResults query logging associations, you can submit - // another ListResolverQueryLogConfigAssociations request to get the next group - // of associations. In the next request, specify the value of NextToken from - // the previous response. - NextToken *string `type:"string"` - - // A list that contains one ResolverQueryLogConfigAssociations element for each - // query logging association that matches the values that you specified for - // Filter. - ResolverQueryLogConfigAssociations []*ResolverQueryLogConfigAssociation `type:"list"` + // The value that you specified for MaxResults in the request. + MaxResults *int64 `min:"1" type:"integer"` - // The total number of query logging associations that were created by the current - // account in the specified Region. This count can differ from the number of - // associations that are returned in a ListResolverQueryLogConfigAssociations - // response, depending on the values that you specify in the request. - TotalCount *int64 `type:"integer"` + // If more than MaxResults Resolver rules match the specified criteria, you + // can submit another ListResolverRules request to get the next group of results. + // In the next request, specify the value of NextToken from the previous response. + NextToken *string `type:"string"` - // The total number of query logging associations that were created by the current - // account in the specified Region and that match the filters that were specified - // in the ListResolverQueryLogConfigAssociations request. For the total number - // of associations that were created by the current account in the specified - // Region, see TotalCount. - TotalFilteredCount *int64 `type:"integer"` + // The Resolver rules that were created using the current AWS account and that + // match the specified filters, if any. + ResolverRules []*ResolverRule `type:"list"` } // String returns the string representation -func (s ListResolverQueryLogConfigAssociationsOutput) String() string { +func (s ListResolverRulesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverQueryLogConfigAssociationsOutput) GoString() string { +func (s ListResolverRulesOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListResolverQueryLogConfigAssociationsOutput) SetNextToken(v string) *ListResolverQueryLogConfigAssociationsOutput { - s.NextToken = &v - return s -} - -// SetResolverQueryLogConfigAssociations sets the ResolverQueryLogConfigAssociations field's value. -func (s *ListResolverQueryLogConfigAssociationsOutput) SetResolverQueryLogConfigAssociations(v []*ResolverQueryLogConfigAssociation) *ListResolverQueryLogConfigAssociationsOutput { - s.ResolverQueryLogConfigAssociations = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListResolverRulesOutput) SetMaxResults(v int64) *ListResolverRulesOutput { + s.MaxResults = &v return s } -// SetTotalCount sets the TotalCount field's value. -func (s *ListResolverQueryLogConfigAssociationsOutput) SetTotalCount(v int64) *ListResolverQueryLogConfigAssociationsOutput { - s.TotalCount = &v +// SetNextToken sets the NextToken field's value. +func (s *ListResolverRulesOutput) SetNextToken(v string) *ListResolverRulesOutput { + s.NextToken = &v return s } -// SetTotalFilteredCount sets the TotalFilteredCount field's value. -func (s *ListResolverQueryLogConfigAssociationsOutput) SetTotalFilteredCount(v int64) *ListResolverQueryLogConfigAssociationsOutput { - s.TotalFilteredCount = &v +// SetResolverRules sets the ResolverRules field's value. +func (s *ListResolverRulesOutput) SetResolverRules(v []*ResolverRule) *ListResolverRulesOutput { + s.ResolverRules = v return s } -type ListResolverQueryLogConfigsInput struct { +type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // An optional specification to return a subset of query logging configurations. - // - // If you submit a second or subsequent ListResolverQueryLogConfigs request - // and specify the NextToken parameter, you must use the same values for Filters, - // if any, as in the previous request. - Filters []*Filter `type:"list"` - - // The maximum number of query logging configurations that you want to return - // in the response to a ListResolverQueryLogConfigs request. If you don't specify - // a value for MaxResults, Resolver returns up to 100 query logging configurations. + // The maximum number of tags that you want to return in the response to a ListTagsForResource + // request. If you don't specify a value for MaxResults, Resolver returns up + // to 100 tags. MaxResults *int64 `min:"1" type:"integer"` - // For the first ListResolverQueryLogConfigs request, omit this value. - // - // If there are more than MaxResults query logging configurations that match - // the values that you specify for Filters, you can submit another ListResolverQueryLogConfigs - // request to get the next group of configurations. In the next request, specify - // the value of NextToken from the previous response. - NextToken *string `type:"string"` - - // The element that you want Resolver to sort query logging configurations by. - // - // If you submit a second or subsequent ListResolverQueryLogConfigs request - // and specify the NextToken parameter, you must use the same value for SortBy, - // if any, as in the previous request. - // - // Valid values include the following elements: - // - // * Arn: The ARN of the query logging configuration - // - // * AssociationCount: The number of VPCs that are associated with the specified - // configuration - // - // * CreationTime: The date and time that Resolver returned when the configuration - // was created - // - // * CreatorRequestId: The value that was specified for CreatorRequestId - // when the configuration was created - // - // * DestinationArn: The location that logs are sent to - // - // * Id: The ID of the configuration - // - // * Name: The name of the configuration - // - // * OwnerId: The AWS account number of the account that created the configuration - // - // * ShareStatus: Whether the configuration is shared with other AWS accounts - // or shared with the current account by another AWS account. Sharing is - // configured through AWS Resource Access Manager (AWS RAM). + // For the first ListTagsForResource request, omit this value. // - // * Status: The current status of the configuration. Valid values include - // the following: CREATING: Resolver is creating the query logging configuration. - // CREATED: The query logging configuration was successfully created. Resolver - // is logging queries that originate in the specified VPC. DELETING: Resolver - // is deleting this query logging configuration. FAILED: Resolver either - // couldn't create or couldn't delete the query logging configuration. Here - // are two common causes: The specified destination (for example, an Amazon - // S3 bucket) was deleted. Permissions don't allow sending logs to the destination. - SortBy *string `min:"1" type:"string"` + // If you have more than MaxResults tags, you can submit another ListTagsForResource + // request to get the next group of tags for the resource. In the next request, + // specify the value of NextToken from the previous response. + NextToken *string `type:"string"` - // If you specified a value for SortBy, the order that you want query logging - // configurations to be listed in, ASCENDING or DESCENDING. + // The Amazon Resource Name (ARN) for the resource that you want to list tags + // for. // - // If you submit a second or subsequent ListResolverQueryLogConfigs request - // and specify the NextToken parameter, you must use the same value for SortOrder, - // if any, as in the previous request. - SortOrder *string `type:"string" enum:"SortOrder"` + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListResolverQueryLogConfigsInput) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverQueryLogConfigsInput) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListResolverQueryLogConfigsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListResolverQueryLogConfigsInput"} +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.SortBy != nil && len(*s.SortBy) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SortBy", 1)) + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.Filters != nil { - for i, v := range s.Filters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) - } - } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } if invalidParams.Len() > 0 { @@ -7080,145 +12900,95 @@ func (s *ListResolverQueryLogConfigsInput) Validate() error { return nil } -// SetFilters sets the Filters field's value. -func (s *ListResolverQueryLogConfigsInput) SetFilters(v []*Filter) *ListResolverQueryLogConfigsInput { - s.Filters = v - return s -} - // SetMaxResults sets the MaxResults field's value. -func (s *ListResolverQueryLogConfigsInput) SetMaxResults(v int64) *ListResolverQueryLogConfigsInput { +func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListResolverQueryLogConfigsInput) SetNextToken(v string) *ListResolverQueryLogConfigsInput { +func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { s.NextToken = &v return s } -// SetSortBy sets the SortBy field's value. -func (s *ListResolverQueryLogConfigsInput) SetSortBy(v string) *ListResolverQueryLogConfigsInput { - s.SortBy = &v - return s -} - -// SetSortOrder sets the SortOrder field's value. -func (s *ListResolverQueryLogConfigsInput) SetSortOrder(v string) *ListResolverQueryLogConfigsInput { - s.SortOrder = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v return s } -type ListResolverQueryLogConfigsOutput struct { +type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // If there are more than MaxResults query logging configurations, you can submit - // another ListResolverQueryLogConfigs request to get the next group of configurations. - // In the next request, specify the value of NextToken from the previous response. + // If more than MaxResults tags match the specified criteria, you can submit + // another ListTagsForResource request to get the next group of results. In + // the next request, specify the value of NextToken from the previous response. NextToken *string `type:"string"` - // A list that contains one ResolverQueryLogConfig element for each query logging - // configuration that matches the values that you specified for Filter. - ResolverQueryLogConfigs []*ResolverQueryLogConfig `type:"list"` - - // The total number of query logging configurations that were created by the - // current account in the specified Region. This count can differ from the number - // of query logging configurations that are returned in a ListResolverQueryLogConfigs - // response, depending on the values that you specify in the request. - TotalCount *int64 `type:"integer"` - - // The total number of query logging configurations that were created by the - // current account in the specified Region and that match the filters that were - // specified in the ListResolverQueryLogConfigs request. For the total number - // of query logging configurations that were created by the current account - // in the specified Region, see TotalCount. - TotalFilteredCount *int64 `type:"integer"` + // The tags that are associated with the resource that you specified in the + // ListTagsForResource request. + Tags []*Tag `type:"list"` } // String returns the string representation -func (s ListResolverQueryLogConfigsOutput) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverQueryLogConfigsOutput) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *ListResolverQueryLogConfigsOutput) SetNextToken(v string) *ListResolverQueryLogConfigsOutput { +func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { s.NextToken = &v return s } -// SetResolverQueryLogConfigs sets the ResolverQueryLogConfigs field's value. -func (s *ListResolverQueryLogConfigsOutput) SetResolverQueryLogConfigs(v []*ResolverQueryLogConfig) *ListResolverQueryLogConfigsOutput { - s.ResolverQueryLogConfigs = v - return s -} - -// SetTotalCount sets the TotalCount field's value. -func (s *ListResolverQueryLogConfigsOutput) SetTotalCount(v int64) *ListResolverQueryLogConfigsOutput { - s.TotalCount = &v - return s -} - -// SetTotalFilteredCount sets the TotalFilteredCount field's value. -func (s *ListResolverQueryLogConfigsOutput) SetTotalFilteredCount(v int64) *ListResolverQueryLogConfigsOutput { - s.TotalFilteredCount = &v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v return s } -type ListResolverRuleAssociationsInput struct { +type PutFirewallRuleGroupPolicyInput struct { _ struct{} `type:"structure"` - // An optional specification to return a subset of Resolver rules, such as Resolver - // rules that are associated with the same VPC ID. + // The ARN (Amazon Resource Name) for the rule group that you want to share. // - // If you submit a second or subsequent ListResolverRuleAssociations request - // and specify the NextToken parameter, you must use the same values for Filters, - // if any, as in the previous request. - Filters []*Filter `type:"list"` - - // The maximum number of rule associations that you want to return in the response - // to a ListResolverRuleAssociations request. If you don't specify a value for - // MaxResults, Resolver returns up to 100 rule associations. - MaxResults *int64 `min:"1" type:"integer"` + // Arn is a required field + Arn *string `min:"1" type:"string" required:"true"` - // For the first ListResolverRuleAssociation request, omit this value. + // The AWS Identity and Access Management (AWS IAM) policy to attach to the + // rule group. // - // If you have more than MaxResults rule associations, you can submit another - // ListResolverRuleAssociation request to get the next group of rule associations. - // In the next request, specify the value of NextToken from the previous response. - NextToken *string `type:"string"` + // FirewallRuleGroupPolicy is a required field + FirewallRuleGroupPolicy *string `type:"string" required:"true"` } // String returns the string representation -func (s ListResolverRuleAssociationsInput) String() string { +func (s PutFirewallRuleGroupPolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverRuleAssociationsInput) GoString() string { +func (s PutFirewallRuleGroupPolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListResolverRuleAssociationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListResolverRuleAssociationsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *PutFirewallRuleGroupPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutFirewallRuleGroupPolicyInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } - if s.Filters != nil { - for i, v := range s.Filters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) - } - } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + if s.FirewallRuleGroupPolicy == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallRuleGroupPolicy")) } if invalidParams.Len() > 0 { @@ -7227,118 +12997,188 @@ func (s *ListResolverRuleAssociationsInput) Validate() error { return nil } -// SetFilters sets the Filters field's value. -func (s *ListResolverRuleAssociationsInput) SetFilters(v []*Filter) *ListResolverRuleAssociationsInput { - s.Filters = v +// SetArn sets the Arn field's value. +func (s *PutFirewallRuleGroupPolicyInput) SetArn(v string) *PutFirewallRuleGroupPolicyInput { + s.Arn = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListResolverRuleAssociationsInput) SetMaxResults(v int64) *ListResolverRuleAssociationsInput { - s.MaxResults = &v +// SetFirewallRuleGroupPolicy sets the FirewallRuleGroupPolicy field's value. +func (s *PutFirewallRuleGroupPolicyInput) SetFirewallRuleGroupPolicy(v string) *PutFirewallRuleGroupPolicyInput { + s.FirewallRuleGroupPolicy = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListResolverRuleAssociationsInput) SetNextToken(v string) *ListResolverRuleAssociationsInput { - s.NextToken = &v +type PutFirewallRuleGroupPolicyOutput struct { + _ struct{} `type:"structure"` + + ReturnValue *bool `type:"boolean"` +} + +// String returns the string representation +func (s PutFirewallRuleGroupPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutFirewallRuleGroupPolicyOutput) GoString() string { + return s.String() +} + +// SetReturnValue sets the ReturnValue field's value. +func (s *PutFirewallRuleGroupPolicyOutput) SetReturnValue(v bool) *PutFirewallRuleGroupPolicyOutput { + s.ReturnValue = &v return s } -type ListResolverRuleAssociationsOutput struct { +type PutResolverQueryLogConfigPolicyInput struct { _ struct{} `type:"structure"` - // The value that you specified for MaxResults in the request. - MaxResults *int64 `min:"1" type:"integer"` + // The Amazon Resource Name (ARN) of the account that you want to share rules + // with. + // + // Arn is a required field + Arn *string `min:"1" type:"string" required:"true"` - // If more than MaxResults rule associations match the specified criteria, you - // can submit another ListResolverRuleAssociation request to get the next group - // of results. In the next request, specify the value of NextToken from the - // previous response. - NextToken *string `type:"string"` + // An AWS Identity and Access Management policy statement that lists the query + // logging configurations that you want to share with another AWS account and + // the operations that you want the account to be able to perform. You can specify + // the following operations in the Actions section of the statement: + // + // * route53resolver:AssociateResolverQueryLogConfig + // + // * route53resolver:DisassociateResolverQueryLogConfig + // + // * route53resolver:ListResolverQueryLogConfigAssociations + // + // * route53resolver:ListResolverQueryLogConfigs + // + // In the Resource section of the statement, you specify the ARNs for the query + // logging configurations that you want to share with the account that you specified + // in Arn. + // + // ResolverQueryLogConfigPolicy is a required field + ResolverQueryLogConfigPolicy *string `type:"string" required:"true"` +} - // The associations that were created between Resolver rules and VPCs using - // the current AWS account, and that match the specified filters, if any. - ResolverRuleAssociations []*ResolverRuleAssociation `type:"list"` +// String returns the string representation +func (s PutResolverQueryLogConfigPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResolverQueryLogConfigPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutResolverQueryLogConfigPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutResolverQueryLogConfigPolicyInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + if s.ResolverQueryLogConfigPolicy == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigPolicy")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *PutResolverQueryLogConfigPolicyInput) SetArn(v string) *PutResolverQueryLogConfigPolicyInput { + s.Arn = &v + return s +} + +// SetResolverQueryLogConfigPolicy sets the ResolverQueryLogConfigPolicy field's value. +func (s *PutResolverQueryLogConfigPolicyInput) SetResolverQueryLogConfigPolicy(v string) *PutResolverQueryLogConfigPolicyInput { + s.ResolverQueryLogConfigPolicy = &v + return s +} + +// The response to a PutResolverQueryLogConfigPolicy request. +type PutResolverQueryLogConfigPolicyOutput struct { + _ struct{} `type:"structure"` + + // Whether the PutResolverQueryLogConfigPolicy request was successful. + ReturnValue *bool `type:"boolean"` } // String returns the string representation -func (s ListResolverRuleAssociationsOutput) String() string { +func (s PutResolverQueryLogConfigPolicyOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverRuleAssociationsOutput) GoString() string { +func (s PutResolverQueryLogConfigPolicyOutput) GoString() string { return s.String() } -// SetMaxResults sets the MaxResults field's value. -func (s *ListResolverRuleAssociationsOutput) SetMaxResults(v int64) *ListResolverRuleAssociationsOutput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListResolverRuleAssociationsOutput) SetNextToken(v string) *ListResolverRuleAssociationsOutput { - s.NextToken = &v - return s -} - -// SetResolverRuleAssociations sets the ResolverRuleAssociations field's value. -func (s *ListResolverRuleAssociationsOutput) SetResolverRuleAssociations(v []*ResolverRuleAssociation) *ListResolverRuleAssociationsOutput { - s.ResolverRuleAssociations = v +// SetReturnValue sets the ReturnValue field's value. +func (s *PutResolverQueryLogConfigPolicyOutput) SetReturnValue(v bool) *PutResolverQueryLogConfigPolicyOutput { + s.ReturnValue = &v return s } -type ListResolverRulesInput struct { +type PutResolverRulePolicyInput struct { _ struct{} `type:"structure"` - // An optional specification to return a subset of Resolver rules, such as all - // Resolver rules that are associated with the same Resolver endpoint. + // The Amazon Resource Name (ARN) of the rule that you want to share with another + // account. // - // If you submit a second or subsequent ListResolverRules request and specify - // the NextToken parameter, you must use the same values for Filters, if any, - // as in the previous request. - Filters []*Filter `type:"list"` - - // The maximum number of Resolver rules that you want to return in the response - // to a ListResolverRules request. If you don't specify a value for MaxResults, - // Resolver returns up to 100 Resolver rules. - MaxResults *int64 `min:"1" type:"integer"` + // Arn is a required field + Arn *string `min:"1" type:"string" required:"true"` - // For the first ListResolverRules request, omit this value. + // An AWS Identity and Access Management policy statement that lists the rules + // that you want to share with another AWS account and the operations that you + // want the account to be able to perform. You can specify the following operations + // in the Action section of the statement: // - // If you have more than MaxResults Resolver rules, you can submit another ListResolverRules - // request to get the next group of Resolver rules. In the next request, specify - // the value of NextToken from the previous response. - NextToken *string `type:"string"` + // * route53resolver:GetResolverRule + // + // * route53resolver:AssociateResolverRule + // + // * route53resolver:DisassociateResolverRule + // + // * route53resolver:ListResolverRules + // + // * route53resolver:ListResolverRuleAssociations + // + // In the Resource section of the statement, specify the ARN for the rule that + // you want to share with another account. Specify the same ARN that you specified + // in Arn. + // + // ResolverRulePolicy is a required field + ResolverRulePolicy *string `type:"string" required:"true"` } // String returns the string representation -func (s ListResolverRulesInput) String() string { +func (s PutResolverRulePolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverRulesInput) GoString() string { +func (s PutResolverRulePolicyInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListResolverRulesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListResolverRulesInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *PutResolverRulePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutResolverRulePolicyInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } - if s.Filters != nil { - for i, v := range s.Filters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) - } - } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + if s.ResolverRulePolicy == nil { + invalidParams.Add(request.NewErrParamRequired("ResolverRulePolicy")) } if invalidParams.Len() > 0 { @@ -7347,1132 +13187,1194 @@ func (s *ListResolverRulesInput) Validate() error { return nil } -// SetFilters sets the Filters field's value. -func (s *ListResolverRulesInput) SetFilters(v []*Filter) *ListResolverRulesInput { - s.Filters = v +// SetArn sets the Arn field's value. +func (s *PutResolverRulePolicyInput) SetArn(v string) *PutResolverRulePolicyInput { + s.Arn = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListResolverRulesInput) SetMaxResults(v int64) *ListResolverRulesInput { - s.MaxResults = &v +// SetResolverRulePolicy sets the ResolverRulePolicy field's value. +func (s *PutResolverRulePolicyInput) SetResolverRulePolicy(v string) *PutResolverRulePolicyInput { + s.ResolverRulePolicy = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListResolverRulesInput) SetNextToken(v string) *ListResolverRulesInput { - s.NextToken = &v +// The response to a PutResolverRulePolicy request. +type PutResolverRulePolicyOutput struct { + _ struct{} `type:"structure"` + + // Whether the PutResolverRulePolicy request was successful. + ReturnValue *bool `type:"boolean"` +} + +// String returns the string representation +func (s PutResolverRulePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResolverRulePolicyOutput) GoString() string { + return s.String() +} + +// SetReturnValue sets the ReturnValue field's value. +func (s *PutResolverRulePolicyOutput) SetReturnValue(v bool) *PutResolverRulePolicyOutput { + s.ReturnValue = &v return s } -type ListResolverRulesOutput struct { +// A complex type that contains information about a configuration for DNSSEC +// validation. +type ResolverDnssecConfig struct { _ struct{} `type:"structure"` - // The value that you specified for MaxResults in the request. - MaxResults *int64 `min:"1" type:"integer"` + // The ID for a configuration for DNSSEC validation. + Id *string `min:"1" type:"string"` - // If more than MaxResults Resolver rules match the specified criteria, you - // can submit another ListResolverRules request to get the next group of results. - // In the next request, specify the value of NextToken from the previous response. - NextToken *string `type:"string"` + // The owner account ID of the virtual private cloud (VPC) for a configuration + // for DNSSEC validation. + OwnerId *string `min:"12" type:"string"` - // The Resolver rules that were created using the current AWS account and that - // match the specified filters, if any. - ResolverRules []*ResolverRule `type:"list"` + // The ID of the virtual private cloud (VPC) that you're configuring the DNSSEC + // validation status for. + ResourceId *string `min:"1" type:"string"` + + // The validation status for a DNSSEC configuration. The status can be one of + // the following: + // + // * ENABLING: DNSSEC validation is being enabled but is not complete. + // + // * ENABLED: DNSSEC validation is enabled. + // + // * DISABLING: DNSSEC validation is being disabled but is not complete. + // + // * DISABLED DNSSEC validation is disabled. + ValidationStatus *string `type:"string" enum:"ResolverDNSSECValidationStatus"` } // String returns the string representation -func (s ListResolverRulesOutput) String() string { +func (s ResolverDnssecConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListResolverRulesOutput) GoString() string { +func (s ResolverDnssecConfig) GoString() string { return s.String() } -// SetMaxResults sets the MaxResults field's value. -func (s *ListResolverRulesOutput) SetMaxResults(v int64) *ListResolverRulesOutput { - s.MaxResults = &v +// SetId sets the Id field's value. +func (s *ResolverDnssecConfig) SetId(v string) *ResolverDnssecConfig { + s.Id = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListResolverRulesOutput) SetNextToken(v string) *ListResolverRulesOutput { - s.NextToken = &v +// SetOwnerId sets the OwnerId field's value. +func (s *ResolverDnssecConfig) SetOwnerId(v string) *ResolverDnssecConfig { + s.OwnerId = &v return s } -// SetResolverRules sets the ResolverRules field's value. -func (s *ListResolverRulesOutput) SetResolverRules(v []*ResolverRule) *ListResolverRulesOutput { - s.ResolverRules = v +// SetResourceId sets the ResourceId field's value. +func (s *ResolverDnssecConfig) SetResourceId(v string) *ResolverDnssecConfig { + s.ResourceId = &v return s } -type ListTagsForResourceInput struct { +// SetValidationStatus sets the ValidationStatus field's value. +func (s *ResolverDnssecConfig) SetValidationStatus(v string) *ResolverDnssecConfig { + s.ValidationStatus = &v + return s +} + +// In the response to a CreateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html), +// DeleteResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverEndpoint.html), +// GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html), +// ListResolverEndpoints (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html), +// or UpdateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverEndpoint.html) +// request, a complex type that contains settings for an existing inbound or +// outbound Resolver endpoint. +type ResolverEndpoint struct { _ struct{} `type:"structure"` - // The maximum number of tags that you want to return in the response to a ListTagsForResource - // request. If you don't specify a value for MaxResults, Resolver returns up - // to 100 tags. - MaxResults *int64 `min:"1" type:"integer"` + // The ARN (Amazon Resource Name) for the Resolver endpoint. + Arn *string `min:"1" type:"string"` - // For the first ListTagsForResource request, omit this value. + // The date and time that the endpoint was created, in Unix time format and + // Coordinated Universal Time (UTC). + CreationTime *string `min:"20" type:"string"` + + // A unique string that identifies the request that created the Resolver endpoint. + // The CreatorRequestId allows failed requests to be retried without the risk + // of executing the operation twice. + CreatorRequestId *string `min:"1" type:"string"` + + // Indicates whether the Resolver endpoint allows inbound or outbound DNS queries: + // + // * INBOUND: allows DNS queries to your VPC from your network + // + // * OUTBOUND: allows DNS queries from your VPC to your network + Direction *string `type:"string" enum:"ResolverEndpointDirection"` + + // The ID of the VPC that you want to create the Resolver endpoint in. + HostVPCId *string `min:"1" type:"string"` + + // The ID of the Resolver endpoint. + Id *string `min:"1" type:"string"` + + // The number of IP addresses that the Resolver endpoint can use for DNS queries. + IpAddressCount *int64 `type:"integer"` + + // The date and time that the endpoint was last modified, in Unix time format + // and Coordinated Universal Time (UTC). + ModificationTime *string `min:"20" type:"string"` + + // The name that you assigned to the Resolver endpoint when you submitted a + // CreateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html) + // request. + Name *string `type:"string"` + + // The ID of one or more security groups that control access to this VPC. The + // security group must include one or more inbound rules (for inbound endpoints) + // or outbound rules (for outbound endpoints). Inbound and outbound rules must + // allow TCP and UDP access. For inbound access, open port 53. For outbound + // access, open the port that you're using for DNS queries on your network. + SecurityGroupIds []*string `type:"list"` + + // A code that specifies the current status of the Resolver endpoint. Valid + // values include the following: + // + // * CREATING: Resolver is creating and configuring one or more Amazon VPC + // network interfaces for this endpoint. + // + // * OPERATIONAL: The Amazon VPC network interfaces for this endpoint are + // correctly configured and able to pass inbound or outbound DNS queries + // between your network and Resolver. // - // If you have more than MaxResults tags, you can submit another ListTagsForResource - // request to get the next group of tags for the resource. In the next request, - // specify the value of NextToken from the previous response. - NextToken *string `type:"string"` - - // The Amazon Resource Name (ARN) for the resource that you want to list tags - // for. + // * UPDATING: Resolver is associating or disassociating one or more network + // interfaces with this endpoint. // - // ResourceArn is a required field - ResourceArn *string `min:"1" type:"string" required:"true"` + // * AUTO_RECOVERING: Resolver is trying to recover one or more of the network + // interfaces that are associated with this endpoint. During the recovery + // process, the endpoint functions with limited capacity because of the limit + // on the number of DNS queries per IP address (per network interface). For + // the current limit, see Limits on Route 53 Resolver (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html#limits-api-entities-resolver). + // + // * ACTION_NEEDED: This endpoint is unhealthy, and Resolver can't automatically + // recover it. To resolve the problem, we recommend that you check each IP + // address that you associated with the endpoint. For each IP address that + // isn't available, add another IP address and then delete the IP address + // that isn't available. (An endpoint must always include at least two IP + // addresses.) A status of ACTION_NEEDED can have a variety of causes. Here + // are two common causes: One or more of the network interfaces that are + // associated with the endpoint were deleted using Amazon VPC. The network + // interface couldn't be created for some reason that's outside the control + // of Resolver. + // + // * DELETING: Resolver is deleting this endpoint and the associated network + // interfaces. + Status *string `type:"string" enum:"ResolverEndpointStatus"` + + // A detailed description of the status of the Resolver endpoint. + StatusMessage *string `type:"string"` } // String returns the string representation -func (s ListTagsForResourceInput) String() string { +func (s ResolverEndpoint) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListTagsForResourceInput) GoString() string { +func (s ResolverEndpoint) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListTagsForResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput { - s.MaxResults = &v +// SetArn sets the Arn field's value. +func (s *ResolverEndpoint) SetArn(v string) *ResolverEndpoint { + s.Arn = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { - s.NextToken = &v +// SetCreationTime sets the CreationTime field's value. +func (s *ResolverEndpoint) SetCreationTime(v string) *ResolverEndpoint { + s.CreationTime = &v return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { - s.ResourceArn = &v +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *ResolverEndpoint) SetCreatorRequestId(v string) *ResolverEndpoint { + s.CreatorRequestId = &v return s } -type ListTagsForResourceOutput struct { - _ struct{} `type:"structure"` - - // If more than MaxResults tags match the specified criteria, you can submit - // another ListTagsForResource request to get the next group of results. In - // the next request, specify the value of NextToken from the previous response. - NextToken *string `type:"string"` - - // The tags that are associated with the resource that you specified in the - // ListTagsForResource request. - Tags []*Tag `type:"list"` -} - -// String returns the string representation -func (s ListTagsForResourceOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListTagsForResourceOutput) GoString() string { - return s.String() +// SetDirection sets the Direction field's value. +func (s *ResolverEndpoint) SetDirection(v string) *ResolverEndpoint { + s.Direction = &v + return s } -// SetNextToken sets the NextToken field's value. -func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { - s.NextToken = &v +// SetHostVPCId sets the HostVPCId field's value. +func (s *ResolverEndpoint) SetHostVPCId(v string) *ResolverEndpoint { + s.HostVPCId = &v return s } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { - s.Tags = v +// SetId sets the Id field's value. +func (s *ResolverEndpoint) SetId(v string) *ResolverEndpoint { + s.Id = &v return s } -type PutResolverQueryLogConfigPolicyInput struct { - _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the account that you want to share rules - // with. - // - // Arn is a required field - Arn *string `min:"1" type:"string" required:"true"` - - // An AWS Identity and Access Management policy statement that lists the query - // logging configurations that you want to share with another AWS account and - // the operations that you want the account to be able to perform. You can specify - // the following operations in the Actions section of the statement: - // - // * route53resolver:AssociateResolverQueryLogConfig - // - // * route53resolver:DisassociateResolverQueryLogConfig - // - // * route53resolver:ListResolverQueryLogConfigAssociations - // - // * route53resolver:ListResolverQueryLogConfigs - // - // In the Resource section of the statement, you specify the ARNs for the query - // logging configurations that you want to share with the account that you specified - // in Arn. - // - // ResolverQueryLogConfigPolicy is a required field - ResolverQueryLogConfigPolicy *string `type:"string" required:"true"` +// SetIpAddressCount sets the IpAddressCount field's value. +func (s *ResolverEndpoint) SetIpAddressCount(v int64) *ResolverEndpoint { + s.IpAddressCount = &v + return s } -// String returns the string representation -func (s PutResolverQueryLogConfigPolicyInput) String() string { - return awsutil.Prettify(s) +// SetModificationTime sets the ModificationTime field's value. +func (s *ResolverEndpoint) SetModificationTime(v string) *ResolverEndpoint { + s.ModificationTime = &v + return s } -// GoString returns the string representation -func (s PutResolverQueryLogConfigPolicyInput) GoString() string { - return s.String() +// SetName sets the Name field's value. +func (s *ResolverEndpoint) SetName(v string) *ResolverEndpoint { + s.Name = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *PutResolverQueryLogConfigPolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PutResolverQueryLogConfigPolicyInput"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) - } - if s.Arn != nil && len(*s.Arn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) - } - if s.ResolverQueryLogConfigPolicy == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverQueryLogConfigPolicy")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *ResolverEndpoint) SetSecurityGroupIds(v []*string) *ResolverEndpoint { + s.SecurityGroupIds = v + return s } -// SetArn sets the Arn field's value. -func (s *PutResolverQueryLogConfigPolicyInput) SetArn(v string) *PutResolverQueryLogConfigPolicyInput { - s.Arn = &v +// SetStatus sets the Status field's value. +func (s *ResolverEndpoint) SetStatus(v string) *ResolverEndpoint { + s.Status = &v return s } -// SetResolverQueryLogConfigPolicy sets the ResolverQueryLogConfigPolicy field's value. -func (s *PutResolverQueryLogConfigPolicyInput) SetResolverQueryLogConfigPolicy(v string) *PutResolverQueryLogConfigPolicyInput { - s.ResolverQueryLogConfigPolicy = &v +// SetStatusMessage sets the StatusMessage field's value. +func (s *ResolverEndpoint) SetStatusMessage(v string) *ResolverEndpoint { + s.StatusMessage = &v return s } -// The response to a PutResolverQueryLogConfigPolicy request. -type PutResolverQueryLogConfigPolicyOutput struct { +// In the response to a CreateResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverQueryLogConfig.html), +// DeleteResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverQueryLogConfig.html), +// GetResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverQueryLogConfig.html), +// or ListResolverQueryLogConfigs (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigs.html) +// request, a complex type that contains settings for one query logging configuration. +type ResolverQueryLogConfig struct { _ struct{} `type:"structure"` - // Whether the PutResolverQueryLogConfigPolicy request was successful. - ReturnValue *bool `type:"boolean"` -} + // The ARN for the query logging configuration. + Arn *string `min:"1" type:"string"` -// String returns the string representation -func (s PutResolverQueryLogConfigPolicyOutput) String() string { - return awsutil.Prettify(s) -} + // The number of VPCs that are associated with the query logging configuration. + AssociationCount *int64 `type:"integer"` -// GoString returns the string representation -func (s PutResolverQueryLogConfigPolicyOutput) GoString() string { - return s.String() -} + // The date and time that the query logging configuration was created, in Unix + // time format and Coordinated Universal Time (UTC). + CreationTime *string `min:"20" type:"string"` -// SetReturnValue sets the ReturnValue field's value. -func (s *PutResolverQueryLogConfigPolicyOutput) SetReturnValue(v bool) *PutResolverQueryLogConfigPolicyOutput { - s.ReturnValue = &v - return s -} + // A unique string that identifies the request that created the query logging + // configuration. The CreatorRequestId allows failed requests to be retried + // without the risk of executing the operation twice. + CreatorRequestId *string `min:"1" type:"string"` -type PutResolverRulePolicyInput struct { - _ struct{} `type:"structure"` + // The ARN of the resource that you want Resolver to send query logs: an Amazon + // S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery + // stream. + DestinationArn *string `min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the rule that you want to share with another - // account. - // - // Arn is a required field - Arn *string `min:"1" type:"string" required:"true"` + // The ID for the query logging configuration. + Id *string `min:"1" type:"string"` - // An AWS Identity and Access Management policy statement that lists the rules - // that you want to share with another AWS account and the operations that you - // want the account to be able to perform. You can specify the following operations - // in the Action section of the statement: - // - // * route53resolver:GetResolverRule - // - // * route53resolver:AssociateResolverRule - // - // * route53resolver:DisassociateResolverRule + // The name of the query logging configuration. + Name *string `min:"1" type:"string"` + + // The AWS account ID for the account that created the query logging configuration. + OwnerId *string `min:"12" type:"string"` + + // An indication of whether the query logging configuration is shared with other + // AWS accounts, or was shared with the current account by another AWS account. + // Sharing is configured through AWS Resource Access Manager (AWS RAM). + ShareStatus *string `type:"string" enum:"ShareStatus"` + + // The status of the specified query logging configuration. Valid values include + // the following: // - // * route53resolver:ListResolverRules + // * CREATING: Resolver is creating the query logging configuration. // - // * route53resolver:ListResolverRuleAssociations + // * CREATED: The query logging configuration was successfully created. Resolver + // is logging queries that originate in the specified VPC. // - // In the Resource section of the statement, specify the ARN for the rule that - // you want to share with another account. Specify the same ARN that you specified - // in Arn. + // * DELETING: Resolver is deleting this query logging configuration. // - // ResolverRulePolicy is a required field - ResolverRulePolicy *string `type:"string" required:"true"` + // * FAILED: Resolver can't deliver logs to the location that is specified + // in the query logging configuration. Here are two common causes: The specified + // destination (for example, an Amazon S3 bucket) was deleted. Permissions + // don't allow sending logs to the destination. + Status *string `type:"string" enum:"ResolverQueryLogConfigStatus"` } // String returns the string representation -func (s PutResolverRulePolicyInput) String() string { +func (s ResolverQueryLogConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PutResolverRulePolicyInput) GoString() string { +func (s ResolverQueryLogConfig) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *PutResolverRulePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PutResolverRulePolicyInput"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) - } - if s.Arn != nil && len(*s.Arn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) - } - if s.ResolverRulePolicy == nil { - invalidParams.Add(request.NewErrParamRequired("ResolverRulePolicy")) - } +// SetArn sets the Arn field's value. +func (s *ResolverQueryLogConfig) SetArn(v string) *ResolverQueryLogConfig { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAssociationCount sets the AssociationCount field's value. +func (s *ResolverQueryLogConfig) SetAssociationCount(v int64) *ResolverQueryLogConfig { + s.AssociationCount = &v + return s } -// SetArn sets the Arn field's value. -func (s *PutResolverRulePolicyInput) SetArn(v string) *PutResolverRulePolicyInput { - s.Arn = &v +// SetCreationTime sets the CreationTime field's value. +func (s *ResolverQueryLogConfig) SetCreationTime(v string) *ResolverQueryLogConfig { + s.CreationTime = &v return s } -// SetResolverRulePolicy sets the ResolverRulePolicy field's value. -func (s *PutResolverRulePolicyInput) SetResolverRulePolicy(v string) *PutResolverRulePolicyInput { - s.ResolverRulePolicy = &v +// SetCreatorRequestId sets the CreatorRequestId field's value. +func (s *ResolverQueryLogConfig) SetCreatorRequestId(v string) *ResolverQueryLogConfig { + s.CreatorRequestId = &v return s } -// The response to a PutResolverRulePolicy request. -type PutResolverRulePolicyOutput struct { - _ struct{} `type:"structure"` +// SetDestinationArn sets the DestinationArn field's value. +func (s *ResolverQueryLogConfig) SetDestinationArn(v string) *ResolverQueryLogConfig { + s.DestinationArn = &v + return s +} - // Whether the PutResolverRulePolicy request was successful. - ReturnValue *bool `type:"boolean"` +// SetId sets the Id field's value. +func (s *ResolverQueryLogConfig) SetId(v string) *ResolverQueryLogConfig { + s.Id = &v + return s } -// String returns the string representation -func (s PutResolverRulePolicyOutput) String() string { - return awsutil.Prettify(s) +// SetName sets the Name field's value. +func (s *ResolverQueryLogConfig) SetName(v string) *ResolverQueryLogConfig { + s.Name = &v + return s } -// GoString returns the string representation -func (s PutResolverRulePolicyOutput) GoString() string { - return s.String() +// SetOwnerId sets the OwnerId field's value. +func (s *ResolverQueryLogConfig) SetOwnerId(v string) *ResolverQueryLogConfig { + s.OwnerId = &v + return s } -// SetReturnValue sets the ReturnValue field's value. -func (s *PutResolverRulePolicyOutput) SetReturnValue(v bool) *PutResolverRulePolicyOutput { - s.ReturnValue = &v +// SetShareStatus sets the ShareStatus field's value. +func (s *ResolverQueryLogConfig) SetShareStatus(v string) *ResolverQueryLogConfig { + s.ShareStatus = &v return s } -// A complex type that contains information about a configuration for DNSSEC -// validation. -type ResolverDnssecConfig struct { +// SetStatus sets the Status field's value. +func (s *ResolverQueryLogConfig) SetStatus(v string) *ResolverQueryLogConfig { + s.Status = &v + return s +} + +// In the response to an AssociateResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverQueryLogConfig.html), +// DisassociateResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverQueryLogConfig.html), +// GetResolverQueryLogConfigAssociation (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverQueryLogConfigAssociation.html), +// or ListResolverQueryLogConfigAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigAssociations.html), +// request, a complex type that contains settings for a specified association +// between an Amazon VPC and a query logging configuration. +type ResolverQueryLogConfigAssociation struct { _ struct{} `type:"structure"` - // The ID for a configuration for DNSSEC validation. + // The date and time that the VPC was associated with the query logging configuration, + // in Unix time format and Coordinated Universal Time (UTC). + CreationTime *string `min:"20" type:"string"` + + // If the value of Status is FAILED, the value of Error indicates the cause: + // + // * DESTINATION_NOT_FOUND: The specified destination (for example, an Amazon + // S3 bucket) was deleted. + // + // * ACCESS_DENIED: Permissions don't allow sending logs to the destination. + // + // If the value of Status is a value other than FAILED, Error is null. + Error *string `type:"string" enum:"ResolverQueryLogConfigAssociationError"` + + // Contains additional information about the error. If the value or Error is + // null, the value of ErrorMessage also is null. + ErrorMessage *string `type:"string"` + + // The ID of the query logging association. Id *string `min:"1" type:"string"` - // The owner account ID of the virtual private cloud (VPC) for a configuration - // for DNSSEC validation. - OwnerId *string `min:"12" type:"string"` + // The ID of the query logging configuration that a VPC is associated with. + ResolverQueryLogConfigId *string `min:"1" type:"string"` - // The ID of the virtual private cloud (VPC) that you're configuring the DNSSEC - // validation status for. + // The ID of the Amazon VPC that is associated with the query logging configuration. ResourceId *string `min:"1" type:"string"` - // The validation status for a DNSSEC configuration. The status can be one of + // The status of the specified query logging association. Valid values include // the following: // - // * ENABLING: DNSSEC validation is being enabled but is not complete. + // * CREATING: Resolver is creating an association between an Amazon VPC + // and a query logging configuration. // - // * ENABLED: DNSSEC validation is enabled. + // * CREATED: The association between an Amazon VPC and a query logging configuration + // was successfully created. Resolver is logging queries that originate in + // the specified VPC. // - // * DISABLING: DNSSEC validation is being disabled but is not complete. + // * DELETING: Resolver is deleting this query logging association. // - // * DISABLED DNSSEC validation is disabled. - ValidationStatus *string `type:"string" enum:"ResolverDNSSECValidationStatus"` + // * FAILED: Resolver either couldn't create or couldn't delete the query + // logging association. + Status *string `type:"string" enum:"ResolverQueryLogConfigAssociationStatus"` } // String returns the string representation -func (s ResolverDnssecConfig) String() string { +func (s ResolverQueryLogConfigAssociation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResolverDnssecConfig) GoString() string { +func (s ResolverQueryLogConfigAssociation) GoString() string { return s.String() } +// SetCreationTime sets the CreationTime field's value. +func (s *ResolverQueryLogConfigAssociation) SetCreationTime(v string) *ResolverQueryLogConfigAssociation { + s.CreationTime = &v + return s +} + +// SetError sets the Error field's value. +func (s *ResolverQueryLogConfigAssociation) SetError(v string) *ResolverQueryLogConfigAssociation { + s.Error = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *ResolverQueryLogConfigAssociation) SetErrorMessage(v string) *ResolverQueryLogConfigAssociation { + s.ErrorMessage = &v + return s +} + // SetId sets the Id field's value. -func (s *ResolverDnssecConfig) SetId(v string) *ResolverDnssecConfig { +func (s *ResolverQueryLogConfigAssociation) SetId(v string) *ResolverQueryLogConfigAssociation { s.Id = &v return s } -// SetOwnerId sets the OwnerId field's value. -func (s *ResolverDnssecConfig) SetOwnerId(v string) *ResolverDnssecConfig { - s.OwnerId = &v +// SetResolverQueryLogConfigId sets the ResolverQueryLogConfigId field's value. +func (s *ResolverQueryLogConfigAssociation) SetResolverQueryLogConfigId(v string) *ResolverQueryLogConfigAssociation { + s.ResolverQueryLogConfigId = &v return s } // SetResourceId sets the ResourceId field's value. -func (s *ResolverDnssecConfig) SetResourceId(v string) *ResolverDnssecConfig { +func (s *ResolverQueryLogConfigAssociation) SetResourceId(v string) *ResolverQueryLogConfigAssociation { s.ResourceId = &v return s } -// SetValidationStatus sets the ValidationStatus field's value. -func (s *ResolverDnssecConfig) SetValidationStatus(v string) *ResolverDnssecConfig { - s.ValidationStatus = &v +// SetStatus sets the Status field's value. +func (s *ResolverQueryLogConfigAssociation) SetStatus(v string) *ResolverQueryLogConfigAssociation { + s.Status = &v return s } -// In the response to a CreateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html), -// DeleteResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverEndpoint.html), -// GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html), -// ListResolverEndpoints (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html), -// or UpdateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverEndpoint.html) -// request, a complex type that contains settings for an existing inbound or -// outbound Resolver endpoint. -type ResolverEndpoint struct { +// For queries that originate in your VPC, detailed information about a Resolver +// rule, which specifies how to route DNS queries out of the VPC. The ResolverRule +// parameter appears in the response to a CreateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html), +// DeleteResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverRule.html), +// GetResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html), +// ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html), +// or UpdateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverRule.html) +// request. +type ResolverRule struct { _ struct{} `type:"structure"` - // The ARN (Amazon Resource Name) for the Resolver endpoint. + // The ARN (Amazon Resource Name) for the Resolver rule specified by Id. Arn *string `min:"1" type:"string"` - // The date and time that the endpoint was created, in Unix time format and - // Coordinated Universal Time (UTC). + // The date and time that the Resolver rule was created, in Unix time format + // and Coordinated Universal Time (UTC). CreationTime *string `min:"20" type:"string"` - // A unique string that identifies the request that created the Resolver endpoint. - // The CreatorRequestId allows failed requests to be retried without the risk - // of executing the operation twice. + // A unique string that you specified when you created the Resolver rule. CreatorRequestId + // identifies the request and allows failed requests to be retried without the + // risk of executing the operation twice. CreatorRequestId *string `min:"1" type:"string"` - // Indicates whether the Resolver endpoint allows inbound or outbound DNS queries: - // - // * INBOUND: allows DNS queries to your VPC from your network - // - // * OUTBOUND: allows DNS queries from your VPC to your network - Direction *string `type:"string" enum:"ResolverEndpointDirection"` - - // The ID of the VPC that you want to create the Resolver endpoint in. - HostVPCId *string `min:"1" type:"string"` + // DNS queries for this domain name are forwarded to the IP addresses that are + // specified in TargetIps. If a query matches multiple Resolver rules (example.com + // and www.example.com), the query is routed using the Resolver rule that contains + // the most specific domain name (www.example.com). + DomainName *string `min:"1" type:"string"` - // The ID of the Resolver endpoint. + // The ID that Resolver assigned to the Resolver rule when you created it. Id *string `min:"1" type:"string"` - // The number of IP addresses that the Resolver endpoint can use for DNS queries. - IpAddressCount *int64 `type:"integer"` - - // The date and time that the endpoint was last modified, in Unix time format + // The date and time that the Resolver rule was last updated, in Unix time format // and Coordinated Universal Time (UTC). ModificationTime *string `min:"20" type:"string"` - // The name that you assigned to the Resolver endpoint when you submitted a - // CreateResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverEndpoint.html) - // request. + // The name for the Resolver rule, which you specified when you created the + // Resolver rule. Name *string `type:"string"` - // The ID of one or more security groups that control access to this VPC. The - // security group must include one or more inbound rules (for inbound endpoints) - // or outbound rules (for outbound endpoints). Inbound and outbound rules must - // allow TCP and UDP access. For inbound access, open port 53. For outbound - // access, open the port that you're using for DNS queries on your network. - SecurityGroupIds []*string `type:"list"` + // When a rule is shared with another AWS account, the account ID of the account + // that the rule is shared with. + OwnerId *string `min:"12" type:"string"` - // A code that specifies the current status of the Resolver endpoint. Valid - // values include the following: - // - // * CREATING: Resolver is creating and configuring one or more Amazon VPC - // network interfaces for this endpoint. - // - // * OPERATIONAL: The Amazon VPC network interfaces for this endpoint are - // correctly configured and able to pass inbound or outbound DNS queries - // between your network and Resolver. - // - // * UPDATING: Resolver is associating or disassociating one or more network - // interfaces with this endpoint. + // The ID of the endpoint that the rule is associated with. + ResolverEndpointId *string `min:"1" type:"string"` + + // When you want to forward DNS queries for specified domain name to resolvers + // on your network, specify FORWARD. // - // * AUTO_RECOVERING: Resolver is trying to recover one or more of the network - // interfaces that are associated with this endpoint. During the recovery - // process, the endpoint functions with limited capacity because of the limit - // on the number of DNS queries per IP address (per network interface). For - // the current limit, see Limits on Route 53 Resolver (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DNSLimitations.html#limits-api-entities-resolver). + // When you have a forwarding rule to forward DNS queries for a domain to your + // network and you want Resolver to process queries for a subdomain of that + // domain, specify SYSTEM. // - // * ACTION_NEEDED: This endpoint is unhealthy, and Resolver can't automatically - // recover it. To resolve the problem, we recommend that you check each IP - // address that you associated with the endpoint. For each IP address that - // isn't available, add another IP address and then delete the IP address - // that isn't available. (An endpoint must always include at least two IP - // addresses.) A status of ACTION_NEEDED can have a variety of causes. Here - // are two common causes: One or more of the network interfaces that are - // associated with the endpoint were deleted using Amazon VPC. The network - // interface couldn't be created for some reason that's outside the control - // of Resolver. + // For example, to forward DNS queries for example.com to resolvers on your + // network, you create a rule and specify FORWARD for RuleType. To then have + // Resolver process queries for apex.example.com, you create a rule and specify + // SYSTEM for RuleType. // - // * DELETING: Resolver is deleting this endpoint and the associated network - // interfaces. - Status *string `type:"string" enum:"ResolverEndpointStatus"` + // Currently, only Resolver can create rules that have a value of RECURSIVE + // for RuleType. + RuleType *string `type:"string" enum:"RuleTypeOption"` - // A detailed description of the status of the Resolver endpoint. + // Whether the rules is shared and, if so, whether the current account is sharing + // the rule with another account, or another account is sharing the rule with + // the current account. + ShareStatus *string `type:"string" enum:"ShareStatus"` + + // A code that specifies the current status of the Resolver rule. + Status *string `type:"string" enum:"ResolverRuleStatus"` + + // A detailed description of the status of a Resolver rule. StatusMessage *string `type:"string"` + + // An array that contains the IP addresses and ports that an outbound endpoint + // forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers + // on your network. Specify IPv4 addresses. IPv6 is not supported. + TargetIps []*TargetAddress `min:"1" type:"list"` } // String returns the string representation -func (s ResolverEndpoint) String() string { +func (s ResolverRule) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResolverEndpoint) GoString() string { +func (s ResolverRule) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *ResolverEndpoint) SetArn(v string) *ResolverEndpoint { +func (s *ResolverRule) SetArn(v string) *ResolverRule { s.Arn = &v return s } // SetCreationTime sets the CreationTime field's value. -func (s *ResolverEndpoint) SetCreationTime(v string) *ResolverEndpoint { +func (s *ResolverRule) SetCreationTime(v string) *ResolverRule { s.CreationTime = &v return s } // SetCreatorRequestId sets the CreatorRequestId field's value. -func (s *ResolverEndpoint) SetCreatorRequestId(v string) *ResolverEndpoint { +func (s *ResolverRule) SetCreatorRequestId(v string) *ResolverRule { s.CreatorRequestId = &v return s } -// SetDirection sets the Direction field's value. -func (s *ResolverEndpoint) SetDirection(v string) *ResolverEndpoint { - s.Direction = &v - return s -} - -// SetHostVPCId sets the HostVPCId field's value. -func (s *ResolverEndpoint) SetHostVPCId(v string) *ResolverEndpoint { - s.HostVPCId = &v +// SetDomainName sets the DomainName field's value. +func (s *ResolverRule) SetDomainName(v string) *ResolverRule { + s.DomainName = &v return s } // SetId sets the Id field's value. -func (s *ResolverEndpoint) SetId(v string) *ResolverEndpoint { +func (s *ResolverRule) SetId(v string) *ResolverRule { s.Id = &v return s } -// SetIpAddressCount sets the IpAddressCount field's value. -func (s *ResolverEndpoint) SetIpAddressCount(v int64) *ResolverEndpoint { - s.IpAddressCount = &v - return s -} - // SetModificationTime sets the ModificationTime field's value. -func (s *ResolverEndpoint) SetModificationTime(v string) *ResolverEndpoint { +func (s *ResolverRule) SetModificationTime(v string) *ResolverRule { s.ModificationTime = &v return s } // SetName sets the Name field's value. -func (s *ResolverEndpoint) SetName(v string) *ResolverEndpoint { +func (s *ResolverRule) SetName(v string) *ResolverRule { s.Name = &v return s } -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *ResolverEndpoint) SetSecurityGroupIds(v []*string) *ResolverEndpoint { - s.SecurityGroupIds = v +// SetOwnerId sets the OwnerId field's value. +func (s *ResolverRule) SetOwnerId(v string) *ResolverRule { + s.OwnerId = &v + return s +} + +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *ResolverRule) SetResolverEndpointId(v string) *ResolverRule { + s.ResolverEndpointId = &v + return s +} + +// SetRuleType sets the RuleType field's value. +func (s *ResolverRule) SetRuleType(v string) *ResolverRule { + s.RuleType = &v + return s +} + +// SetShareStatus sets the ShareStatus field's value. +func (s *ResolverRule) SetShareStatus(v string) *ResolverRule { + s.ShareStatus = &v return s } // SetStatus sets the Status field's value. -func (s *ResolverEndpoint) SetStatus(v string) *ResolverEndpoint { +func (s *ResolverRule) SetStatus(v string) *ResolverRule { s.Status = &v return s } // SetStatusMessage sets the StatusMessage field's value. -func (s *ResolverEndpoint) SetStatusMessage(v string) *ResolverEndpoint { +func (s *ResolverRule) SetStatusMessage(v string) *ResolverRule { s.StatusMessage = &v return s } -// In the response to a CreateResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverQueryLogConfig.html), -// DeleteResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverQueryLogConfig.html), -// GetResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverQueryLogConfig.html), -// or ListResolverQueryLogConfigs (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigs.html) -// request, a complex type that contains settings for one query logging configuration. -type ResolverQueryLogConfig struct { - _ struct{} `type:"structure"` - - // The ARN for the query logging configuration. - Arn *string `min:"1" type:"string"` - - // The number of VPCs that are associated with the query logging configuration. - AssociationCount *int64 `type:"integer"` - - // The date and time that the query logging configuration was created, in Unix - // time format and Coordinated Universal Time (UTC). - CreationTime *string `min:"20" type:"string"` - - // A unique string that identifies the request that created the query logging - // configuration. The CreatorRequestId allows failed requests to be retried - // without the risk of executing the operation twice. - CreatorRequestId *string `min:"1" type:"string"` +// SetTargetIps sets the TargetIps field's value. +func (s *ResolverRule) SetTargetIps(v []*TargetAddress) *ResolverRule { + s.TargetIps = v + return s +} - // The ARN of the resource that you want Resolver to send query logs: an Amazon - // S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery - // stream. - DestinationArn *string `min:"1" type:"string"` +// In the response to an AssociateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html), +// DisassociateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html), +// or ListResolverRuleAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) +// request, provides information about an association between a Resolver rule +// and a VPC. The association determines which DNS queries that originate in +// the VPC are forwarded to your network. +type ResolverRuleAssociation struct { + _ struct{} `type:"structure"` - // The ID for the query logging configuration. + // The ID of the association between a Resolver rule and a VPC. Resolver assigns + // this value when you submit an AssociateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html) + // request. Id *string `min:"1" type:"string"` - // The name of the query logging configuration. - Name *string `min:"1" type:"string"` + // The name of an association between a Resolver rule and a VPC. + Name *string `type:"string"` - // The AWS account ID for the account that created the query logging configuration. - OwnerId *string `min:"12" type:"string"` + // The ID of the Resolver rule that you associated with the VPC that is specified + // by VPCId. + ResolverRuleId *string `min:"1" type:"string"` - // An indication of whether the query logging configuration is shared with other - // AWS accounts, or was shared with the current account by another AWS account. - // Sharing is configured through AWS Resource Access Manager (AWS RAM). - ShareStatus *string `type:"string" enum:"ShareStatus"` + // A code that specifies the current status of the association between a Resolver + // rule and a VPC. + Status *string `type:"string" enum:"ResolverRuleAssociationStatus"` - // The status of the specified query logging configuration. Valid values include - // the following: - // - // * CREATING: Resolver is creating the query logging configuration. - // - // * CREATED: The query logging configuration was successfully created. Resolver - // is logging queries that originate in the specified VPC. - // - // * DELETING: Resolver is deleting this query logging configuration. - // - // * FAILED: Resolver can't deliver logs to the location that is specified - // in the query logging configuration. Here are two common causes: The specified - // destination (for example, an Amazon S3 bucket) was deleted. Permissions - // don't allow sending logs to the destination. - Status *string `type:"string" enum:"ResolverQueryLogConfigStatus"` + // A detailed description of the status of the association between a Resolver + // rule and a VPC. + StatusMessage *string `type:"string"` + + // The ID of the VPC that you associated the Resolver rule with. + VPCId *string `min:"1" type:"string"` } // String returns the string representation -func (s ResolverQueryLogConfig) String() string { +func (s ResolverRuleAssociation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResolverQueryLogConfig) GoString() string { +func (s ResolverRuleAssociation) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ResolverQueryLogConfig) SetArn(v string) *ResolverQueryLogConfig { - s.Arn = &v +// SetId sets the Id field's value. +func (s *ResolverRuleAssociation) SetId(v string) *ResolverRuleAssociation { + s.Id = &v return s } -// SetAssociationCount sets the AssociationCount field's value. -func (s *ResolverQueryLogConfig) SetAssociationCount(v int64) *ResolverQueryLogConfig { - s.AssociationCount = &v +// SetName sets the Name field's value. +func (s *ResolverRuleAssociation) SetName(v string) *ResolverRuleAssociation { + s.Name = &v + return s +} + +// SetResolverRuleId sets the ResolverRuleId field's value. +func (s *ResolverRuleAssociation) SetResolverRuleId(v string) *ResolverRuleAssociation { + s.ResolverRuleId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResolverRuleAssociation) SetStatus(v string) *ResolverRuleAssociation { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *ResolverRuleAssociation) SetStatusMessage(v string) *ResolverRuleAssociation { + s.StatusMessage = &v + return s +} + +// SetVPCId sets the VPCId field's value. +func (s *ResolverRuleAssociation) SetVPCId(v string) *ResolverRuleAssociation { + s.VPCId = &v return s } -// SetCreationTime sets the CreationTime field's value. -func (s *ResolverQueryLogConfig) SetCreationTime(v string) *ResolverQueryLogConfig { - s.CreationTime = &v - return s +// In an UpdateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverRule.html) +// request, information about the changes that you want to make. +type ResolverRuleConfig struct { + _ struct{} `type:"structure"` + + // The new name for the Resolver rule. The name that you specify appears in + // the Resolver dashboard in the Route 53 console. + Name *string `type:"string"` + + // The ID of the new outbound Resolver endpoint that you want to use to route + // DNS queries to the IP addresses that you specify in TargetIps. + ResolverEndpointId *string `min:"1" type:"string"` + + // For DNS queries that originate in your VPC, the new IP addresses that you + // want to route outbound DNS queries to. + TargetIps []*TargetAddress `min:"1" type:"list"` } -// SetCreatorRequestId sets the CreatorRequestId field's value. -func (s *ResolverQueryLogConfig) SetCreatorRequestId(v string) *ResolverQueryLogConfig { - s.CreatorRequestId = &v - return s +// String returns the string representation +func (s ResolverRuleConfig) String() string { + return awsutil.Prettify(s) } -// SetDestinationArn sets the DestinationArn field's value. -func (s *ResolverQueryLogConfig) SetDestinationArn(v string) *ResolverQueryLogConfig { - s.DestinationArn = &v - return s +// GoString returns the string representation +func (s ResolverRuleConfig) GoString() string { + return s.String() } -// SetId sets the Id field's value. -func (s *ResolverQueryLogConfig) SetId(v string) *ResolverQueryLogConfig { - s.Id = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResolverRuleConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResolverRuleConfig"} + if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) + } + if s.TargetIps != nil && len(s.TargetIps) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetIps", 1)) + } + if s.TargetIps != nil { + for i, v := range s.TargetIps { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetIps", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } // SetName sets the Name field's value. -func (s *ResolverQueryLogConfig) SetName(v string) *ResolverQueryLogConfig { +func (s *ResolverRuleConfig) SetName(v string) *ResolverRuleConfig { s.Name = &v return s } -// SetOwnerId sets the OwnerId field's value. -func (s *ResolverQueryLogConfig) SetOwnerId(v string) *ResolverQueryLogConfig { - s.OwnerId = &v - return s -} - -// SetShareStatus sets the ShareStatus field's value. -func (s *ResolverQueryLogConfig) SetShareStatus(v string) *ResolverQueryLogConfig { - s.ShareStatus = &v +// SetResolverEndpointId sets the ResolverEndpointId field's value. +func (s *ResolverRuleConfig) SetResolverEndpointId(v string) *ResolverRuleConfig { + s.ResolverEndpointId = &v return s } -// SetStatus sets the Status field's value. -func (s *ResolverQueryLogConfig) SetStatus(v string) *ResolverQueryLogConfig { - s.Status = &v +// SetTargetIps sets the TargetIps field's value. +func (s *ResolverRuleConfig) SetTargetIps(v []*TargetAddress) *ResolverRuleConfig { + s.TargetIps = v return s } -// In the response to an AssociateResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverQueryLogConfig.html), -// DisassociateResolverQueryLogConfig (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverQueryLogConfig.html), -// GetResolverQueryLogConfigAssociation (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverQueryLogConfigAssociation.html), -// or ListResolverQueryLogConfigAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverQueryLogConfigAssociations.html), -// request, a complex type that contains settings for a specified association -// between an Amazon VPC and a query logging configuration. -type ResolverQueryLogConfigAssociation struct { - _ struct{} `type:"structure"` - - // The date and time that the VPC was associated with the query logging configuration, - // in Unix time format and Coordinated Universal Time (UTC). - CreationTime *string `min:"20" type:"string"` - - // If the value of Status is FAILED, the value of Error indicates the cause: - // - // * DESTINATION_NOT_FOUND: The specified destination (for example, an Amazon - // S3 bucket) was deleted. - // - // * ACCESS_DENIED: Permissions don't allow sending logs to the destination. - // - // If the value of Status is a value other than FAILED, Error is null. - Error *string `type:"string" enum:"ResolverQueryLogConfigAssociationError"` - - // Contains additional information about the error. If the value or Error is - // null, the value of ErrorMessage also is null. - ErrorMessage *string `type:"string"` - - // The ID of the query logging association. - Id *string `min:"1" type:"string"` - - // The ID of the query logging configuration that a VPC is associated with. - ResolverQueryLogConfigId *string `min:"1" type:"string"` +// The resource that you tried to create already exists. +type ResourceExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The ID of the Amazon VPC that is associated with the query logging configuration. - ResourceId *string `min:"1" type:"string"` + Message_ *string `locationName:"Message" type:"string"` - // The status of the specified query logging association. Valid values include - // the following: - // - // * CREATING: Resolver is creating an association between an Amazon VPC - // and a query logging configuration. - // - // * CREATED: The association between an Amazon VPC and a query logging configuration - // was successfully created. Resolver is logging queries that originate in - // the specified VPC. - // - // * DELETING: Resolver is deleting this query logging association. - // - // * FAILED: Resolver either couldn't create or couldn't delete the query - // logging association. - Status *string `type:"string" enum:"ResolverQueryLogConfigAssociationStatus"` + // For a ResourceExistsException error, the type of resource that the error + // applies to. + ResourceType *string `type:"string"` } // String returns the string representation -func (s ResolverQueryLogConfigAssociation) String() string { +func (s ResourceExistsException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResolverQueryLogConfigAssociation) GoString() string { +func (s ResourceExistsException) GoString() string { return s.String() } -// SetCreationTime sets the CreationTime field's value. -func (s *ResolverQueryLogConfigAssociation) SetCreationTime(v string) *ResolverQueryLogConfigAssociation { - s.CreationTime = &v - return s +func newErrorResourceExistsException(v protocol.ResponseMetadata) error { + return &ResourceExistsException{ + RespMetadata: v, + } } -// SetError sets the Error field's value. -func (s *ResolverQueryLogConfigAssociation) SetError(v string) *ResolverQueryLogConfigAssociation { - s.Error = &v - return s +// Code returns the exception type name. +func (s *ResourceExistsException) Code() string { + return "ResourceExistsException" } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *ResolverQueryLogConfigAssociation) SetErrorMessage(v string) *ResolverQueryLogConfigAssociation { - s.ErrorMessage = &v - return s +// Message returns the exception's message. +func (s *ResourceExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetId sets the Id field's value. -func (s *ResolverQueryLogConfigAssociation) SetId(v string) *ResolverQueryLogConfigAssociation { - s.Id = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceExistsException) OrigErr() error { + return nil } -// SetResolverQueryLogConfigId sets the ResolverQueryLogConfigId field's value. -func (s *ResolverQueryLogConfigAssociation) SetResolverQueryLogConfigId(v string) *ResolverQueryLogConfigAssociation { - s.ResolverQueryLogConfigId = &v - return s +func (s *ResourceExistsException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetResourceId sets the ResourceId field's value. -func (s *ResolverQueryLogConfigAssociation) SetResourceId(v string) *ResolverQueryLogConfigAssociation { - s.ResourceId = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceExistsException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetStatus sets the Status field's value. -func (s *ResolverQueryLogConfigAssociation) SetStatus(v string) *ResolverQueryLogConfigAssociation { - s.Status = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *ResourceExistsException) RequestID() string { + return s.RespMetadata.RequestID } -// For queries that originate in your VPC, detailed information about a Resolver -// rule, which specifies how to route DNS queries out of the VPC. The ResolverRule -// parameter appears in the response to a CreateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html), -// DeleteResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverRule.html), -// GetResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html), -// ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html), -// or UpdateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverRule.html) -// request. -type ResolverRule struct { - _ struct{} `type:"structure"` +// The resource that you tried to update or delete is currently in use. +type ResourceInUseException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The ARN (Amazon Resource Name) for the Resolver rule specified by Id. - Arn *string `min:"1" type:"string"` + Message_ *string `locationName:"Message" type:"string"` - // The date and time that the Resolver rule was created, in Unix time format - // and Coordinated Universal Time (UTC). - CreationTime *string `min:"20" type:"string"` + // For a ResourceInUseException error, the type of resource that is currently + // in use. + ResourceType *string `type:"string"` +} - // A unique string that you specified when you created the Resolver rule. CreatorRequestId - // identifies the request and allows failed requests to be retried without the - // risk of executing the operation twice. - CreatorRequestId *string `min:"1" type:"string"` +// String returns the string representation +func (s ResourceInUseException) String() string { + return awsutil.Prettify(s) +} - // DNS queries for this domain name are forwarded to the IP addresses that are - // specified in TargetIps. If a query matches multiple Resolver rules (example.com - // and www.example.com), the query is routed using the Resolver rule that contains - // the most specific domain name (www.example.com). - DomainName *string `min:"1" type:"string"` +// GoString returns the string representation +func (s ResourceInUseException) GoString() string { + return s.String() +} - // The ID that Resolver assigned to the Resolver rule when you created it. - Id *string `min:"1" type:"string"` +func newErrorResourceInUseException(v protocol.ResponseMetadata) error { + return &ResourceInUseException{ + RespMetadata: v, + } +} - // The date and time that the Resolver rule was last updated, in Unix time format - // and Coordinated Universal Time (UTC). - ModificationTime *string `min:"20" type:"string"` +// Code returns the exception type name. +func (s *ResourceInUseException) Code() string { + return "ResourceInUseException" +} - // The name for the Resolver rule, which you specified when you created the - // Resolver rule. - Name *string `type:"string"` +// Message returns the exception's message. +func (s *ResourceInUseException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // When a rule is shared with another AWS account, the account ID of the account - // that the rule is shared with. - OwnerId *string `min:"12" type:"string"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceInUseException) OrigErr() error { + return nil +} - // The ID of the endpoint that the rule is associated with. - ResolverEndpointId *string `min:"1" type:"string"` +func (s *ResourceInUseException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} - // When you want to forward DNS queries for specified domain name to resolvers - // on your network, specify FORWARD. - // - // When you have a forwarding rule to forward DNS queries for a domain to your - // network and you want Resolver to process queries for a subdomain of that - // domain, specify SYSTEM. - // - // For example, to forward DNS queries for example.com to resolvers on your - // network, you create a rule and specify FORWARD for RuleType. To then have - // Resolver process queries for apex.example.com, you create a rule and specify - // SYSTEM for RuleType. - // - // Currently, only Resolver can create rules that have a value of RECURSIVE - // for RuleType. - RuleType *string `type:"string" enum:"RuleTypeOption"` +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceInUseException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // Whether the rules is shared and, if so, whether the current account is sharing - // the rule with another account, or another account is sharing the rule with - // the current account. - ShareStatus *string `type:"string" enum:"ShareStatus"` +// RequestID returns the service's response RequestID for request. +func (s *ResourceInUseException) RequestID() string { + return s.RespMetadata.RequestID +} - // A code that specifies the current status of the Resolver rule. - Status *string `type:"string" enum:"ResolverRuleStatus"` +// The specified resource doesn't exist. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // A detailed description of the status of a Resolver rule. - StatusMessage *string `type:"string"` + Message_ *string `locationName:"Message" type:"string"` - // An array that contains the IP addresses and ports that an outbound endpoint - // forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers - // on your network. Specify IPv4 addresses. IPv6 is not supported. - TargetIps []*TargetAddress `min:"1" type:"list"` + // For a ResourceNotFoundException error, the type of resource that doesn't + // exist. + ResourceType *string `type:"string"` } // String returns the string representation -func (s ResolverRule) String() string { +func (s ResourceNotFoundException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResolverRule) GoString() string { +func (s ResourceNotFoundException) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ResolverRule) SetArn(v string) *ResolverRule { - s.Arn = &v - return s +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } } -// SetCreationTime sets the CreationTime field's value. -func (s *ResolverRule) SetCreationTime(v string) *ResolverRule { - s.CreationTime = &v - return s +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" } -// SetCreatorRequestId sets the CreatorRequestId field's value. -func (s *ResolverRule) SetCreatorRequestId(v string) *ResolverRule { - s.CreatorRequestId = &v - return s +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetDomainName sets the DomainName field's value. -func (s *ResolverRule) SetDomainName(v string) *ResolverRule { - s.DomainName = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil } -// SetId sets the Id field's value. -func (s *ResolverRule) SetId(v string) *ResolverRule { - s.Id = &v - return s +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetModificationTime sets the ModificationTime field's value. -func (s *ResolverRule) SetModificationTime(v string) *ResolverRule { - s.ModificationTime = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetName sets the Name field's value. -func (s *ResolverRule) SetName(v string) *ResolverRule { - s.Name = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID } -// SetOwnerId sets the OwnerId field's value. -func (s *ResolverRule) SetOwnerId(v string) *ResolverRule { - s.OwnerId = &v - return s -} +// The specified resource isn't available. +type ResourceUnavailableException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` -// SetResolverEndpointId sets the ResolverEndpointId field's value. -func (s *ResolverRule) SetResolverEndpointId(v string) *ResolverRule { - s.ResolverEndpointId = &v - return s + Message_ *string `locationName:"Message" type:"string"` + + // For a ResourceUnavailableException error, the type of resource that isn't + // available. + ResourceType *string `type:"string"` } -// SetRuleType sets the RuleType field's value. -func (s *ResolverRule) SetRuleType(v string) *ResolverRule { - s.RuleType = &v - return s +// String returns the string representation +func (s ResourceUnavailableException) String() string { + return awsutil.Prettify(s) } -// SetShareStatus sets the ShareStatus field's value. -func (s *ResolverRule) SetShareStatus(v string) *ResolverRule { - s.ShareStatus = &v - return s +// GoString returns the string representation +func (s ResourceUnavailableException) GoString() string { + return s.String() } -// SetStatus sets the Status field's value. -func (s *ResolverRule) SetStatus(v string) *ResolverRule { - s.Status = &v - return s +func newErrorResourceUnavailableException(v protocol.ResponseMetadata) error { + return &ResourceUnavailableException{ + RespMetadata: v, + } } -// SetStatusMessage sets the StatusMessage field's value. -func (s *ResolverRule) SetStatusMessage(v string) *ResolverRule { - s.StatusMessage = &v - return s +// Code returns the exception type name. +func (s *ResourceUnavailableException) Code() string { + return "ResourceUnavailableException" } -// SetTargetIps sets the TargetIps field's value. -func (s *ResolverRule) SetTargetIps(v []*TargetAddress) *ResolverRule { - s.TargetIps = v - return s +// Message returns the exception's message. +func (s *ResourceUnavailableException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// In the response to an AssociateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html), -// DisassociateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DisassociateResolverRule.html), -// or ListResolverRuleAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) -// request, provides information about an association between a Resolver rule -// and a VPC. The association determines which DNS queries that originate in -// the VPC are forwarded to your network. -type ResolverRuleAssociation struct { - _ struct{} `type:"structure"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceUnavailableException) OrigErr() error { + return nil +} - // The ID of the association between a Resolver rule and a VPC. Resolver assigns - // this value when you submit an AssociateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_AssociateResolverRule.html) - // request. - Id *string `min:"1" type:"string"` +func (s *ResourceUnavailableException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} - // The name of an association between a Resolver rule and a VPC. - Name *string `type:"string"` +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceUnavailableException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The ID of the Resolver rule that you associated with the VPC that is specified - // by VPCId. - ResolverRuleId *string `min:"1" type:"string"` +// RequestID returns the service's response RequestID for request. +func (s *ResourceUnavailableException) RequestID() string { + return s.RespMetadata.RequestID +} - // A code that specifies the current status of the association between a Resolver - // rule and a VPC. - Status *string `type:"string" enum:"ResolverRuleAssociationStatus"` +// One tag that you want to add to the specified resource. A tag consists of +// a Key (a name for the tag) and a Value. +type Tag struct { + _ struct{} `type:"structure"` - // A detailed description of the status of the association between a Resolver - // rule and a VPC. - StatusMessage *string `type:"string"` + // The name for the tag. For example, if you want to associate Resolver resources + // with the account IDs of your customers for billing purposes, the value of + // Key might be account-id. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` - // The ID of the VPC that you associated the Resolver rule with. - VPCId *string `min:"1" type:"string"` + // The value for the tag. For example, if Key is account-id, then Value might + // be the ID of the customer account that you're creating the resource for. + // + // Value is a required field + Value *string `type:"string" required:"true"` } // String returns the string representation -func (s ResolverRuleAssociation) String() string { +func (s Tag) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResolverRuleAssociation) GoString() string { +func (s Tag) GoString() string { return s.String() } -// SetId sets the Id field's value. -func (s *ResolverRuleAssociation) SetId(v string) *ResolverRuleAssociation { - s.Id = &v - return s -} - -// SetName sets the Name field's value. -func (s *ResolverRuleAssociation) SetName(v string) *ResolverRuleAssociation { - s.Name = &v - return s -} - -// SetResolverRuleId sets the ResolverRuleId field's value. -func (s *ResolverRuleAssociation) SetResolverRuleId(v string) *ResolverRuleAssociation { - s.ResolverRuleId = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } -// SetStatus sets the Status field's value. -func (s *ResolverRuleAssociation) SetStatus(v string) *ResolverRuleAssociation { - s.Status = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetStatusMessage sets the StatusMessage field's value. -func (s *ResolverRuleAssociation) SetStatusMessage(v string) *ResolverRuleAssociation { - s.StatusMessage = &v +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v return s } -// SetVPCId sets the VPCId field's value. -func (s *ResolverRuleAssociation) SetVPCId(v string) *ResolverRuleAssociation { - s.VPCId = &v +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v return s } -// In an UpdateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverRule.html) -// request, information about the changes that you want to make. -type ResolverRuleConfig struct { +type TagResourceInput struct { _ struct{} `type:"structure"` - // The new name for the Resolver rule. The name that you specify appears in - // the Resolver dashboard in the Route 53 console. - Name *string `type:"string"` - - // The ID of the new outbound Resolver endpoint that you want to use to route - // DNS queries to the IP addresses that you specify in TargetIps. - ResolverEndpointId *string `min:"1" type:"string"` + // The Amazon Resource Name (ARN) for the resource that you want to add tags + // to. To get the ARN for a resource, use the applicable Get or List command: + // + // * GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html) + // + // * GetResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html) + // + // * GetResolverRuleAssociation (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRuleAssociation.html) + // + // * ListResolverEndpoints (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html) + // + // * ListResolverRuleAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) + // + // * ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html) + // + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` - // For DNS queries that originate in your VPC, the new IP addresses that you - // want to route outbound DNS queries to. - TargetIps []*TargetAddress `min:"1" type:"list"` + // The tags that you want to add to the specified resource. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` } // String returns the string representation -func (s ResolverRuleConfig) String() string { +func (s TagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResolverRuleConfig) GoString() string { +func (s TagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ResolverRuleConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ResolverRuleConfig"} - if s.ResolverEndpointId != nil && len(*s.ResolverEndpointId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResolverEndpointId", 1)) +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.TargetIps != nil && len(s.TargetIps) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TargetIps", 1)) + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } - if s.TargetIps != nil { - for i, v := range s.TargetIps { + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + for i, v := range s.Tags { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetIps", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) } } } @@ -8483,179 +14385,116 @@ func (s *ResolverRuleConfig) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *ResolverRuleConfig) SetName(v string) *ResolverRuleConfig { - s.Name = &v - return s -} - -// SetResolverEndpointId sets the ResolverEndpointId field's value. -func (s *ResolverRuleConfig) SetResolverEndpointId(v string) *ResolverRuleConfig { - s.ResolverEndpointId = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v return s } -// SetTargetIps sets the TargetIps field's value. -func (s *ResolverRuleConfig) SetTargetIps(v []*TargetAddress) *ResolverRuleConfig { - s.TargetIps = v +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v return s } -// The resource that you tried to create already exists. -type ResourceExistsException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"Message" type:"string"` - - // For a ResourceExistsException error, the type of resource that the error - // applies to. - ResourceType *string `type:"string"` +type TagResourceOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation -func (s ResourceExistsException) String() string { +func (s TagResourceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourceExistsException) GoString() string { +func (s TagResourceOutput) GoString() string { return s.String() } -func newErrorResourceExistsException(v protocol.ResponseMetadata) error { - return &ResourceExistsException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *ResourceExistsException) Code() string { - return "ResourceExistsException" -} - -// Message returns the exception's message. -func (s *ResourceExistsException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceExistsException) OrigErr() error { - return nil -} - -func (s *ResourceExistsException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceExistsException) StatusCode() int { - return s.RespMetadata.StatusCode -} - -// RequestID returns the service's response RequestID for request. -func (s *ResourceExistsException) RequestID() string { - return s.RespMetadata.RequestID -} - -// The resource that you tried to update or delete is currently in use. -type ResourceInUseException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// In a CreateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html) +// request, an array of the IPs that you want to forward DNS queries to. +type TargetAddress struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // One IP address that you want to forward DNS queries to. You can specify only + // IPv4 addresses. + // + // Ip is a required field + Ip *string `min:"7" type:"string" required:"true"` - // For a ResourceInUseException error, the type of resource that is currently - // in use. - ResourceType *string `type:"string"` + // The port at Ip that you want to forward DNS queries to. + Port *int64 `type:"integer"` } // String returns the string representation -func (s ResourceInUseException) String() string { +func (s TargetAddress) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourceInUseException) GoString() string { +func (s TargetAddress) GoString() string { return s.String() } -func newErrorResourceInUseException(v protocol.ResponseMetadata) error { - return &ResourceInUseException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *TargetAddress) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TargetAddress"} + if s.Ip == nil { + invalidParams.Add(request.NewErrParamRequired("Ip")) } -} - -// Code returns the exception type name. -func (s *ResourceInUseException) Code() string { - return "ResourceInUseException" -} - -// Message returns the exception's message. -func (s *ResourceInUseException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.Ip != nil && len(*s.Ip) < 7 { + invalidParams.Add(request.NewErrParamMinLen("Ip", 7)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceInUseException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *ResourceInUseException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceInUseException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetIp sets the Ip field's value. +func (s *TargetAddress) SetIp(v string) *TargetAddress { + s.Ip = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceInUseException) RequestID() string { - return s.RespMetadata.RequestID +// SetPort sets the Port field's value. +func (s *TargetAddress) SetPort(v int64) *TargetAddress { + s.Port = &v + return s } -// The specified resource doesn't exist. -type ResourceNotFoundException struct { +// The request was throttled. Try again in a few minutes. +type ThrottlingException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` Message_ *string `locationName:"Message" type:"string"` - - // For a ResourceNotFoundException error, the type of resource that doesn't - // exist. - ResourceType *string `type:"string"` } // String returns the string representation -func (s ResourceNotFoundException) String() string { +func (s ThrottlingException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourceNotFoundException) GoString() string { +func (s ThrottlingException) GoString() string { return s.String() } -func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { - return &ResourceNotFoundException{ +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *ResourceNotFoundException) Code() string { - return "ResourceNotFoundException" +func (s *ThrottlingException) Code() string { + return "ThrottlingException" } // Message returns the exception's message. -func (s *ResourceNotFoundException) Message() string { +func (s *ThrottlingException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -8663,59 +14502,55 @@ func (s *ResourceNotFoundException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFoundException) OrigErr() error { +func (s *ThrottlingException) OrigErr() error { return nil } -func (s *ResourceNotFoundException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *ResourceNotFoundException) StatusCode() int { +func (s *ThrottlingException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *ResourceNotFoundException) RequestID() string { +func (s *ThrottlingException) RequestID() string { return s.RespMetadata.RequestID } -// The specified resource isn't available. -type ResourceUnavailableException struct { +// The specified resource doesn't exist. +type UnknownResourceException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"Message" type:"string"` - - // For a ResourceUnavailableException error, the type of resource that isn't - // available. - ResourceType *string `type:"string"` + + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation -func (s ResourceUnavailableException) String() string { +func (s UnknownResourceException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ResourceUnavailableException) GoString() string { +func (s UnknownResourceException) GoString() string { return s.String() } -func newErrorResourceUnavailableException(v protocol.ResponseMetadata) error { - return &ResourceUnavailableException{ +func newErrorUnknownResourceException(v protocol.ResponseMetadata) error { + return &UnknownResourceException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *ResourceUnavailableException) Code() string { - return "ResourceUnavailableException" +func (s *UnknownResourceException) Code() string { + return "UnknownResourceException" } // Message returns the exception's message. -func (s *ResourceUnavailableException) Message() string { +func (s *UnknownResourceException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -8723,64 +14558,72 @@ func (s *ResourceUnavailableException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceUnavailableException) OrigErr() error { +func (s *UnknownResourceException) OrigErr() error { return nil } -func (s *ResourceUnavailableException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +func (s *UnknownResourceException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *ResourceUnavailableException) StatusCode() int { +func (s *UnknownResourceException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *ResourceUnavailableException) RequestID() string { +func (s *UnknownResourceException) RequestID() string { return s.RespMetadata.RequestID } -// One tag that you want to add to the specified resource. A tag consists of -// a Key (a name for the tag) and a Value. -type Tag struct { +type UntagResourceInput struct { _ struct{} `type:"structure"` - // The name for the tag. For example, if you want to associate Resolver resources - // with the account IDs of your customers for billing purposes, the value of - // Key might be account-id. + // The Amazon Resource Name (ARN) for the resource that you want to remove tags + // from. To get the ARN for a resource, use the applicable Get or List command: // - // Key is a required field - Key *string `min:"1" type:"string" required:"true"` + // * GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html) + // + // * GetResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html) + // + // * GetResolverRuleAssociation (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRuleAssociation.html) + // + // * ListResolverEndpoints (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html) + // + // * ListResolverRuleAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) + // + // * ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html) + // + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` - // The value for the tag. For example, if Key is account-id, then Value might - // be the ID of the customer account that you're creating the resource for. + // The tags that you want to remove to the specified resource. // - // Value is a required field - Value *string `type:"string" required:"true"` + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` } // String returns the string representation -func (s Tag) String() string { +func (s UntagResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Tag) GoString() string { +func (s UntagResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Tag) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Tag"} - if s.Key == nil { - invalidParams.Add(request.NewErrParamRequired("Key")) +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.Key != nil && len(*s.Key) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) } if invalidParams.Len() > 0 { @@ -8789,76 +14632,80 @@ func (s *Tag) Validate() error { return nil } -// SetKey sets the Key field's value. -func (s *Tag) SetKey(v string) *Tag { - s.Key = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v return s } -// SetValue sets the Value field's value. -func (s *Tag) SetValue(v string) *Tag { - s.Value = &v +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v return s } -type TagResourceInput struct { +type UntagResourceOutput struct { _ struct{} `type:"structure"` +} - // The Amazon Resource Name (ARN) for the resource that you want to add tags - // to. To get the ARN for a resource, use the applicable Get or List command: - // - // * GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html) - // - // * GetResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html) - // - // * GetResolverRuleAssociation (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRuleAssociation.html) +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateFirewallConfigInput struct { + _ struct{} `type:"structure"` + + // Determines how Route 53 Resolver handles queries during failures, for example + // when all traffic that is sent to DNS Firewall fails to receive a reply. // - // * ListResolverEndpoints (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html) + // * By default, fail open is disabled, which means the failure mode is closed. + // This approach favors security over availability. DNS Firewall blocks queries + // that it is unable to evaluate properly. // - // * ListResolverRuleAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) + // * If you enable this option, the failure mode is open. This approach favors + // availability over security. DNS Firewall allows queries to proceed if + // it is unable to properly evaluate them. // - // * ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html) + // This behavior is only enforced for VPCs that have at least one DNS Firewall + // rule group association. // - // ResourceArn is a required field - ResourceArn *string `min:"1" type:"string" required:"true"` + // FirewallFailOpen is a required field + FirewallFailOpen *string `type:"string" required:"true" enum:"FirewallFailOpenStatus"` - // The tags that you want to add to the specified resource. + // The ID of the Amazon virtual private cloud (VPC) that the configuration is + // for. // - // Tags is a required field - Tags []*Tag `type:"list" required:"true"` + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s TagResourceInput) String() string { +func (s UpdateFirewallConfigInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TagResourceInput) GoString() string { +func (s UpdateFirewallConfigInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TagResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) +func (s *UpdateFirewallConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFirewallConfigInput"} + if s.FirewallFailOpen == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallFailOpen")) } - if s.Tags == nil { - invalidParams.Add(request.NewErrParamRequired("Tags")) + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) } if invalidParams.Len() > 0 { @@ -8867,65 +14714,103 @@ func (s *TagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { - s.ResourceArn = &v +// SetFirewallFailOpen sets the FirewallFailOpen field's value. +func (s *UpdateFirewallConfigInput) SetFirewallFailOpen(v string) *UpdateFirewallConfigInput { + s.FirewallFailOpen = &v return s } -// SetTags sets the Tags field's value. -func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { - s.Tags = v +// SetResourceId sets the ResourceId field's value. +func (s *UpdateFirewallConfigInput) SetResourceId(v string) *UpdateFirewallConfigInput { + s.ResourceId = &v return s } -type TagResourceOutput struct { +type UpdateFirewallConfigOutput struct { _ struct{} `type:"structure"` + + // Configuration of the firewall behavior provided by DNS Firewall for a single + // Amazon virtual private cloud (VPC). + FirewallConfig *FirewallConfig `type:"structure"` } // String returns the string representation -func (s TagResourceOutput) String() string { +func (s UpdateFirewallConfigOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TagResourceOutput) GoString() string { +func (s UpdateFirewallConfigOutput) GoString() string { return s.String() } -// In a CreateResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html) -// request, an array of the IPs that you want to forward DNS queries to. -type TargetAddress struct { +// SetFirewallConfig sets the FirewallConfig field's value. +func (s *UpdateFirewallConfigOutput) SetFirewallConfig(v *FirewallConfig) *UpdateFirewallConfigOutput { + s.FirewallConfig = v + return s +} + +type UpdateFirewallDomainsInput struct { _ struct{} `type:"structure"` - // One IP address that you want to forward DNS queries to. You can specify only - // IPv4 addresses. + // A list of domains to use in the update operation. // - // Ip is a required field - Ip *string `min:"7" type:"string" required:"true"` + // Each domain specification in your domain list must satisfy the following + // requirements: + // + // * It can optionally start with * (asterisk). + // + // * With the exception of the optional starting asterisk, it must only contain + // the following characters: A-Z, a-z, 0-9, - (hyphen). + // + // * It must be from 1-255 characters in length. + // + // Domains is a required field + Domains []*string `type:"list" required:"true"` - // The port at Ip that you want to forward DNS queries to. - Port *int64 `type:"integer"` + // The ID of the domain list whose domains you want to update. + // + // FirewallDomainListId is a required field + FirewallDomainListId *string `min:"1" type:"string" required:"true"` + + // What you want DNS Firewall to do with the domains that you are providing: + // + // * ADD - Add the domains to the ones that are already in the domain list. + // + // * REMOVE - Search the domain list for the domains and remove them from + // the list. + // + // * REPLACE - Update the domain list to exactly match the list that you + // are providing. + // + // Operation is a required field + Operation *string `type:"string" required:"true" enum:"FirewallDomainUpdateOperation"` } // String returns the string representation -func (s TargetAddress) String() string { +func (s UpdateFirewallDomainsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s TargetAddress) GoString() string { +func (s UpdateFirewallDomainsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TargetAddress) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TargetAddress"} - if s.Ip == nil { - invalidParams.Add(request.NewErrParamRequired("Ip")) +func (s *UpdateFirewallDomainsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFirewallDomainsInput"} + if s.Domains == nil { + invalidParams.Add(request.NewErrParamRequired("Domains")) } - if s.Ip != nil && len(*s.Ip) < 7 { - invalidParams.Add(request.NewErrParamMinLen("Ip", 7)) + if s.FirewallDomainListId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallDomainListId")) + } + if s.FirewallDomainListId != nil && len(*s.FirewallDomainListId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallDomainListId", 1)) + } + if s.Operation == nil { + invalidParams.Add(request.NewErrParamRequired("Operation")) } if invalidParams.Len() > 0 { @@ -8934,178 +14819,264 @@ func (s *TargetAddress) Validate() error { return nil } -// SetIp sets the Ip field's value. -func (s *TargetAddress) SetIp(v string) *TargetAddress { - s.Ip = &v +// SetDomains sets the Domains field's value. +func (s *UpdateFirewallDomainsInput) SetDomains(v []*string) *UpdateFirewallDomainsInput { + s.Domains = v return s } -// SetPort sets the Port field's value. -func (s *TargetAddress) SetPort(v int64) *TargetAddress { - s.Port = &v +// SetFirewallDomainListId sets the FirewallDomainListId field's value. +func (s *UpdateFirewallDomainsInput) SetFirewallDomainListId(v string) *UpdateFirewallDomainsInput { + s.FirewallDomainListId = &v return s } -// The request was throttled. Try again in a few minutes. -type ThrottlingException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetOperation sets the Operation field's value. +func (s *UpdateFirewallDomainsInput) SetOperation(v string) *UpdateFirewallDomainsInput { + s.Operation = &v + return s +} - Message_ *string `locationName:"Message" type:"string"` +type UpdateFirewallDomainsOutput struct { + _ struct{} `type:"structure"` + + // The Id of the firewall domain list that DNS Firewall just updated. + Id *string `min:"1" type:"string"` + + // The name of the domain list. + Name *string `type:"string"` + + Status *string `type:"string" enum:"FirewallDomainListStatus"` + + // Additional information about the status of the list, if available. + StatusMessage *string `type:"string"` } // String returns the string representation -func (s ThrottlingException) String() string { +func (s UpdateFirewallDomainsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ThrottlingException) GoString() string { +func (s UpdateFirewallDomainsOutput) GoString() string { return s.String() } -func newErrorThrottlingException(v protocol.ResponseMetadata) error { - return &ThrottlingException{ - RespMetadata: v, - } +// SetId sets the Id field's value. +func (s *UpdateFirewallDomainsOutput) SetId(v string) *UpdateFirewallDomainsOutput { + s.Id = &v + return s } -// Code returns the exception type name. -func (s *ThrottlingException) Code() string { - return "ThrottlingException" +// SetName sets the Name field's value. +func (s *UpdateFirewallDomainsOutput) SetName(v string) *UpdateFirewallDomainsOutput { + s.Name = &v + return s } -// Message returns the exception's message. -func (s *ThrottlingException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetStatus sets the Status field's value. +func (s *UpdateFirewallDomainsOutput) SetStatus(v string) *UpdateFirewallDomainsOutput { + s.Status = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ThrottlingException) OrigErr() error { - return nil +// SetStatusMessage sets the StatusMessage field's value. +func (s *UpdateFirewallDomainsOutput) SetStatusMessage(v string) *UpdateFirewallDomainsOutput { + s.StatusMessage = &v + return s } -func (s *ThrottlingException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} +type UpdateFirewallRuleGroupAssociationInput struct { + _ struct{} `type:"structure"` -// Status code returns the HTTP status code for the request's response error. -func (s *ThrottlingException) StatusCode() int { - return s.RespMetadata.StatusCode -} + // The identifier of the FirewallRuleGroupAssociation. + // + // FirewallRuleGroupAssociationId is a required field + FirewallRuleGroupAssociationId *string `min:"1" type:"string" required:"true"` -// RequestID returns the service's response RequestID for request. -func (s *ThrottlingException) RequestID() string { - return s.RespMetadata.RequestID -} + // If enabled, this setting disallows modification or removal of the association, + // to help prevent against accidentally altering DNS firewall protections. + MutationProtection *string `type:"string" enum:"MutationProtectionStatus"` -// The specified resource doesn't exist. -type UnknownResourceException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The name of the rule group association. + Name *string `type:"string"` - Message_ *string `locationName:"Message" type:"string"` + // The setting that determines the processing order of the rule group among + // the rule groups that you associate with the specified VPC. DNS Firewall filters + // VPC traffic starting from rule group with the lowest numeric priority setting. + // + // You must specify a unique priority for each rule group that you associate + // with a single VPC. To make it easier to insert rule groups later, leave space + // between the numbers, for example, use 100, 200, and so on. You can change + // the priority setting for a rule group association after you create it. + Priority *int64 `type:"integer"` } // String returns the string representation -func (s UnknownResourceException) String() string { +func (s UpdateFirewallRuleGroupAssociationInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UnknownResourceException) GoString() string { +func (s UpdateFirewallRuleGroupAssociationInput) GoString() string { return s.String() } -func newErrorUnknownResourceException(v protocol.ResponseMetadata) error { - return &UnknownResourceException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFirewallRuleGroupAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFirewallRuleGroupAssociationInput"} + if s.FirewallRuleGroupAssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallRuleGroupAssociationId")) + } + if s.FirewallRuleGroupAssociationId != nil && len(*s.FirewallRuleGroupAssociationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallRuleGroupAssociationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *UnknownResourceException) Code() string { - return "UnknownResourceException" +// SetFirewallRuleGroupAssociationId sets the FirewallRuleGroupAssociationId field's value. +func (s *UpdateFirewallRuleGroupAssociationInput) SetFirewallRuleGroupAssociationId(v string) *UpdateFirewallRuleGroupAssociationInput { + s.FirewallRuleGroupAssociationId = &v + return s } -// Message returns the exception's message. -func (s *UnknownResourceException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetMutationProtection sets the MutationProtection field's value. +func (s *UpdateFirewallRuleGroupAssociationInput) SetMutationProtection(v string) *UpdateFirewallRuleGroupAssociationInput { + s.MutationProtection = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *UnknownResourceException) OrigErr() error { - return nil +// SetName sets the Name field's value. +func (s *UpdateFirewallRuleGroupAssociationInput) SetName(v string) *UpdateFirewallRuleGroupAssociationInput { + s.Name = &v + return s } -func (s *UnknownResourceException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetPriority sets the Priority field's value. +func (s *UpdateFirewallRuleGroupAssociationInput) SetPriority(v int64) *UpdateFirewallRuleGroupAssociationInput { + s.Priority = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *UnknownResourceException) StatusCode() int { - return s.RespMetadata.StatusCode +type UpdateFirewallRuleGroupAssociationOutput struct { + _ struct{} `type:"structure"` + + // The association that you just updated. + FirewallRuleGroupAssociation *FirewallRuleGroupAssociation `type:"structure"` } -// RequestID returns the service's response RequestID for request. -func (s *UnknownResourceException) RequestID() string { - return s.RespMetadata.RequestID +// String returns the string representation +func (s UpdateFirewallRuleGroupAssociationOutput) String() string { + return awsutil.Prettify(s) } -type UntagResourceInput struct { +// GoString returns the string representation +func (s UpdateFirewallRuleGroupAssociationOutput) GoString() string { + return s.String() +} + +// SetFirewallRuleGroupAssociation sets the FirewallRuleGroupAssociation field's value. +func (s *UpdateFirewallRuleGroupAssociationOutput) SetFirewallRuleGroupAssociation(v *FirewallRuleGroupAssociation) *UpdateFirewallRuleGroupAssociationOutput { + s.FirewallRuleGroupAssociation = v + return s +} + +type UpdateFirewallRuleInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for the resource that you want to remove tags - // from. To get the ARN for a resource, use the applicable Get or List command: + // The action that DNS Firewall should take on a DNS query when it matches one + // of the domains in the rule's domain list: // - // * GetResolverEndpoint (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverEndpoint.html) + // * ALLOW - Permit the request to go through. // - // * GetResolverRule (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html) + // * ALERT - Permit the request to go through but send an alert to the logs. // - // * GetResolverRuleAssociation (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRuleAssociation.html) + // * BLOCK - Disallow the request. This option requires additional details + // in the rule's BlockResponse. + Action *string `type:"string" enum:"Action"` + + // The DNS record's type. This determines the format of the record value that + // you provided in BlockOverrideDomain. Used for the rule action BLOCK with + // a BlockResponse setting of OVERRIDE. + BlockOverrideDnsType *string `type:"string" enum:"BlockOverrideDnsType"` + + // The custom DNS record to send back in response to the query. Used for the + // rule action BLOCK with a BlockResponse setting of OVERRIDE. + BlockOverrideDomain *string `min:"1" type:"string"` + + // The recommended amount of time, in seconds, for the DNS resolver or web browser + // to cache the provided override record. Used for the rule action BLOCK with + // a BlockResponse setting of OVERRIDE. + BlockOverrideTtl *int64 `type:"integer"` + + // The way that you want DNS Firewall to block the request. Used for the rule + // action setting BLOCK. // - // * ListResolverEndpoints (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverEndpoints.html) + // * NODATA - Respond indicating that the query was successful, but no response + // is available for it. // - // * ListResolverRuleAssociations (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRuleAssociations.html) + // * NXDOMAIN - Respond indicating that the domain name that's in the query + // doesn't exist. // - // * ListResolverRules (https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html) + // * OVERRIDE - Provide a custom override in the response. This option requires + // custom handling details in the rule's BlockOverride* settings. + BlockResponse *string `type:"string" enum:"BlockResponse"` + + // The ID of the domain list to use in the rule. // - // ResourceArn is a required field - ResourceArn *string `min:"1" type:"string" required:"true"` + // FirewallDomainListId is a required field + FirewallDomainListId *string `min:"1" type:"string" required:"true"` - // The tags that you want to remove to the specified resource. + // The unique identifier of the firewall rule group for the rule. // - // TagKeys is a required field - TagKeys []*string `type:"list" required:"true"` + // FirewallRuleGroupId is a required field + FirewallRuleGroupId *string `min:"1" type:"string" required:"true"` + + // The name of the rule. + Name *string `type:"string"` + + // The setting that determines the processing order of the rule in the rule + // group. DNS Firewall processes the rules in a rule group by order of priority, + // starting from the lowest setting. + // + // You must specify a unique priority for each rule in a rule group. To make + // it easier to insert rules later, leave space between the numbers, for example, + // use 100, 200, and so on. You can change the priority setting for the rules + // in a rule group at any time. + Priority *int64 `type:"integer"` } // String returns the string representation -func (s UntagResourceInput) String() string { +func (s UpdateFirewallRuleInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UntagResourceInput) GoString() string { +func (s UpdateFirewallRuleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UntagResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) +func (s *UpdateFirewallRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFirewallRuleInput"} + if s.BlockOverrideDomain != nil && len(*s.BlockOverrideDomain) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BlockOverrideDomain", 1)) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + if s.FirewallDomainListId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallDomainListId")) } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) + if s.FirewallDomainListId != nil && len(*s.FirewallDomainListId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallDomainListId", 1)) + } + if s.FirewallRuleGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("FirewallRuleGroupId")) + } + if s.FirewallRuleGroupId != nil && len(*s.FirewallRuleGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FirewallRuleGroupId", 1)) } if invalidParams.Len() > 0 { @@ -9114,32 +15085,83 @@ func (s *UntagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { - s.ResourceArn = &v +// SetAction sets the Action field's value. +func (s *UpdateFirewallRuleInput) SetAction(v string) *UpdateFirewallRuleInput { + s.Action = &v return s } -// SetTagKeys sets the TagKeys field's value. -func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { - s.TagKeys = v +// SetBlockOverrideDnsType sets the BlockOverrideDnsType field's value. +func (s *UpdateFirewallRuleInput) SetBlockOverrideDnsType(v string) *UpdateFirewallRuleInput { + s.BlockOverrideDnsType = &v return s } -type UntagResourceOutput struct { +// SetBlockOverrideDomain sets the BlockOverrideDomain field's value. +func (s *UpdateFirewallRuleInput) SetBlockOverrideDomain(v string) *UpdateFirewallRuleInput { + s.BlockOverrideDomain = &v + return s +} + +// SetBlockOverrideTtl sets the BlockOverrideTtl field's value. +func (s *UpdateFirewallRuleInput) SetBlockOverrideTtl(v int64) *UpdateFirewallRuleInput { + s.BlockOverrideTtl = &v + return s +} + +// SetBlockResponse sets the BlockResponse field's value. +func (s *UpdateFirewallRuleInput) SetBlockResponse(v string) *UpdateFirewallRuleInput { + s.BlockResponse = &v + return s +} + +// SetFirewallDomainListId sets the FirewallDomainListId field's value. +func (s *UpdateFirewallRuleInput) SetFirewallDomainListId(v string) *UpdateFirewallRuleInput { + s.FirewallDomainListId = &v + return s +} + +// SetFirewallRuleGroupId sets the FirewallRuleGroupId field's value. +func (s *UpdateFirewallRuleInput) SetFirewallRuleGroupId(v string) *UpdateFirewallRuleInput { + s.FirewallRuleGroupId = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateFirewallRuleInput) SetName(v string) *UpdateFirewallRuleInput { + s.Name = &v + return s +} + +// SetPriority sets the Priority field's value. +func (s *UpdateFirewallRuleInput) SetPriority(v int64) *UpdateFirewallRuleInput { + s.Priority = &v + return s +} + +type UpdateFirewallRuleOutput struct { _ struct{} `type:"structure"` + + // The firewall rule that you just updated. + FirewallRule *FirewallRule `type:"structure"` } // String returns the string representation -func (s UntagResourceOutput) String() string { +func (s UpdateFirewallRuleOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UntagResourceOutput) GoString() string { +func (s UpdateFirewallRuleOutput) GoString() string { return s.String() } +// SetFirewallRule sets the FirewallRule field's value. +func (s *UpdateFirewallRuleOutput) SetFirewallRule(v *FirewallRule) *UpdateFirewallRuleOutput { + s.FirewallRule = v + return s +} + type UpdateResolverDnssecConfigInput struct { _ struct{} `type:"structure"` @@ -9377,6 +15399,229 @@ func (s *UpdateResolverRuleOutput) SetResolverRule(v *ResolverRule) *UpdateResol return s } +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +const ( + // ActionAllow is a Action enum value + ActionAllow = "ALLOW" + + // ActionBlock is a Action enum value + ActionBlock = "BLOCK" + + // ActionAlert is a Action enum value + ActionAlert = "ALERT" +) + +// Action_Values returns all elements of the Action enum +func Action_Values() []string { + return []string{ + ActionAllow, + ActionBlock, + ActionAlert, + } +} + +const ( + // BlockOverrideDnsTypeCname is a BlockOverrideDnsType enum value + BlockOverrideDnsTypeCname = "CNAME" +) + +// BlockOverrideDnsType_Values returns all elements of the BlockOverrideDnsType enum +func BlockOverrideDnsType_Values() []string { + return []string{ + BlockOverrideDnsTypeCname, + } +} + +const ( + // BlockResponseNodata is a BlockResponse enum value + BlockResponseNodata = "NODATA" + + // BlockResponseNxdomain is a BlockResponse enum value + BlockResponseNxdomain = "NXDOMAIN" + + // BlockResponseOverride is a BlockResponse enum value + BlockResponseOverride = "OVERRIDE" +) + +// BlockResponse_Values returns all elements of the BlockResponse enum +func BlockResponse_Values() []string { + return []string{ + BlockResponseNodata, + BlockResponseNxdomain, + BlockResponseOverride, + } +} + +const ( + // FirewallDomainImportOperationReplace is a FirewallDomainImportOperation enum value + FirewallDomainImportOperationReplace = "REPLACE" +) + +// FirewallDomainImportOperation_Values returns all elements of the FirewallDomainImportOperation enum +func FirewallDomainImportOperation_Values() []string { + return []string{ + FirewallDomainImportOperationReplace, + } +} + +const ( + // FirewallDomainListStatusComplete is a FirewallDomainListStatus enum value + FirewallDomainListStatusComplete = "COMPLETE" + + // FirewallDomainListStatusCompleteImportFailed is a FirewallDomainListStatus enum value + FirewallDomainListStatusCompleteImportFailed = "COMPLETE_IMPORT_FAILED" + + // FirewallDomainListStatusImporting is a FirewallDomainListStatus enum value + FirewallDomainListStatusImporting = "IMPORTING" + + // FirewallDomainListStatusDeleting is a FirewallDomainListStatus enum value + FirewallDomainListStatusDeleting = "DELETING" + + // FirewallDomainListStatusUpdating is a FirewallDomainListStatus enum value + FirewallDomainListStatusUpdating = "UPDATING" +) + +// FirewallDomainListStatus_Values returns all elements of the FirewallDomainListStatus enum +func FirewallDomainListStatus_Values() []string { + return []string{ + FirewallDomainListStatusComplete, + FirewallDomainListStatusCompleteImportFailed, + FirewallDomainListStatusImporting, + FirewallDomainListStatusDeleting, + FirewallDomainListStatusUpdating, + } +} + +const ( + // FirewallDomainUpdateOperationAdd is a FirewallDomainUpdateOperation enum value + FirewallDomainUpdateOperationAdd = "ADD" + + // FirewallDomainUpdateOperationRemove is a FirewallDomainUpdateOperation enum value + FirewallDomainUpdateOperationRemove = "REMOVE" + + // FirewallDomainUpdateOperationReplace is a FirewallDomainUpdateOperation enum value + FirewallDomainUpdateOperationReplace = "REPLACE" +) + +// FirewallDomainUpdateOperation_Values returns all elements of the FirewallDomainUpdateOperation enum +func FirewallDomainUpdateOperation_Values() []string { + return []string{ + FirewallDomainUpdateOperationAdd, + FirewallDomainUpdateOperationRemove, + FirewallDomainUpdateOperationReplace, + } +} + +const ( + // FirewallFailOpenStatusEnabled is a FirewallFailOpenStatus enum value + FirewallFailOpenStatusEnabled = "ENABLED" + + // FirewallFailOpenStatusDisabled is a FirewallFailOpenStatus enum value + FirewallFailOpenStatusDisabled = "DISABLED" +) + +// FirewallFailOpenStatus_Values returns all elements of the FirewallFailOpenStatus enum +func FirewallFailOpenStatus_Values() []string { + return []string{ + FirewallFailOpenStatusEnabled, + FirewallFailOpenStatusDisabled, + } +} + +const ( + // FirewallRuleGroupAssociationStatusComplete is a FirewallRuleGroupAssociationStatus enum value + FirewallRuleGroupAssociationStatusComplete = "COMPLETE" + + // FirewallRuleGroupAssociationStatusDeleting is a FirewallRuleGroupAssociationStatus enum value + FirewallRuleGroupAssociationStatusDeleting = "DELETING" + + // FirewallRuleGroupAssociationStatusUpdating is a FirewallRuleGroupAssociationStatus enum value + FirewallRuleGroupAssociationStatusUpdating = "UPDATING" +) + +// FirewallRuleGroupAssociationStatus_Values returns all elements of the FirewallRuleGroupAssociationStatus enum +func FirewallRuleGroupAssociationStatus_Values() []string { + return []string{ + FirewallRuleGroupAssociationStatusComplete, + FirewallRuleGroupAssociationStatusDeleting, + FirewallRuleGroupAssociationStatusUpdating, + } +} + +const ( + // FirewallRuleGroupStatusComplete is a FirewallRuleGroupStatus enum value + FirewallRuleGroupStatusComplete = "COMPLETE" + + // FirewallRuleGroupStatusDeleting is a FirewallRuleGroupStatus enum value + FirewallRuleGroupStatusDeleting = "DELETING" + + // FirewallRuleGroupStatusUpdating is a FirewallRuleGroupStatus enum value + FirewallRuleGroupStatusUpdating = "UPDATING" +) + +// FirewallRuleGroupStatus_Values returns all elements of the FirewallRuleGroupStatus enum +func FirewallRuleGroupStatus_Values() []string { + return []string{ + FirewallRuleGroupStatusComplete, + FirewallRuleGroupStatusDeleting, + FirewallRuleGroupStatusUpdating, + } +} + const ( // IpAddressStatusCreating is a IpAddressStatus enum value IpAddressStatusCreating = "CREATING" @@ -9425,6 +15670,22 @@ func IpAddressStatus_Values() []string { } } +const ( + // MutationProtectionStatusEnabled is a MutationProtectionStatus enum value + MutationProtectionStatusEnabled = "ENABLED" + + // MutationProtectionStatusDisabled is a MutationProtectionStatus enum value + MutationProtectionStatusDisabled = "DISABLED" +) + +// MutationProtectionStatus_Values returns all elements of the MutationProtectionStatus enum +func MutationProtectionStatus_Values() []string { + return []string{ + MutationProtectionStatusEnabled, + MutationProtectionStatusDisabled, + } +} + const ( // ResolverDNSSECValidationStatusEnabling is a ResolverDNSSECValidationStatus enum value ResolverDNSSECValidationStatusEnabling = "ENABLING" diff --git a/service/route53resolver/errors.go b/service/route53resolver/errors.go index deb0b1a0dcb..77406a06769 100644 --- a/service/route53resolver/errors.go +++ b/service/route53resolver/errors.go @@ -15,6 +15,10 @@ const ( // the specified Resolver operation. ErrCodeAccessDeniedException = "AccessDeniedException" + // ErrCodeConflictException for service response error code + // "ConflictException". + ErrCodeConflictException = "ConflictException" + // ErrCodeInternalServiceErrorException for service response error code // "InternalServiceErrorException". // @@ -92,10 +96,15 @@ const ( // // The specified resource doesn't exist. ErrCodeUnknownResourceException = "UnknownResourceException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + ErrCodeValidationException = "ValidationException" ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, "InternalServiceErrorException": newErrorInternalServiceErrorException, "InvalidNextTokenException": newErrorInvalidNextTokenException, "InvalidParameterException": newErrorInvalidParameterException, @@ -109,4 +118,5 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ResourceUnavailableException": newErrorResourceUnavailableException, "ThrottlingException": newErrorThrottlingException, "UnknownResourceException": newErrorUnknownResourceException, + "ValidationException": newErrorValidationException, } diff --git a/service/route53resolver/route53resolveriface/interface.go b/service/route53resolver/route53resolveriface/interface.go index 7ef5832c63a..3efbe3fe8e1 100644 --- a/service/route53resolver/route53resolveriface/interface.go +++ b/service/route53resolver/route53resolveriface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // Amazon Route 53 Resolver. // func myFunc(svc route53resolveriface.Route53ResolverAPI) bool { -// // Make svc.AssociateResolverEndpointIpAddress request +// // Make svc.AssociateFirewallRuleGroup request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockRoute53ResolverClient struct { // route53resolveriface.Route53ResolverAPI // } -// func (m *mockRoute53ResolverClient) AssociateResolverEndpointIpAddress(input *route53resolver.AssociateResolverEndpointIpAddressInput) (*route53resolver.AssociateResolverEndpointIpAddressOutput, error) { +// func (m *mockRoute53ResolverClient) AssociateFirewallRuleGroup(input *route53resolver.AssociateFirewallRuleGroupInput) (*route53resolver.AssociateFirewallRuleGroupOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type Route53ResolverAPI interface { + AssociateFirewallRuleGroup(*route53resolver.AssociateFirewallRuleGroupInput) (*route53resolver.AssociateFirewallRuleGroupOutput, error) + AssociateFirewallRuleGroupWithContext(aws.Context, *route53resolver.AssociateFirewallRuleGroupInput, ...request.Option) (*route53resolver.AssociateFirewallRuleGroupOutput, error) + AssociateFirewallRuleGroupRequest(*route53resolver.AssociateFirewallRuleGroupInput) (*request.Request, *route53resolver.AssociateFirewallRuleGroupOutput) + AssociateResolverEndpointIpAddress(*route53resolver.AssociateResolverEndpointIpAddressInput) (*route53resolver.AssociateResolverEndpointIpAddressOutput, error) AssociateResolverEndpointIpAddressWithContext(aws.Context, *route53resolver.AssociateResolverEndpointIpAddressInput, ...request.Option) (*route53resolver.AssociateResolverEndpointIpAddressOutput, error) AssociateResolverEndpointIpAddressRequest(*route53resolver.AssociateResolverEndpointIpAddressInput) (*request.Request, *route53resolver.AssociateResolverEndpointIpAddressOutput) @@ -72,6 +76,18 @@ type Route53ResolverAPI interface { AssociateResolverRuleWithContext(aws.Context, *route53resolver.AssociateResolverRuleInput, ...request.Option) (*route53resolver.AssociateResolverRuleOutput, error) AssociateResolverRuleRequest(*route53resolver.AssociateResolverRuleInput) (*request.Request, *route53resolver.AssociateResolverRuleOutput) + CreateFirewallDomainList(*route53resolver.CreateFirewallDomainListInput) (*route53resolver.CreateFirewallDomainListOutput, error) + CreateFirewallDomainListWithContext(aws.Context, *route53resolver.CreateFirewallDomainListInput, ...request.Option) (*route53resolver.CreateFirewallDomainListOutput, error) + CreateFirewallDomainListRequest(*route53resolver.CreateFirewallDomainListInput) (*request.Request, *route53resolver.CreateFirewallDomainListOutput) + + CreateFirewallRule(*route53resolver.CreateFirewallRuleInput) (*route53resolver.CreateFirewallRuleOutput, error) + CreateFirewallRuleWithContext(aws.Context, *route53resolver.CreateFirewallRuleInput, ...request.Option) (*route53resolver.CreateFirewallRuleOutput, error) + CreateFirewallRuleRequest(*route53resolver.CreateFirewallRuleInput) (*request.Request, *route53resolver.CreateFirewallRuleOutput) + + CreateFirewallRuleGroup(*route53resolver.CreateFirewallRuleGroupInput) (*route53resolver.CreateFirewallRuleGroupOutput, error) + CreateFirewallRuleGroupWithContext(aws.Context, *route53resolver.CreateFirewallRuleGroupInput, ...request.Option) (*route53resolver.CreateFirewallRuleGroupOutput, error) + CreateFirewallRuleGroupRequest(*route53resolver.CreateFirewallRuleGroupInput) (*request.Request, *route53resolver.CreateFirewallRuleGroupOutput) + CreateResolverEndpoint(*route53resolver.CreateResolverEndpointInput) (*route53resolver.CreateResolverEndpointOutput, error) CreateResolverEndpointWithContext(aws.Context, *route53resolver.CreateResolverEndpointInput, ...request.Option) (*route53resolver.CreateResolverEndpointOutput, error) CreateResolverEndpointRequest(*route53resolver.CreateResolverEndpointInput) (*request.Request, *route53resolver.CreateResolverEndpointOutput) @@ -84,6 +100,18 @@ type Route53ResolverAPI interface { CreateResolverRuleWithContext(aws.Context, *route53resolver.CreateResolverRuleInput, ...request.Option) (*route53resolver.CreateResolverRuleOutput, error) CreateResolverRuleRequest(*route53resolver.CreateResolverRuleInput) (*request.Request, *route53resolver.CreateResolverRuleOutput) + DeleteFirewallDomainList(*route53resolver.DeleteFirewallDomainListInput) (*route53resolver.DeleteFirewallDomainListOutput, error) + DeleteFirewallDomainListWithContext(aws.Context, *route53resolver.DeleteFirewallDomainListInput, ...request.Option) (*route53resolver.DeleteFirewallDomainListOutput, error) + DeleteFirewallDomainListRequest(*route53resolver.DeleteFirewallDomainListInput) (*request.Request, *route53resolver.DeleteFirewallDomainListOutput) + + DeleteFirewallRule(*route53resolver.DeleteFirewallRuleInput) (*route53resolver.DeleteFirewallRuleOutput, error) + DeleteFirewallRuleWithContext(aws.Context, *route53resolver.DeleteFirewallRuleInput, ...request.Option) (*route53resolver.DeleteFirewallRuleOutput, error) + DeleteFirewallRuleRequest(*route53resolver.DeleteFirewallRuleInput) (*request.Request, *route53resolver.DeleteFirewallRuleOutput) + + DeleteFirewallRuleGroup(*route53resolver.DeleteFirewallRuleGroupInput) (*route53resolver.DeleteFirewallRuleGroupOutput, error) + DeleteFirewallRuleGroupWithContext(aws.Context, *route53resolver.DeleteFirewallRuleGroupInput, ...request.Option) (*route53resolver.DeleteFirewallRuleGroupOutput, error) + DeleteFirewallRuleGroupRequest(*route53resolver.DeleteFirewallRuleGroupInput) (*request.Request, *route53resolver.DeleteFirewallRuleGroupOutput) + DeleteResolverEndpoint(*route53resolver.DeleteResolverEndpointInput) (*route53resolver.DeleteResolverEndpointOutput, error) DeleteResolverEndpointWithContext(aws.Context, *route53resolver.DeleteResolverEndpointInput, ...request.Option) (*route53resolver.DeleteResolverEndpointOutput, error) DeleteResolverEndpointRequest(*route53resolver.DeleteResolverEndpointInput) (*request.Request, *route53resolver.DeleteResolverEndpointOutput) @@ -96,6 +124,10 @@ type Route53ResolverAPI interface { DeleteResolverRuleWithContext(aws.Context, *route53resolver.DeleteResolverRuleInput, ...request.Option) (*route53resolver.DeleteResolverRuleOutput, error) DeleteResolverRuleRequest(*route53resolver.DeleteResolverRuleInput) (*request.Request, *route53resolver.DeleteResolverRuleOutput) + DisassociateFirewallRuleGroup(*route53resolver.DisassociateFirewallRuleGroupInput) (*route53resolver.DisassociateFirewallRuleGroupOutput, error) + DisassociateFirewallRuleGroupWithContext(aws.Context, *route53resolver.DisassociateFirewallRuleGroupInput, ...request.Option) (*route53resolver.DisassociateFirewallRuleGroupOutput, error) + DisassociateFirewallRuleGroupRequest(*route53resolver.DisassociateFirewallRuleGroupInput) (*request.Request, *route53resolver.DisassociateFirewallRuleGroupOutput) + DisassociateResolverEndpointIpAddress(*route53resolver.DisassociateResolverEndpointIpAddressInput) (*route53resolver.DisassociateResolverEndpointIpAddressOutput, error) DisassociateResolverEndpointIpAddressWithContext(aws.Context, *route53resolver.DisassociateResolverEndpointIpAddressInput, ...request.Option) (*route53resolver.DisassociateResolverEndpointIpAddressOutput, error) DisassociateResolverEndpointIpAddressRequest(*route53resolver.DisassociateResolverEndpointIpAddressInput) (*request.Request, *route53resolver.DisassociateResolverEndpointIpAddressOutput) @@ -108,6 +140,26 @@ type Route53ResolverAPI interface { DisassociateResolverRuleWithContext(aws.Context, *route53resolver.DisassociateResolverRuleInput, ...request.Option) (*route53resolver.DisassociateResolverRuleOutput, error) DisassociateResolverRuleRequest(*route53resolver.DisassociateResolverRuleInput) (*request.Request, *route53resolver.DisassociateResolverRuleOutput) + GetFirewallConfig(*route53resolver.GetFirewallConfigInput) (*route53resolver.GetFirewallConfigOutput, error) + GetFirewallConfigWithContext(aws.Context, *route53resolver.GetFirewallConfigInput, ...request.Option) (*route53resolver.GetFirewallConfigOutput, error) + GetFirewallConfigRequest(*route53resolver.GetFirewallConfigInput) (*request.Request, *route53resolver.GetFirewallConfigOutput) + + GetFirewallDomainList(*route53resolver.GetFirewallDomainListInput) (*route53resolver.GetFirewallDomainListOutput, error) + GetFirewallDomainListWithContext(aws.Context, *route53resolver.GetFirewallDomainListInput, ...request.Option) (*route53resolver.GetFirewallDomainListOutput, error) + GetFirewallDomainListRequest(*route53resolver.GetFirewallDomainListInput) (*request.Request, *route53resolver.GetFirewallDomainListOutput) + + GetFirewallRuleGroup(*route53resolver.GetFirewallRuleGroupInput) (*route53resolver.GetFirewallRuleGroupOutput, error) + GetFirewallRuleGroupWithContext(aws.Context, *route53resolver.GetFirewallRuleGroupInput, ...request.Option) (*route53resolver.GetFirewallRuleGroupOutput, error) + GetFirewallRuleGroupRequest(*route53resolver.GetFirewallRuleGroupInput) (*request.Request, *route53resolver.GetFirewallRuleGroupOutput) + + GetFirewallRuleGroupAssociation(*route53resolver.GetFirewallRuleGroupAssociationInput) (*route53resolver.GetFirewallRuleGroupAssociationOutput, error) + GetFirewallRuleGroupAssociationWithContext(aws.Context, *route53resolver.GetFirewallRuleGroupAssociationInput, ...request.Option) (*route53resolver.GetFirewallRuleGroupAssociationOutput, error) + GetFirewallRuleGroupAssociationRequest(*route53resolver.GetFirewallRuleGroupAssociationInput) (*request.Request, *route53resolver.GetFirewallRuleGroupAssociationOutput) + + GetFirewallRuleGroupPolicy(*route53resolver.GetFirewallRuleGroupPolicyInput) (*route53resolver.GetFirewallRuleGroupPolicyOutput, error) + GetFirewallRuleGroupPolicyWithContext(aws.Context, *route53resolver.GetFirewallRuleGroupPolicyInput, ...request.Option) (*route53resolver.GetFirewallRuleGroupPolicyOutput, error) + GetFirewallRuleGroupPolicyRequest(*route53resolver.GetFirewallRuleGroupPolicyInput) (*request.Request, *route53resolver.GetFirewallRuleGroupPolicyOutput) + GetResolverDnssecConfig(*route53resolver.GetResolverDnssecConfigInput) (*route53resolver.GetResolverDnssecConfigOutput, error) GetResolverDnssecConfigWithContext(aws.Context, *route53resolver.GetResolverDnssecConfigInput, ...request.Option) (*route53resolver.GetResolverDnssecConfigOutput, error) GetResolverDnssecConfigRequest(*route53resolver.GetResolverDnssecConfigInput) (*request.Request, *route53resolver.GetResolverDnssecConfigOutput) @@ -140,6 +192,52 @@ type Route53ResolverAPI interface { GetResolverRulePolicyWithContext(aws.Context, *route53resolver.GetResolverRulePolicyInput, ...request.Option) (*route53resolver.GetResolverRulePolicyOutput, error) GetResolverRulePolicyRequest(*route53resolver.GetResolverRulePolicyInput) (*request.Request, *route53resolver.GetResolverRulePolicyOutput) + ImportFirewallDomains(*route53resolver.ImportFirewallDomainsInput) (*route53resolver.ImportFirewallDomainsOutput, error) + ImportFirewallDomainsWithContext(aws.Context, *route53resolver.ImportFirewallDomainsInput, ...request.Option) (*route53resolver.ImportFirewallDomainsOutput, error) + ImportFirewallDomainsRequest(*route53resolver.ImportFirewallDomainsInput) (*request.Request, *route53resolver.ImportFirewallDomainsOutput) + + ListFirewallConfigs(*route53resolver.ListFirewallConfigsInput) (*route53resolver.ListFirewallConfigsOutput, error) + ListFirewallConfigsWithContext(aws.Context, *route53resolver.ListFirewallConfigsInput, ...request.Option) (*route53resolver.ListFirewallConfigsOutput, error) + ListFirewallConfigsRequest(*route53resolver.ListFirewallConfigsInput) (*request.Request, *route53resolver.ListFirewallConfigsOutput) + + ListFirewallConfigsPages(*route53resolver.ListFirewallConfigsInput, func(*route53resolver.ListFirewallConfigsOutput, bool) bool) error + ListFirewallConfigsPagesWithContext(aws.Context, *route53resolver.ListFirewallConfigsInput, func(*route53resolver.ListFirewallConfigsOutput, bool) bool, ...request.Option) error + + ListFirewallDomainLists(*route53resolver.ListFirewallDomainListsInput) (*route53resolver.ListFirewallDomainListsOutput, error) + ListFirewallDomainListsWithContext(aws.Context, *route53resolver.ListFirewallDomainListsInput, ...request.Option) (*route53resolver.ListFirewallDomainListsOutput, error) + ListFirewallDomainListsRequest(*route53resolver.ListFirewallDomainListsInput) (*request.Request, *route53resolver.ListFirewallDomainListsOutput) + + ListFirewallDomainListsPages(*route53resolver.ListFirewallDomainListsInput, func(*route53resolver.ListFirewallDomainListsOutput, bool) bool) error + ListFirewallDomainListsPagesWithContext(aws.Context, *route53resolver.ListFirewallDomainListsInput, func(*route53resolver.ListFirewallDomainListsOutput, bool) bool, ...request.Option) error + + ListFirewallDomains(*route53resolver.ListFirewallDomainsInput) (*route53resolver.ListFirewallDomainsOutput, error) + ListFirewallDomainsWithContext(aws.Context, *route53resolver.ListFirewallDomainsInput, ...request.Option) (*route53resolver.ListFirewallDomainsOutput, error) + ListFirewallDomainsRequest(*route53resolver.ListFirewallDomainsInput) (*request.Request, *route53resolver.ListFirewallDomainsOutput) + + ListFirewallDomainsPages(*route53resolver.ListFirewallDomainsInput, func(*route53resolver.ListFirewallDomainsOutput, bool) bool) error + ListFirewallDomainsPagesWithContext(aws.Context, *route53resolver.ListFirewallDomainsInput, func(*route53resolver.ListFirewallDomainsOutput, bool) bool, ...request.Option) error + + ListFirewallRuleGroupAssociations(*route53resolver.ListFirewallRuleGroupAssociationsInput) (*route53resolver.ListFirewallRuleGroupAssociationsOutput, error) + ListFirewallRuleGroupAssociationsWithContext(aws.Context, *route53resolver.ListFirewallRuleGroupAssociationsInput, ...request.Option) (*route53resolver.ListFirewallRuleGroupAssociationsOutput, error) + ListFirewallRuleGroupAssociationsRequest(*route53resolver.ListFirewallRuleGroupAssociationsInput) (*request.Request, *route53resolver.ListFirewallRuleGroupAssociationsOutput) + + ListFirewallRuleGroupAssociationsPages(*route53resolver.ListFirewallRuleGroupAssociationsInput, func(*route53resolver.ListFirewallRuleGroupAssociationsOutput, bool) bool) error + ListFirewallRuleGroupAssociationsPagesWithContext(aws.Context, *route53resolver.ListFirewallRuleGroupAssociationsInput, func(*route53resolver.ListFirewallRuleGroupAssociationsOutput, bool) bool, ...request.Option) error + + ListFirewallRuleGroups(*route53resolver.ListFirewallRuleGroupsInput) (*route53resolver.ListFirewallRuleGroupsOutput, error) + ListFirewallRuleGroupsWithContext(aws.Context, *route53resolver.ListFirewallRuleGroupsInput, ...request.Option) (*route53resolver.ListFirewallRuleGroupsOutput, error) + ListFirewallRuleGroupsRequest(*route53resolver.ListFirewallRuleGroupsInput) (*request.Request, *route53resolver.ListFirewallRuleGroupsOutput) + + ListFirewallRuleGroupsPages(*route53resolver.ListFirewallRuleGroupsInput, func(*route53resolver.ListFirewallRuleGroupsOutput, bool) bool) error + ListFirewallRuleGroupsPagesWithContext(aws.Context, *route53resolver.ListFirewallRuleGroupsInput, func(*route53resolver.ListFirewallRuleGroupsOutput, bool) bool, ...request.Option) error + + ListFirewallRules(*route53resolver.ListFirewallRulesInput) (*route53resolver.ListFirewallRulesOutput, error) + ListFirewallRulesWithContext(aws.Context, *route53resolver.ListFirewallRulesInput, ...request.Option) (*route53resolver.ListFirewallRulesOutput, error) + ListFirewallRulesRequest(*route53resolver.ListFirewallRulesInput) (*request.Request, *route53resolver.ListFirewallRulesOutput) + + ListFirewallRulesPages(*route53resolver.ListFirewallRulesInput, func(*route53resolver.ListFirewallRulesOutput, bool) bool) error + ListFirewallRulesPagesWithContext(aws.Context, *route53resolver.ListFirewallRulesInput, func(*route53resolver.ListFirewallRulesOutput, bool) bool, ...request.Option) error + ListResolverDnssecConfigs(*route53resolver.ListResolverDnssecConfigsInput) (*route53resolver.ListResolverDnssecConfigsOutput, error) ListResolverDnssecConfigsWithContext(aws.Context, *route53resolver.ListResolverDnssecConfigsInput, ...request.Option) (*route53resolver.ListResolverDnssecConfigsOutput, error) ListResolverDnssecConfigsRequest(*route53resolver.ListResolverDnssecConfigsInput) (*request.Request, *route53resolver.ListResolverDnssecConfigsOutput) @@ -196,6 +294,10 @@ type Route53ResolverAPI interface { ListTagsForResourcePages(*route53resolver.ListTagsForResourceInput, func(*route53resolver.ListTagsForResourceOutput, bool) bool) error ListTagsForResourcePagesWithContext(aws.Context, *route53resolver.ListTagsForResourceInput, func(*route53resolver.ListTagsForResourceOutput, bool) bool, ...request.Option) error + PutFirewallRuleGroupPolicy(*route53resolver.PutFirewallRuleGroupPolicyInput) (*route53resolver.PutFirewallRuleGroupPolicyOutput, error) + PutFirewallRuleGroupPolicyWithContext(aws.Context, *route53resolver.PutFirewallRuleGroupPolicyInput, ...request.Option) (*route53resolver.PutFirewallRuleGroupPolicyOutput, error) + PutFirewallRuleGroupPolicyRequest(*route53resolver.PutFirewallRuleGroupPolicyInput) (*request.Request, *route53resolver.PutFirewallRuleGroupPolicyOutput) + PutResolverQueryLogConfigPolicy(*route53resolver.PutResolverQueryLogConfigPolicyInput) (*route53resolver.PutResolverQueryLogConfigPolicyOutput, error) PutResolverQueryLogConfigPolicyWithContext(aws.Context, *route53resolver.PutResolverQueryLogConfigPolicyInput, ...request.Option) (*route53resolver.PutResolverQueryLogConfigPolicyOutput, error) PutResolverQueryLogConfigPolicyRequest(*route53resolver.PutResolverQueryLogConfigPolicyInput) (*request.Request, *route53resolver.PutResolverQueryLogConfigPolicyOutput) @@ -212,6 +314,22 @@ type Route53ResolverAPI interface { UntagResourceWithContext(aws.Context, *route53resolver.UntagResourceInput, ...request.Option) (*route53resolver.UntagResourceOutput, error) UntagResourceRequest(*route53resolver.UntagResourceInput) (*request.Request, *route53resolver.UntagResourceOutput) + UpdateFirewallConfig(*route53resolver.UpdateFirewallConfigInput) (*route53resolver.UpdateFirewallConfigOutput, error) + UpdateFirewallConfigWithContext(aws.Context, *route53resolver.UpdateFirewallConfigInput, ...request.Option) (*route53resolver.UpdateFirewallConfigOutput, error) + UpdateFirewallConfigRequest(*route53resolver.UpdateFirewallConfigInput) (*request.Request, *route53resolver.UpdateFirewallConfigOutput) + + UpdateFirewallDomains(*route53resolver.UpdateFirewallDomainsInput) (*route53resolver.UpdateFirewallDomainsOutput, error) + UpdateFirewallDomainsWithContext(aws.Context, *route53resolver.UpdateFirewallDomainsInput, ...request.Option) (*route53resolver.UpdateFirewallDomainsOutput, error) + UpdateFirewallDomainsRequest(*route53resolver.UpdateFirewallDomainsInput) (*request.Request, *route53resolver.UpdateFirewallDomainsOutput) + + UpdateFirewallRule(*route53resolver.UpdateFirewallRuleInput) (*route53resolver.UpdateFirewallRuleOutput, error) + UpdateFirewallRuleWithContext(aws.Context, *route53resolver.UpdateFirewallRuleInput, ...request.Option) (*route53resolver.UpdateFirewallRuleOutput, error) + UpdateFirewallRuleRequest(*route53resolver.UpdateFirewallRuleInput) (*request.Request, *route53resolver.UpdateFirewallRuleOutput) + + UpdateFirewallRuleGroupAssociation(*route53resolver.UpdateFirewallRuleGroupAssociationInput) (*route53resolver.UpdateFirewallRuleGroupAssociationOutput, error) + UpdateFirewallRuleGroupAssociationWithContext(aws.Context, *route53resolver.UpdateFirewallRuleGroupAssociationInput, ...request.Option) (*route53resolver.UpdateFirewallRuleGroupAssociationOutput, error) + UpdateFirewallRuleGroupAssociationRequest(*route53resolver.UpdateFirewallRuleGroupAssociationInput) (*request.Request, *route53resolver.UpdateFirewallRuleGroupAssociationOutput) + UpdateResolverDnssecConfig(*route53resolver.UpdateResolverDnssecConfigInput) (*route53resolver.UpdateResolverDnssecConfigOutput, error) UpdateResolverDnssecConfigWithContext(aws.Context, *route53resolver.UpdateResolverDnssecConfigInput, ...request.Option) (*route53resolver.UpdateResolverDnssecConfigOutput, error) UpdateResolverDnssecConfigRequest(*route53resolver.UpdateResolverDnssecConfigInput) (*request.Request, *route53resolver.UpdateResolverDnssecConfigOutput) diff --git a/service/wafv2/api.go b/service/wafv2/api.go index 069dde97983..641b5e4ae0f 100644 --- a/service/wafv2/api.go +++ b/service/wafv2/api.go @@ -227,6 +227,8 @@ func (c *WAFV2) CheckCapacityRequest(input *CheckCapacityInput) (req *request.Re // AWS WAF couldn’t retrieve the resource that you requested. Retry your request. // // * WAFSubscriptionNotFoundException +// You tried to use a managed rule group that's available by subscription, but +// you aren't subscribed to it yet. // // See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CheckCapacity func (c *WAFV2) CheckCapacity(input *CheckCapacityInput) (*CheckCapacityOutput, error) { @@ -602,6 +604,8 @@ func (c *WAFV2) CreateRuleGroupRequest(input *CreateRuleGroupInput) (req *reques // error. Retry your request. // // * WAFSubscriptionNotFoundException +// You tried to use a managed rule group that's available by subscription, but +// you aren't subscribed to it yet. // // * WAFNonexistentItemException // AWS WAF couldn’t perform the operation because your resource doesn’t @@ -750,6 +754,8 @@ func (c *WAFV2) CreateWebACLRequest(input *CreateWebACLInput) (req *request.Requ // error. Retry your request. // // * WAFSubscriptionNotFoundException +// You tried to use a managed rule group that's available by subscription, but +// you aren't subscribed to it yet. // // * WAFInvalidOperationException // The operation isn't valid. @@ -4103,6 +4109,12 @@ func (c *WAFV2) UpdateIPSetRequest(input *UpdateIPSetInput) (req *request.Reques // // Updates the specified IPSet. // +// This operation completely replaces any IP address specifications that you +// already have in the IP set with the ones that you provide to this call. If +// you want to add to or modify the addresses that are already in the IP set, +// retrieve those by calling GetIPSet, update them, and provide the complete +// updated array of IP addresses to this call. +// // 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. @@ -4396,6 +4408,8 @@ func (c *WAFV2) UpdateRuleGroupRequest(input *UpdateRuleGroupInput) (req *reques // AWS WAF couldn’t retrieve the resource that you requested. Retry your request. // // * WAFSubscriptionNotFoundException +// You tried to use a managed rule group that's available by subscription, but +// you aren't subscribed to it yet. // // * WAFInvalidOperationException // The operation isn't valid. @@ -4533,6 +4547,8 @@ func (c *WAFV2) UpdateWebACLRequest(input *UpdateWebACLInput) (req *request.Requ // AWS WAF couldn’t retrieve the resource that you requested. Retry your request. // // * WAFSubscriptionNotFoundException +// You tried to use a managed rule group that's available by subscription, but +// you aren't subscribed to it yet. // // * WAFInvalidOperationException // The operation isn't valid. @@ -4559,6 +4575,45 @@ func (c *WAFV2) UpdateWebACLWithContext(ctx aws.Context, input *UpdateWebACLInpu return out, req.Send() } +// A single action condition for a Condition in a logging filter. +type ActionCondition struct { + _ struct{} `type:"structure"` + + // The action setting that a log record must contain in order to meet the condition. + // + // Action is a required field + Action *string `type:"string" required:"true" enum:"ActionValue"` +} + +// String returns the string representation +func (s ActionCondition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ActionCondition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ActionCondition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ActionCondition"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAction sets the Action field's value. +func (s *ActionCondition) SetAction(v string) *ActionCondition { + s.Action = &v + return s +} + // Inspect all of the elements that AWS WAF has parsed and extracted from the // web request JSON body that are within the JsonBody MatchScope. This is used // with the FieldToMatch option JsonBody. @@ -5102,6 +5157,59 @@ func (s *CheckCapacityOutput) SetCapacity(v int64) *CheckCapacityOutput { return s } +// A single match condition for a Filter. +type Condition struct { + _ struct{} `type:"structure"` + + // A single action condition. + ActionCondition *ActionCondition `type:"structure"` + + // A single label name condition. + LabelNameCondition *LabelNameCondition `type:"structure"` +} + +// String returns the string representation +func (s Condition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Condition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Condition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Condition"} + if s.ActionCondition != nil { + if err := s.ActionCondition.Validate(); err != nil { + invalidParams.AddNested("ActionCondition", err.(request.ErrInvalidParams)) + } + } + if s.LabelNameCondition != nil { + if err := s.LabelNameCondition.Validate(); err != nil { + invalidParams.AddNested("LabelNameCondition", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActionCondition sets the ActionCondition field's value. +func (s *Condition) SetActionCondition(v *ActionCondition) *Condition { + s.ActionCondition = v + return s +} + +// SetLabelNameCondition sets the LabelNameCondition field's value. +func (s *Condition) SetLabelNameCondition(v *LabelNameCondition) *Condition { + s.LabelNameCondition = v + return s +} + // Specifies that AWS WAF should count the request. Optionally defines additional // custom handling for the request. // @@ -7045,6 +7153,10 @@ func (s *DescribeManagedRuleGroupInput) SetVendorName(v string) *DescribeManaged type DescribeManagedRuleGroupOutput struct { _ struct{} `type:"structure"` + // The labels that one or more rules in this rule group add to matching web + // ACLs. These labels are defined in the RuleLabels for a Rule. + AvailableLabels []*LabelSummary `type:"list"` + // The web ACL capacity units (WCUs) required for this rule group. AWS WAF uses // web ACL capacity units (WCU) to calculate and control the operating resources // that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates @@ -7053,6 +7165,24 @@ type DescribeManagedRuleGroupOutput struct { // ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500. Capacity *int64 `min:"1" type:"long"` + // The labels that one or more rules in this rule group match against in label + // match statements. These labels are defined in a LabelMatchStatement specification, + // in the Statement definition of a rule. + ConsumedLabels []*LabelSummary `type:"list"` + + // The label namespace prefix for this rule group. All labels added by rules + // in this rule group have this prefix. + // + // * The syntax for the label namespace prefix for a managed rule group is + // the following: awswaf:managed::: + // + // * When a rule with a label matches a web request, AWS WAF adds the fully + // qualified label to the request. A fully qualified label is made up of + // the label namespace from the rule group or web ACL where the rule is defined + // and the label from the rule, separated by a colon: