diff --git a/CHANGELOG.md b/CHANGELOG.md index 1dfb218a8ee..371bc272faf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,20 @@ +Release v1.53.7 (2024-05-21) +=== + +### Service Client Updates +* `service/cloudfront`: Updates service API + * Model update; no change to SDK functionality. +* `service/glue`: Updates service API and documentation + * Add Maintenance window to CreateJob and UpdateJob APIs and JobRun response. Add a new Job Run State for EXPIRED. +* `service/lightsail`: Updates service API and documentation + * This release adds support for Amazon Lightsail instances to switch between dual-stack or IPv4 only and IPv6-only public IP address types. +* `service/mailmanager`: Adds new service +* `service/pi`: Updates service API and documentation +* `service/rds`: Updates service API, documentation, waiters, paginators, and examples + * Updates Amazon RDS documentation for Db2 license through AWS Marketplace. +* `service/storagegateway`: Updates service API and documentation + * Added new SMBSecurityStrategy enum named MandatoryEncryptionNoAes128, new mode enforces encryption and disables AES 128-bit algorithums. + Release v1.53.6 (2024-05-20) === diff --git a/aws/version.go b/aws/version.go index f5dc6591ddf..6298b227e71 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.53.6" +const SDKVersion = "1.53.7" diff --git a/models/apis/cloudfront/2020-05-31/api-2.json b/models/apis/cloudfront/2020-05-31/api-2.json index ac315d2a380..e4ec4a05db6 100644 --- a/models/apis/cloudfront/2020-05-31/api-2.json +++ b/models/apis/cloudfront/2020-05-31/api-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"cloudfront", "globalEndpoint":"cloudfront.amazonaws.com", "protocol":"rest-xml", + "protocols":["rest-xml"], "serviceAbbreviation":"CloudFront", "serviceFullName":"Amazon CloudFront", "serviceId":"CloudFront", diff --git a/models/apis/glue/2017-03-31/api-2.json b/models/apis/glue/2017-03-31/api-2.json index e42c66fc2a0..6297118d232 100644 --- a/models/apis/glue/2017-03-31/api-2.json +++ b/models/apis/glue/2017-03-31/api-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"glue", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceFullName":"AWS Glue", "serviceId":"Glue", "signatureVersion":"v4", @@ -5428,7 +5429,8 @@ "WorkerType":{"shape":"WorkerType"}, "CodeGenConfigurationNodes":{"shape":"CodeGenConfigurationNodes"}, "ExecutionClass":{"shape":"ExecutionClass"}, - "SourceControlDetails":{"shape":"SourceControlDetails"} + "SourceControlDetails":{"shape":"SourceControlDetails"}, + "MaintenanceWindow":{"shape":"MaintenanceWindow"} } }, "CreateJobResponse":{ @@ -9015,7 +9017,8 @@ "GlueVersion":{"shape":"GlueVersionString"}, "CodeGenConfigurationNodes":{"shape":"CodeGenConfigurationNodes"}, "ExecutionClass":{"shape":"ExecutionClass"}, - "SourceControlDetails":{"shape":"SourceControlDetails"} + "SourceControlDetails":{"shape":"SourceControlDetails"}, + "MaintenanceWindow":{"shape":"MaintenanceWindow"} } }, "JobBookmarkEntry":{ @@ -9098,7 +9101,8 @@ "NotificationProperty":{"shape":"NotificationProperty"}, "GlueVersion":{"shape":"GlueVersionString"}, "DPUSeconds":{"shape":"NullableDouble"}, - "ExecutionClass":{"shape":"ExecutionClass"} + "ExecutionClass":{"shape":"ExecutionClass"}, + "MaintenanceWindow":{"shape":"MaintenanceWindow"} } }, "JobRunList":{ @@ -9116,7 +9120,8 @@ "FAILED", "TIMEOUT", "ERROR", - "WAITING" + "WAITING", + "EXPIRED" ] }, "JobUpdate":{ @@ -9145,7 +9150,8 @@ "GlueVersion":{"shape":"GlueVersionString"}, "CodeGenConfigurationNodes":{"shape":"CodeGenConfigurationNodes"}, "ExecutionClass":{"shape":"ExecutionClass"}, - "SourceControlDetails":{"shape":"SourceControlDetails"} + "SourceControlDetails":{"shape":"SourceControlDetails"}, + "MaintenanceWindow":{"shape":"MaintenanceWindow"} } }, "Join":{ @@ -9781,6 +9787,10 @@ "SSE-KMS" ] }, + "MaintenanceWindow":{ + "type":"string", + "pattern":"^(Sun|Mon|Tue|Wed|Thu|Fri|Sat):([01]?[0-9]|2[0-3])$" + }, "ManyInputs":{ "type":"list", "member":{"shape":"NodeId"}, diff --git a/models/apis/glue/2017-03-31/docs-2.json b/models/apis/glue/2017-03-31/docs-2.json index f041d3a0d4c..a191bf3031c 100644 --- a/models/apis/glue/2017-03-31/docs-2.json +++ b/models/apis/glue/2017-03-31/docs-2.json @@ -5418,6 +5418,15 @@ "MLUserDataEncryption$MlUserDataEncryptionMode": "

The encryption mode applied to user data. Valid values are:

" } }, + "MaintenanceWindow": { + "base": null, + "refs": { + "CreateJobRequest$MaintenanceWindow": "

This field specifies a day of the week and hour for a maintenance window for streaming jobs. Glue periodically performs maintenance activities. During these maintenance windows, Glue will need to restart your streaming jobs.

Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.

", + "Job$MaintenanceWindow": "

This field specifies a day of the week and hour for a maintenance window for streaming jobs. Glue periodically performs maintenance activities. During these maintenance windows, Glue will need to restart your streaming jobs.

Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.

", + "JobRun$MaintenanceWindow": "

This field specifies a day of the week and hour for a maintenance window for streaming jobs. Glue periodically performs maintenance activities. During these maintenance windows, Glue will need to restart your streaming jobs.

Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.

", + "JobUpdate$MaintenanceWindow": "

This field specifies a day of the week and hour for a maintenance window for streaming jobs. Glue periodically performs maintenance activities. During these maintenance windows, Glue will need to restart your streaming jobs.

Glue will restart the job within 3 hours of the specified maintenance window. For instance, if you set up the maintenance window for Monday at 10:00AM GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT.

" + } + }, "ManyInputs": { "base": null, "refs": { @@ -6287,7 +6296,7 @@ "GetMLTransformResponse$MaxCapacity": "

The number of Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page.

When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

", "Job$MaxCapacity": "

For Glue version 1.0 or earlier jobs, using the standard worker type, the number of Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page.

For Glue version 2.0 or later jobs, you cannot specify a Maximum capacity. Instead, you should specify a Worker type and the Number of workers.

Do not set MaxCapacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL job:

", "JobRun$MaxCapacity": "

For Glue version 1.0 or earlier jobs, using the standard worker type, the number of Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page.

For Glue version 2.0+ jobs, you cannot specify a Maximum capacity. Instead, you should specify a Worker type and the Number of workers.

Do not set MaxCapacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL job:

", - "JobRun$DPUSeconds": "

This field populates only for Auto Scaling job runs, and represents the total time each executor ran during the lifecycle of a job run in seconds, multiplied by a DPU factor (1 for G.1X, 2 for G.2X, or 0.25 for G.025X workers). This value may be different than the executionEngineRuntime * MaxCapacity as in the case of Auto Scaling jobs, as the number of executors running at a given time may be less than the MaxCapacity. Therefore, it is possible that the value of DPUSeconds is less than executionEngineRuntime * MaxCapacity.

", + "JobRun$DPUSeconds": "

This field can be set for either job runs with execution class FLEX or when Auto Scaling is enabled, and represents the total time each executor ran during the lifecycle of a job run in seconds, multiplied by a DPU factor (1 for G.1X, 2 for G.2X, or 0.25 for G.025X workers). This value may be different than the executionEngineRuntime * MaxCapacity as in the case of Auto Scaling jobs, as the number of executors running at a given time may be less than the MaxCapacity. Therefore, it is possible that the value of DPUSeconds is less than executionEngineRuntime * MaxCapacity.

", "JobUpdate$MaxCapacity": "

For Glue version 1.0 or earlier jobs, using the standard worker type, the number of Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page.

For Glue version 2.0+ jobs, you cannot specify a Maximum capacity. Instead, you should specify a Worker type and the Number of workers.

Do not set MaxCapacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job, an Apache Spark ETL job, or an Apache Spark streaming ETL job:

", "MLTransform$MaxCapacity": "

The number of Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page.

MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

", "Session$MaxCapacity": "

The number of Glue data processing units (DPUs) that can be allocated when the job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB memory.

", @@ -8400,7 +8409,7 @@ "GetDataQualityRulesetEvaluationRunResponse$Timeout": "

The timeout for a run in minutes. This is the maximum time that a run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

", "GetMLTransformResponse$Timeout": "

The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

", "Job$Timeout": "

The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

", - "JobRun$Timeout": "

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. This value overrides the timeout value set in the parent job.

Streaming jobs do not have a timeout. The default for non-streaming jobs is 2,880 minutes (48 hours).

", + "JobRun$Timeout": "

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. This value overrides the timeout value set in the parent job.

The maximum value for timeout for batch jobs is 7 days or 10080 minutes. The default is 2880 minutes (48 hours) for batch jobs.

Any existing Glue jobs that have a greater timeout value are defaulted to 7 days. For instance you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day.

Streaming jobs must have timeout values less than 7 days or 10080 minutes. When the value is left blank, the job will be restarted after 7 days based if you have not setup a maintenance window. If you have setup maintenance window, it will be restarted during the maintenance window after 7 days.

", "JobUpdate$Timeout": "

The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

", "MLTransform$Timeout": "

The timeout in minutes of the machine learning transform.

", "StartDataQualityRuleRecommendationRunRequest$Timeout": "

The timeout for a run in minutes. This is the maximum time that a run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

", diff --git a/models/apis/lightsail/2016-11-28/api-2.json b/models/apis/lightsail/2016-11-28/api-2.json index 8ed6a91da7a..cedf1594465 100644 --- a/models/apis/lightsail/2016-11-28/api-2.json +++ b/models/apis/lightsail/2016-11-28/api-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"lightsail", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceFullName":"Amazon Lightsail", "serviceId":"Lightsail", "signatureVersion":"v4", @@ -6335,7 +6336,8 @@ "type":"string", "enum":[ "dualstack", - "ipv4" + "ipv4", + "ipv6" ] }, "Ipv6Address":{ @@ -6786,7 +6788,8 @@ "tcp", "all", "udp", - "icmp" + "icmp", + "icmpv6" ] }, "NonEmptyString":{ @@ -7596,7 +7599,8 @@ "members":{ "resourceType":{"shape":"ResourceType"}, "resourceName":{"shape":"ResourceName"}, - "ipAddressType":{"shape":"IpAddressType"} + "ipAddressType":{"shape":"IpAddressType"}, + "acceptBundleUpdate":{"shape":"boolean"} } }, "SetIpAddressTypeResult":{ diff --git a/models/apis/lightsail/2016-11-28/docs-2.json b/models/apis/lightsail/2016-11-28/docs-2.json index fd9d14f4a63..34e0bf8a5ff 100644 --- a/models/apis/lightsail/2016-11-28/docs-2.json +++ b/models/apis/lightsail/2016-11-28/docs-2.json @@ -2701,13 +2701,13 @@ "base": null, "refs": { "CreateDistributionRequest$ipAddressType": "

The IP address type for the distribution.

The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.

The default value is dualstack.

", - "CreateInstancesFromSnapshotRequest$ipAddressType": "

The IP address type for the instance.

The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.

The default value is dualstack.

", - "CreateInstancesRequest$ipAddressType": "

The IP address type for the instance.

The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.

The default value is dualstack.

", - "CreateLoadBalancerRequest$ipAddressType": "

The IP address type for the load balancer.

The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.

The default value is dualstack.

", - "Instance$ipAddressType": "

The IP address type of the instance.

The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.

", + "CreateInstancesFromSnapshotRequest$ipAddressType": "

The IP address type for the instance.

The possible values are ipv4 for IPv4 only, ipv6 for IPv6 only, and dualstack for IPv4 and IPv6.

The default value is dualstack.

", + "CreateInstancesRequest$ipAddressType": "

The IP address type for the instance.

The possible values are ipv4 for IPv4 only, ipv6 for IPv6 only, and dualstack for IPv4 and IPv6.

The default value is dualstack.

", + "CreateLoadBalancerRequest$ipAddressType": "

The IP address type for the load balancer.

The possible values are ipv4 for IPv4 only, ipv6 for IPv6 only, and dualstack for IPv4 and IPv6.

The default value is dualstack.

", + "Instance$ipAddressType": "

The IP address type of the instance.

The possible values are ipv4 for IPv4 only, ipv6 for IPv6 only, and dualstack for IPv4 and IPv6.

", "LightsailDistribution$ipAddressType": "

The IP address type of the distribution.

The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.

", - "LoadBalancer$ipAddressType": "

The IP address type of the load balancer.

The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.

", - "SetIpAddressTypeRequest$ipAddressType": "

The IP address type to set for the specified resource.

The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6.

" + "LoadBalancer$ipAddressType": "

The IP address type of the load balancer.

The possible values are ipv4 for IPv4 only, ipv6 for IPv6 only, and dualstack for IPv4 and IPv6.

", + "SetIpAddressTypeRequest$ipAddressType": "

The IP address type to set for the specified resource.

The possible values are ipv4 for IPv4 only, ipv6 for IPv6 only, and dualstack for IPv4 and IPv6.

" } }, "Ipv6Address": { @@ -3100,9 +3100,9 @@ "NetworkProtocol": { "base": null, "refs": { - "InstancePortInfo$protocol": "

The IP protocol name.

The name can be one of the following:

", - "InstancePortState$protocol": "

The IP protocol name.

The name can be one of the following:

", - "PortInfo$protocol": "

The IP protocol name.

The name can be one of the following:

" + "InstancePortInfo$protocol": "

The IP protocol name.

The name can be one of the following:

", + "InstancePortState$protocol": "

The IP protocol name.

The name can be one of the following:

", + "PortInfo$protocol": "

The IP protocol name.

The name can be one of the following:

" } }, "NonEmptyString": { @@ -3113,7 +3113,7 @@ "AttachDiskRequest$diskPath": "

The disk path to expose to the instance (/dev/xvdf).

", "AvailabilityZone$zoneName": "

The name of the Availability Zone. The format is us-east-2a (case-sensitive).

", "AvailabilityZone$state": "

The state of the Availability Zone.

", - "Blueprint$blueprintId": "

The ID for the virtual private server image (app_wordpress_4_4 or app_lamp_7_0).

", + "Blueprint$blueprintId": "

The ID for the virtual private server image (app_wordpress_x_x or app_lamp_x_x).

", "Blueprint$group": "

The group name of the blueprint (amazon-linux).

", "Bucket$resourceType": "

The Lightsail resource type of the bucket.

", "Bucket$arn": "

The Amazon Resource Name (ARN) of the bucket.

", @@ -3124,7 +3124,7 @@ "BucketBundle$bundleId": "

The ID of the bundle.

", "BucketBundle$name": "

The name of the bundle.

", "BucketState$code": "

The state code of the bucket.

The following codes are possible:

", - "Bundle$bundleId": "

The bundle ID (micro_1_0).

", + "Bundle$bundleId": "

The bundle ID (micro_x_x).

", "CacheSettings$allowedHTTPMethods": "

The HTTP methods that are processed and forwarded to the distribution's origin.

You can specify the following options:

If you specify the third option, you might need to restrict access to your distribution's origin so users can't perform operations that you don't want them to. For example, you might not want users to have permission to delete objects from your origin.

", "CacheSettings$cachedHTTPMethods": "

The HTTP method responses that are cached by your distribution.

You can specify the following options:

", "Certificate$arn": "

The Amazon Resource Name (ARN) of the certificate.

", @@ -3139,9 +3139,9 @@ "CreateBucketRequest$bundleId": "

The ID of the bundle to use for the bucket.

A bucket bundle specifies the monthly cost, storage space, and data transfer quota for a bucket.

Use the GetBucketBundles action to get a list of bundle IDs that you can specify.

Use the UpdateBucketBundle action to change the bundle after the bucket is created.

", "CreateDiskFromSnapshotRequest$availabilityZone": "

The Availability Zone where you want to create the disk (us-east-2a). Choose the same Availability Zone as the Lightsail instance where you want to create the disk.

Use the GetRegions operation to list the Availability Zones where Lightsail is currently available.

", "CreateDiskRequest$availabilityZone": "

The Availability Zone where you want to create the disk (us-east-2a). Use the same Availability Zone as the Lightsail instance to which you want to attach the disk.

Use the get regions operation to list the Availability Zones where Lightsail is currently available.

", - "CreateInstancesFromSnapshotRequest$bundleId": "

The bundle of specification information for your virtual private server (or instance), including the pricing plan (micro_1_0).

", - "CreateInstancesRequest$blueprintId": "

The ID for a virtual private server image (app_wordpress_4_4 or app_lamp_7_0). Use the get blueprints operation to return a list of available images (or blueprints).

Use active blueprints when creating new instances. Inactive blueprints are listed to support customers with existing instances and are not necessarily available to create new instances. Blueprints are marked inactive when they become outdated due to operating system updates or new application releases.

", - "CreateInstancesRequest$bundleId": "

The bundle of specification information for your virtual private server (or instance), including the pricing plan (micro_1_0).

", + "CreateInstancesFromSnapshotRequest$bundleId": "

The bundle of specification information for your virtual private server (or instance), including the pricing plan (micro_x_x).

", + "CreateInstancesRequest$blueprintId": "

The ID for a virtual private server image (app_wordpress_x_x or app_lamp_x_x). Use the get blueprints operation to return a list of available images (or blueprints).

Use active blueprints when creating new instances. Inactive blueprints are listed to support customers with existing instances and are not necessarily available to create new instances. Blueprints are marked inactive when they become outdated due to operating system updates or new application releases.

", + "CreateInstancesRequest$bundleId": "

The bundle of specification information for your virtual private server (or instance), including the pricing plan (medium_x_x).

", "DeleteBucketAccessKeyRequest$accessKeyId": "

The ID of the access key to delete.

Use the GetBucketAccessKeys action to get a list of access key IDs that you can specify.

", "DestinationInfo$id": "

The ID of the resource created at the destination.

", "DestinationInfo$service": "

The destination service of the record.

", @@ -3160,15 +3160,15 @@ "ExportSnapshotRecordSourceInfo$fromResourceArn": "

The Amazon Resource Name (ARN) of the snapshot's source instance or disk.

", "GetOperationRequest$operationId": "

A GUID used to identify the operation.

", "Instance$arn": "

The Amazon Resource Name (ARN) of the instance (arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).

", - "Instance$blueprintId": "

The blueprint ID (os_amlinux_2016_03).

", - "Instance$blueprintName": "

The friendly name of the blueprint (Amazon Linux).

", - "Instance$bundleId": "

The bundle for the instance (micro_1_0).

", + "Instance$blueprintId": "

The blueprint ID (amazon_linux_2023).

", + "Instance$blueprintName": "

The friendly name of the blueprint (Amazon Linux 2023).

", + "Instance$bundleId": "

The bundle for the instance (micro_x_x).

", "Instance$username": "

The user name for connecting to the instance (ec2-user).

", "InstanceEntry$instanceType": "

The instance type (t2.micro) to use for the new Amazon EC2 instance.

", "InstanceSnapshot$arn": "

The Amazon Resource Name (ARN) of the snapshot (arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE).

", "InstanceSnapshot$fromInstanceArn": "

The Amazon Resource Name (ARN) of the instance from which the snapshot was created (arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE).

", - "InstanceSnapshotInfo$fromBundleId": "

The bundle ID from which the source instance was created (micro_1_0).

", - "InstanceSnapshotInfo$fromBlueprintId": "

The blueprint ID from which the source instance (os_debian_8_3).

", + "InstanceSnapshotInfo$fromBundleId": "

The bundle ID from which the source instance was created (micro_x_x).

", + "InstanceSnapshotInfo$fromBlueprintId": "

The blueprint ID from which the source instance (amazon_linux_2023).

", "KeyPair$arn": "

The Amazon Resource Name (ARN) of the key pair (arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE).

", "LightsailDistribution$arn": "

The Amazon Resource Name (ARN) of the distribution.

", "LoadBalancer$arn": "

The Amazon Resource Name (ARN) of the load balancer.

", @@ -3893,7 +3893,7 @@ "GetStaticIpRequest$staticIpName": "

The name of the static IP in Lightsail.

", "ImportKeyPairRequest$keyPairName": "

The name of the key pair for which you want to import the public key.

", "InputOrigin$name": "

The name of the origin resource.

", - "Instance$name": "

The name the user gave the instance (Amazon_Linux-1GB-Ohio-1).

", + "Instance$name": "

The name the user gave the instance (Amazon_Linux_2023-1).

", "Instance$sshKeyName": "

The name of the SSH key being used to connect to the instance (LightsailDefaultKeyPair).

", "InstanceAccessDetails$instanceName": "

The name of this Amazon Lightsail instance.

", "InstanceEntry$sourceName": "

The name of the export snapshot record, which contains the exported Lightsail instance snapshot that will be used as the source of the new Amazon EC2 instance.

Use the get export snapshot records operation to get a list of export snapshot records that you can use to create a CloudFormation stack.

", @@ -4576,6 +4576,7 @@ "RelationalDatabaseBundle$isActive": "

A Boolean value indicating whether the database bundle is active.

", "RelationalDatabaseParameter$isModifiable": "

A Boolean value indicating whether the parameter can be modified.

", "Session$isPrimary": "

When true, this Boolean value indicates the primary session for the specified resource.

", + "SetIpAddressTypeRequest$acceptBundleUpdate": "

Required parameter to accept the instance bundle update when changing to, and from, IPv6-only.

An instance bundle will change when switching from dual-stack or ipv4, to ipv6. It also changes when switching from ipv6, to dual-stack or ipv4.

You must include this parameter in the command to update the bundle. For example, if you switch from dual-stack to ipv6, the bundle will be updated, and billing for the IPv6-only instance bundle begins immediately.

", "StaticIp$isAttached": "

A Boolean value indicating whether the static IP is attached.

", "StopInstanceRequest$force": "

When set to True, forces a Lightsail instance that is stuck in a stopping state to stop.

Only use the force parameter if your instance is stuck in the stopping state. In any other state, your instance should stop normally without adding this parameter to your API request.

", "UpdateContainerServiceRequest$isDisabled": "

A Boolean value to indicate whether the container service is disabled.

", @@ -4710,7 +4711,7 @@ "Blueprint$productUrl": "

The product URL to learn more about the image or blueprint.

", "Blueprint$licenseUrl": "

The end-user license agreement URL for the image or blueprint.

", "BucketState$message": "

A message that describes the state of the bucket.

", - "Bundle$instanceType": "

The Amazon EC2 instance type (t2.micro).

", + "Bundle$instanceType": "

The instance type (micro).

", "Bundle$name": "

A friendly name for the bundle (Micro).

", "CacheBehaviorPerPath$path": "

The path to a directory or file to cached, or not cache. Use an asterisk symbol to specify wildcard directories (path/to/assets/*), and file types (*.html, *jpg, *js). Directories and file paths are case-sensitive.

Examples:

", "Certificate$supportCode": "

The support code. Include this code in your email to support when you have questions about your Lightsail certificate. This code enables our support team to look up your Lightsail information more easily.

", @@ -4854,8 +4855,8 @@ "InstancePortInfo$commonName": "

The common name of the port information.

", "InstanceSnapshot$supportCode": "

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

", "InstanceSnapshot$progress": "

The progress of the snapshot.

This is populated only for disk snapshots, and is null for instance snapshots.

", - "InstanceSnapshot$fromBlueprintId": "

The blueprint ID from which you created the snapshot (os_debian_8_3). A blueprint is a virtual private server (or instance) image used to create instances quickly.

", - "InstanceSnapshot$fromBundleId": "

The bundle ID from which you created the snapshot (micro_1_0).

", + "InstanceSnapshot$fromBlueprintId": "

The blueprint ID from which you created the snapshot (amazon_linux_2023). A blueprint is a virtual private server (or instance) image used to create instances quickly.

", + "InstanceSnapshot$fromBundleId": "

The bundle ID from which you created the snapshot (micro_x_x).

", "InstanceState$name": "

The state of the instance (running or pending).

", "InvalidInputException$code": null, "InvalidInputException$docs": null, diff --git a/models/apis/mailmanager/2023-10-17/api-2.json b/models/apis/mailmanager/2023-10-17/api-2.json new file mode 100644 index 00000000000..0f80d0d5e38 --- /dev/null +++ b/models/apis/mailmanager/2023-10-17/api-2.json @@ -0,0 +1,2815 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2023-10-17", + "endpointPrefix":"mail-manager", + "jsonVersion":"1.0", + "protocol":"json", + "protocols":["json"], + "serviceFullName":"MailManager", + "serviceId":"MailManager", + "signatureVersion":"v4", + "signingName":"ses", + "targetPrefix":"MailManagerSvc", + "uid":"mailmanager-2023-10-17" + }, + "operations":{ + "CreateAddonInstance":{ + "name":"CreateAddonInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAddonInstanceRequest"}, + "output":{"shape":"CreateAddonInstanceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "CreateAddonSubscription":{ + "name":"CreateAddonSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAddonSubscriptionRequest"}, + "output":{"shape":"CreateAddonSubscriptionResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "CreateArchive":{ + "name":"CreateArchive", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateArchiveRequest"}, + "output":{"shape":"CreateArchiveResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ], + "idempotent":true + }, + "CreateIngressPoint":{ + "name":"CreateIngressPoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateIngressPointRequest"}, + "output":{"shape":"CreateIngressPointResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "CreateRelay":{ + "name":"CreateRelay", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRelayRequest"}, + "output":{"shape":"CreateRelayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "CreateRuleSet":{ + "name":"CreateRuleSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRuleSetRequest"}, + "output":{"shape":"CreateRuleSetResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "CreateTrafficPolicy":{ + "name":"CreateTrafficPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTrafficPolicyRequest"}, + "output":{"shape":"CreateTrafficPolicyResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "DeleteAddonInstance":{ + "name":"DeleteAddonInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAddonInstanceRequest"}, + "output":{"shape":"DeleteAddonInstanceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "DeleteAddonSubscription":{ + "name":"DeleteAddonSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAddonSubscriptionRequest"}, + "output":{"shape":"DeleteAddonSubscriptionResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "DeleteArchive":{ + "name":"DeleteArchive", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteArchiveRequest"}, + "output":{"shape":"DeleteArchiveResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ], + "idempotent":true + }, + "DeleteIngressPoint":{ + "name":"DeleteIngressPoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteIngressPointRequest"}, + "output":{"shape":"DeleteIngressPointResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "DeleteRelay":{ + "name":"DeleteRelay", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRelayRequest"}, + "output":{"shape":"DeleteRelayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "DeleteRuleSet":{ + "name":"DeleteRuleSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRuleSetRequest"}, + "output":{"shape":"DeleteRuleSetResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "DeleteTrafficPolicy":{ + "name":"DeleteTrafficPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTrafficPolicyRequest"}, + "output":{"shape":"DeleteTrafficPolicyResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "GetAddonInstance":{ + "name":"GetAddonInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAddonInstanceRequest"}, + "output":{"shape":"GetAddonInstanceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetAddonSubscription":{ + "name":"GetAddonSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAddonSubscriptionRequest"}, + "output":{"shape":"GetAddonSubscriptionResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetArchive":{ + "name":"GetArchive", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetArchiveRequest"}, + "output":{"shape":"GetArchiveResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetArchiveExport":{ + "name":"GetArchiveExport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetArchiveExportRequest"}, + "output":{"shape":"GetArchiveExportResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetArchiveMessage":{ + "name":"GetArchiveMessage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetArchiveMessageRequest"}, + "output":{"shape":"GetArchiveMessageResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetArchiveMessageContent":{ + "name":"GetArchiveMessageContent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetArchiveMessageContentRequest"}, + "output":{"shape":"GetArchiveMessageContentResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetArchiveSearch":{ + "name":"GetArchiveSearch", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetArchiveSearchRequest"}, + "output":{"shape":"GetArchiveSearchResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetArchiveSearchResults":{ + "name":"GetArchiveSearchResults", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetArchiveSearchResultsRequest"}, + "output":{"shape":"GetArchiveSearchResultsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ] + }, + "GetIngressPoint":{ + "name":"GetIngressPoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetIngressPointRequest"}, + "output":{"shape":"GetIngressPointResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetRelay":{ + "name":"GetRelay", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRelayRequest"}, + "output":{"shape":"GetRelayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetRuleSet":{ + "name":"GetRuleSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRuleSetRequest"}, + "output":{"shape":"GetRuleSetResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetTrafficPolicy":{ + "name":"GetTrafficPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTrafficPolicyRequest"}, + "output":{"shape":"GetTrafficPolicyResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListAddonInstances":{ + "name":"ListAddonInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAddonInstancesRequest"}, + "output":{"shape":"ListAddonInstancesResponse"}, + "errors":[ + {"shape":"ValidationException"} + ] + }, + "ListAddonSubscriptions":{ + "name":"ListAddonSubscriptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAddonSubscriptionsRequest"}, + "output":{"shape":"ListAddonSubscriptionsResponse"}, + "errors":[ + {"shape":"ValidationException"} + ] + }, + "ListArchiveExports":{ + "name":"ListArchiveExports", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListArchiveExportsRequest"}, + "output":{"shape":"ListArchiveExportsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListArchiveSearches":{ + "name":"ListArchiveSearches", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListArchiveSearchesRequest"}, + "output":{"shape":"ListArchiveSearchesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListArchives":{ + "name":"ListArchives", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListArchivesRequest"}, + "output":{"shape":"ListArchivesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ] + }, + "ListIngressPoints":{ + "name":"ListIngressPoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListIngressPointsRequest"}, + "output":{"shape":"ListIngressPointsResponse"}, + "errors":[ + {"shape":"ValidationException"} + ] + }, + "ListRelays":{ + "name":"ListRelays", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRelaysRequest"}, + "output":{"shape":"ListRelaysResponse"}, + "errors":[ + {"shape":"ValidationException"} + ] + }, + "ListRuleSets":{ + "name":"ListRuleSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRuleSetsRequest"}, + "output":{"shape":"ListRuleSetsResponse"}, + "errors":[ + {"shape":"ValidationException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListTrafficPolicies":{ + "name":"ListTrafficPolicies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTrafficPoliciesRequest"}, + "output":{"shape":"ListTrafficPoliciesResponse"}, + "errors":[ + {"shape":"ValidationException"} + ] + }, + "StartArchiveExport":{ + "name":"StartArchiveExport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartArchiveExportRequest"}, + "output":{"shape":"StartArchiveExportResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "StartArchiveSearch":{ + "name":"StartArchiveSearch", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartArchiveSearchRequest"}, + "output":{"shape":"StartArchiveSearchResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ] + }, + "StopArchiveExport":{ + "name":"StopArchiveExport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopArchiveExportRequest"}, + "output":{"shape":"StopArchiveExportResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ] + }, + "StopArchiveSearch":{ + "name":"StopArchiveSearch", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopArchiveSearchRequest"}, + "output":{"shape":"StopArchiveSearchResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "idempotent":true + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "UpdateArchive":{ + "name":"UpdateArchive", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateArchiveRequest"}, + "output":{"shape":"UpdateArchiveResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "idempotent":true + }, + "UpdateIngressPoint":{ + "name":"UpdateIngressPoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateIngressPointRequest"}, + "output":{"shape":"UpdateIngressPointResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "UpdateRelay":{ + "name":"UpdateRelay", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRelayRequest"}, + "output":{"shape":"UpdateRelayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "UpdateRuleSet":{ + "name":"UpdateRuleSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRuleSetRequest"}, + "output":{"shape":"UpdateRuleSetResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "UpdateTrafficPolicy":{ + "name":"UpdateTrafficPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTrafficPolicyRequest"}, + "output":{"shape":"UpdateTrafficPolicyResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + } + }, + "shapes":{ + "AcceptAction":{ + "type":"string", + "enum":[ + "ALLOW", + "DENY" + ] + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "ActionFailurePolicy":{ + "type":"string", + "enum":[ + "CONTINUE", + "DROP" + ] + }, + "AddHeaderAction":{ + "type":"structure", + "required":[ + "HeaderName", + "HeaderValue" + ], + "members":{ + "HeaderName":{"shape":"HeaderName"}, + "HeaderValue":{"shape":"HeaderValue"} + } + }, + "AddonInstance":{ + "type":"structure", + "members":{ + "AddonInstanceArn":{"shape":"AddonInstanceArn"}, + "AddonInstanceId":{"shape":"AddonInstanceId"}, + "AddonName":{"shape":"AddonName"}, + "AddonSubscriptionId":{"shape":"AddonSubscriptionId"}, + "CreatedTimestamp":{"shape":"Timestamp"} + } + }, + "AddonInstanceArn":{"type":"string"}, + "AddonInstanceId":{ + "type":"string", + "max":67, + "min":4, + "pattern":"^ai-[a-zA-Z0-9]{1,64}$" + }, + "AddonInstances":{ + "type":"list", + "member":{"shape":"AddonInstance"} + }, + "AddonName":{"type":"string"}, + "AddonSubscription":{ + "type":"structure", + "members":{ + "AddonName":{"shape":"AddonName"}, + "AddonSubscriptionArn":{"shape":"AddonSubscriptionArn"}, + "AddonSubscriptionId":{"shape":"AddonSubscriptionId"}, + "CreatedTimestamp":{"shape":"Timestamp"} + } + }, + "AddonSubscriptionArn":{"type":"string"}, + "AddonSubscriptionId":{ + "type":"string", + "max":67, + "min":4, + "pattern":"^as-[a-zA-Z0-9]{1,64}$" + }, + "AddonSubscriptions":{ + "type":"list", + "member":{"shape":"AddonSubscription"} + }, + "Analysis":{ + "type":"structure", + "required":[ + "Analyzer", + "ResultField" + ], + "members":{ + "Analyzer":{"shape":"AnalyzerArn"}, + "ResultField":{"shape":"ResultField"} + } + }, + "AnalyzerArn":{ + "type":"string", + "pattern":"^[a-zA-Z0-9:_/+=,@.#-]+$" + }, + "Archive":{ + "type":"structure", + "required":["ArchiveId"], + "members":{ + "ArchiveId":{"shape":"ArchiveIdString"}, + "ArchiveName":{"shape":"ArchiveNameString"}, + "ArchiveState":{"shape":"ArchiveState"}, + "LastUpdatedTimestamp":{"shape":"Timestamp"} + } + }, + "ArchiveAction":{ + "type":"structure", + "required":["TargetArchive"], + "members":{ + "ActionFailurePolicy":{"shape":"ActionFailurePolicy"}, + "TargetArchive":{"shape":"NameOrArn"} + } + }, + "ArchiveArn":{"type":"string"}, + "ArchiveBooleanEmailAttribute":{ + "type":"string", + "enum":["HAS_ATTACHMENTS"] + }, + "ArchiveBooleanExpression":{ + "type":"structure", + "required":[ + "Evaluate", + "Operator" + ], + "members":{ + "Evaluate":{"shape":"ArchiveBooleanToEvaluate"}, + "Operator":{"shape":"ArchiveBooleanOperator"} + } + }, + "ArchiveBooleanOperator":{ + "type":"string", + "enum":[ + "IS_TRUE", + "IS_FALSE" + ] + }, + "ArchiveBooleanToEvaluate":{ + "type":"structure", + "members":{ + "Attribute":{"shape":"ArchiveBooleanEmailAttribute"} + }, + "union":true + }, + "ArchiveFilterCondition":{ + "type":"structure", + "members":{ + "BooleanExpression":{"shape":"ArchiveBooleanExpression"}, + "StringExpression":{"shape":"ArchiveStringExpression"} + }, + "union":true + }, + "ArchiveFilterConditions":{ + "type":"list", + "member":{"shape":"ArchiveFilterCondition"}, + "max":10, + "min":0 + }, + "ArchiveFilters":{ + "type":"structure", + "members":{ + "Include":{"shape":"ArchiveFilterConditions"}, + "Unless":{"shape":"ArchiveFilterConditions"} + } + }, + "ArchiveId":{ + "type":"string", + "max":66, + "min":3, + "pattern":"^a-[\\w]{1,64}$" + }, + "ArchiveIdString":{ + "type":"string", + "max":66, + "min":1 + }, + "ArchiveNameString":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9][a-zA-Z0-9_-]*[a-zA-Z0-9]$" + }, + "ArchiveRetention":{ + "type":"structure", + "members":{ + "RetentionPeriod":{"shape":"RetentionPeriod"} + }, + "union":true + }, + "ArchiveState":{ + "type":"string", + "enum":[ + "ACTIVE", + "PENDING_DELETION" + ] + }, + "ArchiveStringEmailAttribute":{ + "type":"string", + "enum":[ + "TO", + "FROM", + "CC", + "SUBJECT" + ] + }, + "ArchiveStringExpression":{ + "type":"structure", + "required":[ + "Evaluate", + "Operator", + "Values" + ], + "members":{ + "Evaluate":{"shape":"ArchiveStringToEvaluate"}, + "Operator":{"shape":"ArchiveStringOperator"}, + "Values":{"shape":"StringValueList"} + } + }, + "ArchiveStringOperator":{ + "type":"string", + "enum":["CONTAINS"] + }, + "ArchiveStringToEvaluate":{ + "type":"structure", + "members":{ + "Attribute":{"shape":"ArchiveStringEmailAttribute"} + }, + "union":true + }, + "ArchivedMessageId":{"type":"string"}, + "ArchivesList":{ + "type":"list", + "member":{"shape":"Archive"} + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "CreateAddonInstanceRequest":{ + "type":"structure", + "required":["AddonSubscriptionId"], + "members":{ + "AddonSubscriptionId":{"shape":"AddonSubscriptionId"}, + "ClientToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + }, + "Tags":{"shape":"TagList"} + } + }, + "CreateAddonInstanceResponse":{ + "type":"structure", + "required":["AddonInstanceId"], + "members":{ + "AddonInstanceId":{"shape":"AddonInstanceId"} + } + }, + "CreateAddonSubscriptionRequest":{ + "type":"structure", + "required":["AddonName"], + "members":{ + "AddonName":{"shape":"AddonName"}, + "ClientToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + }, + "Tags":{"shape":"TagList"} + } + }, + "CreateAddonSubscriptionResponse":{ + "type":"structure", + "required":["AddonSubscriptionId"], + "members":{ + "AddonSubscriptionId":{"shape":"AddonSubscriptionId"} + } + }, + "CreateArchiveRequest":{ + "type":"structure", + "required":["ArchiveName"], + "members":{ + "ArchiveName":{"shape":"ArchiveNameString"}, + "ClientToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + }, + "KmsKeyArn":{"shape":"KmsKeyArn"}, + "Retention":{"shape":"ArchiveRetention"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateArchiveResponse":{ + "type":"structure", + "required":["ArchiveId"], + "members":{ + "ArchiveId":{"shape":"ArchiveIdString"} + } + }, + "CreateIngressPointRequest":{ + "type":"structure", + "required":[ + "IngressPointName", + "RuleSetId", + "TrafficPolicyId", + "Type" + ], + "members":{ + "ClientToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + }, + "IngressPointConfiguration":{"shape":"IngressPointConfiguration"}, + "IngressPointName":{"shape":"IngressPointName"}, + "RuleSetId":{"shape":"RuleSetId"}, + "Tags":{"shape":"TagList"}, + "TrafficPolicyId":{"shape":"TrafficPolicyId"}, + "Type":{"shape":"IngressPointType"} + } + }, + "CreateIngressPointResponse":{ + "type":"structure", + "required":["IngressPointId"], + "members":{ + "IngressPointId":{"shape":"IngressPointId"} + } + }, + "CreateRelayRequest":{ + "type":"structure", + "required":[ + "Authentication", + "RelayName", + "ServerName", + "ServerPort" + ], + "members":{ + "Authentication":{"shape":"RelayAuthentication"}, + "ClientToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + }, + "RelayName":{"shape":"RelayName"}, + "ServerName":{"shape":"RelayServerName"}, + "ServerPort":{"shape":"RelayServerPort"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateRelayResponse":{ + "type":"structure", + "required":["RelayId"], + "members":{ + "RelayId":{"shape":"RelayId"} + } + }, + "CreateRuleSetRequest":{ + "type":"structure", + "required":[ + "RuleSetName", + "Rules" + ], + "members":{ + "ClientToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + }, + "RuleSetName":{"shape":"RuleSetName"}, + "Rules":{"shape":"Rules"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateRuleSetResponse":{ + "type":"structure", + "required":["RuleSetId"], + "members":{ + "RuleSetId":{"shape":"RuleSetId"} + } + }, + "CreateTrafficPolicyRequest":{ + "type":"structure", + "required":[ + "DefaultAction", + "PolicyStatements", + "TrafficPolicyName" + ], + "members":{ + "ClientToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + }, + "DefaultAction":{"shape":"AcceptAction"}, + "MaxMessageSizeBytes":{"shape":"MaxMessageSizeBytes"}, + "PolicyStatements":{"shape":"PolicyStatementList"}, + "Tags":{"shape":"TagList"}, + "TrafficPolicyName":{"shape":"TrafficPolicyName"} + } + }, + "CreateTrafficPolicyResponse":{ + "type":"structure", + "required":["TrafficPolicyId"], + "members":{ + "TrafficPolicyId":{"shape":"TrafficPolicyId"} + } + }, + "DeleteAddonInstanceRequest":{ + "type":"structure", + "required":["AddonInstanceId"], + "members":{ + "AddonInstanceId":{"shape":"AddonInstanceId"} + } + }, + "DeleteAddonInstanceResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteAddonSubscriptionRequest":{ + "type":"structure", + "required":["AddonSubscriptionId"], + "members":{ + "AddonSubscriptionId":{"shape":"AddonSubscriptionId"} + } + }, + "DeleteAddonSubscriptionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteArchiveRequest":{ + "type":"structure", + "required":["ArchiveId"], + "members":{ + "ArchiveId":{"shape":"ArchiveIdString"} + } + }, + "DeleteArchiveResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteIngressPointRequest":{ + "type":"structure", + "required":["IngressPointId"], + "members":{ + "IngressPointId":{"shape":"IngressPointId"} + } + }, + "DeleteIngressPointResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteRelayRequest":{ + "type":"structure", + "required":["RelayId"], + "members":{ + "RelayId":{"shape":"RelayId"} + } + }, + "DeleteRelayResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteRuleSetRequest":{ + "type":"structure", + "required":["RuleSetId"], + "members":{ + "RuleSetId":{"shape":"RuleSetId"} + } + }, + "DeleteRuleSetResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteTrafficPolicyRequest":{ + "type":"structure", + "required":["TrafficPolicyId"], + "members":{ + "TrafficPolicyId":{"shape":"TrafficPolicyId"} + } + }, + "DeleteTrafficPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "DeliverToMailboxAction":{ + "type":"structure", + "required":[ + "MailboxArn", + "RoleArn" + ], + "members":{ + "ActionFailurePolicy":{"shape":"ActionFailurePolicy"}, + "MailboxArn":{"shape":"NameOrArn"}, + "RoleArn":{"shape":"IamRoleArn"} + } + }, + "Double":{ + "type":"double", + "box":true + }, + "DropAction":{ + "type":"structure", + "members":{ + } + }, + "EmailAddress":{ + "type":"string", + "max":254, + "min":0, + "pattern":"^[0-9A-Za-z@+.-]+$", + "sensitive":true + }, + "EmailReceivedHeadersList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ErrorMessage":{"type":"string"}, + "ExportDestinationConfiguration":{ + "type":"structure", + "members":{ + "S3":{"shape":"S3ExportDestinationConfiguration"} + }, + "union":true + }, + "ExportId":{ + "type":"string", + "max":64, + "min":1 + }, + "ExportMaxResults":{ + "type":"integer", + "box":true + }, + "ExportState":{ + "type":"string", + "enum":[ + "QUEUED", + "PREPROCESSING", + "PROCESSING", + "COMPLETED", + "FAILED", + "CANCELLED" + ] + }, + "ExportStatus":{ + "type":"structure", + "members":{ + "CompletionTimestamp":{"shape":"Timestamp"}, + "ErrorMessage":{"shape":"ErrorMessage"}, + "State":{"shape":"ExportState"}, + "SubmissionTimestamp":{"shape":"Timestamp"} + } + }, + "ExportSummary":{ + "type":"structure", + "members":{ + "ExportId":{"shape":"ExportId"}, + "Status":{"shape":"ExportStatus"} + } + }, + "ExportSummaryList":{ + "type":"list", + "member":{"shape":"ExportSummary"} + }, + "GetAddonInstanceRequest":{ + "type":"structure", + "required":["AddonInstanceId"], + "members":{ + "AddonInstanceId":{"shape":"AddonInstanceId"} + } + }, + "GetAddonInstanceResponse":{ + "type":"structure", + "members":{ + "AddonInstanceArn":{"shape":"AddonInstanceArn"}, + "AddonName":{"shape":"AddonName"}, + "AddonSubscriptionId":{"shape":"AddonSubscriptionId"}, + "CreatedTimestamp":{"shape":"Timestamp"} + } + }, + "GetAddonSubscriptionRequest":{ + "type":"structure", + "required":["AddonSubscriptionId"], + "members":{ + "AddonSubscriptionId":{"shape":"AddonSubscriptionId"} + } + }, + "GetAddonSubscriptionResponse":{ + "type":"structure", + "members":{ + "AddonName":{"shape":"AddonName"}, + "AddonSubscriptionArn":{"shape":"AddonSubscriptionArn"}, + "CreatedTimestamp":{"shape":"Timestamp"} + } + }, + "GetArchiveExportRequest":{ + "type":"structure", + "required":["ExportId"], + "members":{ + "ExportId":{"shape":"ExportId"} + } + }, + "GetArchiveExportResponse":{ + "type":"structure", + "members":{ + "ArchiveId":{"shape":"ArchiveId"}, + "ExportDestinationConfiguration":{"shape":"ExportDestinationConfiguration"}, + "Filters":{"shape":"ArchiveFilters"}, + "FromTimestamp":{"shape":"Timestamp"}, + "MaxResults":{"shape":"ExportMaxResults"}, + "Status":{"shape":"ExportStatus"}, + "ToTimestamp":{"shape":"Timestamp"} + } + }, + "GetArchiveMessageContentRequest":{ + "type":"structure", + "required":["ArchivedMessageId"], + "members":{ + "ArchivedMessageId":{"shape":"ArchivedMessageId"} + } + }, + "GetArchiveMessageContentResponse":{ + "type":"structure", + "members":{ + "Body":{"shape":"MessageBody"} + } + }, + "GetArchiveMessageRequest":{ + "type":"structure", + "required":["ArchivedMessageId"], + "members":{ + "ArchivedMessageId":{"shape":"ArchivedMessageId"} + } + }, + "GetArchiveMessageResponse":{ + "type":"structure", + "members":{ + "MessageDownloadLink":{"shape":"S3PresignedURL"} + } + }, + "GetArchiveRequest":{ + "type":"structure", + "required":["ArchiveId"], + "members":{ + "ArchiveId":{"shape":"ArchiveIdString"} + } + }, + "GetArchiveResponse":{ + "type":"structure", + "required":[ + "ArchiveArn", + "ArchiveId", + "ArchiveName", + "ArchiveState", + "Retention" + ], + "members":{ + "ArchiveArn":{"shape":"ArchiveArn"}, + "ArchiveId":{"shape":"ArchiveIdString"}, + "ArchiveName":{"shape":"ArchiveNameString"}, + "ArchiveState":{"shape":"ArchiveState"}, + "CreatedTimestamp":{"shape":"Timestamp"}, + "KmsKeyArn":{"shape":"KmsKeyArn"}, + "LastUpdatedTimestamp":{"shape":"Timestamp"}, + "Retention":{"shape":"ArchiveRetention"} + } + }, + "GetArchiveSearchRequest":{ + "type":"structure", + "required":["SearchId"], + "members":{ + "SearchId":{"shape":"SearchId"} + } + }, + "GetArchiveSearchResponse":{ + "type":"structure", + "members":{ + "ArchiveId":{"shape":"ArchiveId"}, + "Filters":{"shape":"ArchiveFilters"}, + "FromTimestamp":{"shape":"Timestamp"}, + "MaxResults":{"shape":"SearchMaxResults"}, + "Status":{"shape":"SearchStatus"}, + "ToTimestamp":{"shape":"Timestamp"} + } + }, + "GetArchiveSearchResultsRequest":{ + "type":"structure", + "required":["SearchId"], + "members":{ + "SearchId":{"shape":"SearchId"} + } + }, + "GetArchiveSearchResultsResponse":{ + "type":"structure", + "members":{ + "Rows":{"shape":"RowsList"} + } + }, + "GetIngressPointRequest":{ + "type":"structure", + "required":["IngressPointId"], + "members":{ + "IngressPointId":{"shape":"IngressPointId"} + } + }, + "GetIngressPointResponse":{ + "type":"structure", + "required":[ + "IngressPointId", + "IngressPointName" + ], + "members":{ + "ARecord":{"shape":"IngressPointARecord"}, + "CreatedTimestamp":{"shape":"Timestamp"}, + "IngressPointArn":{"shape":"IngressPointArn"}, + "IngressPointAuthConfiguration":{"shape":"IngressPointAuthConfiguration"}, + "IngressPointId":{"shape":"IngressPointId"}, + "IngressPointName":{"shape":"IngressPointName"}, + "LastUpdatedTimestamp":{"shape":"Timestamp"}, + "RuleSetId":{"shape":"RuleSetId"}, + "Status":{"shape":"IngressPointStatus"}, + "TrafficPolicyId":{"shape":"TrafficPolicyId"}, + "Type":{"shape":"IngressPointType"} + } + }, + "GetRelayRequest":{ + "type":"structure", + "required":["RelayId"], + "members":{ + "RelayId":{"shape":"RelayId"} + } + }, + "GetRelayResponse":{ + "type":"structure", + "required":["RelayId"], + "members":{ + "Authentication":{"shape":"RelayAuthentication"}, + "CreatedTimestamp":{"shape":"Timestamp"}, + "LastModifiedTimestamp":{"shape":"Timestamp"}, + "RelayArn":{"shape":"RelayArn"}, + "RelayId":{"shape":"RelayId"}, + "RelayName":{"shape":"RelayName"}, + "ServerName":{"shape":"RelayServerName"}, + "ServerPort":{"shape":"RelayServerPort"} + } + }, + "GetRuleSetRequest":{ + "type":"structure", + "required":["RuleSetId"], + "members":{ + "RuleSetId":{"shape":"RuleSetId"} + } + }, + "GetRuleSetResponse":{ + "type":"structure", + "required":[ + "CreatedDate", + "LastModificationDate", + "RuleSetArn", + "RuleSetId", + "RuleSetName", + "Rules" + ], + "members":{ + "CreatedDate":{"shape":"Timestamp"}, + "LastModificationDate":{"shape":"Timestamp"}, + "RuleSetArn":{"shape":"RuleSetArn"}, + "RuleSetId":{"shape":"RuleSetId"}, + "RuleSetName":{"shape":"RuleSetName"}, + "Rules":{"shape":"Rules"} + } + }, + "GetTrafficPolicyRequest":{ + "type":"structure", + "required":["TrafficPolicyId"], + "members":{ + "TrafficPolicyId":{"shape":"TrafficPolicyId"} + } + }, + "GetTrafficPolicyResponse":{ + "type":"structure", + "required":[ + "TrafficPolicyId", + "TrafficPolicyName" + ], + "members":{ + "CreatedTimestamp":{"shape":"Timestamp"}, + "DefaultAction":{"shape":"AcceptAction"}, + "LastUpdatedTimestamp":{"shape":"Timestamp"}, + "MaxMessageSizeBytes":{"shape":"MaxMessageSizeBytes"}, + "PolicyStatements":{"shape":"PolicyStatementList"}, + "TrafficPolicyArn":{"shape":"TrafficPolicyArn"}, + "TrafficPolicyId":{"shape":"TrafficPolicyId"}, + "TrafficPolicyName":{"shape":"TrafficPolicyName"} + } + }, + "HeaderName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[xX]\\-[a-zA-Z0-9\\-]+$" + }, + "HeaderValue":{ + "type":"string", + "max":128, + "min":1 + }, + "IamRoleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^[a-zA-Z0-9:_/+=,@.#-]+$" + }, + "IdOrArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^[a-zA-Z0-9:_/+=,@.#-]+$" + }, + "IdempotencyToken":{ + "type":"string", + "max":128, + "min":1 + }, + "IngressAnalysis":{ + "type":"structure", + "required":[ + "Analyzer", + "ResultField" + ], + "members":{ + "Analyzer":{"shape":"AnalyzerArn"}, + "ResultField":{"shape":"ResultField"} + } + }, + "IngressBooleanExpression":{ + "type":"structure", + "required":[ + "Evaluate", + "Operator" + ], + "members":{ + "Evaluate":{"shape":"IngressBooleanToEvaluate"}, + "Operator":{"shape":"IngressBooleanOperator"} + } + }, + "IngressBooleanOperator":{ + "type":"string", + "enum":[ + "IS_TRUE", + "IS_FALSE" + ] + }, + "IngressBooleanToEvaluate":{ + "type":"structure", + "members":{ + "Analysis":{"shape":"IngressAnalysis"} + }, + "union":true + }, + "IngressIpOperator":{ + "type":"string", + "enum":[ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ] + }, + "IngressIpToEvaluate":{ + "type":"structure", + "members":{ + "Attribute":{"shape":"IngressIpv4Attribute"} + }, + "union":true + }, + "IngressIpv4Attribute":{ + "type":"string", + "enum":["SENDER_IP"] + }, + "IngressIpv4Expression":{ + "type":"structure", + "required":[ + "Evaluate", + "Operator", + "Values" + ], + "members":{ + "Evaluate":{"shape":"IngressIpToEvaluate"}, + "Operator":{"shape":"IngressIpOperator"}, + "Values":{"shape":"Ipv4Cidrs"} + } + }, + "IngressPoint":{ + "type":"structure", + "required":[ + "IngressPointId", + "IngressPointName", + "Status", + "Type" + ], + "members":{ + "ARecord":{"shape":"IngressPointARecord"}, + "IngressPointId":{"shape":"IngressPointId"}, + "IngressPointName":{"shape":"IngressPointName"}, + "Status":{"shape":"IngressPointStatus"}, + "Type":{"shape":"IngressPointType"} + } + }, + "IngressPointARecord":{"type":"string"}, + "IngressPointArn":{"type":"string"}, + "IngressPointAuthConfiguration":{ + "type":"structure", + "members":{ + "IngressPointPasswordConfiguration":{"shape":"IngressPointPasswordConfiguration"}, + "SecretArn":{"shape":"SecretArn"} + } + }, + "IngressPointConfiguration":{ + "type":"structure", + "members":{ + "SecretArn":{"shape":"SecretArn"}, + "SmtpPassword":{"shape":"SmtpPassword"} + }, + "union":true + }, + "IngressPointId":{ + "type":"string", + "max":100, + "min":1 + }, + "IngressPointName":{ + "type":"string", + "max":63, + "min":3, + "pattern":"^[A-Za-z0-9_\\-]+$" + }, + "IngressPointPasswordConfiguration":{ + "type":"structure", + "members":{ + "PreviousSmtpPasswordExpiryTimestamp":{"shape":"Timestamp"}, + "PreviousSmtpPasswordVersion":{"shape":"String"}, + "SmtpPasswordVersion":{"shape":"String"} + } + }, + "IngressPointStatus":{ + "type":"string", + "enum":[ + "PROVISIONING", + "DEPROVISIONING", + "UPDATING", + "ACTIVE", + "CLOSED", + "FAILED" + ] + }, + "IngressPointStatusToUpdate":{ + "type":"string", + "enum":[ + "ACTIVE", + "CLOSED" + ] + }, + "IngressPointType":{ + "type":"string", + "enum":[ + "OPEN", + "AUTH" + ] + }, + "IngressPointsList":{ + "type":"list", + "member":{"shape":"IngressPoint"} + }, + "IngressStringEmailAttribute":{ + "type":"string", + "enum":["RECIPIENT"] + }, + "IngressStringExpression":{ + "type":"structure", + "required":[ + "Evaluate", + "Operator", + "Values" + ], + "members":{ + "Evaluate":{"shape":"IngressStringToEvaluate"}, + "Operator":{"shape":"IngressStringOperator"}, + "Values":{"shape":"StringList"} + } + }, + "IngressStringOperator":{ + "type":"string", + "enum":[ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ] + }, + "IngressStringToEvaluate":{ + "type":"structure", + "members":{ + "Attribute":{"shape":"IngressStringEmailAttribute"} + }, + "union":true + }, + "IngressTlsAttribute":{ + "type":"string", + "enum":["TLS_PROTOCOL"] + }, + "IngressTlsProtocolAttribute":{ + "type":"string", + "enum":[ + "TLS1_2", + "TLS1_3" + ] + }, + "IngressTlsProtocolExpression":{ + "type":"structure", + "required":[ + "Evaluate", + "Operator", + "Value" + ], + "members":{ + "Evaluate":{"shape":"IngressTlsProtocolToEvaluate"}, + "Operator":{"shape":"IngressTlsProtocolOperator"}, + "Value":{"shape":"IngressTlsProtocolAttribute"} + } + }, + "IngressTlsProtocolOperator":{ + "type":"string", + "enum":[ + "MINIMUM_TLS_VERSION", + "IS" + ] + }, + "IngressTlsProtocolToEvaluate":{ + "type":"structure", + "members":{ + "Attribute":{"shape":"IngressTlsAttribute"} + }, + "union":true + }, + "Integer":{ + "type":"integer", + "box":true + }, + "Ipv4Cidr":{ + "type":"string", + "pattern":"^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/([0-9]|[12][0-9]|3[0-2])$" + }, + "Ipv4Cidrs":{ + "type":"list", + "member":{"shape":"Ipv4Cidr"} + }, + "KmsKeyArn":{ + "type":"string", + "pattern":"^arn:aws(|-cn|-us-gov):kms:[a-z0-9-]{1,20}:[0-9]{12}:(key|alias)/.+$" + }, + "KmsKeyId":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^[a-zA-Z0-9-:/]+$" + }, + "ListAddonInstancesRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "PageSize":{"shape":"PageSize"} + } + }, + "ListAddonInstancesResponse":{ + "type":"structure", + "members":{ + "AddonInstances":{"shape":"AddonInstances"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListAddonSubscriptionsRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "PageSize":{"shape":"PageSize"} + } + }, + "ListAddonSubscriptionsResponse":{ + "type":"structure", + "members":{ + "AddonSubscriptions":{"shape":"AddonSubscriptions"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListArchiveExportsRequest":{ + "type":"structure", + "required":["ArchiveId"], + "members":{ + "ArchiveId":{"shape":"ArchiveId"}, + "NextToken":{"shape":"PaginationToken"}, + "PageSize":{"shape":"PageSize"} + } + }, + "ListArchiveExportsResponse":{ + "type":"structure", + "members":{ + "Exports":{"shape":"ExportSummaryList"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListArchiveSearchesRequest":{ + "type":"structure", + "required":["ArchiveId"], + "members":{ + "ArchiveId":{"shape":"ArchiveId"}, + "NextToken":{"shape":"PaginationToken"}, + "PageSize":{"shape":"PageSize"} + } + }, + "ListArchiveSearchesResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "Searches":{"shape":"SearchSummaryList"} + } + }, + "ListArchivesRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "PageSize":{"shape":"PageSize"} + } + }, + "ListArchivesResponse":{ + "type":"structure", + "required":["Archives"], + "members":{ + "Archives":{"shape":"ArchivesList"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListIngressPointsRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "PageSize":{"shape":"PageSize"} + } + }, + "ListIngressPointsResponse":{ + "type":"structure", + "members":{ + "IngressPoints":{"shape":"IngressPointsList"}, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListRelaysRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "PageSize":{"shape":"Integer"} + } + }, + "ListRelaysResponse":{ + "type":"structure", + "required":["Relays"], + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "Relays":{"shape":"Relays"} + } + }, + "ListRuleSetsRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "PageSize":{"shape":"PageSize"} + } + }, + "ListRuleSetsResponse":{ + "type":"structure", + "required":["RuleSets"], + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "RuleSets":{"shape":"RuleSets"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{"shape":"TaggableResourceArn"} + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "required":["Tags"], + "members":{ + "Tags":{"shape":"TagList"} + } + }, + "ListTrafficPoliciesRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "PageSize":{"shape":"PageSize"} + } + }, + "ListTrafficPoliciesResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "TrafficPolicies":{"shape":"TrafficPolicyList"} + } + }, + "MailFrom":{ + "type":"string", + "enum":[ + "REPLACE", + "PRESERVE" + ] + }, + "MaxMessageSizeBytes":{ + "type":"integer", + "box":true, + "min":1 + }, + "MessageBody":{ + "type":"structure", + "members":{ + "Html":{"shape":"String"}, + "MessageMalformed":{"shape":"Boolean"}, + "Text":{"shape":"String"} + } + }, + "NameOrArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^[a-zA-Z0-9:_/+=,@.#-]+$" + }, + "NoAuthentication":{ + "type":"structure", + "members":{ + } + }, + "PageSize":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "PaginationToken":{ + "type":"string", + "max":2048, + "min":1 + }, + "PolicyCondition":{ + "type":"structure", + "members":{ + "BooleanExpression":{"shape":"IngressBooleanExpression"}, + "IpExpression":{"shape":"IngressIpv4Expression"}, + "StringExpression":{"shape":"IngressStringExpression"}, + "TlsExpression":{"shape":"IngressTlsProtocolExpression"} + }, + "union":true + }, + "PolicyConditions":{ + "type":"list", + "member":{"shape":"PolicyCondition"}, + "min":1 + }, + "PolicyStatement":{ + "type":"structure", + "required":[ + "Action", + "Conditions" + ], + "members":{ + "Action":{"shape":"AcceptAction"}, + "Conditions":{"shape":"PolicyConditions"} + } + }, + "PolicyStatementList":{ + "type":"list", + "member":{"shape":"PolicyStatement"} + }, + "Recipients":{ + "type":"list", + "member":{"shape":"EmailAddress"}, + "max":100, + "min":1 + }, + "Relay":{ + "type":"structure", + "members":{ + "LastModifiedTimestamp":{"shape":"Timestamp"}, + "RelayId":{"shape":"RelayId"}, + "RelayName":{"shape":"RelayName"} + } + }, + "RelayAction":{ + "type":"structure", + "required":["Relay"], + "members":{ + "ActionFailurePolicy":{"shape":"ActionFailurePolicy"}, + "MailFrom":{"shape":"MailFrom"}, + "Relay":{"shape":"IdOrArn"} + } + }, + "RelayArn":{"type":"string"}, + "RelayAuthentication":{ + "type":"structure", + "members":{ + "NoAuthentication":{"shape":"NoAuthentication"}, + "SecretArn":{"shape":"SecretArn"} + }, + "union":true + }, + "RelayId":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z0-9-]+$" + }, + "RelayName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z0-9-_]+$" + }, + "RelayServerName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z0-9-\\.]+$" + }, + "RelayServerPort":{ + "type":"integer", + "box":true, + "max":65535, + "min":1 + }, + "Relays":{ + "type":"list", + "member":{"shape":"Relay"} + }, + "ReplaceRecipientAction":{ + "type":"structure", + "members":{ + "ReplaceWith":{"shape":"Recipients"} + } + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "ResultField":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[\\sa-zA-Z0-9_]+$" + }, + "RetentionPeriod":{ + "type":"string", + "enum":[ + "THREE_MONTHS", + "SIX_MONTHS", + "NINE_MONTHS", + "ONE_YEAR", + "EIGHTEEN_MONTHS", + "TWO_YEARS", + "THIRTY_MONTHS", + "THREE_YEARS", + "FOUR_YEARS", + "FIVE_YEARS", + "SIX_YEARS", + "SEVEN_YEARS", + "EIGHT_YEARS", + "NINE_YEARS", + "TEN_YEARS", + "PERMANENT" + ] + }, + "Row":{ + "type":"structure", + "members":{ + "ArchivedMessageId":{"shape":"ArchivedMessageId"}, + "Cc":{"shape":"String"}, + "Date":{"shape":"String"}, + "From":{"shape":"String"}, + "HasAttachments":{"shape":"Boolean"}, + "InReplyTo":{"shape":"String"}, + "MessageId":{"shape":"String"}, + "ReceivedHeaders":{"shape":"EmailReceivedHeadersList"}, + "ReceivedTimestamp":{"shape":"Timestamp"}, + "Subject":{"shape":"String"}, + "To":{"shape":"String"}, + "XMailer":{"shape":"String"}, + "XOriginalMailer":{"shape":"String"}, + "XPriority":{"shape":"String"} + } + }, + "RowsList":{ + "type":"list", + "member":{"shape":"Row"} + }, + "Rule":{ + "type":"structure", + "required":["Actions"], + "members":{ + "Actions":{"shape":"RuleActions"}, + "Conditions":{"shape":"RuleConditions"}, + "Name":{"shape":"RuleName"}, + "Unless":{"shape":"RuleConditions"} + } + }, + "RuleAction":{ + "type":"structure", + "members":{ + "AddHeader":{"shape":"AddHeaderAction"}, + "Archive":{"shape":"ArchiveAction"}, + "DeliverToMailbox":{"shape":"DeliverToMailboxAction"}, + "Drop":{"shape":"DropAction"}, + "Relay":{"shape":"RelayAction"}, + "ReplaceRecipient":{"shape":"ReplaceRecipientAction"}, + "Send":{"shape":"SendAction"}, + "WriteToS3":{"shape":"S3Action"} + }, + "union":true + }, + "RuleActions":{ + "type":"list", + "member":{"shape":"RuleAction"}, + "max":10, + "min":1 + }, + "RuleBooleanEmailAttribute":{ + "type":"string", + "enum":[ + "READ_RECEIPT_REQUESTED", + "TLS", + "TLS_WRAPPED" + ] + }, + "RuleBooleanExpression":{ + "type":"structure", + "required":[ + "Evaluate", + "Operator" + ], + "members":{ + "Evaluate":{"shape":"RuleBooleanToEvaluate"}, + "Operator":{"shape":"RuleBooleanOperator"} + } + }, + "RuleBooleanOperator":{ + "type":"string", + "enum":[ + "IS_TRUE", + "IS_FALSE" + ] + }, + "RuleBooleanToEvaluate":{ + "type":"structure", + "members":{ + "Attribute":{"shape":"RuleBooleanEmailAttribute"} + }, + "union":true + }, + "RuleCondition":{ + "type":"structure", + "members":{ + "BooleanExpression":{"shape":"RuleBooleanExpression"}, + "DmarcExpression":{"shape":"RuleDmarcExpression"}, + "IpExpression":{"shape":"RuleIpExpression"}, + "NumberExpression":{"shape":"RuleNumberExpression"}, + "StringExpression":{"shape":"RuleStringExpression"}, + "VerdictExpression":{"shape":"RuleVerdictExpression"} + }, + "union":true + }, + "RuleConditions":{ + "type":"list", + "member":{"shape":"RuleCondition"}, + "max":10, + "min":0 + }, + "RuleDmarcExpression":{ + "type":"structure", + "required":[ + "Operator", + "Values" + ], + "members":{ + "Operator":{"shape":"RuleDmarcOperator"}, + "Values":{"shape":"RuleDmarcValueList"} + } + }, + "RuleDmarcOperator":{ + "type":"string", + "enum":[ + "EQUALS", + "NOT_EQUALS" + ] + }, + "RuleDmarcPolicy":{ + "type":"string", + "enum":[ + "NONE", + "QUARANTINE", + "REJECT" + ] + }, + "RuleDmarcValueList":{ + "type":"list", + "member":{"shape":"RuleDmarcPolicy"}, + "max":10, + "min":1 + }, + "RuleIpEmailAttribute":{ + "type":"string", + "enum":["SOURCE_IP"] + }, + "RuleIpExpression":{ + "type":"structure", + "required":[ + "Evaluate", + "Operator", + "Values" + ], + "members":{ + "Evaluate":{"shape":"RuleIpToEvaluate"}, + "Operator":{"shape":"RuleIpOperator"}, + "Values":{"shape":"RuleIpValueList"} + } + }, + "RuleIpOperator":{ + "type":"string", + "enum":[ + "CIDR_MATCHES", + "NOT_CIDR_MATCHES" + ] + }, + "RuleIpStringValue":{ + "type":"string", + "max":18, + "min":1, + "pattern":"^(([0-9]|.|/)*)$" + }, + "RuleIpToEvaluate":{ + "type":"structure", + "members":{ + "Attribute":{"shape":"RuleIpEmailAttribute"} + }, + "union":true + }, + "RuleIpValueList":{ + "type":"list", + "member":{"shape":"RuleIpStringValue"}, + "max":10, + "min":1 + }, + "RuleName":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^[a-zA-Z0-9_.-]+$" + }, + "RuleNumberEmailAttribute":{ + "type":"string", + "enum":["MESSAGE_SIZE"] + }, + "RuleNumberExpression":{ + "type":"structure", + "required":[ + "Evaluate", + "Operator", + "Value" + ], + "members":{ + "Evaluate":{"shape":"RuleNumberToEvaluate"}, + "Operator":{"shape":"RuleNumberOperator"}, + "Value":{"shape":"Double"} + } + }, + "RuleNumberOperator":{ + "type":"string", + "enum":[ + "EQUALS", + "NOT_EQUALS", + "LESS_THAN", + "GREATER_THAN", + "LESS_THAN_OR_EQUAL", + "GREATER_THAN_OR_EQUAL" + ] + }, + "RuleNumberToEvaluate":{ + "type":"structure", + "members":{ + "Attribute":{"shape":"RuleNumberEmailAttribute"} + }, + "union":true + }, + "RuleSet":{ + "type":"structure", + "members":{ + "LastModificationDate":{"shape":"Timestamp"}, + "RuleSetId":{"shape":"RuleSetId"}, + "RuleSetName":{"shape":"RuleSetName"} + } + }, + "RuleSetArn":{"type":"string"}, + "RuleSetId":{ + "type":"string", + "max":100, + "min":1 + }, + "RuleSetName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z0-9_.-]+$" + }, + "RuleSets":{ + "type":"list", + "member":{"shape":"RuleSet"} + }, + "RuleStringEmailAttribute":{ + "type":"string", + "enum":[ + "MAIL_FROM", + "HELO", + "RECIPIENT", + "SENDER", + "FROM", + "SUBJECT", + "TO", + "CC" + ] + }, + "RuleStringExpression":{ + "type":"structure", + "required":[ + "Evaluate", + "Operator", + "Values" + ], + "members":{ + "Evaluate":{"shape":"RuleStringToEvaluate"}, + "Operator":{"shape":"RuleStringOperator"}, + "Values":{"shape":"RuleStringList"} + } + }, + "RuleStringList":{ + "type":"list", + "member":{"shape":"RuleStringValue"}, + "max":10, + "min":1 + }, + "RuleStringOperator":{ + "type":"string", + "enum":[ + "EQUALS", + "NOT_EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS" + ] + }, + "RuleStringToEvaluate":{ + "type":"structure", + "members":{ + "Attribute":{"shape":"RuleStringEmailAttribute"} + }, + "union":true + }, + "RuleStringValue":{ + "type":"string", + "max":4096, + "min":1 + }, + "RuleVerdict":{ + "type":"string", + "enum":[ + "PASS", + "FAIL", + "GRAY", + "PROCESSING_FAILED" + ] + }, + "RuleVerdictAttribute":{ + "type":"string", + "enum":[ + "SPF", + "DKIM" + ] + }, + "RuleVerdictExpression":{ + "type":"structure", + "required":[ + "Evaluate", + "Operator", + "Values" + ], + "members":{ + "Evaluate":{"shape":"RuleVerdictToEvaluate"}, + "Operator":{"shape":"RuleVerdictOperator"}, + "Values":{"shape":"RuleVerdictValueList"} + } + }, + "RuleVerdictOperator":{ + "type":"string", + "enum":[ + "EQUALS", + "NOT_EQUALS" + ] + }, + "RuleVerdictToEvaluate":{ + "type":"structure", + "members":{ + "Analysis":{"shape":"Analysis"}, + "Attribute":{"shape":"RuleVerdictAttribute"} + }, + "union":true + }, + "RuleVerdictValueList":{ + "type":"list", + "member":{"shape":"RuleVerdict"}, + "max":10, + "min":1 + }, + "Rules":{ + "type":"list", + "member":{"shape":"Rule"}, + "max":40, + "min":0 + }, + "S3Action":{ + "type":"structure", + "required":[ + "RoleArn", + "S3Bucket" + ], + "members":{ + "ActionFailurePolicy":{"shape":"ActionFailurePolicy"}, + "RoleArn":{"shape":"IamRoleArn"}, + "S3Bucket":{"shape":"S3Bucket"}, + "S3Prefix":{"shape":"S3Prefix"}, + "S3SseKmsKeyId":{"shape":"KmsKeyId"} + } + }, + "S3Bucket":{ + "type":"string", + "max":62, + "min":1, + "pattern":"^[a-zA-Z0-9.-]+$" + }, + "S3ExportDestinationConfiguration":{ + "type":"structure", + "members":{ + "S3Location":{"shape":"S3Location"} + } + }, + "S3Location":{ + "type":"string", + "pattern":"^s3://[a-zA-Z0-9.-]{3,63}(/[a-zA-Z0-9!_.*'()/-]*)*$" + }, + "S3Prefix":{ + "type":"string", + "max":62, + "min":1, + "pattern":"^[a-zA-Z0-9!_.*'()/-]+$" + }, + "S3PresignedURL":{"type":"string"}, + "SearchId":{ + "type":"string", + "max":64, + "min":1 + }, + "SearchMaxResults":{ + "type":"integer", + "box":true, + "max":1000, + "min":0 + }, + "SearchState":{ + "type":"string", + "enum":[ + "QUEUED", + "RUNNING", + "COMPLETED", + "FAILED", + "CANCELLED" + ] + }, + "SearchStatus":{ + "type":"structure", + "members":{ + "CompletionTimestamp":{"shape":"Timestamp"}, + "ErrorMessage":{"shape":"ErrorMessage"}, + "State":{"shape":"SearchState"}, + "SubmissionTimestamp":{"shape":"Timestamp"} + } + }, + "SearchSummary":{ + "type":"structure", + "members":{ + "SearchId":{"shape":"SearchId"}, + "Status":{"shape":"SearchStatus"} + } + }, + "SearchSummaryList":{ + "type":"list", + "member":{"shape":"SearchSummary"} + }, + "SecretArn":{ + "type":"string", + "pattern":"^arn:(aws|aws-cn|aws-us-gov):secretsmanager:[a-z0-9-]+:\\d{12}:secret:[a-zA-Z0-9/_+=,.@-]+$" + }, + "SendAction":{ + "type":"structure", + "required":["RoleArn"], + "members":{ + "ActionFailurePolicy":{"shape":"ActionFailurePolicy"}, + "RoleArn":{"shape":"IamRoleArn"} + } + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "SmtpPassword":{ + "type":"string", + "max":64, + "min":8, + "pattern":"^[A-Za-z0-9!@#$%^&*()_+\\-=\\[\\]{}|.,?]+$", + "sensitive":true + }, + "StartArchiveExportRequest":{ + "type":"structure", + "required":[ + "ArchiveId", + "ExportDestinationConfiguration", + "FromTimestamp", + "ToTimestamp" + ], + "members":{ + "ArchiveId":{"shape":"ArchiveId"}, + "ExportDestinationConfiguration":{"shape":"ExportDestinationConfiguration"}, + "Filters":{"shape":"ArchiveFilters"}, + "FromTimestamp":{"shape":"Timestamp"}, + "MaxResults":{"shape":"ExportMaxResults"}, + "ToTimestamp":{"shape":"Timestamp"} + } + }, + "StartArchiveExportResponse":{ + "type":"structure", + "members":{ + "ExportId":{"shape":"ExportId"} + } + }, + "StartArchiveSearchRequest":{ + "type":"structure", + "required":[ + "ArchiveId", + "FromTimestamp", + "MaxResults", + "ToTimestamp" + ], + "members":{ + "ArchiveId":{"shape":"ArchiveId"}, + "Filters":{"shape":"ArchiveFilters"}, + "FromTimestamp":{"shape":"Timestamp"}, + "MaxResults":{"shape":"SearchMaxResults"}, + "ToTimestamp":{"shape":"Timestamp"} + } + }, + "StartArchiveSearchResponse":{ + "type":"structure", + "members":{ + "SearchId":{"shape":"SearchId"} + } + }, + "StopArchiveExportRequest":{ + "type":"structure", + "required":["ExportId"], + "members":{ + "ExportId":{"shape":"ExportId"} + } + }, + "StopArchiveExportResponse":{ + "type":"structure", + "members":{ + } + }, + "StopArchiveSearchRequest":{ + "type":"structure", + "required":["SearchId"], + "members":{ + "SearchId":{"shape":"SearchId"} + } + }, + "StopArchiveSearchResponse":{ + "type":"structure", + "members":{ + } + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "StringValueList":{ + "type":"list", + "member":{"shape":"String"}, + "max":10, + "min":1 + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{"shape":"TagKey"}, + "Value":{"shape":"TagValue"} + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9/_\\+=\\.:@\\-]+$", + "sensitive":true + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{"shape":"TaggableResourceArn"}, + "Tags":{"shape":"TagList"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^[a-zA-Z0-9/_\\+=\\.:@\\-]*$", + "sensitive":true + }, + "TaggableResourceArn":{ + "type":"string", + "max":1011, + "min":20, + "pattern":"^arn:aws(|-cn|-us-gov):ses:[a-z0-9-]{1,20}:[0-9]{12}:(mailmanager-|addon-).+$" + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "TrafficPolicy":{ + "type":"structure", + "required":[ + "DefaultAction", + "TrafficPolicyId", + "TrafficPolicyName" + ], + "members":{ + "DefaultAction":{"shape":"AcceptAction"}, + "TrafficPolicyId":{"shape":"TrafficPolicyId"}, + "TrafficPolicyName":{"shape":"TrafficPolicyName"} + } + }, + "TrafficPolicyArn":{"type":"string"}, + "TrafficPolicyId":{ + "type":"string", + "max":100, + "min":1 + }, + "TrafficPolicyList":{ + "type":"list", + "member":{"shape":"TrafficPolicy"} + }, + "TrafficPolicyName":{ + "type":"string", + "max":63, + "min":3, + "pattern":"^[A-Za-z0-9_\\-]+$" + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{"shape":"TaggableResourceArn"}, + "TagKeys":{"shape":"TagKeyList"} + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateArchiveRequest":{ + "type":"structure", + "required":["ArchiveId"], + "members":{ + "ArchiveId":{"shape":"ArchiveIdString"}, + "ArchiveName":{"shape":"ArchiveNameString"}, + "Retention":{"shape":"ArchiveRetention"} + } + }, + "UpdateArchiveResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateIngressPointRequest":{ + "type":"structure", + "required":["IngressPointId"], + "members":{ + "IngressPointConfiguration":{"shape":"IngressPointConfiguration"}, + "IngressPointId":{"shape":"IngressPointId"}, + "IngressPointName":{"shape":"IngressPointName"}, + "RuleSetId":{"shape":"RuleSetId"}, + "StatusToUpdate":{"shape":"IngressPointStatusToUpdate"}, + "TrafficPolicyId":{"shape":"TrafficPolicyId"} + } + }, + "UpdateIngressPointResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateRelayRequest":{ + "type":"structure", + "required":["RelayId"], + "members":{ + "Authentication":{"shape":"RelayAuthentication"}, + "RelayId":{"shape":"RelayId"}, + "RelayName":{"shape":"RelayName"}, + "ServerName":{"shape":"RelayServerName"}, + "ServerPort":{"shape":"RelayServerPort"} + } + }, + "UpdateRelayResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateRuleSetRequest":{ + "type":"structure", + "required":["RuleSetId"], + "members":{ + "RuleSetId":{"shape":"RuleSetId"}, + "RuleSetName":{"shape":"RuleSetName"}, + "Rules":{"shape":"Rules"} + } + }, + "UpdateRuleSetResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateTrafficPolicyRequest":{ + "type":"structure", + "required":["TrafficPolicyId"], + "members":{ + "DefaultAction":{"shape":"AcceptAction"}, + "MaxMessageSizeBytes":{"shape":"MaxMessageSizeBytes"}, + "PolicyStatements":{"shape":"PolicyStatementList"}, + "TrafficPolicyId":{"shape":"TrafficPolicyId"}, + "TrafficPolicyName":{"shape":"TrafficPolicyName"} + } + }, + "UpdateTrafficPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + } + } +} diff --git a/models/apis/mailmanager/2023-10-17/docs-2.json b/models/apis/mailmanager/2023-10-17/docs-2.json new file mode 100644 index 00000000000..0c559ff3395 --- /dev/null +++ b/models/apis/mailmanager/2023-10-17/docs-2.json @@ -0,0 +1,1887 @@ +{ + "version": "2.0", + "service": "

AWS SES Mail Manager API

AWS SES Mail Manager API contains operations and data types that comprise the Mail Manager feature of Amazon Simple Email Service.

Mail Manager is a set of Amazon SES email gateway features designed to help you strengthen your organization's email infrastructure, simplify email workflow management, and streamline email compliance control. To learn more, see the Mail Manager chapter in the Amazon SES Developer Guide.

", + "operations": { + "CreateAddonInstance": "

Creates an Add On instance for the subscription indicated in the request. The resulting Amazon Resource Name (ARN) can be used in a conditional statement for a rule set or traffic policy.

", + "CreateAddonSubscription": "

Creates a subscription for an Add On representing the acceptance of its terms of use and additional pricing. The subscription can then be used to create an instance for use in rule sets or traffic policies.

", + "CreateArchive": "

Creates a new email archive resource for storing and retaining emails.

", + "CreateIngressPoint": "

Provision a new ingress endpoint resource.

", + "CreateRelay": "

Creates a relay resource which can be used in rules to relay incoming emails to defined relay destinations.

", + "CreateRuleSet": "

Provision a new rule set.

", + "CreateTrafficPolicy": "

Provision a new traffic policy resource.

", + "DeleteAddonInstance": "

Deletes an Add On instance.

", + "DeleteAddonSubscription": "

Deletes an Add On subscription.

", + "DeleteArchive": "

Initiates deletion of an email archive. This changes the archive state to pending deletion. In this state, no new emails can be added, and existing archived emails become inaccessible (search, export, download). The archive and all of its contents will be permanently deleted 30 days after entering the pending deletion state, regardless of the configured retention period.

", + "DeleteIngressPoint": "

Delete an ingress endpoint resource.

", + "DeleteRelay": "

Deletes an existing relay resource.

", + "DeleteRuleSet": "

Delete a rule set.

", + "DeleteTrafficPolicy": "

Delete a traffic policy resource.

", + "GetAddonInstance": "

Gets detailed information about an Add On instance.

", + "GetAddonSubscription": "

Gets detailed information about an Add On subscription.

", + "GetArchive": "

Retrieves the full details and current state of a specified email archive.

", + "GetArchiveExport": "

Retrieves the details and current status of a specific email archive export job.

", + "GetArchiveMessage": "

Returns a pre-signed URL that provides temporary download access to the specific email message stored in the archive.

", + "GetArchiveMessageContent": "

Returns the textual content of a specific email message stored in the archive. Attachments are not included.

", + "GetArchiveSearch": "

Retrieves the details and current status of a specific email archive search job.

", + "GetArchiveSearchResults": "

Returns the results of a completed email archive search job.

", + "GetIngressPoint": "

Fetch ingress endpoint resource attributes.

", + "GetRelay": "

Fetch the relay resource and it's attributes.

", + "GetRuleSet": "

Fetch attributes of a rule set.

", + "GetTrafficPolicy": "

Fetch attributes of a traffic policy resource.

", + "ListAddonInstances": "

Lists all Add On instances in your account.

", + "ListAddonSubscriptions": "

Lists all Add On subscriptions in your account.

", + "ListArchiveExports": "

Returns a list of email archive export jobs.

", + "ListArchiveSearches": "

Returns a list of email archive search jobs.

", + "ListArchives": "

Returns a list of all email archives in your account.

", + "ListIngressPoints": "

List all ingress endpoint resources.

", + "ListRelays": "

Lists all the existing relay resources.

", + "ListRuleSets": "

List rule sets for this account.

", + "ListTagsForResource": "

Retrieves the list of tags (keys and values) assigned to the resource.

", + "ListTrafficPolicies": "

List traffic policy resources.

", + "StartArchiveExport": "

Initiates an export of emails from the specified archive.

", + "StartArchiveSearch": "

Initiates a search across emails in the specified archive.

", + "StopArchiveExport": "

Stops an in-progress export of emails from an archive.

", + "StopArchiveSearch": "

Stops an in-progress archive search job.

", + "TagResource": "

Adds one or more tags (keys and values) to a specified resource.

", + "UntagResource": "

Remove one or more tags (keys and values) from a specified resource.

", + "UpdateArchive": "

Updates the attributes of an existing email archive.

", + "UpdateIngressPoint": "

Update attributes of a provisioned ingress endpoint resource.

", + "UpdateRelay": "

Updates the attributes of an existing relay resource.

", + "UpdateRuleSet": "

>Update attributes of an already provisioned rule set.

", + "UpdateTrafficPolicy": "

Update attributes of an already provisioned traffic policy resource.

" + }, + "shapes": { + "AcceptAction": { + "base": null, + "refs": { + "CreateTrafficPolicyRequest$DefaultAction": "

Default action instructs the traffic policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements

", + "GetTrafficPolicyResponse$DefaultAction": "

The default action of the traffic policy.

", + "PolicyStatement$Action": "

The action that informs a traffic policy resource to either allow or block the email if it matches a condition in the policy statement.

", + "TrafficPolicy$DefaultAction": "

Default action instructs the traffic policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements

", + "UpdateTrafficPolicyRequest$DefaultAction": "

Default action instructs the traffic policy to either Allow or Deny (block) messages that fall outside of (or not addressed by) the conditions of your policy statements

" + } + }, + "AccessDeniedException": { + "base": "

Occurs when a user is denied access to a specific resource or action.

", + "refs": { + } + }, + "ActionFailurePolicy": { + "base": null, + "refs": { + "ArchiveAction$ActionFailurePolicy": "

A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified archive has been deleted.

", + "DeliverToMailboxAction$ActionFailurePolicy": "

A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the mailbox ARN is no longer valid.

", + "RelayAction$ActionFailurePolicy": "

A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified relay has been deleted.

", + "S3Action$ActionFailurePolicy": "

A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the specified the bucket has been deleted.

", + "SendAction$ActionFailurePolicy": "

A policy that states what to do in the case of failure. The action will fail if there are configuration errors. For example, the caller does not have the permissions to call the sendRawEmail API.

" + } + }, + "AddHeaderAction": { + "base": "

The action to add a header to a message. When executed, this action will add the given header to the message.

", + "refs": { + "RuleAction$AddHeader": "

This action adds a header. This can be used to add arbitrary email headers.

" + } + }, + "AddonInstance": { + "base": "

An Add On instance represents a specific configuration of an Add On.

", + "refs": { + "AddonInstances$member": null + } + }, + "AddonInstanceArn": { + "base": null, + "refs": { + "AddonInstance$AddonInstanceArn": "

The Amazon Resource Name (ARN) of the Add On instance.

", + "GetAddonInstanceResponse$AddonInstanceArn": "

The Amazon Resource Name (ARN) of the Add On instance.

" + } + }, + "AddonInstanceId": { + "base": null, + "refs": { + "AddonInstance$AddonInstanceId": "

The unique ID of the Add On instance.

", + "CreateAddonInstanceResponse$AddonInstanceId": "

The unique ID of the Add On instance created by this API.

", + "DeleteAddonInstanceRequest$AddonInstanceId": "

The Add On instance ID to delete.

", + "GetAddonInstanceRequest$AddonInstanceId": "

The Add On instance ID to retrieve information for.

" + } + }, + "AddonInstances": { + "base": null, + "refs": { + "ListAddonInstancesResponse$AddonInstances": "

The list of ingress endpoints.

" + } + }, + "AddonName": { + "base": null, + "refs": { + "AddonInstance$AddonName": "

The name of the Add On for the instance.

", + "AddonSubscription$AddonName": "

The name of the Add On.

", + "CreateAddonSubscriptionRequest$AddonName": "

The name of the Add On to subscribe to. You can only have one subscription for each Add On name.

", + "GetAddonInstanceResponse$AddonName": "

The name of the Add On provider associated to the subscription of the instance.

", + "GetAddonSubscriptionResponse$AddonName": "

The name of the Add On for the subscription.

" + } + }, + "AddonSubscription": { + "base": "

A subscription for an Add On representing the acceptance of its terms of use and additional pricing.

", + "refs": { + "AddonSubscriptions$member": null + } + }, + "AddonSubscriptionArn": { + "base": null, + "refs": { + "AddonSubscription$AddonSubscriptionArn": "

The Amazon Resource Name (ARN) of the Add On subscription.

", + "GetAddonSubscriptionResponse$AddonSubscriptionArn": "

Amazon Resource Name (ARN) for the subscription.

" + } + }, + "AddonSubscriptionId": { + "base": null, + "refs": { + "AddonInstance$AddonSubscriptionId": "

The subscription ID for the instance.

", + "AddonSubscription$AddonSubscriptionId": "

The unique ID of the Add On subscription.

", + "CreateAddonInstanceRequest$AddonSubscriptionId": "

The unique ID of a previously created subscription that an Add On instance is created for. You can only have one instance per subscription.

", + "CreateAddonSubscriptionResponse$AddonSubscriptionId": "

The unique ID of the Add On subscription created by this API.

", + "DeleteAddonSubscriptionRequest$AddonSubscriptionId": "

The Add On subscription ID to delete.

", + "GetAddonInstanceResponse$AddonSubscriptionId": "

The subscription ID associated to the instance.

", + "GetAddonSubscriptionRequest$AddonSubscriptionId": "

The Add On subscription ID to retrieve information for.

" + } + }, + "AddonSubscriptions": { + "base": null, + "refs": { + "ListAddonSubscriptionsResponse$AddonSubscriptions": "

The list of ingress endpoints.

" + } + }, + "Analysis": { + "base": "

The result of an analysis can be used in conditions to trigger actions. Analyses can inspect the email content and report a certain aspect of the email.

", + "refs": { + "RuleVerdictToEvaluate$Analysis": "

The Add On ARN and its returned value to evaluate in a verdict condition expression.

" + } + }, + "AnalyzerArn": { + "base": null, + "refs": { + "Analysis$Analyzer": "

The Amazon Resource Name (ARN) of an Add On.

", + "IngressAnalysis$Analyzer": "

The Amazon Resource Name (ARN) of an Add On.

" + } + }, + "Archive": { + "base": "

An archive resource for storing and retaining emails.

", + "refs": { + "ArchivesList$member": null + } + }, + "ArchiveAction": { + "base": "

The action to archive the email by delivering the email to an Amazon SES archive.

", + "refs": { + "RuleAction$Archive": "

This action archives the email. This can be used to deliver an email to an archive.

" + } + }, + "ArchiveArn": { + "base": null, + "refs": { + "GetArchiveResponse$ArchiveArn": "

The Amazon Resource Name (ARN) of the archive.

" + } + }, + "ArchiveBooleanEmailAttribute": { + "base": null, + "refs": { + "ArchiveBooleanToEvaluate$Attribute": "

The name of the email attribute to evaluate.

" + } + }, + "ArchiveBooleanExpression": { + "base": "

A boolean expression to evaluate email attribute values.

", + "refs": { + "ArchiveFilterCondition$BooleanExpression": "

A boolean expression to evaluate against email attributes.

" + } + }, + "ArchiveBooleanOperator": { + "base": null, + "refs": { + "ArchiveBooleanExpression$Operator": "

The boolean operator to use for evaluation.

" + } + }, + "ArchiveBooleanToEvaluate": { + "base": "

The attribute to evaluate in a boolean expression.

", + "refs": { + "ArchiveBooleanExpression$Evaluate": "

The email attribute value to evaluate.

" + } + }, + "ArchiveFilterCondition": { + "base": "

A filter condition used to include or exclude emails when exporting from or searching an archive.

", + "refs": { + "ArchiveFilterConditions$member": null + } + }, + "ArchiveFilterConditions": { + "base": null, + "refs": { + "ArchiveFilters$Include": "

The filter conditions for emails to include.

", + "ArchiveFilters$Unless": "

The filter conditions for emails to exclude.

" + } + }, + "ArchiveFilters": { + "base": "

A set of filter conditions to include and/or exclude emails.

", + "refs": { + "GetArchiveExportResponse$Filters": "

The criteria used to filter emails included in the export.

", + "GetArchiveSearchResponse$Filters": "

The criteria used to filter emails included in the search.

", + "StartArchiveExportRequest$Filters": "

Criteria to filter which emails are included in the export.

", + "StartArchiveSearchRequest$Filters": "

Criteria to filter which emails are included in the search results.

" + } + }, + "ArchiveId": { + "base": null, + "refs": { + "GetArchiveExportResponse$ArchiveId": "

The identifier of the archive the email export was performed from.

", + "GetArchiveSearchResponse$ArchiveId": "

The identifier of the archive the email search was performed in.

", + "ListArchiveExportsRequest$ArchiveId": "

The identifier of the archive.

", + "ListArchiveSearchesRequest$ArchiveId": "

The identifier of the archive.

", + "StartArchiveExportRequest$ArchiveId": "

The identifier of the archive to export emails from.

", + "StartArchiveSearchRequest$ArchiveId": "

The identifier of the archive to search emails in.

" + } + }, + "ArchiveIdString": { + "base": null, + "refs": { + "Archive$ArchiveId": "

The unique identifier of the archive.

", + "CreateArchiveResponse$ArchiveId": "

The unique identifier for the newly created archive.

", + "DeleteArchiveRequest$ArchiveId": "

The identifier of the archive to delete.

", + "GetArchiveRequest$ArchiveId": "

The identifier of the archive to retrieve.

", + "GetArchiveResponse$ArchiveId": "

The unique identifier of the archive.

", + "UpdateArchiveRequest$ArchiveId": "

The identifier of the archive to update.

" + } + }, + "ArchiveNameString": { + "base": null, + "refs": { + "Archive$ArchiveName": "

The unique name assigned to the archive.

", + "CreateArchiveRequest$ArchiveName": "

A unique name for the new archive.

", + "GetArchiveResponse$ArchiveName": "

The unique name assigned to the archive.

", + "UpdateArchiveRequest$ArchiveName": "

A new, unique name for the archive.

" + } + }, + "ArchiveRetention": { + "base": "

The retention policy for an email archive that specifies how long emails are kept before being automatically deleted.

", + "refs": { + "CreateArchiveRequest$Retention": "

The period for retaining emails in the archive before automatic deletion.

", + "GetArchiveResponse$Retention": "

The retention period for emails in this archive.

", + "UpdateArchiveRequest$Retention": "

A new retention period for emails in the archive.

" + } + }, + "ArchiveState": { + "base": null, + "refs": { + "Archive$ArchiveState": "

The current state of the archive:

", + "GetArchiveResponse$ArchiveState": "

The current state of the archive:

" + } + }, + "ArchiveStringEmailAttribute": { + "base": null, + "refs": { + "ArchiveStringToEvaluate$Attribute": "

The name of the email attribute to evaluate.

" + } + }, + "ArchiveStringExpression": { + "base": "

A string expression to evaluate an email attribute value against one or more string values.

", + "refs": { + "ArchiveFilterCondition$StringExpression": "

A string expression to evaluate against email attributes.

" + } + }, + "ArchiveStringOperator": { + "base": null, + "refs": { + "ArchiveStringExpression$Operator": "

The operator to use when evaluating the string values.

" + } + }, + "ArchiveStringToEvaluate": { + "base": "

Specifies the email attribute to evaluate in a string expression.

", + "refs": { + "ArchiveStringExpression$Evaluate": "

The attribute of the email to evaluate.

" + } + }, + "ArchivedMessageId": { + "base": null, + "refs": { + "GetArchiveMessageContentRequest$ArchivedMessageId": "

The unique identifier of the archived email message.

", + "GetArchiveMessageRequest$ArchivedMessageId": "

The unique identifier of the archived email message.

", + "Row$ArchivedMessageId": "

The unique identifier of the archived message.

" + } + }, + "ArchivesList": { + "base": null, + "refs": { + "ListArchivesResponse$Archives": "

The list of archive details.

" + } + }, + "Boolean": { + "base": null, + "refs": { + "MessageBody$MessageMalformed": "

A flag indicating if the email was malformed.

", + "Row$HasAttachments": "

A flag indicating if the email has attachments.

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

The request configuration has conflicts. For details, see the accompanying error message.

", + "refs": { + } + }, + "CreateAddonInstanceRequest": { + "base": null, + "refs": { + } + }, + "CreateAddonInstanceResponse": { + "base": null, + "refs": { + } + }, + "CreateAddonSubscriptionRequest": { + "base": null, + "refs": { + } + }, + "CreateAddonSubscriptionResponse": { + "base": null, + "refs": { + } + }, + "CreateArchiveRequest": { + "base": "

The request to create a new email archive.

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

The response from creating a new email archive.

", + "refs": { + } + }, + "CreateIngressPointRequest": { + "base": null, + "refs": { + } + }, + "CreateIngressPointResponse": { + "base": null, + "refs": { + } + }, + "CreateRelayRequest": { + "base": null, + "refs": { + } + }, + "CreateRelayResponse": { + "base": null, + "refs": { + } + }, + "CreateRuleSetRequest": { + "base": null, + "refs": { + } + }, + "CreateRuleSetResponse": { + "base": null, + "refs": { + } + }, + "CreateTrafficPolicyRequest": { + "base": null, + "refs": { + } + }, + "CreateTrafficPolicyResponse": { + "base": null, + "refs": { + } + }, + "DeleteAddonInstanceRequest": { + "base": null, + "refs": { + } + }, + "DeleteAddonInstanceResponse": { + "base": null, + "refs": { + } + }, + "DeleteAddonSubscriptionRequest": { + "base": null, + "refs": { + } + }, + "DeleteAddonSubscriptionResponse": { + "base": null, + "refs": { + } + }, + "DeleteArchiveRequest": { + "base": "

The request to initiate deletion of an email archive.

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

The response indicating if the archive deletion was successfully initiated.

On success, returns an HTTP 200 status code. On failure, returns an error message.

", + "refs": { + } + }, + "DeleteIngressPointRequest": { + "base": null, + "refs": { + } + }, + "DeleteIngressPointResponse": { + "base": null, + "refs": { + } + }, + "DeleteRelayRequest": { + "base": null, + "refs": { + } + }, + "DeleteRelayResponse": { + "base": null, + "refs": { + } + }, + "DeleteRuleSetRequest": { + "base": null, + "refs": { + } + }, + "DeleteRuleSetResponse": { + "base": null, + "refs": { + } + }, + "DeleteTrafficPolicyRequest": { + "base": null, + "refs": { + } + }, + "DeleteTrafficPolicyResponse": { + "base": null, + "refs": { + } + }, + "DeliverToMailboxAction": { + "base": "

This action to delivers an email to a mailbox.

", + "refs": { + "RuleAction$DeliverToMailbox": "

This action delivers an email to a WorkMail mailbox.

" + } + }, + "Double": { + "base": null, + "refs": { + "RuleNumberExpression$Value": "

The value to evaluate in a numeric condition expression.

" + } + }, + "DropAction": { + "base": "

This action causes processing to stop and the email to be dropped. If the action applies only to certain recipients, only those recipients are dropped, and processing continues for other recipients.

", + "refs": { + "RuleAction$Drop": "

This action terminates the evaluation of rules in the rule set.

" + } + }, + "EmailAddress": { + "base": null, + "refs": { + "Recipients$member": null + } + }, + "EmailReceivedHeadersList": { + "base": null, + "refs": { + "Row$ReceivedHeaders": "

The received headers from the email delivery path.

" + } + }, + "ErrorMessage": { + "base": null, + "refs": { + "AccessDeniedException$Message": null, + "ConflictException$Message": null, + "ExportStatus$ErrorMessage": "

An error message if the export job failed.

", + "ResourceNotFoundException$Message": null, + "SearchStatus$ErrorMessage": "

An error message if the search failed.

", + "ServiceQuotaExceededException$Message": null, + "ThrottlingException$Message": null, + "ValidationException$Message": null + } + }, + "ExportDestinationConfiguration": { + "base": "

The destination configuration for delivering exported email data.

", + "refs": { + "GetArchiveExportResponse$ExportDestinationConfiguration": "

Where the exported emails are being delivered.

", + "StartArchiveExportRequest$ExportDestinationConfiguration": "

Details on where to deliver the exported email data.

" + } + }, + "ExportId": { + "base": null, + "refs": { + "ExportSummary$ExportId": "

The unique identifier of the export job.

", + "GetArchiveExportRequest$ExportId": "

The identifier of the export job to get details for.

", + "StartArchiveExportResponse$ExportId": "

The unique identifier for the initiated export job.

", + "StopArchiveExportRequest$ExportId": "

The identifier of the export job to stop.

" + } + }, + "ExportMaxResults": { + "base": null, + "refs": { + "GetArchiveExportResponse$MaxResults": "

The maximum number of email items included in the export.

", + "StartArchiveExportRequest$MaxResults": "

The maximum number of email items to include in the export.

" + } + }, + "ExportState": { + "base": null, + "refs": { + "ExportStatus$State": "

The current state of the export job.

" + } + }, + "ExportStatus": { + "base": "

The current status of an archive export job.

", + "refs": { + "ExportSummary$Status": "

The current status of the export job.

", + "GetArchiveExportResponse$Status": "

The current status of the export job.

" + } + }, + "ExportSummary": { + "base": "

Summary statuses of an archive export job.

", + "refs": { + "ExportSummaryList$member": null + } + }, + "ExportSummaryList": { + "base": null, + "refs": { + "ListArchiveExportsResponse$Exports": "

The list of export job identifiers and statuses.

" + } + }, + "GetAddonInstanceRequest": { + "base": null, + "refs": { + } + }, + "GetAddonInstanceResponse": { + "base": null, + "refs": { + } + }, + "GetAddonSubscriptionRequest": { + "base": null, + "refs": { + } + }, + "GetAddonSubscriptionResponse": { + "base": null, + "refs": { + } + }, + "GetArchiveExportRequest": { + "base": "

The request to retrieve details of a specific archive export job.

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

The response containing details of the specified archive export job.

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

The request to get the textual content of a specific email message stored in an archive.

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

The response containing the textual content of the requested archived email message.

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

The request to get details of a specific email message stored in an archive.

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

The response containing details about the requested archived email message.

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

The request to retrieve details of an email archive.

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

The response containing details of the requested archive.

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

The request to retrieve details of a specific archive search job.

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

The response containing details of the specified archive search job.

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

The request to retrieve results from a completed archive search job.

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

The response containing search results from a completed archive search.

", + "refs": { + } + }, + "GetIngressPointRequest": { + "base": null, + "refs": { + } + }, + "GetIngressPointResponse": { + "base": null, + "refs": { + } + }, + "GetRelayRequest": { + "base": null, + "refs": { + } + }, + "GetRelayResponse": { + "base": null, + "refs": { + } + }, + "GetRuleSetRequest": { + "base": null, + "refs": { + } + }, + "GetRuleSetResponse": { + "base": null, + "refs": { + } + }, + "GetTrafficPolicyRequest": { + "base": null, + "refs": { + } + }, + "GetTrafficPolicyResponse": { + "base": null, + "refs": { + } + }, + "HeaderName": { + "base": null, + "refs": { + "AddHeaderAction$HeaderName": "

The name of the header to add to an email. The header must be prefixed with \"X-\". Headers are added regardless of whether the header name pre-existed in the email.

" + } + }, + "HeaderValue": { + "base": null, + "refs": { + "AddHeaderAction$HeaderValue": "

The value of the header to add to the email.

" + } + }, + "IamRoleArn": { + "base": null, + "refs": { + "DeliverToMailboxAction$RoleArn": "

The Amazon Resource Name (ARN) of an IAM role to use to execute this action. The role must have access to the workmail:DeliverToMailbox API.

", + "S3Action$RoleArn": "

The Amazon Resource Name (ARN) of the IAM Role to use while writing to S3. This role must have access to the s3:PutObject, kms:Encrypt, and kms:GenerateDataKey APIs for the given bucket.

", + "SendAction$RoleArn": "

The Amazon Resource Name (ARN) of the role to use for this action. This role must have access to the ses:SendRawEmail API.

" + } + }, + "IdOrArn": { + "base": null, + "refs": { + "RelayAction$Relay": "

The identifier of the relay resource to be used when relaying an email.

" + } + }, + "IdempotencyToken": { + "base": null, + "refs": { + "CreateAddonInstanceRequest$ClientToken": "

A unique token that Amazon SES uses to recognize subsequent retries of the same request.

", + "CreateAddonSubscriptionRequest$ClientToken": "

A unique token that Amazon SES uses to recognize subsequent retries of the same request.

", + "CreateArchiveRequest$ClientToken": "

A unique token Amazon SES uses to recognize retries of this request.

", + "CreateIngressPointRequest$ClientToken": "

A unique token that Amazon SES uses to recognize subsequent retries of the same request.

", + "CreateRelayRequest$ClientToken": "

A unique token that Amazon SES uses to recognize subsequent retries of the same request.

", + "CreateRuleSetRequest$ClientToken": "

A unique token that Amazon SES uses to recognize subsequent retries of the same request.

", + "CreateTrafficPolicyRequest$ClientToken": "

A unique token that Amazon SES uses to recognize subsequent retries of the same request.

" + } + }, + "IngressAnalysis": { + "base": "

The Add On ARN and its returned value that is evaluated in a policy statement's conditional expression to either deny or block the incoming email.

", + "refs": { + "IngressBooleanToEvaluate$Analysis": "

The structure type for a boolean condition stating the Add On ARN and its returned value.

" + } + }, + "IngressBooleanExpression": { + "base": "

The structure for a boolean condition matching on the incoming mail.

", + "refs": { + "PolicyCondition$BooleanExpression": "

This represents a boolean type condition matching on the incoming mail. It performs the boolean operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.

" + } + }, + "IngressBooleanOperator": { + "base": null, + "refs": { + "IngressBooleanExpression$Operator": "

The matching operator for a boolean condition expression.

" + } + }, + "IngressBooleanToEvaluate": { + "base": "

The union type representing the allowed types of operands for a boolean condition.

", + "refs": { + "IngressBooleanExpression$Evaluate": "

The operand on which to perform a boolean condition operation.

" + } + }, + "IngressIpOperator": { + "base": null, + "refs": { + "IngressIpv4Expression$Operator": "

The matching operator for an IP condition expression.

" + } + }, + "IngressIpToEvaluate": { + "base": "

The structure for an IP based condition matching on the incoming mail.

", + "refs": { + "IngressIpv4Expression$Evaluate": "

The left hand side argument of an IP condition expression.

" + } + }, + "IngressIpv4Attribute": { + "base": null, + "refs": { + "IngressIpToEvaluate$Attribute": "

An enum type representing the allowed attribute types for an IP condition.

" + } + }, + "IngressIpv4Expression": { + "base": "

The union type representing the allowed types for the left hand side of an IP condition.

", + "refs": { + "PolicyCondition$IpExpression": "

This represents an IP based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.

" + } + }, + "IngressPoint": { + "base": "

The structure of an ingress endpoint resource.

", + "refs": { + "IngressPointsList$member": null + } + }, + "IngressPointARecord": { + "base": null, + "refs": { + "GetIngressPointResponse$ARecord": "

The DNS A Record that identifies your ingress endpoint. Configure your DNS Mail Exchange (MX) record with this value to route emails to Mail Manager.

", + "IngressPoint$ARecord": "

The DNS A Record that identifies your ingress endpoint. Configure your DNS Mail Exchange (MX) record with this value to route emails to Mail Manager.

" + } + }, + "IngressPointArn": { + "base": null, + "refs": { + "GetIngressPointResponse$IngressPointArn": "

The Amazon Resource Name (ARN) of the ingress endpoint resource.

" + } + }, + "IngressPointAuthConfiguration": { + "base": "

The authentication configuration for the ingress endpoint resource.

", + "refs": { + "GetIngressPointResponse$IngressPointAuthConfiguration": "

The authentication configuration of the ingress endpoint resource.

" + } + }, + "IngressPointConfiguration": { + "base": "

The configuration of the ingress endpoint resource.

", + "refs": { + "CreateIngressPointRequest$IngressPointConfiguration": "

If you choose an Authenticated ingress endpoint, you must configure either an SMTP password or a secret ARN.

", + "UpdateIngressPointRequest$IngressPointConfiguration": "

If you choose an Authenticated ingress endpoint, you must configure either an SMTP password or a secret ARN.

" + } + }, + "IngressPointId": { + "base": null, + "refs": { + "CreateIngressPointResponse$IngressPointId": "

The unique identifier for a previously created ingress endpoint.

", + "DeleteIngressPointRequest$IngressPointId": "

The identifier of the ingress endpoint resource that you want to delete.

", + "GetIngressPointRequest$IngressPointId": "

The identifier of an ingress endpoint.

", + "GetIngressPointResponse$IngressPointId": "

The identifier of an ingress endpoint resource.

", + "IngressPoint$IngressPointId": "

The identifier of the ingress endpoint resource.

", + "UpdateIngressPointRequest$IngressPointId": "

The identifier for the ingress endpoint you want to update.

" + } + }, + "IngressPointName": { + "base": null, + "refs": { + "CreateIngressPointRequest$IngressPointName": "

A user friendly name for an ingress endpoint resource.

", + "GetIngressPointResponse$IngressPointName": "

A user friendly name for the ingress endpoint.

", + "IngressPoint$IngressPointName": "

A user friendly name for the ingress endpoint resource.

", + "UpdateIngressPointRequest$IngressPointName": "

A user friendly name for the ingress endpoint resource.

" + } + }, + "IngressPointPasswordConfiguration": { + "base": "

The password configuration of the ingress endpoint resource.

", + "refs": { + "IngressPointAuthConfiguration$IngressPointPasswordConfiguration": "

The ingress endpoint password configuration for the ingress endpoint resource.

" + } + }, + "IngressPointStatus": { + "base": null, + "refs": { + "GetIngressPointResponse$Status": "

The status of the ingress endpoint resource.

", + "IngressPoint$Status": "

The status of the ingress endpoint resource.

" + } + }, + "IngressPointStatusToUpdate": { + "base": null, + "refs": { + "UpdateIngressPointRequest$StatusToUpdate": "

The update status of an ingress endpoint.

" + } + }, + "IngressPointType": { + "base": null, + "refs": { + "CreateIngressPointRequest$Type": "

The type of the ingress endpoint to create.

", + "GetIngressPointResponse$Type": "

The type of ingress endpoint.

", + "IngressPoint$Type": "

The type of ingress endpoint resource.

" + } + }, + "IngressPointsList": { + "base": null, + "refs": { + "ListIngressPointsResponse$IngressPoints": "

The list of ingress endpoints.

" + } + }, + "IngressStringEmailAttribute": { + "base": null, + "refs": { + "IngressStringToEvaluate$Attribute": "

The enum type representing the allowed attribute types for a string condition.

" + } + }, + "IngressStringExpression": { + "base": "

The structure for a string based condition matching on the incoming mail.

", + "refs": { + "PolicyCondition$StringExpression": "

This represents a string based condition matching on the incoming mail. It performs the string operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.

" + } + }, + "IngressStringOperator": { + "base": null, + "refs": { + "IngressStringExpression$Operator": "

The matching operator for a string condition expression.

" + } + }, + "IngressStringToEvaluate": { + "base": "

The union type representing the allowed types for the left hand side of a string condition.

", + "refs": { + "IngressStringExpression$Evaluate": "

The left hand side argument of a string condition expression.

" + } + }, + "IngressTlsAttribute": { + "base": null, + "refs": { + "IngressTlsProtocolToEvaluate$Attribute": "

The enum type representing the allowed attribute types for the TLS condition.

" + } + }, + "IngressTlsProtocolAttribute": { + "base": null, + "refs": { + "IngressTlsProtocolExpression$Value": "

The right hand side argument of a TLS condition expression.

" + } + }, + "IngressTlsProtocolExpression": { + "base": "

The structure for a TLS related condition matching on the incoming mail.

", + "refs": { + "PolicyCondition$TlsExpression": "

This represents a TLS based condition matching on the incoming mail. It performs the operation configured in 'Operator' and evaluates the 'Protocol' object against the 'Value'.

" + } + }, + "IngressTlsProtocolOperator": { + "base": null, + "refs": { + "IngressTlsProtocolExpression$Operator": "

The matching operator for a TLS condition expression.

" + } + }, + "IngressTlsProtocolToEvaluate": { + "base": "

The union type representing the allowed types for the left hand side of a TLS condition.

", + "refs": { + "IngressTlsProtocolExpression$Evaluate": "

The left hand side argument of a TLS condition expression.

" + } + }, + "Integer": { + "base": null, + "refs": { + "ListRelaysRequest$PageSize": "

The number of relays to be returned in one request.

" + } + }, + "Ipv4Cidr": { + "base": null, + "refs": { + "Ipv4Cidrs$member": null + } + }, + "Ipv4Cidrs": { + "base": null, + "refs": { + "IngressIpv4Expression$Values": "

The right hand side argument of an IP condition expression.

" + } + }, + "KmsKeyArn": { + "base": null, + "refs": { + "CreateArchiveRequest$KmsKeyArn": "

The Amazon Resource Name (ARN) of the KMS key for encrypting emails in the archive.

", + "GetArchiveResponse$KmsKeyArn": "

The Amazon Resource Name (ARN) of the KMS key used to encrypt the archive.

" + } + }, + "KmsKeyId": { + "base": null, + "refs": { + "S3Action$S3SseKmsKeyId": "

The KMS Key ID to use to encrypt the message in S3.

" + } + }, + "ListAddonInstancesRequest": { + "base": null, + "refs": { + } + }, + "ListAddonInstancesResponse": { + "base": null, + "refs": { + } + }, + "ListAddonSubscriptionsRequest": { + "base": null, + "refs": { + } + }, + "ListAddonSubscriptionsResponse": { + "base": null, + "refs": { + } + }, + "ListArchiveExportsRequest": { + "base": "

The request to list archive export jobs in your account.

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

The response containing a list of archive export jobs and their statuses.

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

The request to list archive search jobs in your account.

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

The response containing a list of archive search jobs and their statuses.

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

The request to list email archives in your account.

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

The response containing a list of your email archives.

", + "refs": { + } + }, + "ListIngressPointsRequest": { + "base": null, + "refs": { + } + }, + "ListIngressPointsResponse": { + "base": null, + "refs": { + } + }, + "ListRelaysRequest": { + "base": null, + "refs": { + } + }, + "ListRelaysResponse": { + "base": null, + "refs": { + } + }, + "ListRuleSetsRequest": { + "base": null, + "refs": { + } + }, + "ListRuleSetsResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "ListTrafficPoliciesRequest": { + "base": null, + "refs": { + } + }, + "ListTrafficPoliciesResponse": { + "base": null, + "refs": { + } + }, + "MailFrom": { + "base": null, + "refs": { + "RelayAction$MailFrom": "

This action specifies whether to preserve or replace original mail from address while relaying received emails to a destination server.

" + } + }, + "MaxMessageSizeBytes": { + "base": null, + "refs": { + "CreateTrafficPolicyRequest$MaxMessageSizeBytes": "

The maximum message size in bytes of email which is allowed in by this traffic policy—anything larger will be blocked.

", + "GetTrafficPolicyResponse$MaxMessageSizeBytes": "

The maximum message size in bytes of email which is allowed in by this traffic policy—anything larger will be blocked.

", + "UpdateTrafficPolicyRequest$MaxMessageSizeBytes": "

The maximum message size in bytes of email which is allowed in by this traffic policy—anything larger will be blocked.

" + } + }, + "MessageBody": { + "base": "

The textual body content of an email message.

", + "refs": { + "GetArchiveMessageContentResponse$Body": "

The textual body content of the email message.

" + } + }, + "NameOrArn": { + "base": null, + "refs": { + "ArchiveAction$TargetArchive": "

The identifier of the archive to send the email to.

", + "DeliverToMailboxAction$MailboxArn": "

The Amazon Resource Name (ARN) of a WorkMail organization to deliver the email to.

" + } + }, + "NoAuthentication": { + "base": "

Explicitly indicate that the relay destination server does not require SMTP credential authentication.

", + "refs": { + "RelayAuthentication$NoAuthentication": "

Keep an empty structure if the relay destination server does not require SMTP credential authentication.

" + } + }, + "PageSize": { + "base": null, + "refs": { + "ListAddonInstancesRequest$PageSize": "

The maximum number of ingress endpoint resources that are returned per call. You can use NextToken to obtain further ingress endpoints.

", + "ListAddonSubscriptionsRequest$PageSize": "

The maximum number of ingress endpoint resources that are returned per call. You can use NextToken to obtain further ingress endpoints.

", + "ListArchiveExportsRequest$PageSize": "

The maximum number of archive export jobs that are returned per call. You can use NextToken to obtain further pages of archives.

", + "ListArchiveSearchesRequest$PageSize": "

The maximum number of archive search jobs that are returned per call. You can use NextToken to obtain further pages of archives.

", + "ListArchivesRequest$PageSize": "

The maximum number of archives that are returned per call. You can use NextToken to obtain further pages of archives.

", + "ListIngressPointsRequest$PageSize": "

The maximum number of ingress endpoint resources that are returned per call. You can use NextToken to obtain further ingress endpoints.

", + "ListRuleSetsRequest$PageSize": "

The maximum number of rule set resources that are returned per call. You can use NextToken to obtain further rule sets.

", + "ListTrafficPoliciesRequest$PageSize": "

The maximum number of traffic policy resources that are returned per call. You can use NextToken to obtain further traffic policies.

" + } + }, + "PaginationToken": { + "base": null, + "refs": { + "ListAddonInstancesRequest$NextToken": "

If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

", + "ListAddonInstancesResponse$NextToken": "

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

", + "ListAddonSubscriptionsRequest$NextToken": "

If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

", + "ListAddonSubscriptionsResponse$NextToken": "

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

", + "ListArchiveExportsRequest$NextToken": "

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

", + "ListArchiveExportsResponse$NextToken": "

If present, use to retrieve the next page of results.

", + "ListArchiveSearchesRequest$NextToken": "

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

", + "ListArchiveSearchesResponse$NextToken": "

If present, use to retrieve the next page of results.

", + "ListArchivesRequest$NextToken": "

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

", + "ListArchivesResponse$NextToken": "

If present, use to retrieve the next page of results.

", + "ListIngressPointsRequest$NextToken": "

If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

", + "ListIngressPointsResponse$NextToken": "

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

", + "ListRelaysRequest$NextToken": "

If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

", + "ListRelaysResponse$NextToken": "

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

", + "ListRuleSetsRequest$NextToken": "

If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

", + "ListRuleSetsResponse$NextToken": "

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

", + "ListTrafficPoliciesRequest$NextToken": "

If you received a pagination token from a previous call to this API, you can provide it here to continue paginating through the next page of results.

", + "ListTrafficPoliciesResponse$NextToken": "

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.

" + } + }, + "PolicyCondition": { + "base": "

The email traffic filtering conditions which are contained in a traffic policy resource.

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

The list of conditions to apply to incoming messages for filtering email traffic.

" + } + }, + "PolicyStatement": { + "base": "

The structure containing traffic policy conditions and actions.

", + "refs": { + "PolicyStatementList$member": null + } + }, + "PolicyStatementList": { + "base": null, + "refs": { + "CreateTrafficPolicyRequest$PolicyStatements": "

Conditional statements for filtering email traffic.

", + "GetTrafficPolicyResponse$PolicyStatements": "

The list of conditions which are in the traffic policy resource.

", + "UpdateTrafficPolicyRequest$PolicyStatements": "

The list of conditions to be updated for filtering email traffic.

" + } + }, + "Recipients": { + "base": null, + "refs": { + "ReplaceRecipientAction$ReplaceWith": "

This action specifies the replacement recipient email addresses to insert.

" + } + }, + "Relay": { + "base": "

The relay resource that can be used as a rule to relay receiving emails to the destination relay server.

", + "refs": { + "Relays$member": null + } + }, + "RelayAction": { + "base": "

The action relays the email via SMTP to another specific SMTP server.

", + "refs": { + "RuleAction$Relay": "

This action relays the email to another SMTP server.

" + } + }, + "RelayArn": { + "base": null, + "refs": { + "GetRelayResponse$RelayArn": "

The Amazon Resource Name (ARN) of the relay.

" + } + }, + "RelayAuthentication": { + "base": "

Authentication for the relay destination server—specify the secretARN where the SMTP credentials are stored, or specify an empty NoAuthentication structure if the relay destination server does not require SMTP credential authentication.

", + "refs": { + "CreateRelayRequest$Authentication": "

Authentication for the relay destination server—specify the secretARN where the SMTP credentials are stored.

", + "GetRelayResponse$Authentication": "

The authentication attribute—contains the secret ARN where the customer relay server credentials are stored.

", + "UpdateRelayRequest$Authentication": "

Authentication for the relay destination server—specify the secretARN where the SMTP credentials are stored.

" + } + }, + "RelayId": { + "base": null, + "refs": { + "CreateRelayResponse$RelayId": "

A unique identifier of the created relay resource.

", + "DeleteRelayRequest$RelayId": "

The unique relay identifier.

", + "GetRelayRequest$RelayId": "

A unique relay identifier.

", + "GetRelayResponse$RelayId": "

The unique relay identifier.

", + "Relay$RelayId": "

The unique relay identifier.

", + "UpdateRelayRequest$RelayId": "

The unique relay identifier.

" + } + }, + "RelayName": { + "base": null, + "refs": { + "CreateRelayRequest$RelayName": "

The unique name of the relay resource.

", + "GetRelayResponse$RelayName": "

The unique name of the relay.

", + "Relay$RelayName": "

The unique relay name.

", + "UpdateRelayRequest$RelayName": "

The name of the relay resource.

" + } + }, + "RelayServerName": { + "base": null, + "refs": { + "CreateRelayRequest$ServerName": "

The destination relay server address.

", + "GetRelayResponse$ServerName": "

The destination relay server address.

", + "UpdateRelayRequest$ServerName": "

The destination relay server address.

" + } + }, + "RelayServerPort": { + "base": null, + "refs": { + "CreateRelayRequest$ServerPort": "

The destination relay server port.

", + "GetRelayResponse$ServerPort": "

The destination relay server port.

", + "UpdateRelayRequest$ServerPort": "

The destination relay server port.

" + } + }, + "Relays": { + "base": null, + "refs": { + "ListRelaysResponse$Relays": "

The list of returned relays.

" + } + }, + "ReplaceRecipientAction": { + "base": "

This action replaces the email envelope recipients with the given list of recipients. If the condition of this action applies only to a subset of recipients, only those recipients are replaced with the recipients specified in the action. The message contents and headers are unaffected by this action, only the envelope recipients are updated.

", + "refs": { + "RuleAction$ReplaceRecipient": "

The action replaces certain or all recipients with a different set of recipients.

" + } + }, + "ResourceNotFoundException": { + "base": "

Occurs when a requested resource is not found.

", + "refs": { + } + }, + "ResultField": { + "base": null, + "refs": { + "Analysis$ResultField": "

The returned value from an Add On.

", + "IngressAnalysis$ResultField": "

The returned value from an Add On.

" + } + }, + "RetentionPeriod": { + "base": null, + "refs": { + "ArchiveRetention$RetentionPeriod": "

The enum value sets the period for retaining emails in an archive.

" + } + }, + "Row": { + "base": "

A result row containing metadata for an archived email message.

", + "refs": { + "RowsList$member": null + } + }, + "RowsList": { + "base": null, + "refs": { + "GetArchiveSearchResultsResponse$Rows": "

The list of email result objects matching the search criteria.

" + } + }, + "Rule": { + "base": "

A rule contains conditions, \"unless conditions\" and actions. For each envelope recipient of an email, if all conditions match and none of the \"unless conditions\" match, then all of the actions are executed sequentially. If no conditions are provided, the rule always applies and the actions are implicitly executed. If only \"unless conditions\" are provided, the rule applies if the email does not match the evaluation of the \"unless conditions\".

", + "refs": { + "Rules$member": null + } + }, + "RuleAction": { + "base": "

The action for a rule to take. Only one of the contained actions can be set.

", + "refs": { + "RuleActions$member": null + } + }, + "RuleActions": { + "base": null, + "refs": { + "Rule$Actions": "

The list of actions to execute when the conditions match the incoming email, and none of the \"unless conditions\" match.

" + } + }, + "RuleBooleanEmailAttribute": { + "base": null, + "refs": { + "RuleBooleanToEvaluate$Attribute": "

The boolean type representing the allowed attribute types for an email.

" + } + }, + "RuleBooleanExpression": { + "base": "

A boolean expression to be used in a rule condition.

", + "refs": { + "RuleCondition$BooleanExpression": "

The condition applies to a boolean expression passed in this field.

" + } + }, + "RuleBooleanOperator": { + "base": null, + "refs": { + "RuleBooleanExpression$Operator": "

The matching operator for a boolean condition expression.

" + } + }, + "RuleBooleanToEvaluate": { + "base": "

The union type representing the allowed types of operands for a boolean condition.

", + "refs": { + "RuleBooleanExpression$Evaluate": "

The operand on which to perform a boolean condition operation.

" + } + }, + "RuleCondition": { + "base": "

The conditional expression used to evaluate an email for determining if a rule action should be taken.

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

The conditions of this rule. All conditions must match the email for the actions to be executed. An empty list of conditions means that all emails match, but are still subject to any \"unless conditions\"

", + "Rule$Unless": "

The \"unless conditions\" of this rule. None of the conditions can match the email for the actions to be executed. If any of these conditions do match the email, then the actions are not executed.

" + } + }, + "RuleDmarcExpression": { + "base": "

A DMARC policy expression. The condition matches if the given DMARC policy matches that of the incoming email.

", + "refs": { + "RuleCondition$DmarcExpression": "

The condition applies to a DMARC policy expression passed in this field.

" + } + }, + "RuleDmarcOperator": { + "base": null, + "refs": { + "RuleDmarcExpression$Operator": "

The operator to apply to the DMARC policy of the incoming email.

" + } + }, + "RuleDmarcPolicy": { + "base": null, + "refs": { + "RuleDmarcValueList$member": null + } + }, + "RuleDmarcValueList": { + "base": null, + "refs": { + "RuleDmarcExpression$Values": "

The values to use for the given DMARC policy operator. For the operator EQUALS, if multiple values are given, they are evaluated as an OR. That is, if any of the given values match, the condition is deemed to match. For the operator NOT_EQUALS, if multiple values are given, they are evaluated as an AND. That is, only if the email's DMARC policy is not equal to any of the given values, then the condition is deemed to match.

" + } + }, + "RuleIpEmailAttribute": { + "base": null, + "refs": { + "RuleIpToEvaluate$Attribute": "

The attribute of the email to evaluate.

" + } + }, + "RuleIpExpression": { + "base": "

An IP address expression matching certain IP addresses within a given range of IP addresses.

", + "refs": { + "RuleCondition$IpExpression": "

The condition applies to an IP address expression passed in this field.

" + } + }, + "RuleIpOperator": { + "base": null, + "refs": { + "RuleIpExpression$Operator": "

The operator to evaluate the IP address.

" + } + }, + "RuleIpStringValue": { + "base": null, + "refs": { + "RuleIpValueList$member": null + } + }, + "RuleIpToEvaluate": { + "base": "

The IP address to evaluate for this condition.

", + "refs": { + "RuleIpExpression$Evaluate": "

The IP address to evaluate in this condition.

" + } + }, + "RuleIpValueList": { + "base": null, + "refs": { + "RuleIpExpression$Values": "

The IP CIDR blocks in format \"x.y.z.w/n\" (eg 10.0.0.0/8) to match with the email's IP address. For the operator CIDR_MATCHES, if multiple values are given, they are evaluated as an OR. That is, if the IP address is contained within any of the given CIDR ranges, the condition is deemed to match. For NOT_CIDR_MATCHES, if multiple CIDR ranges are given, the condition is deemed to match if the IP address is not contained in any of the given CIDR ranges.

" + } + }, + "RuleName": { + "base": null, + "refs": { + "Rule$Name": "

The user-friendly name of the rule.

" + } + }, + "RuleNumberEmailAttribute": { + "base": null, + "refs": { + "RuleNumberToEvaluate$Attribute": "

An email attribute that is used as the number to evaluate.

" + } + }, + "RuleNumberExpression": { + "base": "

A number expression to match numeric conditions with integers from the incoming email.

", + "refs": { + "RuleCondition$NumberExpression": "

The condition applies to a number expression passed in this field.

" + } + }, + "RuleNumberOperator": { + "base": null, + "refs": { + "RuleNumberExpression$Operator": "

The operator for a numeric condition expression.

" + } + }, + "RuleNumberToEvaluate": { + "base": "

The number to evaluate in a numeric condition expression.

", + "refs": { + "RuleNumberExpression$Evaluate": "

The number to evaluate in a numeric condition expression.

" + } + }, + "RuleSet": { + "base": "

A rule set contains a list of rules that are evaluated in order. Each rule is evaluated sequentially for each email.

", + "refs": { + "RuleSets$member": null + } + }, + "RuleSetArn": { + "base": null, + "refs": { + "GetRuleSetResponse$RuleSetArn": "

The Amazon Resource Name (ARN) of the rule set resource.

" + } + }, + "RuleSetId": { + "base": null, + "refs": { + "CreateIngressPointRequest$RuleSetId": "

The identifier of an existing rule set that you attach to an ingress endpoint resource.

", + "CreateRuleSetResponse$RuleSetId": "

The identifier of the created rule set.

", + "DeleteRuleSetRequest$RuleSetId": "

The identifier of an existing rule set resource to delete.

", + "GetIngressPointResponse$RuleSetId": "

The identifier of a rule set resource associated with the ingress endpoint.

", + "GetRuleSetRequest$RuleSetId": "

The identifier of an existing rule set to be retrieved.

", + "GetRuleSetResponse$RuleSetId": "

The identifier of the rule set resource.

", + "RuleSet$RuleSetId": "

The identifier of the rule set.

", + "UpdateIngressPointRequest$RuleSetId": "

The identifier of an existing rule set that you attach to an ingress endpoint resource.

", + "UpdateRuleSetRequest$RuleSetId": "

The identifier of a rule set you want to update.

" + } + }, + "RuleSetName": { + "base": null, + "refs": { + "CreateRuleSetRequest$RuleSetName": "

A user-friendly name for the rule set.

", + "GetRuleSetResponse$RuleSetName": "

A user-friendly name for the rule set resource.

", + "RuleSet$RuleSetName": "

A user-friendly name for the rule set.

", + "UpdateRuleSetRequest$RuleSetName": "

A user-friendly name for the rule set resource.

" + } + }, + "RuleSets": { + "base": null, + "refs": { + "ListRuleSetsResponse$RuleSets": "

The list of rule sets.

" + } + }, + "RuleStringEmailAttribute": { + "base": null, + "refs": { + "RuleStringToEvaluate$Attribute": "

The email attribute to evaluate in a string condition expression.

" + } + }, + "RuleStringExpression": { + "base": "

A string expression is evaluated against strings or substrings of the email.

", + "refs": { + "RuleCondition$StringExpression": "

The condition applies to a string expression passed in this field.

" + } + }, + "RuleStringList": { + "base": null, + "refs": { + "RuleStringExpression$Values": "

The string(s) to be evaluated in a string condition expression. For all operators, except for NOT_EQUALS, if multiple values are given, the values are processed as an OR. That is, if any of the values match the email's string using the given operator, the condition is deemed to match. However, for NOT_EQUALS, the condition is only deemed to match if none of the given strings match the email's string.

" + } + }, + "RuleStringOperator": { + "base": null, + "refs": { + "RuleStringExpression$Operator": "

The matching operator for a string condition expression.

" + } + }, + "RuleStringToEvaluate": { + "base": "

The string to evaluate in a string condition expression.

", + "refs": { + "RuleStringExpression$Evaluate": "

The string to evaluate in a string condition expression.

" + } + }, + "RuleStringValue": { + "base": null, + "refs": { + "RuleStringList$member": null + } + }, + "RuleVerdict": { + "base": null, + "refs": { + "RuleVerdictValueList$member": null + } + }, + "RuleVerdictAttribute": { + "base": null, + "refs": { + "RuleVerdictToEvaluate$Attribute": "

The email verdict attribute to evaluate in a string verdict expression.

" + } + }, + "RuleVerdictExpression": { + "base": "

A verdict expression is evaluated against verdicts of the email.

", + "refs": { + "RuleCondition$VerdictExpression": "

The condition applies to a verdict expression passed in this field.

" + } + }, + "RuleVerdictOperator": { + "base": null, + "refs": { + "RuleVerdictExpression$Operator": "

The matching operator for a verdict condition expression.

" + } + }, + "RuleVerdictToEvaluate": { + "base": "

The verdict to evaluate in a verdict condition expression.

", + "refs": { + "RuleVerdictExpression$Evaluate": "

The verdict to evaluate in a verdict condition expression.

" + } + }, + "RuleVerdictValueList": { + "base": null, + "refs": { + "RuleVerdictExpression$Values": "

The values to match with the email's verdict using the given operator. For the EQUALS operator, if multiple values are given, the condition is deemed to match if any of the given verdicts match that of the email. For the NOT_EQUALS operator, if multiple values are given, the condition is deemed to match of none of the given verdicts match the verdict of the email.

" + } + }, + "Rules": { + "base": null, + "refs": { + "CreateRuleSetRequest$Rules": "

Conditional rules that are evaluated for determining actions on email.

", + "GetRuleSetResponse$Rules": "

The rules contained in the rule set.

", + "UpdateRuleSetRequest$Rules": "

A new set of rules to replace the current rules of the rule set—these rules will override all the rules of the rule set.

" + } + }, + "S3Action": { + "base": "

Writes the MIME content of the email to an S3 bucket.

", + "refs": { + "RuleAction$WriteToS3": "

This action writes the MIME content of the email to an S3 bucket.

" + } + }, + "S3Bucket": { + "base": null, + "refs": { + "S3Action$S3Bucket": "

The bucket name of the S3 bucket to write to.

" + } + }, + "S3ExportDestinationConfiguration": { + "base": "

The configuration for exporting email data to an Amazon S3 bucket.

", + "refs": { + "ExportDestinationConfiguration$S3": "

Configuration for delivering to an Amazon S3 bucket.

" + } + }, + "S3Location": { + "base": null, + "refs": { + "S3ExportDestinationConfiguration$S3Location": "

The S3 location to deliver the exported email data.

" + } + }, + "S3Prefix": { + "base": null, + "refs": { + "S3Action$S3Prefix": "

The S3 prefix to use for the write to the s3 bucket.

" + } + }, + "S3PresignedURL": { + "base": null, + "refs": { + "GetArchiveMessageResponse$MessageDownloadLink": "

A pre-signed URL to temporarily download the full message content.

" + } + }, + "SearchId": { + "base": null, + "refs": { + "GetArchiveSearchRequest$SearchId": "

The identifier of the search job to get details for.

", + "GetArchiveSearchResultsRequest$SearchId": "

The identifier of the completed search job.

", + "SearchSummary$SearchId": "

The unique identifier of the search job.

", + "StartArchiveSearchResponse$SearchId": "

The unique identifier for the initiated search job.

", + "StopArchiveSearchRequest$SearchId": "

The identifier of the search job to stop.

" + } + }, + "SearchMaxResults": { + "base": null, + "refs": { + "GetArchiveSearchResponse$MaxResults": "

The maximum number of search results to return.

", + "StartArchiveSearchRequest$MaxResults": "

The maximum number of search results to return.

" + } + }, + "SearchState": { + "base": null, + "refs": { + "SearchStatus$State": "

The current state of the search job.

" + } + }, + "SearchStatus": { + "base": "

The current status of an archive search job.

", + "refs": { + "GetArchiveSearchResponse$Status": "

The current status of the search job.

", + "SearchSummary$Status": "

The current status of the search job.

" + } + }, + "SearchSummary": { + "base": "

Summary details of an archive search job.

", + "refs": { + "SearchSummaryList$member": null + } + }, + "SearchSummaryList": { + "base": null, + "refs": { + "ListArchiveSearchesResponse$Searches": "

The list of search job identifiers and statuses.

" + } + }, + "SecretArn": { + "base": null, + "refs": { + "IngressPointAuthConfiguration$SecretArn": "

The ingress endpoint SecretsManager::Secret ARN configuration for the ingress endpoint resource.

", + "IngressPointConfiguration$SecretArn": "

The SecretsManager::Secret ARN of the ingress endpoint resource.

", + "RelayAuthentication$SecretArn": "

The ARN of the secret created in secrets manager where the relay server's SMTP credentials are stored.

" + } + }, + "SendAction": { + "base": "

Sends the email to the internet using the ses:SendRawEmail API.

", + "refs": { + "RuleAction$Send": "

This action sends the email to the internet.

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

Occurs when an operation exceeds a predefined service quota or limit.

", + "refs": { + } + }, + "SmtpPassword": { + "base": null, + "refs": { + "IngressPointConfiguration$SmtpPassword": "

The password of the ingress endpoint resource.

" + } + }, + "StartArchiveExportRequest": { + "base": "

The request to initiate an export of emails from an archive.

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

The response from initiating an archive export.

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

The request to initiate a search across emails in an archive.

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

The response from initiating an archive search.

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

The request to stop an in-progress archive export job.

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

The response indicating if the request to stop the export job succeeded.

On success, returns an HTTP 200 status code. On failure, returns an error message.

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

The request to stop an in-progress archive search job.

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

The response indicating if the request to stop the search job succeeded.

On success, returns an HTTP 200 status code. On failure, returns an error message.

", + "refs": { + } + }, + "String": { + "base": null, + "refs": { + "EmailReceivedHeadersList$member": null, + "IngressPointPasswordConfiguration$PreviousSmtpPasswordVersion": "

The previous password version of the ingress endpoint resource.

", + "IngressPointPasswordConfiguration$SmtpPasswordVersion": "

The current password expiry timestamp of the ingress endpoint resource.

", + "MessageBody$Html": "

The HTML body content of the message.

", + "MessageBody$Text": "

The plain text body content of the message.

", + "Row$Cc": "

The email addresses in the CC header.

", + "Row$Date": "

The date the email was sent.

", + "Row$From": "

The email address of the sender.

", + "Row$InReplyTo": "

The email message ID this is a reply to.

", + "Row$MessageId": "

The unique message ID of the email.

", + "Row$Subject": "

The subject header value of the email.

", + "Row$To": "

The email addresses in the To header.

", + "Row$XMailer": "

The user agent that sent the email.

", + "Row$XOriginalMailer": "

The original user agent that sent the email.

", + "Row$XPriority": "

The priority level of the email.

", + "StringList$member": null, + "StringValueList$member": null + } + }, + "StringList": { + "base": null, + "refs": { + "IngressStringExpression$Values": "

The right hand side argument of a string condition expression.

" + } + }, + "StringValueList": { + "base": null, + "refs": { + "ArchiveStringExpression$Values": "

The list of string values to evaluate the email attribute against.

" + } + }, + "Tag": { + "base": "

A key-value pair (the value is optional), that you can define and assign to Amazon Web Services resources.

", + "refs": { + "TagList$member": null + } + }, + "TagKey": { + "base": null, + "refs": { + "Tag$Key": "

The key of the key-value tag.

", + "TagKeyList$member": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$TagKeys": "

The keys of the key-value pairs for the tag or tags you want to remove from the specified resource.

" + } + }, + "TagList": { + "base": null, + "refs": { + "CreateAddonInstanceRequest$Tags": "

The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", + "CreateAddonSubscriptionRequest$Tags": "

The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", + "CreateArchiveRequest$Tags": "

The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", + "CreateIngressPointRequest$Tags": "

The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", + "CreateRelayRequest$Tags": "

The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", + "CreateRuleSetRequest$Tags": "

The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", + "CreateTrafficPolicyRequest$Tags": "

The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", + "ListTagsForResourceResponse$Tags": "

The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", + "TagResourceRequest$Tags": "

The tags used to organize, track, or control access for the resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tag$Value": "

The value of the key-value tag.

" + } + }, + "TaggableResourceArn": { + "base": null, + "refs": { + "ListTagsForResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource to retrieve tags from.

", + "TagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource that you want to tag.

", + "UntagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource that you want to untag.

" + } + }, + "ThrottlingException": { + "base": "

Occurs when a service's request rate limit is exceeded, resulting in throttling of further requests.

", + "refs": { + } + }, + "Timestamp": { + "base": null, + "refs": { + "AddonInstance$CreatedTimestamp": "

The timestamp of when the Add On instance was created.

", + "AddonSubscription$CreatedTimestamp": "

The timestamp of when the Add On subscription was created.

", + "Archive$LastUpdatedTimestamp": "

The timestamp of when the archive was last updated.

", + "ExportStatus$CompletionTimestamp": "

The timestamp of when the export job completed (if finished).

", + "ExportStatus$SubmissionTimestamp": "

The timestamp of when the export job was submitted.

", + "GetAddonInstanceResponse$CreatedTimestamp": "

The timestamp of when the Add On instance was created.

", + "GetAddonSubscriptionResponse$CreatedTimestamp": "

The timestamp of when the Add On subscription was created.

", + "GetArchiveExportResponse$FromTimestamp": "

The start of the timestamp range the exported emails cover.

", + "GetArchiveExportResponse$ToTimestamp": "

The end of the date range the exported emails cover.

", + "GetArchiveResponse$CreatedTimestamp": "

The timestamp of when the archive was created.

", + "GetArchiveResponse$LastUpdatedTimestamp": "

The timestamp of when the archive was modified.

", + "GetArchiveSearchResponse$FromTimestamp": "

The start timestamp of the range the searched emails cover.

", + "GetArchiveSearchResponse$ToTimestamp": "

The end timestamp of the range the searched emails cover.

", + "GetIngressPointResponse$CreatedTimestamp": "

The timestamp of when the ingress endpoint was created.

", + "GetIngressPointResponse$LastUpdatedTimestamp": "

The timestamp of when the ingress endpoint was last updated.

", + "GetRelayResponse$CreatedTimestamp": "

The timestamp of when the relay was created.

", + "GetRelayResponse$LastModifiedTimestamp": "

The timestamp of when relay was last updated.

", + "GetRuleSetResponse$CreatedDate": "

The date of when then rule set was created.

", + "GetRuleSetResponse$LastModificationDate": "

The date of when the rule set was last modified.

", + "GetTrafficPolicyResponse$CreatedTimestamp": "

The timestamp of when the traffic policy was created.

", + "GetTrafficPolicyResponse$LastUpdatedTimestamp": "

The timestamp of when the traffic policy was last updated.

", + "IngressPointPasswordConfiguration$PreviousSmtpPasswordExpiryTimestamp": "

The previous password expiry timestamp of the ingress endpoint resource.

", + "Relay$LastModifiedTimestamp": "

The timestamp of when the relay was last modified.

", + "Row$ReceivedTimestamp": "

The timestamp of when the email was received.

", + "RuleSet$LastModificationDate": "

The last modification date of the rule set.

", + "SearchStatus$CompletionTimestamp": "

The timestamp of when the search completed (if finished).

", + "SearchStatus$SubmissionTimestamp": "

The timestamp of when the search was submitted.

", + "StartArchiveExportRequest$FromTimestamp": "

The start of the timestamp range to include emails from.

", + "StartArchiveExportRequest$ToTimestamp": "

The end of the timestamp range to include emails from.

", + "StartArchiveSearchRequest$FromTimestamp": "

The start timestamp of the range to search emails from.

", + "StartArchiveSearchRequest$ToTimestamp": "

The end timestamp of the range to search emails from.

" + } + }, + "TrafficPolicy": { + "base": "

The structure of a traffic policy resource which is a container for policy statements.

", + "refs": { + "TrafficPolicyList$member": null + } + }, + "TrafficPolicyArn": { + "base": null, + "refs": { + "GetTrafficPolicyResponse$TrafficPolicyArn": "

The Amazon Resource Name (ARN) of the traffic policy resource.

" + } + }, + "TrafficPolicyId": { + "base": null, + "refs": { + "CreateIngressPointRequest$TrafficPolicyId": "

The identifier of an existing traffic policy that you attach to an ingress endpoint resource.

", + "CreateTrafficPolicyResponse$TrafficPolicyId": "

The identifier of the traffic policy resource.

", + "DeleteTrafficPolicyRequest$TrafficPolicyId": "

The identifier of the traffic policy that you want to delete.

", + "GetIngressPointResponse$TrafficPolicyId": "

The identifier of the traffic policy resource associated with the ingress endpoint.

", + "GetTrafficPolicyRequest$TrafficPolicyId": "

The identifier of the traffic policy resource.

", + "GetTrafficPolicyResponse$TrafficPolicyId": "

The identifier of the traffic policy resource.

", + "TrafficPolicy$TrafficPolicyId": "

The identifier of the traffic policy resource.

", + "UpdateIngressPointRequest$TrafficPolicyId": "

The identifier of an existing traffic policy that you attach to an ingress endpoint resource.

", + "UpdateTrafficPolicyRequest$TrafficPolicyId": "

The identifier of the traffic policy that you want to update.

" + } + }, + "TrafficPolicyList": { + "base": null, + "refs": { + "ListTrafficPoliciesResponse$TrafficPolicies": "

The list of traffic policies.

" + } + }, + "TrafficPolicyName": { + "base": null, + "refs": { + "CreateTrafficPolicyRequest$TrafficPolicyName": "

A user-friendly name for the traffic policy resource.

", + "GetTrafficPolicyResponse$TrafficPolicyName": "

A user-friendly name for the traffic policy resource.

", + "TrafficPolicy$TrafficPolicyName": "

A user-friendly name of the traffic policy resource.

", + "UpdateTrafficPolicyRequest$TrafficPolicyName": "

A user-friendly name for the traffic policy resource.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateArchiveRequest": { + "base": "

The request to update properties of an existing email archive.

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

The response indicating if the archive update succeeded or failed.

On success, returns an HTTP 200 status code. On failure, returns an error message.

", + "refs": { + } + }, + "UpdateIngressPointRequest": { + "base": null, + "refs": { + } + }, + "UpdateIngressPointResponse": { + "base": null, + "refs": { + } + }, + "UpdateRelayRequest": { + "base": null, + "refs": { + } + }, + "UpdateRelayResponse": { + "base": null, + "refs": { + } + }, + "UpdateRuleSetRequest": { + "base": null, + "refs": { + } + }, + "UpdateRuleSetResponse": { + "base": null, + "refs": { + } + }, + "UpdateTrafficPolicyRequest": { + "base": null, + "refs": { + } + }, + "UpdateTrafficPolicyResponse": { + "base": null, + "refs": { + } + }, + "ValidationException": { + "base": "

The request validation has failed. For details, see the accompanying error message.

", + "refs": { + } + } + } +} diff --git a/models/apis/mailmanager/2023-10-17/endpoint-rule-set-1.json b/models/apis/mailmanager/2023-10-17/endpoint-rule-set-1.json new file mode 100644 index 00000000000..17751d95d6c --- /dev/null +++ b/models/apis/mailmanager/2023-10-17/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://mail-manager-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://mail-manager-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://mail-manager.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://mail-manager.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/models/apis/mailmanager/2023-10-17/endpoint-tests-1.json b/models/apis/mailmanager/2023-10-17/endpoint-tests-1.json new file mode 100644 index 00000000000..10683c5d595 --- /dev/null +++ b/models/apis/mailmanager/2023-10-17/endpoint-tests-1.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mail-manager-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mail-manager-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mail-manager.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mail-manager.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mail-manager-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mail-manager-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mail-manager.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mail-manager.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mail-manager-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mail-manager-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mail-manager.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mail-manager.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mail-manager-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mail-manager.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mail-manager-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mail-manager.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/mailmanager/2023-10-17/examples-1.json b/models/apis/mailmanager/2023-10-17/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/mailmanager/2023-10-17/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/mailmanager/2023-10-17/paginators-1.json b/models/apis/mailmanager/2023-10-17/paginators-1.json new file mode 100644 index 00000000000..70309f1c2dd --- /dev/null +++ b/models/apis/mailmanager/2023-10-17/paginators-1.json @@ -0,0 +1,58 @@ +{ + "pagination": { + "ListAddonInstances": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "PageSize", + "result_key": "AddonInstances" + }, + "ListAddonSubscriptions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "PageSize", + "result_key": "AddonSubscriptions" + }, + "ListArchiveExports": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "PageSize", + "result_key": "Exports" + }, + "ListArchiveSearches": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "PageSize", + "result_key": "Searches" + }, + "ListArchives": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "PageSize", + "result_key": "Archives" + }, + "ListIngressPoints": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "PageSize", + "result_key": "IngressPoints" + }, + "ListRelays": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "PageSize", + "result_key": "Relays" + }, + "ListRuleSets": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "PageSize", + "result_key": "RuleSets" + }, + "ListTrafficPolicies": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "PageSize", + "result_key": "TrafficPolicies" + } + } +} diff --git a/models/apis/pi/2018-02-27/api-2.json b/models/apis/pi/2018-02-27/api-2.json index e30c4b44b48..265a4b2d37c 100644 --- a/models/apis/pi/2018-02-27/api-2.json +++ b/models/apis/pi/2018-02-27/api-2.json @@ -5,6 +5,7 @@ "endpointPrefix":"pi", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"AWS PI", "serviceFullName":"AWS Performance Insights", "serviceId":"PI", @@ -204,7 +205,7 @@ }, "AdditionalMetricsList":{ "type":"list", - "member":{"shape":"RequestString"}, + "member":{"shape":"SanitizedString"}, "max":30, "min":1 }, @@ -262,6 +263,12 @@ "FAILED" ] }, + "AuthorizedActionsList":{ + "type":"list", + "member":{"shape":"FineGrainedAction"}, + "max":3, + "min":0 + }, "Boolean":{"type":"boolean"}, "ContextType":{ "type":"string", @@ -408,8 +415,8 @@ "type":"structure", "required":["Group"], "members":{ - "Group":{"shape":"RequestString"}, - "Dimensions":{"shape":"RequestStringList"}, + "Group":{"shape":"SanitizedString"}, + "Dimensions":{"shape":"SanitizedStringList"}, "Limit":{"shape":"Limit"} } }, @@ -456,7 +463,7 @@ }, "DimensionsMetricList":{ "type":"list", - "member":{"shape":"RequestString"}, + "member":{"shape":"SanitizedString"}, "max":5, "min":1 }, @@ -484,6 +491,14 @@ "UNKNOWN" ] }, + "FineGrainedAction":{ + "type":"string", + "enum":[ + "DescribeDimensionKeys", + "GetDimensionKeyDetails", + "GetResourceMetrics" + ] + }, "GetDimensionKeyDetailsRequest":{ "type":"structure", "required":[ @@ -637,7 +652,8 @@ "Identifier":{"shape":"IdentifierString"}, "Metrics":{"shape":"DimensionsMetricList"}, "MaxResults":{"shape":"MaxResults"}, - "NextToken":{"shape":"NextToken"} + "NextToken":{"shape":"NextToken"}, + "AuthorizedActions":{"shape":"AuthorizedActionsList"} } }, "ListAvailableResourceDimensionsResponse":{ @@ -745,14 +761,14 @@ "type":"structure", "required":["Metric"], "members":{ - "Metric":{"shape":"RequestString"}, + "Metric":{"shape":"SanitizedString"}, "GroupBy":{"shape":"DimensionGroup"}, "Filter":{"shape":"MetricQueryFilterMap"} } }, "MetricQueryFilterMap":{ "type":"map", - "key":{"shape":"RequestString"}, + "key":{"shape":"SanitizedString"}, "value":{"shape":"RequestString"} }, "MetricQueryList":{ @@ -763,7 +779,7 @@ }, "MetricTypeList":{ "type":"list", - "member":{"shape":"RequestString"} + "member":{"shape":"SanitizedString"} }, "MetricValuesList":{ "type":"list", @@ -815,15 +831,9 @@ "min":0, "pattern":".*\\S.*" }, - "RequestStringList":{ - "type":"list", - "member":{"shape":"RequestString"}, - "max":10, - "min":1 - }, "RequestedDimensionList":{ "type":"list", - "member":{"shape":"RequestString"}, + "member":{"shape":"SanitizedString"}, "max":10, "min":1 }, @@ -858,6 +868,18 @@ "type":"list", "member":{"shape":"ResponseResourceMetric"} }, + "SanitizedString":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^[a-zA-Z0-9-_\\.:/*)( ]+$" + }, + "SanitizedStringList":{ + "type":"list", + "member":{"shape":"SanitizedString"}, + "max":10, + "min":1 + }, "ServiceType":{ "type":"string", "enum":[ diff --git a/models/apis/pi/2018-02-27/docs-2.json b/models/apis/pi/2018-02-27/docs-2.json index 1803e3ad334..2860e241fcd 100644 --- a/models/apis/pi/2018-02-27/docs-2.json +++ b/models/apis/pi/2018-02-27/docs-2.json @@ -77,6 +77,12 @@ "AnalysisReportSummary$Status": "

The status of the analysis report.

" } }, + "AuthorizedActionsList": { + "base": null, + "refs": { + "ListAvailableResourceDimensionsRequest$AuthorizedActions": "

The actions to discover the dimensions you are authorized to access. If you specify multiple actions, then the response will contain the dimensions common for all the actions.

When you don't specify this request parameter or provide an empty list, the response contains all the available dimensions for the target database engine whether or not you are authorized to access them.

" + } + }, "Boolean": { "base": null, "refs": { @@ -277,6 +283,12 @@ "FeatureMetadata$Status": "

The status of the feature on the DB instance. Possible values include the following:

" } }, + "FineGrainedAction": { + "base": null, + "refs": { + "AuthorizedActionsList$member": null + } + }, "GetDimensionKeyDetailsRequest": { "base": null, "refs": { @@ -552,27 +564,13 @@ "RequestString": { "base": null, "refs": { - "AdditionalMetricsList$member": null, "AdditionalMetricsMap$key": null, "DescribeDimensionKeysRequest$Metric": "

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. For most use cases, you can query db.load.avg only.

", - "DimensionGroup$Group": "

The name of the dimension group. Valid values are as follows:

", "DimensionMap$key": null, "DimensionMap$value": null, - "DimensionsMetricList$member": null, "GetDimensionKeyDetailsRequest$Group": "

The name of the dimension group. Performance Insights searches the specified group for the dimension group ID. The following group name values are valid:

", "GetDimensionKeyDetailsRequest$GroupIdentifier": "

The ID of the dimension group from which to retrieve dimension details. For dimension group db.sql, the group ID is db.sql.id. The following group ID values are valid:

", - "MetricQuery$Metric": "

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. For most use cases, you can query db.load.avg only.

", - "MetricQueryFilterMap$key": null, - "MetricQueryFilterMap$value": null, - "MetricTypeList$member": null, - "RequestStringList$member": null, - "RequestedDimensionList$member": null - } - }, - "RequestStringList": { - "base": null, - "refs": { - "DimensionGroup$Dimensions": "

A list of specific dimensions from a dimension group. If this parameter is not present, then it signifies that all of the dimensions in the group were requested, or are present in the response.

Valid values for elements in the Dimensions array are:

" + "MetricQueryFilterMap$value": null } }, "RequestedDimensionList": { @@ -611,6 +609,25 @@ "ListAvailableResourceMetricsResponse$Metrics": "

An array of metrics available to query. Each array element contains the full name, description, and unit of the metric.

" } }, + "SanitizedString": { + "base": "A generic string type that forbids characters that could expose our service (or services downstream) to security risks around injections.", + "refs": { + "AdditionalMetricsList$member": null, + "DimensionGroup$Group": "

The name of the dimension group. Valid values are as follows:

", + "DimensionsMetricList$member": null, + "MetricQuery$Metric": "

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. For most use cases, you can query db.load.avg only.

", + "MetricQueryFilterMap$key": null, + "MetricTypeList$member": null, + "RequestedDimensionList$member": null, + "SanitizedStringList$member": null + } + }, + "SanitizedStringList": { + "base": null, + "refs": { + "DimensionGroup$Dimensions": "

A list of specific dimensions from a dimension group. If this parameter is not present, then it signifies that all of the dimensions in the group were requested, or are present in the response.

Valid values for elements in the Dimensions array are:

" + } + }, "ServiceType": { "base": null, "refs": { diff --git a/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json index 269758b8405..02e9b51e8c5 100644 --- a/models/apis/rds/2014-10-31/docs-2.json +++ b/models/apis/rds/2014-10-31/docs-2.json @@ -4722,7 +4722,7 @@ "CreateDBInstanceMessage$DBParameterGroupName": "

The name of the DB parameter group to associate with this DB instance. If you don't specify a value, then Amazon RDS uses the default DB parameter group for the specified DB engine and version.

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

Constraints:

", "CreateDBInstanceMessage$PreferredBackupWindow": "

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. The default is a 30-minute window selected at random from an 8-hour block of time for each Amazon Web Services Region. For more information, see Backup window in the Amazon RDS User Guide.

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

Constraints:

", "CreateDBInstanceMessage$EngineVersion": "

The version number of the database engine to use.

This setting doesn't apply to Amazon Aurora DB instances. The version number of the database engine the DB instance uses is managed by the DB cluster.

For a list of valid engine versions, use the DescribeDBEngineVersions operation.

The following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every Amazon Web Services Region.

Amazon RDS Custom for Oracle

A custom engine version (CEV) that you have previously created. This setting is required for RDS Custom for Oracle. The CEV name has the following format: 19.customized_string. A valid CEV name is 19.my_cev1. For more information, see Creating an RDS Custom for Oracle DB instance in the Amazon RDS User Guide.

Amazon RDS Custom for SQL Server

See RDS Custom for SQL Server general requirements in the Amazon RDS User Guide.

RDS for Db2

For information, see Db2 on Amazon RDS versions in the Amazon RDS User Guide.

RDS for MariaDB

For information, see MariaDB on Amazon RDS versions in the Amazon RDS User Guide.

RDS for Microsoft SQL Server

For information, see Microsoft SQL Server versions on Amazon RDS in the Amazon RDS User Guide.

RDS for MySQL

For information, see MySQL on Amazon RDS versions in the Amazon RDS User Guide.

RDS for Oracle

For information, see Oracle Database Engine release notes in the Amazon RDS User Guide.

RDS for PostgreSQL

For information, see Amazon RDS for PostgreSQL versions and extensions in the Amazon RDS User Guide.

", - "CreateDBInstanceMessage$LicenseModel": "

The license model information for this DB instance.

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

Valid Values:

", + "CreateDBInstanceMessage$LicenseModel": "

The license model information for this DB instance.

License models for RDS for Db2 require additional configuration. The Bring Your Own License (BYOL) model requires a custom parameter group. The Db2 license through Amazon Web Services Marketplace model requires an Amazon Web Services Marketplace subscription. For more information, see RDS for Db2 licensing options in the Amazon RDS User Guide.

The default for RDS for Db2 is bring-your-own-license.

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

Valid Values:

", "CreateDBInstanceMessage$OptionGroupName": "

The option group to associate the DB instance with.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance after it is associated with a DB instance.

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

", "CreateDBInstanceMessage$CharacterSetName": "

For supported engines, the character set (CharacterSet) to associate the DB instance with.

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

", "CreateDBInstanceMessage$NcharCharacterSetName": "

The name of the NCHAR character set for the Oracle DB instance.

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

", @@ -4924,7 +4924,7 @@ "DBInstance$PreferredMaintenanceWindow": "

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

", "DBInstance$EngineVersion": "

The version of the database engine.

", "DBInstance$ReadReplicaSourceDBInstanceIdentifier": "

The identifier of the source DB instance if this DB instance is a read replica.

", - "DBInstance$LicenseModel": "

The license model information for this DB instance. This setting doesn't apply to RDS Custom DB instances.

", + "DBInstance$LicenseModel": "

The license model information for this DB instance. This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.

", "DBInstance$CharacterSetName": "

If present, specifies the name of the character set that this instance is associated with.

", "DBInstance$NcharCharacterSetName": "

The name of the NCHAR character set for the Oracle DB instance. This character set specifies the Unicode encoding for data stored in table columns of type NCHAR, NCLOB, or NVARCHAR2.

", "DBInstance$SecondaryAvailabilityZone": "

If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.

", @@ -5580,7 +5580,7 @@ "RestoreDBInstanceFromDBSnapshotMessage$DBInstanceClass": "

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

Default: The same DBInstanceClass as the original DB instance.

", "RestoreDBInstanceFromDBSnapshotMessage$AvailabilityZone": "

The Availability Zone (AZ) where the DB instance will be created.

Default: A random, system-chosen Availability Zone.

Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

Example: us-east-1a

", "RestoreDBInstanceFromDBSnapshotMessage$DBSubnetGroupName": "

The name of the DB subnet group to use for the new instance.

Constraints:

Example: mydbsubnetgroup

", - "RestoreDBInstanceFromDBSnapshotMessage$LicenseModel": "

License model information for the restored DB instance.

This setting doesn't apply to RDS Custom.

Default: Same as source.

Valid Values: license-included | bring-your-own-license | general-public-license

", + "RestoreDBInstanceFromDBSnapshotMessage$LicenseModel": "

License model information for the restored DB instance.

License models for RDS for Db2 require additional configuration. The Bring Your Own License (BYOL) model requires a custom parameter group. The Db2 license through Amazon Web Services Marketplace model requires an Amazon Web Services Marketplace subscription. For more information, see RDS for Db2 licensing options in the Amazon RDS User Guide.

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

Valid Values:

Default: Same as the source.

", "RestoreDBInstanceFromDBSnapshotMessage$DBName": "

The name of the database for the restored DB instance.

This parameter only applies to RDS for Oracle and RDS for SQL Server DB instances. It doesn't apply to the other engines or to RDS Custom DB instances.

", "RestoreDBInstanceFromDBSnapshotMessage$Engine": "

The database engine to use for the new instance.

This setting doesn't apply to RDS Custom.

Default: The same as source

Constraint: Must be compatible with the engine of the source. For example, you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

Valid Values:

", "RestoreDBInstanceFromDBSnapshotMessage$OptionGroupName": "

The name of the option group to be used for the restored DB instance.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance after it is associated with a DB instance.

This setting doesn't apply to RDS Custom.

", @@ -5631,7 +5631,7 @@ "RestoreDBInstanceToPointInTimeMessage$DBInstanceClass": "

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

Default: The same DB instance class as the original DB instance.

", "RestoreDBInstanceToPointInTimeMessage$AvailabilityZone": "

The Availability Zone (AZ) where the DB instance will be created.

Default: A random, system-chosen Availability Zone.

Constraints:

Example: us-east-1a

", "RestoreDBInstanceToPointInTimeMessage$DBSubnetGroupName": "

The DB subnet group name to use for the new instance.

Constraints:

Example: mydbsubnetgroup

", - "RestoreDBInstanceToPointInTimeMessage$LicenseModel": "

The license model information for the restored DB instance.

This setting doesn't apply to RDS Custom.

Valid Values: license-included | bring-your-own-license | general-public-license

Default: Same as the source.

", + "RestoreDBInstanceToPointInTimeMessage$LicenseModel": "

The license model information for the restored DB instance.

License models for RDS for Db2 require additional configuration. The Bring Your Own License (BYOL) model requires a custom parameter group. The Db2 license through Amazon Web Services Marketplace model requires an Amazon Web Services Marketplace subscription. For more information, see RDS for Db2 licensing options in the Amazon RDS User Guide.

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

Valid Values:

Default: Same as the source.

", "RestoreDBInstanceToPointInTimeMessage$DBName": "

The database name for the restored DB instance.

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

", "RestoreDBInstanceToPointInTimeMessage$Engine": "

The database engine to use for the new instance.

This setting doesn't apply to RDS Custom.

Valid Values:

Default: The same as source

Constraints:

", "RestoreDBInstanceToPointInTimeMessage$OptionGroupName": "

The name of the option group to use for the restored DB instance.

Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance after it is associated with a DB instance

This setting doesn't apply to RDS Custom.

", diff --git a/models/apis/storagegateway/2013-06-30/api-2.json b/models/apis/storagegateway/2013-06-30/api-2.json index 65c39cf5b77..ea4ba2aa49b 100644 --- a/models/apis/storagegateway/2013-06-30/api-2.json +++ b/models/apis/storagegateway/2013-06-30/api-2.json @@ -3348,7 +3348,8 @@ "enum":[ "ClientSpecified", "MandatorySigning", - "MandatoryEncryption" + "MandatoryEncryption", + "MandatoryEncryptionNoAes128" ] }, "ServiceUnavailableError":{ diff --git a/models/apis/storagegateway/2013-06-30/docs-2.json b/models/apis/storagegateway/2013-06-30/docs-2.json index 3120443e1c0..a5e64ee74c7 100644 --- a/models/apis/storagegateway/2013-06-30/docs-2.json +++ b/models/apis/storagegateway/2013-06-30/docs-2.json @@ -1186,7 +1186,7 @@ "FolderList": { "base": null, "refs": { - "RefreshCacheInput$FolderList": "

A comma-separated list of the paths of folders to refresh in the cache. The default is [\"/\"]. The default refreshes objects and folders at the root of the Amazon S3 bucket. If Recursive is set to true, the entire S3 bucket that the file share has access to is refreshed.

" + "RefreshCacheInput$FolderList": "

A comma-separated list of the paths of folders to refresh in the cache. The default is [\"/\"]. The default refreshes objects and folders at the root of the Amazon S3 bucket. If Recursive is set to true, the entire S3 bucket that the file share has access to is refreshed.

Do not include / when specifying folder names. For example, you would specify samplefolder rather than samplefolder/.

" } }, "GatewayARN": { @@ -1346,7 +1346,7 @@ "GatewayTimezone": { "base": null, "refs": { - "ActivateGatewayInput$GatewayTimezone": "

A value that indicates the time zone you want to set for the gateway. The time zone is of the format \"GMT-hr:mm\" or \"GMT+hr:mm\". For example, GMT-4:00 indicates the time is 4 hours behind GMT. GMT+2:00 indicates the time is 2 hours ahead of GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule.

", + "ActivateGatewayInput$GatewayTimezone": "

A value that indicates the time zone you want to set for the gateway. The time zone is of the format \"GMT\", \"GMT-hr:mm\", or \"GMT+hr:mm\". For example, GMT indicates Greenwich Mean Time without any offset. GMT-4:00 indicates the time is 4 hours behind GMT. GMT+2:00 indicates the time is 2 hours ahead of GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule.

", "DescribeGatewayInformationOutput$GatewayTimezone": "

A value that indicates the time zone configured for the gateway.

", "DescribeMaintenanceStartTimeOutput$Timezone": "

A value that indicates the time zone that is set for the gateway. The start time and day of week specified should be in the time zone of the gateway.

", "DescribeSnapshotScheduleOutput$Timezone": "

A value that indicates the time zone of the gateway.

", @@ -1356,7 +1356,7 @@ "GatewayType": { "base": null, "refs": { - "ActivateGatewayInput$GatewayType": "

A value that defines the type of gateway to activate. The type specified is critical to all later functions of the gateway and cannot be changed after activation. The default value is CACHED.

Valid Values: STORED | CACHED | VTL | VTL_SNOW | FILE_S3 | FILE_FSX_SMB

", + "ActivateGatewayInput$GatewayType": "

A value that defines the type of gateway to activate. The type specified is critical to all later functions of the gateway and cannot be changed after activation. The default value is CACHED.

Valid Values: STORED | CACHED | VTL | FILE_S3 | FILE_FSX_SMB

", "DescribeGatewayInformationOutput$GatewayType": "

The type of the gateway.

", "GatewayInfo$GatewayType": "

The type of the gateway.

" } @@ -1376,8 +1376,8 @@ "HostEnvironment": { "base": null, "refs": { - "DescribeGatewayInformationOutput$HostEnvironment": "

The type of hardware or software platform on which the gateway is running.

", - "GatewayInfo$HostEnvironment": "

The type of hardware or software platform on which the gateway is running.

" + "DescribeGatewayInformationOutput$HostEnvironment": "

The type of hardware or software platform on which the gateway is running.

Tape Gateway is no longer available on Snow Family devices.

", + "GatewayInfo$HostEnvironment": "

The type of hardware or software platform on which the gateway is running.

Tape Gateway is no longer available on Snow Family devices.

" } }, "HostEnvironmentId": { @@ -1977,7 +1977,7 @@ "SMBSecurityStrategy": { "base": null, "refs": { - "DescribeSMBSettingsOutput$SMBSecurityStrategy": "

The type of security strategy that was specified for file gateway.

", + "DescribeSMBSettingsOutput$SMBSecurityStrategy": "

The type of security strategy that was specified for file gateway.

", "UpdateSMBSecurityStrategyInput$SMBSecurityStrategy": "

Specifies the type of security strategy.

ClientSpecified: if you use this option, requests are established based on what is negotiated by the client. This option is recommended when you want to maximize compatibility across different clients in your environment. Supported only in S3 File Gateway.

MandatorySigning: if you use this option, file gateway only allows connections from SMBv2 or SMBv3 clients that have signing enabled. This option works with SMB clients on Microsoft Windows Vista, Windows Server 2008 or newer.

MandatoryEncryption: if you use this option, file gateway only allows connections from SMBv3 clients that have encryption enabled. This option is highly recommended for environments that handle sensitive data. This option works with SMB clients on Microsoft Windows 8, Windows Server 2012 or newer.

" } }, diff --git a/service/glue/api.go b/service/glue/api.go index 180530d6c8e..92cdd88a296 100644 --- a/service/glue/api.go +++ b/service/glue/api.go @@ -33063,6 +33063,15 @@ type CreateJobInput struct { // This field is reserved for future use. LogUri *string `type:"string"` + // This field specifies a day of the week and hour for a maintenance window + // for streaming jobs. Glue periodically performs maintenance activities. During + // these maintenance windows, Glue will need to restart your streaming jobs. + // + // Glue will restart the job within 3 hours of the specified maintenance window. + // For instance, if you set up the maintenance window for Monday at 10:00AM + // GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT. + MaintenanceWindow *string `type:"string"` + // For Glue version 1.0 or earlier jobs, using the standard worker type, the // number of Glue data processing units (DPUs) that can be allocated when this // job runs. A DPU is a relative measure of processing power that consists of @@ -33305,6 +33314,12 @@ func (s *CreateJobInput) SetLogUri(v string) *CreateJobInput { return s } +// SetMaintenanceWindow sets the MaintenanceWindow field's value. +func (s *CreateJobInput) SetMaintenanceWindow(v string) *CreateJobInput { + s.MaintenanceWindow = &v + return s +} + // SetMaxCapacity sets the MaxCapacity field's value. func (s *CreateJobInput) SetMaxCapacity(v float64) *CreateJobInput { s.MaxCapacity = &v @@ -54098,6 +54113,15 @@ type Job struct { // This field is reserved for future use. LogUri *string `type:"string"` + // This field specifies a day of the week and hour for a maintenance window + // for streaming jobs. Glue periodically performs maintenance activities. During + // these maintenance windows, Glue will need to restart your streaming jobs. + // + // Glue will restart the job within 3 hours of the specified maintenance window. + // For instance, if you set up the maintenance window for Monday at 10:00AM + // GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT. + MaintenanceWindow *string `type:"string"` + // For Glue version 1.0 or earlier jobs, using the standard worker type, the // number of Glue data processing units (DPUs) that can be allocated when this // job runs. A DPU is a relative measure of processing power that consists of @@ -54291,6 +54315,12 @@ func (s *Job) SetLogUri(v string) *Job { return s } +// SetMaintenanceWindow sets the MaintenanceWindow field's value. +func (s *Job) SetMaintenanceWindow(v string) *Job { + s.MaintenanceWindow = &v + return s +} + // SetMaxCapacity sets the MaxCapacity field's value. func (s *Job) SetMaxCapacity(v float64) *Job { s.MaxCapacity = &v @@ -54626,13 +54656,14 @@ type JobRun struct { // The date and time that this job run completed. CompletedOn *time.Time `type:"timestamp"` - // This field populates only for Auto Scaling job runs, and represents the total - // time each executor ran during the lifecycle of a job run in seconds, multiplied - // by a DPU factor (1 for G.1X, 2 for G.2X, or 0.25 for G.025X workers). This - // value may be different than the executionEngineRuntime * MaxCapacity as in - // the case of Auto Scaling jobs, as the number of executors running at a given - // time may be less than the MaxCapacity. Therefore, it is possible that the - // value of DPUSeconds is less than executionEngineRuntime * MaxCapacity. + // This field can be set for either job runs with execution class FLEX or when + // Auto Scaling is enabled, and represents the total time each executor ran + // during the lifecycle of a job run in seconds, multiplied by a DPU factor + // (1 for G.1X, 2 for G.2X, or 0.25 for G.025X workers). This value may be different + // than the executionEngineRuntime * MaxCapacity as in the case of Auto Scaling + // jobs, as the number of executors running at a given time may be less than + // the MaxCapacity. Therefore, it is possible that the value of DPUSeconds is + // less than executionEngineRuntime * MaxCapacity. DPUSeconds *float64 `type:"double"` // An error message associated with this job run. @@ -54688,6 +54719,15 @@ type JobRun struct { // then that security configuration is used to encrypt the log group. LogGroupName *string `type:"string"` + // This field specifies a day of the week and hour for a maintenance window + // for streaming jobs. Glue periodically performs maintenance activities. During + // these maintenance windows, Glue will need to restart your streaming jobs. + // + // Glue will restart the job within 3 hours of the specified maintenance window. + // For instance, if you set up the maintenance window for Monday at 10:00AM + // GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT. + MaintenanceWindow *string `type:"string"` + // For Glue version 1.0 or earlier jobs, using the standard worker type, the // number of Glue data processing units (DPUs) that can be allocated when this // job runs. A DPU is a relative measure of processing power that consists of @@ -54737,8 +54777,17 @@ type JobRun struct { // consume resources before it is terminated and enters TIMEOUT status. This // value overrides the timeout value set in the parent job. // - // Streaming jobs do not have a timeout. The default for non-streaming jobs - // is 2,880 minutes (48 hours). + // The maximum value for timeout for batch jobs is 7 days or 10080 minutes. + // The default is 2880 minutes (48 hours) for batch jobs. + // + // Any existing Glue jobs that have a greater timeout value are defaulted to + // 7 days. For instance you have specified a timeout of 20 days for a batch + // job, it will be stopped on the 7th day. + // + // Streaming jobs must have timeout values less than 7 days or 10080 minutes. + // When the value is left blank, the job will be restarted after 7 days based + // if you have not setup a maintenance window. If you have setup maintenance + // window, it will be restarted during the maintenance window after 7 days. Timeout *int64 `min:"1" type:"integer"` // The name of the trigger that started this job run. @@ -54892,6 +54941,12 @@ func (s *JobRun) SetLogGroupName(v string) *JobRun { return s } +// SetMaintenanceWindow sets the MaintenanceWindow field's value. +func (s *JobRun) SetMaintenanceWindow(v string) *JobRun { + s.MaintenanceWindow = &v + return s +} + // SetMaxCapacity sets the MaxCapacity field's value. func (s *JobRun) SetMaxCapacity(v float64) *JobRun { s.MaxCapacity = &v @@ -55041,6 +55096,15 @@ type JobUpdate struct { // This field is reserved for future use. LogUri *string `type:"string"` + // This field specifies a day of the week and hour for a maintenance window + // for streaming jobs. Glue periodically performs maintenance activities. During + // these maintenance windows, Glue will need to restart your streaming jobs. + // + // Glue will restart the job within 3 hours of the specified maintenance window. + // For instance, if you set up the maintenance window for Monday at 10:00AM + // GMT, your jobs will be restarted between 10:00AM GMT to 1:00PM GMT. + MaintenanceWindow *string `type:"string"` + // For Glue version 1.0 or earlier jobs, using the standard worker type, the // number of Glue data processing units (DPUs) that can be allocated when this // job runs. A DPU is a relative measure of processing power that consists of @@ -55258,6 +55322,12 @@ func (s *JobUpdate) SetLogUri(v string) *JobUpdate { return s } +// SetMaintenanceWindow sets the MaintenanceWindow field's value. +func (s *JobUpdate) SetMaintenanceWindow(v string) *JobUpdate { + s.MaintenanceWindow = &v + return s +} + // SetMaxCapacity sets the MaxCapacity field's value. func (s *JobUpdate) SetMaxCapacity(v float64) *JobUpdate { s.MaxCapacity = &v @@ -79556,6 +79626,9 @@ const ( // JobRunStateWaiting is a JobRunState enum value JobRunStateWaiting = "WAITING" + + // JobRunStateExpired is a JobRunState enum value + JobRunStateExpired = "EXPIRED" ) // JobRunState_Values returns all elements of the JobRunState enum @@ -79570,6 +79643,7 @@ func JobRunState_Values() []string { JobRunStateTimeout, JobRunStateError, JobRunStateWaiting, + JobRunStateExpired, } } diff --git a/service/lightsail/api.go b/service/lightsail/api.go index cea1cf428b0..c4c13e83a3e 100644 --- a/service/lightsail/api.go +++ b/service/lightsail/api.go @@ -18889,7 +18889,7 @@ type Blueprint struct { // This parameter only applies to Lightsail for Research resources. AppCategory *string `locationName:"appCategory" type:"string" enum:"AppCategory"` - // The ID for the virtual private server image (app_wordpress_4_4 or app_lamp_7_0). + // The ID for the virtual private server image (app_wordpress_x_x or app_lamp_x_x). BlueprintId *string `locationName:"blueprintId" type:"string"` // The description of the blueprint. @@ -19452,7 +19452,7 @@ func (s *BucketState) SetMessage(v string) *BucketState { type Bundle struct { _ struct{} `type:"structure"` - // The bundle ID (micro_1_0). + // The bundle ID (micro_x_x). BundleId *string `locationName:"bundleId" type:"string"` // The number of vCPUs included in the bundle (2). @@ -19461,7 +19461,7 @@ type Bundle struct { // The size of the SSD (30). DiskSizeInGb *int64 `locationName:"diskSizeInGb" type:"integer"` - // The Amazon EC2 instance type (t2.micro). + // The instance type (micro). InstanceType *string `locationName:"instanceType" type:"string"` // A Boolean value indicating whether the bundle is active. @@ -23902,7 +23902,7 @@ type CreateInstancesFromSnapshotInput struct { AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` // The bundle of specification information for your virtual private server (or - // instance), including the pricing plan (micro_1_0). + // instance), including the pricing plan (micro_x_x). // // BundleId is a required field BundleId *string `locationName:"bundleId" type:"string" required:"true"` @@ -23925,7 +23925,8 @@ type CreateInstancesFromSnapshotInput struct { // The IP address type for the instance. // - // The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6. + // The possible values are ipv4 for IPv4 only, ipv6 for IPv6 only, and dualstack + // for IPv4 and IPv6. // // The default value is dualstack. IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"` @@ -24166,7 +24167,7 @@ type CreateInstancesInput struct { // AvailabilityZone is a required field AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"` - // The ID for a virtual private server image (app_wordpress_4_4 or app_lamp_7_0). + // The ID for a virtual private server image (app_wordpress_x_x or app_lamp_x_x). // Use the get blueprints operation to return a list of available images (or // blueprints). // @@ -24179,7 +24180,7 @@ type CreateInstancesInput struct { BlueprintId *string `locationName:"blueprintId" type:"string" required:"true"` // The bundle of specification information for your virtual private server (or - // instance), including the pricing plan (micro_1_0). + // instance), including the pricing plan (medium_x_x). // // BundleId is a required field BundleId *string `locationName:"bundleId" type:"string" required:"true"` @@ -24200,7 +24201,8 @@ type CreateInstancesInput struct { // The IP address type for the instance. // - // The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6. + // The possible values are ipv4 for IPv4 only, ipv6 for IPv6 only, and dualstack + // for IPv4 and IPv6. // // The default value is dualstack. IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"` @@ -24519,7 +24521,8 @@ type CreateLoadBalancerInput struct { // The IP address type for the load balancer. // - // The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6. + // The possible values are ipv4 for IPv4 only, ipv6 for IPv6 only, and dualstack + // for IPv4 and IPv6. // // The default value is dualstack. IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"` @@ -36212,13 +36215,13 @@ type Instance struct { // The Amazon Resource Name (ARN) of the instance (arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE). Arn *string `locationName:"arn" type:"string"` - // The blueprint ID (os_amlinux_2016_03). + // The blueprint ID (amazon_linux_2023). BlueprintId *string `locationName:"blueprintId" type:"string"` - // The friendly name of the blueprint (Amazon Linux). + // The friendly name of the blueprint (Amazon Linux 2023). BlueprintName *string `locationName:"blueprintName" type:"string"` - // The bundle for the instance (micro_1_0). + // The bundle for the instance (micro_x_x). BundleId *string `locationName:"bundleId" type:"string"` // The timestamp when the instance was created (1479734909.17) in Unix time @@ -36230,7 +36233,8 @@ type Instance struct { // The IP address type of the instance. // - // The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6. + // The possible values are ipv4 for IPv4 only, ipv6 for IPv6 only, and dualstack + // for IPv4 and IPv6. IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"` // The IPv6 addresses of the instance. @@ -36246,7 +36250,7 @@ type Instance struct { // The metadata options for the Amazon Lightsail instance. MetadataOptions *InstanceMetadataOptions `locationName:"metadataOptions" type:"structure"` - // The name the user gave the instance (Amazon_Linux-1GB-Ohio-1). + // The name the user gave the instance (Amazon_Linux_2023-1). Name *string `locationName:"name" type:"string"` // Information about the public ports and monthly data transfer rates for the @@ -37085,6 +37089,10 @@ type InstancePortInfo struct { // an instance could not be reached. When you specify icmp as the protocol, // you must specify the ICMP type using the fromPort parameter, and ICMP // code using the toPort parameter. + // + // * icmp6 - Internet Control Message Protocol (ICMP) for IPv6. When you + // specify icmp6 as the protocol, you must specify the ICMP type using the + // fromPort parameter, and ICMP code using the toPort parameter. Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"` // The last port in a range of open ports on an instance. @@ -37261,6 +37269,10 @@ type InstancePortState struct { // an instance could not be reached. When you specify icmp as the protocol, // you must specify the ICMP type using the fromPort parameter, and ICMP // code using the toPort parameter. + // + // * icmp6 - Internet Control Message Protocol (ICMP) for IPv6. When you + // specify icmp6 as the protocol, you must specify the ICMP type using the + // fromPort parameter, and ICMP code using the toPort parameter. Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"` // Specifies whether the instance port is open or closed. @@ -37358,12 +37370,12 @@ type InstanceSnapshot struct { // An array of disk objects containing information about all block storage disks. FromAttachedDisks []*Disk `locationName:"fromAttachedDisks" type:"list"` - // The blueprint ID from which you created the snapshot (os_debian_8_3). A blueprint - // is a virtual private server (or instance) image used to create instances - // quickly. + // The blueprint ID from which you created the snapshot (amazon_linux_2023). + // A blueprint is a virtual private server (or instance) image used to create + // instances quickly. FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"` - // The bundle ID from which you created the snapshot (micro_1_0). + // The bundle ID from which you created the snapshot (micro_x_x). FromBundleId *string `locationName:"fromBundleId" type:"string"` // The Amazon Resource Name (ARN) of the instance from which the snapshot was @@ -37525,10 +37537,10 @@ func (s *InstanceSnapshot) SetTags(v []*Tag) *InstanceSnapshot { type InstanceSnapshotInfo struct { _ struct{} `type:"structure"` - // The blueprint ID from which the source instance (os_debian_8_3). + // The blueprint ID from which the source instance (amazon_linux_2023). FromBlueprintId *string `locationName:"fromBlueprintId" type:"string"` - // The bundle ID from which the source instance was created (micro_1_0). + // The bundle ID from which the source instance was created (micro_x_x). FromBundleId *string `locationName:"fromBundleId" type:"string"` // A list of objects describing the disks that were attached to the source instance. @@ -38103,7 +38115,8 @@ type LoadBalancer struct { // The IP address type of the load balancer. // - // The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6. + // The possible values are ipv4 for IPv4 only, ipv6 for IPv6 only, and dualstack + // for IPv4 and IPv6. IpAddressType *string `locationName:"ipAddressType" type:"string" enum:"IpAddressType"` // The AWS Region where your load balancer was created (us-east-2a). Lightsail @@ -39987,6 +40000,10 @@ type PortInfo struct { // an instance could not be reached. When you specify icmp as the protocol, // you must specify the ICMP type using the fromPort parameter, and ICMP // code using the toPort parameter. + // + // * icmp6 - Internet Control Message Protocol (ICMP) for IPv6. When you + // specify icmp6 as the protocol, you must specify the ICMP type using the + // fromPort parameter, and ICMP code using the toPort parameter. Protocol *string `locationName:"protocol" type:"string" enum:"NetworkProtocol"` // The last port in a range of open ports on an instance. @@ -42604,9 +42621,21 @@ func (s *Session) SetUrl(v string) *Session { type SetIpAddressTypeInput struct { _ struct{} `type:"structure"` + // Required parameter to accept the instance bundle update when changing to, + // and from, IPv6-only. + // + // An instance bundle will change when switching from dual-stack or ipv4, to + // ipv6. It also changes when switching from ipv6, to dual-stack or ipv4. + // + // You must include this parameter in the command to update the bundle. For + // example, if you switch from dual-stack to ipv6, the bundle will be updated, + // and billing for the IPv6-only instance bundle begins immediately. + AcceptBundleUpdate *bool `locationName:"acceptBundleUpdate" type:"boolean"` + // The IP address type to set for the specified resource. // - // The possible values are ipv4 for IPv4 only, and dualstack for IPv4 and IPv6. + // The possible values are ipv4 for IPv4 only, ipv6 for IPv6 only, and dualstack + // for IPv4 and IPv6. // // IpAddressType is a required field IpAddressType *string `locationName:"ipAddressType" type:"string" required:"true" enum:"IpAddressType"` @@ -42665,6 +42694,12 @@ func (s *SetIpAddressTypeInput) Validate() error { return nil } +// SetAcceptBundleUpdate sets the AcceptBundleUpdate field's value. +func (s *SetIpAddressTypeInput) SetAcceptBundleUpdate(v bool) *SetIpAddressTypeInput { + s.AcceptBundleUpdate = &v + return s +} + // SetIpAddressType sets the IpAddressType field's value. func (s *SetIpAddressTypeInput) SetIpAddressType(v string) *SetIpAddressTypeInput { s.IpAddressType = &v @@ -46783,6 +46818,9 @@ const ( // IpAddressTypeIpv4 is a IpAddressType enum value IpAddressTypeIpv4 = "ipv4" + + // IpAddressTypeIpv6 is a IpAddressType enum value + IpAddressTypeIpv6 = "ipv6" ) // IpAddressType_Values returns all elements of the IpAddressType enum @@ -46790,6 +46828,7 @@ func IpAddressType_Values() []string { return []string{ IpAddressTypeDualstack, IpAddressTypeIpv4, + IpAddressTypeIpv6, } } @@ -47389,6 +47428,9 @@ const ( // NetworkProtocolIcmp is a NetworkProtocol enum value NetworkProtocolIcmp = "icmp" + + // NetworkProtocolIcmpv6 is a NetworkProtocol enum value + NetworkProtocolIcmpv6 = "icmpv6" ) // NetworkProtocol_Values returns all elements of the NetworkProtocol enum @@ -47398,6 +47440,7 @@ func NetworkProtocol_Values() []string { NetworkProtocolAll, NetworkProtocolUdp, NetworkProtocolIcmp, + NetworkProtocolIcmpv6, } } diff --git a/service/mailmanager/api.go b/service/mailmanager/api.go new file mode 100644 index 00000000000..6bbecf94a33 --- /dev/null +++ b/service/mailmanager/api.go @@ -0,0 +1,14783 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mailmanager + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +const opCreateAddonInstance = "CreateAddonInstance" + +// CreateAddonInstanceRequest generates a "aws/request.Request" representing the +// client's request for the CreateAddonInstance 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 CreateAddonInstance for more information on using the CreateAddonInstance +// 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 CreateAddonInstanceRequest method. +// req, resp := client.CreateAddonInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateAddonInstance +func (c *MailManager) CreateAddonInstanceRequest(input *CreateAddonInstanceInput) (req *request.Request, output *CreateAddonInstanceOutput) { + op := &request.Operation{ + Name: opCreateAddonInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateAddonInstanceInput{} + } + + output = &CreateAddonInstanceOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateAddonInstance API operation for MailManager. +// +// Creates an Add On instance for the subscription indicated in the request. +// The resulting Amazon Resource Name (ARN) can be used in a conditional statement +// for a rule set or traffic policy. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for MailManager's +// API operation CreateAddonInstance for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ServiceQuotaExceededException +// Occurs when an operation exceeds a predefined service quota or limit. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateAddonInstance +func (c *MailManager) CreateAddonInstance(input *CreateAddonInstanceInput) (*CreateAddonInstanceOutput, error) { + req, out := c.CreateAddonInstanceRequest(input) + return out, req.Send() +} + +// CreateAddonInstanceWithContext is the same as CreateAddonInstance with the addition of +// the ability to pass a context and additional request options. +// +// See CreateAddonInstance 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 *MailManager) CreateAddonInstanceWithContext(ctx aws.Context, input *CreateAddonInstanceInput, opts ...request.Option) (*CreateAddonInstanceOutput, error) { + req, out := c.CreateAddonInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateAddonSubscription = "CreateAddonSubscription" + +// CreateAddonSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the CreateAddonSubscription 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 CreateAddonSubscription for more information on using the CreateAddonSubscription +// 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 CreateAddonSubscriptionRequest method. +// req, resp := client.CreateAddonSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateAddonSubscription +func (c *MailManager) CreateAddonSubscriptionRequest(input *CreateAddonSubscriptionInput) (req *request.Request, output *CreateAddonSubscriptionOutput) { + op := &request.Operation{ + Name: opCreateAddonSubscription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateAddonSubscriptionInput{} + } + + output = &CreateAddonSubscriptionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateAddonSubscription API operation for MailManager. +// +// Creates a subscription for an Add On representing the acceptance of its terms +// of use and additional pricing. The subscription can then be used to create +// an instance for use in rule sets or traffic policies. +// +// 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 MailManager's +// API operation CreateAddonSubscription for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ServiceQuotaExceededException +// Occurs when an operation exceeds a predefined service quota or limit. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateAddonSubscription +func (c *MailManager) CreateAddonSubscription(input *CreateAddonSubscriptionInput) (*CreateAddonSubscriptionOutput, error) { + req, out := c.CreateAddonSubscriptionRequest(input) + return out, req.Send() +} + +// CreateAddonSubscriptionWithContext is the same as CreateAddonSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See CreateAddonSubscription 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 *MailManager) CreateAddonSubscriptionWithContext(ctx aws.Context, input *CreateAddonSubscriptionInput, opts ...request.Option) (*CreateAddonSubscriptionOutput, error) { + req, out := c.CreateAddonSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateArchive = "CreateArchive" + +// CreateArchiveRequest generates a "aws/request.Request" representing the +// client's request for the CreateArchive 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 CreateArchive for more information on using the CreateArchive +// 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 CreateArchiveRequest method. +// req, resp := client.CreateArchiveRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateArchive +func (c *MailManager) CreateArchiveRequest(input *CreateArchiveInput) (req *request.Request, output *CreateArchiveOutput) { + op := &request.Operation{ + Name: opCreateArchive, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateArchiveInput{} + } + + output = &CreateArchiveOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateArchive API operation for MailManager. +// +// Creates a new email archive resource for storing and retaining emails. +// +// 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 MailManager's +// API operation CreateArchive for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ServiceQuotaExceededException +// Occurs when an operation exceeds a predefined service quota or limit. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateArchive +func (c *MailManager) CreateArchive(input *CreateArchiveInput) (*CreateArchiveOutput, error) { + req, out := c.CreateArchiveRequest(input) + return out, req.Send() +} + +// CreateArchiveWithContext is the same as CreateArchive with the addition of +// the ability to pass a context and additional request options. +// +// See CreateArchive 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 *MailManager) CreateArchiveWithContext(ctx aws.Context, input *CreateArchiveInput, opts ...request.Option) (*CreateArchiveOutput, error) { + req, out := c.CreateArchiveRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateIngressPoint = "CreateIngressPoint" + +// CreateIngressPointRequest generates a "aws/request.Request" representing the +// client's request for the CreateIngressPoint 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 CreateIngressPoint for more information on using the CreateIngressPoint +// 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 CreateIngressPointRequest method. +// req, resp := client.CreateIngressPointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateIngressPoint +func (c *MailManager) CreateIngressPointRequest(input *CreateIngressPointInput) (req *request.Request, output *CreateIngressPointOutput) { + op := &request.Operation{ + Name: opCreateIngressPoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateIngressPointInput{} + } + + output = &CreateIngressPointOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateIngressPoint API operation for MailManager. +// +// Provision a new ingress endpoint 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 MailManager's +// API operation CreateIngressPoint for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ServiceQuotaExceededException +// Occurs when an operation exceeds a predefined service quota or limit. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateIngressPoint +func (c *MailManager) CreateIngressPoint(input *CreateIngressPointInput) (*CreateIngressPointOutput, error) { + req, out := c.CreateIngressPointRequest(input) + return out, req.Send() +} + +// CreateIngressPointWithContext is the same as CreateIngressPoint with the addition of +// the ability to pass a context and additional request options. +// +// See CreateIngressPoint 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 *MailManager) CreateIngressPointWithContext(ctx aws.Context, input *CreateIngressPointInput, opts ...request.Option) (*CreateIngressPointOutput, error) { + req, out := c.CreateIngressPointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateRelay = "CreateRelay" + +// CreateRelayRequest generates a "aws/request.Request" representing the +// client's request for the CreateRelay 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 CreateRelay for more information on using the CreateRelay +// 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 CreateRelayRequest method. +// req, resp := client.CreateRelayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateRelay +func (c *MailManager) CreateRelayRequest(input *CreateRelayInput) (req *request.Request, output *CreateRelayOutput) { + op := &request.Operation{ + Name: opCreateRelay, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateRelayInput{} + } + + output = &CreateRelayOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateRelay API operation for MailManager. +// +// Creates a relay resource which can be used in rules to relay incoming emails +// to defined relay destinations. +// +// 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 MailManager's +// API operation CreateRelay for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ServiceQuotaExceededException +// Occurs when an operation exceeds a predefined service quota or limit. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateRelay +func (c *MailManager) CreateRelay(input *CreateRelayInput) (*CreateRelayOutput, error) { + req, out := c.CreateRelayRequest(input) + return out, req.Send() +} + +// CreateRelayWithContext is the same as CreateRelay with the addition of +// the ability to pass a context and additional request options. +// +// See CreateRelay 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 *MailManager) CreateRelayWithContext(ctx aws.Context, input *CreateRelayInput, opts ...request.Option) (*CreateRelayOutput, error) { + req, out := c.CreateRelayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateRuleSet = "CreateRuleSet" + +// CreateRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the CreateRuleSet 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 CreateRuleSet for more information on using the CreateRuleSet +// 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 CreateRuleSetRequest method. +// req, resp := client.CreateRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateRuleSet +func (c *MailManager) CreateRuleSetRequest(input *CreateRuleSetInput) (req *request.Request, output *CreateRuleSetOutput) { + op := &request.Operation{ + Name: opCreateRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateRuleSetInput{} + } + + output = &CreateRuleSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateRuleSet API operation for MailManager. +// +// Provision a new rule set. +// +// 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 MailManager's +// API operation CreateRuleSet for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ServiceQuotaExceededException +// Occurs when an operation exceeds a predefined service quota or limit. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateRuleSet +func (c *MailManager) CreateRuleSet(input *CreateRuleSetInput) (*CreateRuleSetOutput, error) { + req, out := c.CreateRuleSetRequest(input) + return out, req.Send() +} + +// CreateRuleSetWithContext is the same as CreateRuleSet with the addition of +// the ability to pass a context and additional request options. +// +// See CreateRuleSet 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 *MailManager) CreateRuleSetWithContext(ctx aws.Context, input *CreateRuleSetInput, opts ...request.Option) (*CreateRuleSetOutput, error) { + req, out := c.CreateRuleSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateTrafficPolicy = "CreateTrafficPolicy" + +// CreateTrafficPolicyRequest generates a "aws/request.Request" representing the +// client's request for the CreateTrafficPolicy 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 CreateTrafficPolicy for more information on using the CreateTrafficPolicy +// 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 CreateTrafficPolicyRequest method. +// req, resp := client.CreateTrafficPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateTrafficPolicy +func (c *MailManager) CreateTrafficPolicyRequest(input *CreateTrafficPolicyInput) (req *request.Request, output *CreateTrafficPolicyOutput) { + op := &request.Operation{ + Name: opCreateTrafficPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTrafficPolicyInput{} + } + + output = &CreateTrafficPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTrafficPolicy API operation for MailManager. +// +// Provision a new traffic policy 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 MailManager's +// API operation CreateTrafficPolicy for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ServiceQuotaExceededException +// Occurs when an operation exceeds a predefined service quota or limit. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/CreateTrafficPolicy +func (c *MailManager) CreateTrafficPolicy(input *CreateTrafficPolicyInput) (*CreateTrafficPolicyOutput, error) { + req, out := c.CreateTrafficPolicyRequest(input) + return out, req.Send() +} + +// CreateTrafficPolicyWithContext is the same as CreateTrafficPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTrafficPolicy 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 *MailManager) CreateTrafficPolicyWithContext(ctx aws.Context, input *CreateTrafficPolicyInput, opts ...request.Option) (*CreateTrafficPolicyOutput, error) { + req, out := c.CreateTrafficPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteAddonInstance = "DeleteAddonInstance" + +// DeleteAddonInstanceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAddonInstance 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 DeleteAddonInstance for more information on using the DeleteAddonInstance +// 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 DeleteAddonInstanceRequest method. +// req, resp := client.DeleteAddonInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteAddonInstance +func (c *MailManager) DeleteAddonInstanceRequest(input *DeleteAddonInstanceInput) (req *request.Request, output *DeleteAddonInstanceOutput) { + op := &request.Operation{ + Name: opDeleteAddonInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteAddonInstanceInput{} + } + + output = &DeleteAddonInstanceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteAddonInstance API operation for MailManager. +// +// Deletes an Add On instance. +// +// 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 MailManager's +// API operation DeleteAddonInstance for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteAddonInstance +func (c *MailManager) DeleteAddonInstance(input *DeleteAddonInstanceInput) (*DeleteAddonInstanceOutput, error) { + req, out := c.DeleteAddonInstanceRequest(input) + return out, req.Send() +} + +// DeleteAddonInstanceWithContext is the same as DeleteAddonInstance with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAddonInstance 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 *MailManager) DeleteAddonInstanceWithContext(ctx aws.Context, input *DeleteAddonInstanceInput, opts ...request.Option) (*DeleteAddonInstanceOutput, error) { + req, out := c.DeleteAddonInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteAddonSubscription = "DeleteAddonSubscription" + +// DeleteAddonSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAddonSubscription 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 DeleteAddonSubscription for more information on using the DeleteAddonSubscription +// 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 DeleteAddonSubscriptionRequest method. +// req, resp := client.DeleteAddonSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteAddonSubscription +func (c *MailManager) DeleteAddonSubscriptionRequest(input *DeleteAddonSubscriptionInput) (req *request.Request, output *DeleteAddonSubscriptionOutput) { + op := &request.Operation{ + Name: opDeleteAddonSubscription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteAddonSubscriptionInput{} + } + + output = &DeleteAddonSubscriptionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteAddonSubscription API operation for MailManager. +// +// Deletes an Add On subscription. +// +// 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 MailManager's +// API operation DeleteAddonSubscription for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteAddonSubscription +func (c *MailManager) DeleteAddonSubscription(input *DeleteAddonSubscriptionInput) (*DeleteAddonSubscriptionOutput, error) { + req, out := c.DeleteAddonSubscriptionRequest(input) + return out, req.Send() +} + +// DeleteAddonSubscriptionWithContext is the same as DeleteAddonSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAddonSubscription 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 *MailManager) DeleteAddonSubscriptionWithContext(ctx aws.Context, input *DeleteAddonSubscriptionInput, opts ...request.Option) (*DeleteAddonSubscriptionOutput, error) { + req, out := c.DeleteAddonSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteArchive = "DeleteArchive" + +// DeleteArchiveRequest generates a "aws/request.Request" representing the +// client's request for the DeleteArchive 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 DeleteArchive for more information on using the DeleteArchive +// 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 DeleteArchiveRequest method. +// req, resp := client.DeleteArchiveRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteArchive +func (c *MailManager) DeleteArchiveRequest(input *DeleteArchiveInput) (req *request.Request, output *DeleteArchiveOutput) { + op := &request.Operation{ + Name: opDeleteArchive, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteArchiveInput{} + } + + output = &DeleteArchiveOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteArchive API operation for MailManager. +// +// Initiates deletion of an email archive. This changes the archive state to +// pending deletion. In this state, no new emails can be added, and existing +// archived emails become inaccessible (search, export, download). The archive +// and all of its contents will be permanently deleted 30 days after entering +// the pending deletion state, regardless of the configured retention period. +// +// 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 MailManager's +// API operation DeleteArchive for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteArchive +func (c *MailManager) DeleteArchive(input *DeleteArchiveInput) (*DeleteArchiveOutput, error) { + req, out := c.DeleteArchiveRequest(input) + return out, req.Send() +} + +// DeleteArchiveWithContext is the same as DeleteArchive with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteArchive 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 *MailManager) DeleteArchiveWithContext(ctx aws.Context, input *DeleteArchiveInput, opts ...request.Option) (*DeleteArchiveOutput, error) { + req, out := c.DeleteArchiveRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteIngressPoint = "DeleteIngressPoint" + +// DeleteIngressPointRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIngressPoint 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 DeleteIngressPoint for more information on using the DeleteIngressPoint +// 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 DeleteIngressPointRequest method. +// req, resp := client.DeleteIngressPointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteIngressPoint +func (c *MailManager) DeleteIngressPointRequest(input *DeleteIngressPointInput) (req *request.Request, output *DeleteIngressPointOutput) { + op := &request.Operation{ + Name: opDeleteIngressPoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteIngressPointInput{} + } + + output = &DeleteIngressPointOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteIngressPoint API operation for MailManager. +// +// Delete an ingress endpoint 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 MailManager's +// API operation DeleteIngressPoint for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteIngressPoint +func (c *MailManager) DeleteIngressPoint(input *DeleteIngressPointInput) (*DeleteIngressPointOutput, error) { + req, out := c.DeleteIngressPointRequest(input) + return out, req.Send() +} + +// DeleteIngressPointWithContext is the same as DeleteIngressPoint with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteIngressPoint 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 *MailManager) DeleteIngressPointWithContext(ctx aws.Context, input *DeleteIngressPointInput, opts ...request.Option) (*DeleteIngressPointOutput, error) { + req, out := c.DeleteIngressPointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteRelay = "DeleteRelay" + +// DeleteRelayRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRelay 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 DeleteRelay for more information on using the DeleteRelay +// 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 DeleteRelayRequest method. +// req, resp := client.DeleteRelayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteRelay +func (c *MailManager) DeleteRelayRequest(input *DeleteRelayInput) (req *request.Request, output *DeleteRelayOutput) { + op := &request.Operation{ + Name: opDeleteRelay, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteRelayInput{} + } + + output = &DeleteRelayOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteRelay API operation for MailManager. +// +// Deletes an existing relay 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 MailManager's +// API operation DeleteRelay for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteRelay +func (c *MailManager) DeleteRelay(input *DeleteRelayInput) (*DeleteRelayOutput, error) { + req, out := c.DeleteRelayRequest(input) + return out, req.Send() +} + +// DeleteRelayWithContext is the same as DeleteRelay with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteRelay 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 *MailManager) DeleteRelayWithContext(ctx aws.Context, input *DeleteRelayInput, opts ...request.Option) (*DeleteRelayOutput, error) { + req, out := c.DeleteRelayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteRuleSet = "DeleteRuleSet" + +// DeleteRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteRuleSet 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 DeleteRuleSet for more information on using the DeleteRuleSet +// 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 DeleteRuleSetRequest method. +// req, resp := client.DeleteRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteRuleSet +func (c *MailManager) DeleteRuleSetRequest(input *DeleteRuleSetInput) (req *request.Request, output *DeleteRuleSetOutput) { + op := &request.Operation{ + Name: opDeleteRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteRuleSetInput{} + } + + output = &DeleteRuleSetOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteRuleSet API operation for MailManager. +// +// Delete a rule set. +// +// 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 MailManager's +// API operation DeleteRuleSet for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteRuleSet +func (c *MailManager) DeleteRuleSet(input *DeleteRuleSetInput) (*DeleteRuleSetOutput, error) { + req, out := c.DeleteRuleSetRequest(input) + return out, req.Send() +} + +// DeleteRuleSetWithContext is the same as DeleteRuleSet with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteRuleSet 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 *MailManager) DeleteRuleSetWithContext(ctx aws.Context, input *DeleteRuleSetInput, opts ...request.Option) (*DeleteRuleSetOutput, error) { + req, out := c.DeleteRuleSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteTrafficPolicy = "DeleteTrafficPolicy" + +// DeleteTrafficPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTrafficPolicy 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 DeleteTrafficPolicy for more information on using the DeleteTrafficPolicy +// 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 DeleteTrafficPolicyRequest method. +// req, resp := client.DeleteTrafficPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteTrafficPolicy +func (c *MailManager) DeleteTrafficPolicyRequest(input *DeleteTrafficPolicyInput) (req *request.Request, output *DeleteTrafficPolicyOutput) { + op := &request.Operation{ + Name: opDeleteTrafficPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTrafficPolicyInput{} + } + + output = &DeleteTrafficPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteTrafficPolicy API operation for MailManager. +// +// Delete a traffic policy 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 MailManager's +// API operation DeleteTrafficPolicy for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/DeleteTrafficPolicy +func (c *MailManager) DeleteTrafficPolicy(input *DeleteTrafficPolicyInput) (*DeleteTrafficPolicyOutput, error) { + req, out := c.DeleteTrafficPolicyRequest(input) + return out, req.Send() +} + +// DeleteTrafficPolicyWithContext is the same as DeleteTrafficPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTrafficPolicy 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 *MailManager) DeleteTrafficPolicyWithContext(ctx aws.Context, input *DeleteTrafficPolicyInput, opts ...request.Option) (*DeleteTrafficPolicyOutput, error) { + req, out := c.DeleteTrafficPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetAddonInstance = "GetAddonInstance" + +// GetAddonInstanceRequest generates a "aws/request.Request" representing the +// client's request for the GetAddonInstance 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 GetAddonInstance for more information on using the GetAddonInstance +// 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 GetAddonInstanceRequest method. +// req, resp := client.GetAddonInstanceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetAddonInstance +func (c *MailManager) GetAddonInstanceRequest(input *GetAddonInstanceInput) (req *request.Request, output *GetAddonInstanceOutput) { + op := &request.Operation{ + Name: opGetAddonInstance, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetAddonInstanceInput{} + } + + output = &GetAddonInstanceOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetAddonInstance API operation for MailManager. +// +// Gets detailed information about an Add On instance. +// +// 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 MailManager's +// API operation GetAddonInstance for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetAddonInstance +func (c *MailManager) GetAddonInstance(input *GetAddonInstanceInput) (*GetAddonInstanceOutput, error) { + req, out := c.GetAddonInstanceRequest(input) + return out, req.Send() +} + +// GetAddonInstanceWithContext is the same as GetAddonInstance with the addition of +// the ability to pass a context and additional request options. +// +// See GetAddonInstance 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 *MailManager) GetAddonInstanceWithContext(ctx aws.Context, input *GetAddonInstanceInput, opts ...request.Option) (*GetAddonInstanceOutput, error) { + req, out := c.GetAddonInstanceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetAddonSubscription = "GetAddonSubscription" + +// GetAddonSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the GetAddonSubscription 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 GetAddonSubscription for more information on using the GetAddonSubscription +// 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 GetAddonSubscriptionRequest method. +// req, resp := client.GetAddonSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetAddonSubscription +func (c *MailManager) GetAddonSubscriptionRequest(input *GetAddonSubscriptionInput) (req *request.Request, output *GetAddonSubscriptionOutput) { + op := &request.Operation{ + Name: opGetAddonSubscription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetAddonSubscriptionInput{} + } + + output = &GetAddonSubscriptionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetAddonSubscription API operation for MailManager. +// +// Gets detailed information about an Add On subscription. +// +// 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 MailManager's +// API operation GetAddonSubscription for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetAddonSubscription +func (c *MailManager) GetAddonSubscription(input *GetAddonSubscriptionInput) (*GetAddonSubscriptionOutput, error) { + req, out := c.GetAddonSubscriptionRequest(input) + return out, req.Send() +} + +// GetAddonSubscriptionWithContext is the same as GetAddonSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See GetAddonSubscription 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 *MailManager) GetAddonSubscriptionWithContext(ctx aws.Context, input *GetAddonSubscriptionInput, opts ...request.Option) (*GetAddonSubscriptionOutput, error) { + req, out := c.GetAddonSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetArchive = "GetArchive" + +// GetArchiveRequest generates a "aws/request.Request" representing the +// client's request for the GetArchive 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 GetArchive for more information on using the GetArchive +// 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 GetArchiveRequest method. +// req, resp := client.GetArchiveRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchive +func (c *MailManager) GetArchiveRequest(input *GetArchiveInput) (req *request.Request, output *GetArchiveOutput) { + op := &request.Operation{ + Name: opGetArchive, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetArchiveInput{} + } + + output = &GetArchiveOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetArchive API operation for MailManager. +// +// Retrieves the full details and current state of a specified email archive. +// +// 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 MailManager's +// API operation GetArchive for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchive +func (c *MailManager) GetArchive(input *GetArchiveInput) (*GetArchiveOutput, error) { + req, out := c.GetArchiveRequest(input) + return out, req.Send() +} + +// GetArchiveWithContext is the same as GetArchive with the addition of +// the ability to pass a context and additional request options. +// +// See GetArchive 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 *MailManager) GetArchiveWithContext(ctx aws.Context, input *GetArchiveInput, opts ...request.Option) (*GetArchiveOutput, error) { + req, out := c.GetArchiveRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetArchiveExport = "GetArchiveExport" + +// GetArchiveExportRequest generates a "aws/request.Request" representing the +// client's request for the GetArchiveExport 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 GetArchiveExport for more information on using the GetArchiveExport +// 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 GetArchiveExportRequest method. +// req, resp := client.GetArchiveExportRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchiveExport +func (c *MailManager) GetArchiveExportRequest(input *GetArchiveExportInput) (req *request.Request, output *GetArchiveExportOutput) { + op := &request.Operation{ + Name: opGetArchiveExport, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetArchiveExportInput{} + } + + output = &GetArchiveExportOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetArchiveExport API operation for MailManager. +// +// Retrieves the details and current status of a specific email archive export +// job. +// +// 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 MailManager's +// API operation GetArchiveExport for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchiveExport +func (c *MailManager) GetArchiveExport(input *GetArchiveExportInput) (*GetArchiveExportOutput, error) { + req, out := c.GetArchiveExportRequest(input) + return out, req.Send() +} + +// GetArchiveExportWithContext is the same as GetArchiveExport with the addition of +// the ability to pass a context and additional request options. +// +// See GetArchiveExport 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 *MailManager) GetArchiveExportWithContext(ctx aws.Context, input *GetArchiveExportInput, opts ...request.Option) (*GetArchiveExportOutput, error) { + req, out := c.GetArchiveExportRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetArchiveMessage = "GetArchiveMessage" + +// GetArchiveMessageRequest generates a "aws/request.Request" representing the +// client's request for the GetArchiveMessage 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 GetArchiveMessage for more information on using the GetArchiveMessage +// 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 GetArchiveMessageRequest method. +// req, resp := client.GetArchiveMessageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchiveMessage +func (c *MailManager) GetArchiveMessageRequest(input *GetArchiveMessageInput) (req *request.Request, output *GetArchiveMessageOutput) { + op := &request.Operation{ + Name: opGetArchiveMessage, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetArchiveMessageInput{} + } + + output = &GetArchiveMessageOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetArchiveMessage API operation for MailManager. +// +// Returns a pre-signed URL that provides temporary download access to the specific +// email message stored in the archive. +// +// 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 MailManager's +// API operation GetArchiveMessage for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchiveMessage +func (c *MailManager) GetArchiveMessage(input *GetArchiveMessageInput) (*GetArchiveMessageOutput, error) { + req, out := c.GetArchiveMessageRequest(input) + return out, req.Send() +} + +// GetArchiveMessageWithContext is the same as GetArchiveMessage with the addition of +// the ability to pass a context and additional request options. +// +// See GetArchiveMessage 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 *MailManager) GetArchiveMessageWithContext(ctx aws.Context, input *GetArchiveMessageInput, opts ...request.Option) (*GetArchiveMessageOutput, error) { + req, out := c.GetArchiveMessageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetArchiveMessageContent = "GetArchiveMessageContent" + +// GetArchiveMessageContentRequest generates a "aws/request.Request" representing the +// client's request for the GetArchiveMessageContent 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 GetArchiveMessageContent for more information on using the GetArchiveMessageContent +// 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 GetArchiveMessageContentRequest method. +// req, resp := client.GetArchiveMessageContentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchiveMessageContent +func (c *MailManager) GetArchiveMessageContentRequest(input *GetArchiveMessageContentInput) (req *request.Request, output *GetArchiveMessageContentOutput) { + op := &request.Operation{ + Name: opGetArchiveMessageContent, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetArchiveMessageContentInput{} + } + + output = &GetArchiveMessageContentOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetArchiveMessageContent API operation for MailManager. +// +// Returns the textual content of a specific email message stored in the archive. +// Attachments are not included. +// +// 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 MailManager's +// API operation GetArchiveMessageContent for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchiveMessageContent +func (c *MailManager) GetArchiveMessageContent(input *GetArchiveMessageContentInput) (*GetArchiveMessageContentOutput, error) { + req, out := c.GetArchiveMessageContentRequest(input) + return out, req.Send() +} + +// GetArchiveMessageContentWithContext is the same as GetArchiveMessageContent with the addition of +// the ability to pass a context and additional request options. +// +// See GetArchiveMessageContent 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 *MailManager) GetArchiveMessageContentWithContext(ctx aws.Context, input *GetArchiveMessageContentInput, opts ...request.Option) (*GetArchiveMessageContentOutput, error) { + req, out := c.GetArchiveMessageContentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetArchiveSearch = "GetArchiveSearch" + +// GetArchiveSearchRequest generates a "aws/request.Request" representing the +// client's request for the GetArchiveSearch 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 GetArchiveSearch for more information on using the GetArchiveSearch +// 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 GetArchiveSearchRequest method. +// req, resp := client.GetArchiveSearchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchiveSearch +func (c *MailManager) GetArchiveSearchRequest(input *GetArchiveSearchInput) (req *request.Request, output *GetArchiveSearchOutput) { + op := &request.Operation{ + Name: opGetArchiveSearch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetArchiveSearchInput{} + } + + output = &GetArchiveSearchOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetArchiveSearch API operation for MailManager. +// +// Retrieves the details and current status of a specific email archive search +// job. +// +// 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 MailManager's +// API operation GetArchiveSearch for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchiveSearch +func (c *MailManager) GetArchiveSearch(input *GetArchiveSearchInput) (*GetArchiveSearchOutput, error) { + req, out := c.GetArchiveSearchRequest(input) + return out, req.Send() +} + +// GetArchiveSearchWithContext is the same as GetArchiveSearch with the addition of +// the ability to pass a context and additional request options. +// +// See GetArchiveSearch 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 *MailManager) GetArchiveSearchWithContext(ctx aws.Context, input *GetArchiveSearchInput, opts ...request.Option) (*GetArchiveSearchOutput, error) { + req, out := c.GetArchiveSearchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetArchiveSearchResults = "GetArchiveSearchResults" + +// GetArchiveSearchResultsRequest generates a "aws/request.Request" representing the +// client's request for the GetArchiveSearchResults 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 GetArchiveSearchResults for more information on using the GetArchiveSearchResults +// 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 GetArchiveSearchResultsRequest method. +// req, resp := client.GetArchiveSearchResultsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchiveSearchResults +func (c *MailManager) GetArchiveSearchResultsRequest(input *GetArchiveSearchResultsInput) (req *request.Request, output *GetArchiveSearchResultsOutput) { + op := &request.Operation{ + Name: opGetArchiveSearchResults, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetArchiveSearchResultsInput{} + } + + output = &GetArchiveSearchResultsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetArchiveSearchResults API operation for MailManager. +// +// Returns the results of a completed email archive search job. +// +// 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 MailManager's +// API operation GetArchiveSearchResults for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetArchiveSearchResults +func (c *MailManager) GetArchiveSearchResults(input *GetArchiveSearchResultsInput) (*GetArchiveSearchResultsOutput, error) { + req, out := c.GetArchiveSearchResultsRequest(input) + return out, req.Send() +} + +// GetArchiveSearchResultsWithContext is the same as GetArchiveSearchResults with the addition of +// the ability to pass a context and additional request options. +// +// See GetArchiveSearchResults 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 *MailManager) GetArchiveSearchResultsWithContext(ctx aws.Context, input *GetArchiveSearchResultsInput, opts ...request.Option) (*GetArchiveSearchResultsOutput, error) { + req, out := c.GetArchiveSearchResultsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetIngressPoint = "GetIngressPoint" + +// GetIngressPointRequest generates a "aws/request.Request" representing the +// client's request for the GetIngressPoint 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 GetIngressPoint for more information on using the GetIngressPoint +// 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 GetIngressPointRequest method. +// req, resp := client.GetIngressPointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetIngressPoint +func (c *MailManager) GetIngressPointRequest(input *GetIngressPointInput) (req *request.Request, output *GetIngressPointOutput) { + op := &request.Operation{ + Name: opGetIngressPoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetIngressPointInput{} + } + + output = &GetIngressPointOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetIngressPoint API operation for MailManager. +// +// Fetch ingress endpoint resource attributes. +// +// 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 MailManager's +// API operation GetIngressPoint for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetIngressPoint +func (c *MailManager) GetIngressPoint(input *GetIngressPointInput) (*GetIngressPointOutput, error) { + req, out := c.GetIngressPointRequest(input) + return out, req.Send() +} + +// GetIngressPointWithContext is the same as GetIngressPoint with the addition of +// the ability to pass a context and additional request options. +// +// See GetIngressPoint 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 *MailManager) GetIngressPointWithContext(ctx aws.Context, input *GetIngressPointInput, opts ...request.Option) (*GetIngressPointOutput, error) { + req, out := c.GetIngressPointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetRelay = "GetRelay" + +// GetRelayRequest generates a "aws/request.Request" representing the +// client's request for the GetRelay 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 GetRelay for more information on using the GetRelay +// 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 GetRelayRequest method. +// req, resp := client.GetRelayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetRelay +func (c *MailManager) GetRelayRequest(input *GetRelayInput) (req *request.Request, output *GetRelayOutput) { + op := &request.Operation{ + Name: opGetRelay, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetRelayInput{} + } + + output = &GetRelayOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetRelay API operation for MailManager. +// +// Fetch the relay resource and it's attributes. +// +// 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 MailManager's +// API operation GetRelay for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetRelay +func (c *MailManager) GetRelay(input *GetRelayInput) (*GetRelayOutput, error) { + req, out := c.GetRelayRequest(input) + return out, req.Send() +} + +// GetRelayWithContext is the same as GetRelay with the addition of +// the ability to pass a context and additional request options. +// +// See GetRelay 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 *MailManager) GetRelayWithContext(ctx aws.Context, input *GetRelayInput, opts ...request.Option) (*GetRelayOutput, error) { + req, out := c.GetRelayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetRuleSet = "GetRuleSet" + +// GetRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the GetRuleSet 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 GetRuleSet for more information on using the GetRuleSet +// 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 GetRuleSetRequest method. +// req, resp := client.GetRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetRuleSet +func (c *MailManager) GetRuleSetRequest(input *GetRuleSetInput) (req *request.Request, output *GetRuleSetOutput) { + op := &request.Operation{ + Name: opGetRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetRuleSetInput{} + } + + output = &GetRuleSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetRuleSet API operation for MailManager. +// +// Fetch attributes of a rule set. +// +// 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 MailManager's +// API operation GetRuleSet for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetRuleSet +func (c *MailManager) GetRuleSet(input *GetRuleSetInput) (*GetRuleSetOutput, error) { + req, out := c.GetRuleSetRequest(input) + return out, req.Send() +} + +// GetRuleSetWithContext is the same as GetRuleSet with the addition of +// the ability to pass a context and additional request options. +// +// See GetRuleSet 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 *MailManager) GetRuleSetWithContext(ctx aws.Context, input *GetRuleSetInput, opts ...request.Option) (*GetRuleSetOutput, error) { + req, out := c.GetRuleSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetTrafficPolicy = "GetTrafficPolicy" + +// GetTrafficPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetTrafficPolicy 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 GetTrafficPolicy for more information on using the GetTrafficPolicy +// 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 GetTrafficPolicyRequest method. +// req, resp := client.GetTrafficPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetTrafficPolicy +func (c *MailManager) GetTrafficPolicyRequest(input *GetTrafficPolicyInput) (req *request.Request, output *GetTrafficPolicyOutput) { + op := &request.Operation{ + Name: opGetTrafficPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetTrafficPolicyInput{} + } + + output = &GetTrafficPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTrafficPolicy API operation for MailManager. +// +// Fetch attributes of a traffic policy 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 MailManager's +// API operation GetTrafficPolicy for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/GetTrafficPolicy +func (c *MailManager) GetTrafficPolicy(input *GetTrafficPolicyInput) (*GetTrafficPolicyOutput, error) { + req, out := c.GetTrafficPolicyRequest(input) + return out, req.Send() +} + +// GetTrafficPolicyWithContext is the same as GetTrafficPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetTrafficPolicy 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 *MailManager) GetTrafficPolicyWithContext(ctx aws.Context, input *GetTrafficPolicyInput, opts ...request.Option) (*GetTrafficPolicyOutput, error) { + req, out := c.GetTrafficPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListAddonInstances = "ListAddonInstances" + +// ListAddonInstancesRequest generates a "aws/request.Request" representing the +// client's request for the ListAddonInstances 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 ListAddonInstances for more information on using the ListAddonInstances +// 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 ListAddonInstancesRequest method. +// req, resp := client.ListAddonInstancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListAddonInstances +func (c *MailManager) ListAddonInstancesRequest(input *ListAddonInstancesInput) (req *request.Request, output *ListAddonInstancesOutput) { + op := &request.Operation{ + Name: opListAddonInstances, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListAddonInstancesInput{} + } + + output = &ListAddonInstancesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAddonInstances API operation for MailManager. +// +// Lists all Add On instances in your 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 MailManager's +// API operation ListAddonInstances for usage and error information. +// +// Returned Error Types: +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListAddonInstances +func (c *MailManager) ListAddonInstances(input *ListAddonInstancesInput) (*ListAddonInstancesOutput, error) { + req, out := c.ListAddonInstancesRequest(input) + return out, req.Send() +} + +// ListAddonInstancesWithContext is the same as ListAddonInstances with the addition of +// the ability to pass a context and additional request options. +// +// See ListAddonInstances 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 *MailManager) ListAddonInstancesWithContext(ctx aws.Context, input *ListAddonInstancesInput, opts ...request.Option) (*ListAddonInstancesOutput, error) { + req, out := c.ListAddonInstancesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListAddonInstancesPages iterates over the pages of a ListAddonInstances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAddonInstances 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 ListAddonInstances operation. +// pageNum := 0 +// err := client.ListAddonInstancesPages(params, +// func(page *mailmanager.ListAddonInstancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MailManager) ListAddonInstancesPages(input *ListAddonInstancesInput, fn func(*ListAddonInstancesOutput, bool) bool) error { + return c.ListAddonInstancesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAddonInstancesPagesWithContext same as ListAddonInstancesPages 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 *MailManager) ListAddonInstancesPagesWithContext(ctx aws.Context, input *ListAddonInstancesInput, fn func(*ListAddonInstancesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAddonInstancesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAddonInstancesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAddonInstancesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListAddonSubscriptions = "ListAddonSubscriptions" + +// ListAddonSubscriptionsRequest generates a "aws/request.Request" representing the +// client's request for the ListAddonSubscriptions 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 ListAddonSubscriptions for more information on using the ListAddonSubscriptions +// 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 ListAddonSubscriptionsRequest method. +// req, resp := client.ListAddonSubscriptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListAddonSubscriptions +func (c *MailManager) ListAddonSubscriptionsRequest(input *ListAddonSubscriptionsInput) (req *request.Request, output *ListAddonSubscriptionsOutput) { + op := &request.Operation{ + Name: opListAddonSubscriptions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListAddonSubscriptionsInput{} + } + + output = &ListAddonSubscriptionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAddonSubscriptions API operation for MailManager. +// +// Lists all Add On subscriptions in your 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 MailManager's +// API operation ListAddonSubscriptions for usage and error information. +// +// Returned Error Types: +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListAddonSubscriptions +func (c *MailManager) ListAddonSubscriptions(input *ListAddonSubscriptionsInput) (*ListAddonSubscriptionsOutput, error) { + req, out := c.ListAddonSubscriptionsRequest(input) + return out, req.Send() +} + +// ListAddonSubscriptionsWithContext is the same as ListAddonSubscriptions with the addition of +// the ability to pass a context and additional request options. +// +// See ListAddonSubscriptions 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 *MailManager) ListAddonSubscriptionsWithContext(ctx aws.Context, input *ListAddonSubscriptionsInput, opts ...request.Option) (*ListAddonSubscriptionsOutput, error) { + req, out := c.ListAddonSubscriptionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListAddonSubscriptionsPages iterates over the pages of a ListAddonSubscriptions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAddonSubscriptions 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 ListAddonSubscriptions operation. +// pageNum := 0 +// err := client.ListAddonSubscriptionsPages(params, +// func(page *mailmanager.ListAddonSubscriptionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MailManager) ListAddonSubscriptionsPages(input *ListAddonSubscriptionsInput, fn func(*ListAddonSubscriptionsOutput, bool) bool) error { + return c.ListAddonSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAddonSubscriptionsPagesWithContext same as ListAddonSubscriptionsPages 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 *MailManager) ListAddonSubscriptionsPagesWithContext(ctx aws.Context, input *ListAddonSubscriptionsInput, fn func(*ListAddonSubscriptionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAddonSubscriptionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAddonSubscriptionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAddonSubscriptionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListArchiveExports = "ListArchiveExports" + +// ListArchiveExportsRequest generates a "aws/request.Request" representing the +// client's request for the ListArchiveExports 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 ListArchiveExports for more information on using the ListArchiveExports +// 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 ListArchiveExportsRequest method. +// req, resp := client.ListArchiveExportsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListArchiveExports +func (c *MailManager) ListArchiveExportsRequest(input *ListArchiveExportsInput) (req *request.Request, output *ListArchiveExportsOutput) { + op := &request.Operation{ + Name: opListArchiveExports, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListArchiveExportsInput{} + } + + output = &ListArchiveExportsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListArchiveExports API operation for MailManager. +// +// Returns a list of email archive export jobs. +// +// 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 MailManager's +// API operation ListArchiveExports for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListArchiveExports +func (c *MailManager) ListArchiveExports(input *ListArchiveExportsInput) (*ListArchiveExportsOutput, error) { + req, out := c.ListArchiveExportsRequest(input) + return out, req.Send() +} + +// ListArchiveExportsWithContext is the same as ListArchiveExports with the addition of +// the ability to pass a context and additional request options. +// +// See ListArchiveExports 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 *MailManager) ListArchiveExportsWithContext(ctx aws.Context, input *ListArchiveExportsInput, opts ...request.Option) (*ListArchiveExportsOutput, error) { + req, out := c.ListArchiveExportsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListArchiveExportsPages iterates over the pages of a ListArchiveExports operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListArchiveExports 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 ListArchiveExports operation. +// pageNum := 0 +// err := client.ListArchiveExportsPages(params, +// func(page *mailmanager.ListArchiveExportsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MailManager) ListArchiveExportsPages(input *ListArchiveExportsInput, fn func(*ListArchiveExportsOutput, bool) bool) error { + return c.ListArchiveExportsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListArchiveExportsPagesWithContext same as ListArchiveExportsPages 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 *MailManager) ListArchiveExportsPagesWithContext(ctx aws.Context, input *ListArchiveExportsInput, fn func(*ListArchiveExportsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListArchiveExportsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListArchiveExportsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListArchiveExportsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListArchiveSearches = "ListArchiveSearches" + +// ListArchiveSearchesRequest generates a "aws/request.Request" representing the +// client's request for the ListArchiveSearches 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 ListArchiveSearches for more information on using the ListArchiveSearches +// 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 ListArchiveSearchesRequest method. +// req, resp := client.ListArchiveSearchesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListArchiveSearches +func (c *MailManager) ListArchiveSearchesRequest(input *ListArchiveSearchesInput) (req *request.Request, output *ListArchiveSearchesOutput) { + op := &request.Operation{ + Name: opListArchiveSearches, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListArchiveSearchesInput{} + } + + output = &ListArchiveSearchesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListArchiveSearches API operation for MailManager. +// +// Returns a list of email archive search jobs. +// +// 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 MailManager's +// API operation ListArchiveSearches for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListArchiveSearches +func (c *MailManager) ListArchiveSearches(input *ListArchiveSearchesInput) (*ListArchiveSearchesOutput, error) { + req, out := c.ListArchiveSearchesRequest(input) + return out, req.Send() +} + +// ListArchiveSearchesWithContext is the same as ListArchiveSearches with the addition of +// the ability to pass a context and additional request options. +// +// See ListArchiveSearches 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 *MailManager) ListArchiveSearchesWithContext(ctx aws.Context, input *ListArchiveSearchesInput, opts ...request.Option) (*ListArchiveSearchesOutput, error) { + req, out := c.ListArchiveSearchesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListArchiveSearchesPages iterates over the pages of a ListArchiveSearches operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListArchiveSearches 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 ListArchiveSearches operation. +// pageNum := 0 +// err := client.ListArchiveSearchesPages(params, +// func(page *mailmanager.ListArchiveSearchesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MailManager) ListArchiveSearchesPages(input *ListArchiveSearchesInput, fn func(*ListArchiveSearchesOutput, bool) bool) error { + return c.ListArchiveSearchesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListArchiveSearchesPagesWithContext same as ListArchiveSearchesPages 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 *MailManager) ListArchiveSearchesPagesWithContext(ctx aws.Context, input *ListArchiveSearchesInput, fn func(*ListArchiveSearchesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListArchiveSearchesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListArchiveSearchesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListArchiveSearchesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListArchives = "ListArchives" + +// ListArchivesRequest generates a "aws/request.Request" representing the +// client's request for the ListArchives 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 ListArchives for more information on using the ListArchives +// 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 ListArchivesRequest method. +// req, resp := client.ListArchivesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListArchives +func (c *MailManager) ListArchivesRequest(input *ListArchivesInput) (req *request.Request, output *ListArchivesOutput) { + op := &request.Operation{ + Name: opListArchives, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListArchivesInput{} + } + + output = &ListArchivesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListArchives API operation for MailManager. +// +// Returns a list of all email archives in your 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 MailManager's +// API operation ListArchives for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListArchives +func (c *MailManager) ListArchives(input *ListArchivesInput) (*ListArchivesOutput, error) { + req, out := c.ListArchivesRequest(input) + return out, req.Send() +} + +// ListArchivesWithContext is the same as ListArchives with the addition of +// the ability to pass a context and additional request options. +// +// See ListArchives 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 *MailManager) ListArchivesWithContext(ctx aws.Context, input *ListArchivesInput, opts ...request.Option) (*ListArchivesOutput, error) { + req, out := c.ListArchivesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListArchivesPages iterates over the pages of a ListArchives operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListArchives 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 ListArchives operation. +// pageNum := 0 +// err := client.ListArchivesPages(params, +// func(page *mailmanager.ListArchivesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MailManager) ListArchivesPages(input *ListArchivesInput, fn func(*ListArchivesOutput, bool) bool) error { + return c.ListArchivesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListArchivesPagesWithContext same as ListArchivesPages 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 *MailManager) ListArchivesPagesWithContext(ctx aws.Context, input *ListArchivesInput, fn func(*ListArchivesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListArchivesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListArchivesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListArchivesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListIngressPoints = "ListIngressPoints" + +// ListIngressPointsRequest generates a "aws/request.Request" representing the +// client's request for the ListIngressPoints 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 ListIngressPoints for more information on using the ListIngressPoints +// 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 ListIngressPointsRequest method. +// req, resp := client.ListIngressPointsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListIngressPoints +func (c *MailManager) ListIngressPointsRequest(input *ListIngressPointsInput) (req *request.Request, output *ListIngressPointsOutput) { + op := &request.Operation{ + Name: opListIngressPoints, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListIngressPointsInput{} + } + + output = &ListIngressPointsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListIngressPoints API operation for MailManager. +// +// List all ingress endpoint resources. +// +// 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 MailManager's +// API operation ListIngressPoints for usage and error information. +// +// Returned Error Types: +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListIngressPoints +func (c *MailManager) ListIngressPoints(input *ListIngressPointsInput) (*ListIngressPointsOutput, error) { + req, out := c.ListIngressPointsRequest(input) + return out, req.Send() +} + +// ListIngressPointsWithContext is the same as ListIngressPoints with the addition of +// the ability to pass a context and additional request options. +// +// See ListIngressPoints 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 *MailManager) ListIngressPointsWithContext(ctx aws.Context, input *ListIngressPointsInput, opts ...request.Option) (*ListIngressPointsOutput, error) { + req, out := c.ListIngressPointsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListIngressPointsPages iterates over the pages of a ListIngressPoints operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListIngressPoints 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 ListIngressPoints operation. +// pageNum := 0 +// err := client.ListIngressPointsPages(params, +// func(page *mailmanager.ListIngressPointsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MailManager) ListIngressPointsPages(input *ListIngressPointsInput, fn func(*ListIngressPointsOutput, bool) bool) error { + return c.ListIngressPointsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListIngressPointsPagesWithContext same as ListIngressPointsPages 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 *MailManager) ListIngressPointsPagesWithContext(ctx aws.Context, input *ListIngressPointsInput, fn func(*ListIngressPointsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListIngressPointsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListIngressPointsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListIngressPointsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListRelays = "ListRelays" + +// ListRelaysRequest generates a "aws/request.Request" representing the +// client's request for the ListRelays 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 ListRelays for more information on using the ListRelays +// 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 ListRelaysRequest method. +// req, resp := client.ListRelaysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListRelays +func (c *MailManager) ListRelaysRequest(input *ListRelaysInput) (req *request.Request, output *ListRelaysOutput) { + op := &request.Operation{ + Name: opListRelays, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListRelaysInput{} + } + + output = &ListRelaysOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRelays API operation for MailManager. +// +// Lists all the existing relay resources. +// +// 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 MailManager's +// API operation ListRelays for usage and error information. +// +// Returned Error Types: +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListRelays +func (c *MailManager) ListRelays(input *ListRelaysInput) (*ListRelaysOutput, error) { + req, out := c.ListRelaysRequest(input) + return out, req.Send() +} + +// ListRelaysWithContext is the same as ListRelays with the addition of +// the ability to pass a context and additional request options. +// +// See ListRelays 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 *MailManager) ListRelaysWithContext(ctx aws.Context, input *ListRelaysInput, opts ...request.Option) (*ListRelaysOutput, error) { + req, out := c.ListRelaysRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListRelaysPages iterates over the pages of a ListRelays operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRelays 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 ListRelays operation. +// pageNum := 0 +// err := client.ListRelaysPages(params, +// func(page *mailmanager.ListRelaysOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MailManager) ListRelaysPages(input *ListRelaysInput, fn func(*ListRelaysOutput, bool) bool) error { + return c.ListRelaysPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRelaysPagesWithContext same as ListRelaysPages 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 *MailManager) ListRelaysPagesWithContext(ctx aws.Context, input *ListRelaysInput, fn func(*ListRelaysOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRelaysInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRelaysRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListRelaysOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListRuleSets = "ListRuleSets" + +// ListRuleSetsRequest generates a "aws/request.Request" representing the +// client's request for the ListRuleSets 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 ListRuleSets for more information on using the ListRuleSets +// 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 ListRuleSetsRequest method. +// req, resp := client.ListRuleSetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListRuleSets +func (c *MailManager) ListRuleSetsRequest(input *ListRuleSetsInput) (req *request.Request, output *ListRuleSetsOutput) { + op := &request.Operation{ + Name: opListRuleSets, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListRuleSetsInput{} + } + + output = &ListRuleSetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListRuleSets API operation for MailManager. +// +// List rule sets for this 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 MailManager's +// API operation ListRuleSets for usage and error information. +// +// Returned Error Types: +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListRuleSets +func (c *MailManager) ListRuleSets(input *ListRuleSetsInput) (*ListRuleSetsOutput, error) { + req, out := c.ListRuleSetsRequest(input) + return out, req.Send() +} + +// ListRuleSetsWithContext is the same as ListRuleSets with the addition of +// the ability to pass a context and additional request options. +// +// See ListRuleSets 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 *MailManager) ListRuleSetsWithContext(ctx aws.Context, input *ListRuleSetsInput, opts ...request.Option) (*ListRuleSetsOutput, error) { + req, out := c.ListRuleSetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListRuleSetsPages iterates over the pages of a ListRuleSets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRuleSets 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 ListRuleSets operation. +// pageNum := 0 +// err := client.ListRuleSetsPages(params, +// func(page *mailmanager.ListRuleSetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MailManager) ListRuleSetsPages(input *ListRuleSetsInput, fn func(*ListRuleSetsOutput, bool) bool) error { + return c.ListRuleSetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRuleSetsPagesWithContext same as ListRuleSetsPages 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 *MailManager) ListRuleSetsPagesWithContext(ctx aws.Context, input *ListRuleSetsInput, fn func(*ListRuleSetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRuleSetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRuleSetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListRuleSetsOutput), !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/mailmanager-2023-10-17/ListTagsForResource +func (c *MailManager) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for MailManager. +// +// Retrieves the list of tags (keys and values) assigned to the 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 MailManager's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListTagsForResource +func (c *MailManager) 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 *MailManager) 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() +} + +const opListTrafficPolicies = "ListTrafficPolicies" + +// ListTrafficPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListTrafficPolicies 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 ListTrafficPolicies for more information on using the ListTrafficPolicies +// 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 ListTrafficPoliciesRequest method. +// req, resp := client.ListTrafficPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListTrafficPolicies +func (c *MailManager) ListTrafficPoliciesRequest(input *ListTrafficPoliciesInput) (req *request.Request, output *ListTrafficPoliciesOutput) { + op := &request.Operation{ + Name: opListTrafficPolicies, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTrafficPoliciesInput{} + } + + output = &ListTrafficPoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTrafficPolicies API operation for MailManager. +// +// List traffic policy resources. +// +// 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 MailManager's +// API operation ListTrafficPolicies for usage and error information. +// +// Returned Error Types: +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/ListTrafficPolicies +func (c *MailManager) ListTrafficPolicies(input *ListTrafficPoliciesInput) (*ListTrafficPoliciesOutput, error) { + req, out := c.ListTrafficPoliciesRequest(input) + return out, req.Send() +} + +// ListTrafficPoliciesWithContext is the same as ListTrafficPolicies with the addition of +// the ability to pass a context and additional request options. +// +// See ListTrafficPolicies 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 *MailManager) ListTrafficPoliciesWithContext(ctx aws.Context, input *ListTrafficPoliciesInput, opts ...request.Option) (*ListTrafficPoliciesOutput, error) { + req, out := c.ListTrafficPoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTrafficPoliciesPages iterates over the pages of a ListTrafficPolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTrafficPolicies 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 ListTrafficPolicies operation. +// pageNum := 0 +// err := client.ListTrafficPoliciesPages(params, +// func(page *mailmanager.ListTrafficPoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MailManager) ListTrafficPoliciesPages(input *ListTrafficPoliciesInput, fn func(*ListTrafficPoliciesOutput, bool) bool) error { + return c.ListTrafficPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTrafficPoliciesPagesWithContext same as ListTrafficPoliciesPages 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 *MailManager) ListTrafficPoliciesPagesWithContext(ctx aws.Context, input *ListTrafficPoliciesInput, fn func(*ListTrafficPoliciesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTrafficPoliciesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTrafficPoliciesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTrafficPoliciesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opStartArchiveExport = "StartArchiveExport" + +// StartArchiveExportRequest generates a "aws/request.Request" representing the +// client's request for the StartArchiveExport 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 StartArchiveExport for more information on using the StartArchiveExport +// 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 StartArchiveExportRequest method. +// req, resp := client.StartArchiveExportRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/StartArchiveExport +func (c *MailManager) StartArchiveExportRequest(input *StartArchiveExportInput) (req *request.Request, output *StartArchiveExportOutput) { + op := &request.Operation{ + Name: opStartArchiveExport, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartArchiveExportInput{} + } + + output = &StartArchiveExportOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartArchiveExport API operation for MailManager. +// +// Initiates an export of emails from the specified archive. +// +// 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 MailManager's +// API operation StartArchiveExport for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ServiceQuotaExceededException +// Occurs when an operation exceeds a predefined service quota or limit. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/StartArchiveExport +func (c *MailManager) StartArchiveExport(input *StartArchiveExportInput) (*StartArchiveExportOutput, error) { + req, out := c.StartArchiveExportRequest(input) + return out, req.Send() +} + +// StartArchiveExportWithContext is the same as StartArchiveExport with the addition of +// the ability to pass a context and additional request options. +// +// See StartArchiveExport 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 *MailManager) StartArchiveExportWithContext(ctx aws.Context, input *StartArchiveExportInput, opts ...request.Option) (*StartArchiveExportOutput, error) { + req, out := c.StartArchiveExportRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartArchiveSearch = "StartArchiveSearch" + +// StartArchiveSearchRequest generates a "aws/request.Request" representing the +// client's request for the StartArchiveSearch 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 StartArchiveSearch for more information on using the StartArchiveSearch +// 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 StartArchiveSearchRequest method. +// req, resp := client.StartArchiveSearchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/StartArchiveSearch +func (c *MailManager) StartArchiveSearchRequest(input *StartArchiveSearchInput) (req *request.Request, output *StartArchiveSearchOutput) { + op := &request.Operation{ + Name: opStartArchiveSearch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartArchiveSearchInput{} + } + + output = &StartArchiveSearchOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartArchiveSearch API operation for MailManager. +// +// Initiates a search across emails in the specified archive. +// +// 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 MailManager's +// API operation StartArchiveSearch for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ServiceQuotaExceededException +// Occurs when an operation exceeds a predefined service quota or limit. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/StartArchiveSearch +func (c *MailManager) StartArchiveSearch(input *StartArchiveSearchInput) (*StartArchiveSearchOutput, error) { + req, out := c.StartArchiveSearchRequest(input) + return out, req.Send() +} + +// StartArchiveSearchWithContext is the same as StartArchiveSearch with the addition of +// the ability to pass a context and additional request options. +// +// See StartArchiveSearch 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 *MailManager) StartArchiveSearchWithContext(ctx aws.Context, input *StartArchiveSearchInput, opts ...request.Option) (*StartArchiveSearchOutput, error) { + req, out := c.StartArchiveSearchRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopArchiveExport = "StopArchiveExport" + +// StopArchiveExportRequest generates a "aws/request.Request" representing the +// client's request for the StopArchiveExport 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 StopArchiveExport for more information on using the StopArchiveExport +// 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 StopArchiveExportRequest method. +// req, resp := client.StopArchiveExportRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/StopArchiveExport +func (c *MailManager) StopArchiveExportRequest(input *StopArchiveExportInput) (req *request.Request, output *StopArchiveExportOutput) { + op := &request.Operation{ + Name: opStopArchiveExport, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopArchiveExportInput{} + } + + output = &StopArchiveExportOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopArchiveExport API operation for MailManager. +// +// Stops an in-progress export of emails from an archive. +// +// 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 MailManager's +// API operation StopArchiveExport for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/StopArchiveExport +func (c *MailManager) StopArchiveExport(input *StopArchiveExportInput) (*StopArchiveExportOutput, error) { + req, out := c.StopArchiveExportRequest(input) + return out, req.Send() +} + +// StopArchiveExportWithContext is the same as StopArchiveExport with the addition of +// the ability to pass a context and additional request options. +// +// See StopArchiveExport 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 *MailManager) StopArchiveExportWithContext(ctx aws.Context, input *StopArchiveExportInput, opts ...request.Option) (*StopArchiveExportOutput, error) { + req, out := c.StopArchiveExportRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopArchiveSearch = "StopArchiveSearch" + +// StopArchiveSearchRequest generates a "aws/request.Request" representing the +// client's request for the StopArchiveSearch 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 StopArchiveSearch for more information on using the StopArchiveSearch +// 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 StopArchiveSearchRequest method. +// req, resp := client.StopArchiveSearchRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/StopArchiveSearch +func (c *MailManager) StopArchiveSearchRequest(input *StopArchiveSearchInput) (req *request.Request, output *StopArchiveSearchOutput) { + op := &request.Operation{ + Name: opStopArchiveSearch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StopArchiveSearchInput{} + } + + output = &StopArchiveSearchOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopArchiveSearch API operation for MailManager. +// +// Stops an in-progress archive search job. +// +// 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 MailManager's +// API operation StopArchiveSearch for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/StopArchiveSearch +func (c *MailManager) StopArchiveSearch(input *StopArchiveSearchInput) (*StopArchiveSearchOutput, error) { + req, out := c.StopArchiveSearchRequest(input) + return out, req.Send() +} + +// StopArchiveSearchWithContext is the same as StopArchiveSearch with the addition of +// the ability to pass a context and additional request options. +// +// See StopArchiveSearch 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 *MailManager) StopArchiveSearchWithContext(ctx aws.Context, input *StopArchiveSearchInput, opts ...request.Option) (*StopArchiveSearchOutput, error) { + req, out := c.StopArchiveSearchRequest(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/mailmanager-2023-10-17/TagResource +func (c *MailManager) 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 MailManager. +// +// Adds one or more tags (keys and values) 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 MailManager's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ServiceQuotaExceededException +// Occurs when an operation exceeds a predefined service quota or limit. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/TagResource +func (c *MailManager) 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 *MailManager) 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/mailmanager-2023-10-17/UntagResource +func (c *MailManager) 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 MailManager. +// +// Remove one or more tags (keys and values) 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 MailManager's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UntagResource +func (c *MailManager) 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 *MailManager) 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 opUpdateArchive = "UpdateArchive" + +// UpdateArchiveRequest generates a "aws/request.Request" representing the +// client's request for the UpdateArchive 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 UpdateArchive for more information on using the UpdateArchive +// 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 UpdateArchiveRequest method. +// req, resp := client.UpdateArchiveRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UpdateArchive +func (c *MailManager) UpdateArchiveRequest(input *UpdateArchiveInput) (req *request.Request, output *UpdateArchiveOutput) { + op := &request.Operation{ + Name: opUpdateArchive, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateArchiveInput{} + } + + output = &UpdateArchiveOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateArchive API operation for MailManager. +// +// Updates the attributes of an existing email archive. +// +// 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 MailManager's +// API operation UpdateArchive for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - AccessDeniedException +// Occurs when a user is denied access to a specific resource or action. +// +// - ServiceQuotaExceededException +// Occurs when an operation exceeds a predefined service quota or limit. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// - ThrottlingException +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UpdateArchive +func (c *MailManager) UpdateArchive(input *UpdateArchiveInput) (*UpdateArchiveOutput, error) { + req, out := c.UpdateArchiveRequest(input) + return out, req.Send() +} + +// UpdateArchiveWithContext is the same as UpdateArchive with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateArchive 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 *MailManager) UpdateArchiveWithContext(ctx aws.Context, input *UpdateArchiveInput, opts ...request.Option) (*UpdateArchiveOutput, error) { + req, out := c.UpdateArchiveRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateIngressPoint = "UpdateIngressPoint" + +// UpdateIngressPointRequest generates a "aws/request.Request" representing the +// client's request for the UpdateIngressPoint 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 UpdateIngressPoint for more information on using the UpdateIngressPoint +// 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 UpdateIngressPointRequest method. +// req, resp := client.UpdateIngressPointRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UpdateIngressPoint +func (c *MailManager) UpdateIngressPointRequest(input *UpdateIngressPointInput) (req *request.Request, output *UpdateIngressPointOutput) { + op := &request.Operation{ + Name: opUpdateIngressPoint, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateIngressPointInput{} + } + + output = &UpdateIngressPointOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateIngressPoint API operation for MailManager. +// +// Update attributes of a provisioned ingress endpoint 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 MailManager's +// API operation UpdateIngressPoint for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UpdateIngressPoint +func (c *MailManager) UpdateIngressPoint(input *UpdateIngressPointInput) (*UpdateIngressPointOutput, error) { + req, out := c.UpdateIngressPointRequest(input) + return out, req.Send() +} + +// UpdateIngressPointWithContext is the same as UpdateIngressPoint with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateIngressPoint 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 *MailManager) UpdateIngressPointWithContext(ctx aws.Context, input *UpdateIngressPointInput, opts ...request.Option) (*UpdateIngressPointOutput, error) { + req, out := c.UpdateIngressPointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRelay = "UpdateRelay" + +// UpdateRelayRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRelay 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 UpdateRelay for more information on using the UpdateRelay +// 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 UpdateRelayRequest method. +// req, resp := client.UpdateRelayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UpdateRelay +func (c *MailManager) UpdateRelayRequest(input *UpdateRelayInput) (req *request.Request, output *UpdateRelayOutput) { + op := &request.Operation{ + Name: opUpdateRelay, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateRelayInput{} + } + + output = &UpdateRelayOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateRelay API operation for MailManager. +// +// Updates the attributes of an existing relay 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 MailManager's +// API operation UpdateRelay for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UpdateRelay +func (c *MailManager) UpdateRelay(input *UpdateRelayInput) (*UpdateRelayOutput, error) { + req, out := c.UpdateRelayRequest(input) + return out, req.Send() +} + +// UpdateRelayWithContext is the same as UpdateRelay with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRelay 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 *MailManager) UpdateRelayWithContext(ctx aws.Context, input *UpdateRelayInput, opts ...request.Option) (*UpdateRelayOutput, error) { + req, out := c.UpdateRelayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateRuleSet = "UpdateRuleSet" + +// UpdateRuleSetRequest generates a "aws/request.Request" representing the +// client's request for the UpdateRuleSet 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 UpdateRuleSet for more information on using the UpdateRuleSet +// 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 UpdateRuleSetRequest method. +// req, resp := client.UpdateRuleSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UpdateRuleSet +func (c *MailManager) UpdateRuleSetRequest(input *UpdateRuleSetInput) (req *request.Request, output *UpdateRuleSetOutput) { + op := &request.Operation{ + Name: opUpdateRuleSet, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateRuleSetInput{} + } + + output = &UpdateRuleSetOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateRuleSet API operation for MailManager. +// +// >Update attributes of an already provisioned rule set. +// +// 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 MailManager's +// API operation UpdateRuleSet for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UpdateRuleSet +func (c *MailManager) UpdateRuleSet(input *UpdateRuleSetInput) (*UpdateRuleSetOutput, error) { + req, out := c.UpdateRuleSetRequest(input) + return out, req.Send() +} + +// UpdateRuleSetWithContext is the same as UpdateRuleSet with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateRuleSet 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 *MailManager) UpdateRuleSetWithContext(ctx aws.Context, input *UpdateRuleSetInput, opts ...request.Option) (*UpdateRuleSetOutput, error) { + req, out := c.UpdateRuleSetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTrafficPolicy = "UpdateTrafficPolicy" + +// UpdateTrafficPolicyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTrafficPolicy 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 UpdateTrafficPolicy for more information on using the UpdateTrafficPolicy +// 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 UpdateTrafficPolicyRequest method. +// req, resp := client.UpdateTrafficPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UpdateTrafficPolicy +func (c *MailManager) UpdateTrafficPolicyRequest(input *UpdateTrafficPolicyInput) (req *request.Request, output *UpdateTrafficPolicyOutput) { + op := &request.Operation{ + Name: opUpdateTrafficPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateTrafficPolicyInput{} + } + + output = &UpdateTrafficPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateTrafficPolicy API operation for MailManager. +// +// Update attributes of an already provisioned traffic policy 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 MailManager's +// API operation UpdateTrafficPolicy for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request validation has failed. For details, see the accompanying error +// message. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ResourceNotFoundException +// Occurs when a requested resource is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17/UpdateTrafficPolicy +func (c *MailManager) UpdateTrafficPolicy(input *UpdateTrafficPolicyInput) (*UpdateTrafficPolicyOutput, error) { + req, out := c.UpdateTrafficPolicyRequest(input) + return out, req.Send() +} + +// UpdateTrafficPolicyWithContext is the same as UpdateTrafficPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTrafficPolicy 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 *MailManager) UpdateTrafficPolicyWithContext(ctx aws.Context, input *UpdateTrafficPolicyInput, opts ...request.Option) (*UpdateTrafficPolicyOutput, error) { + req, out := c.UpdateTrafficPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Occurs when a user is denied access to a specific resource or action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +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 +} + +// The action to add a header to a message. When executed, this action will +// add the given header to the message. +type AddHeaderAction struct { + _ struct{} `type:"structure"` + + // The name of the header to add to an email. The header must be prefixed with + // "X-". Headers are added regardless of whether the header name pre-existed + // in the email. + // + // HeaderName is a required field + HeaderName *string `min:"1" type:"string" required:"true"` + + // The value of the header to add to the email. + // + // HeaderValue is a required field + HeaderValue *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AddHeaderAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AddHeaderAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddHeaderAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddHeaderAction"} + if s.HeaderName == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderName")) + } + if s.HeaderName != nil && len(*s.HeaderName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HeaderName", 1)) + } + if s.HeaderValue == nil { + invalidParams.Add(request.NewErrParamRequired("HeaderValue")) + } + if s.HeaderValue != nil && len(*s.HeaderValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HeaderValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHeaderName sets the HeaderName field's value. +func (s *AddHeaderAction) SetHeaderName(v string) *AddHeaderAction { + s.HeaderName = &v + return s +} + +// SetHeaderValue sets the HeaderValue field's value. +func (s *AddHeaderAction) SetHeaderValue(v string) *AddHeaderAction { + s.HeaderValue = &v + return s +} + +// An Add On instance represents a specific configuration of an Add On. +type AddonInstance struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Add On instance. + AddonInstanceArn *string `type:"string"` + + // The unique ID of the Add On instance. + AddonInstanceId *string `min:"4" type:"string"` + + // The name of the Add On for the instance. + AddonName *string `type:"string"` + + // The subscription ID for the instance. + AddonSubscriptionId *string `min:"4" type:"string"` + + // The timestamp of when the Add On instance was created. + CreatedTimestamp *time.Time `type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AddonInstance) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AddonInstance) GoString() string { + return s.String() +} + +// SetAddonInstanceArn sets the AddonInstanceArn field's value. +func (s *AddonInstance) SetAddonInstanceArn(v string) *AddonInstance { + s.AddonInstanceArn = &v + return s +} + +// SetAddonInstanceId sets the AddonInstanceId field's value. +func (s *AddonInstance) SetAddonInstanceId(v string) *AddonInstance { + s.AddonInstanceId = &v + return s +} + +// SetAddonName sets the AddonName field's value. +func (s *AddonInstance) SetAddonName(v string) *AddonInstance { + s.AddonName = &v + return s +} + +// SetAddonSubscriptionId sets the AddonSubscriptionId field's value. +func (s *AddonInstance) SetAddonSubscriptionId(v string) *AddonInstance { + s.AddonSubscriptionId = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *AddonInstance) SetCreatedTimestamp(v time.Time) *AddonInstance { + s.CreatedTimestamp = &v + return s +} + +// A subscription for an Add On representing the acceptance of its terms of +// use and additional pricing. +type AddonSubscription struct { + _ struct{} `type:"structure"` + + // The name of the Add On. + AddonName *string `type:"string"` + + // The Amazon Resource Name (ARN) of the Add On subscription. + AddonSubscriptionArn *string `type:"string"` + + // The unique ID of the Add On subscription. + AddonSubscriptionId *string `min:"4" type:"string"` + + // The timestamp of when the Add On subscription was created. + CreatedTimestamp *time.Time `type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AddonSubscription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AddonSubscription) GoString() string { + return s.String() +} + +// SetAddonName sets the AddonName field's value. +func (s *AddonSubscription) SetAddonName(v string) *AddonSubscription { + s.AddonName = &v + return s +} + +// SetAddonSubscriptionArn sets the AddonSubscriptionArn field's value. +func (s *AddonSubscription) SetAddonSubscriptionArn(v string) *AddonSubscription { + s.AddonSubscriptionArn = &v + return s +} + +// SetAddonSubscriptionId sets the AddonSubscriptionId field's value. +func (s *AddonSubscription) SetAddonSubscriptionId(v string) *AddonSubscription { + s.AddonSubscriptionId = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *AddonSubscription) SetCreatedTimestamp(v time.Time) *AddonSubscription { + s.CreatedTimestamp = &v + return s +} + +// The result of an analysis can be used in conditions to trigger actions. Analyses +// can inspect the email content and report a certain aspect of the email. +type Analysis struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of an Add On. + // + // Analyzer is a required field + Analyzer *string `type:"string" required:"true"` + + // The returned value from an Add On. + // + // ResultField is a required field + ResultField *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Analysis) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Analysis) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Analysis) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Analysis"} + if s.Analyzer == nil { + invalidParams.Add(request.NewErrParamRequired("Analyzer")) + } + if s.ResultField == nil { + invalidParams.Add(request.NewErrParamRequired("ResultField")) + } + if s.ResultField != nil && len(*s.ResultField) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResultField", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnalyzer sets the Analyzer field's value. +func (s *Analysis) SetAnalyzer(v string) *Analysis { + s.Analyzer = &v + return s +} + +// SetResultField sets the ResultField field's value. +func (s *Analysis) SetResultField(v string) *Analysis { + s.ResultField = &v + return s +} + +// An archive resource for storing and retaining emails. +type Archive struct { + _ struct{} `type:"structure"` + + // The unique identifier of the archive. + // + // ArchiveId is a required field + ArchiveId *string `min:"1" type:"string" required:"true"` + + // The unique name assigned to the archive. + ArchiveName *string `min:"1" type:"string"` + + // The current state of the archive: + // + // * ACTIVE – The archive is ready and available for use. + // + // * PENDING_DELETION – The archive has been marked for deletion and will + // be permanently deleted in 30 days. No further modifications can be made + // in this state. + ArchiveState *string `type:"string" enum:"ArchiveState"` + + // The timestamp of when the archive was last updated. + LastUpdatedTimestamp *time.Time `type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Archive) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Archive) GoString() string { + return s.String() +} + +// SetArchiveId sets the ArchiveId field's value. +func (s *Archive) SetArchiveId(v string) *Archive { + s.ArchiveId = &v + return s +} + +// SetArchiveName sets the ArchiveName field's value. +func (s *Archive) SetArchiveName(v string) *Archive { + s.ArchiveName = &v + return s +} + +// SetArchiveState sets the ArchiveState field's value. +func (s *Archive) SetArchiveState(v string) *Archive { + s.ArchiveState = &v + return s +} + +// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value. +func (s *Archive) SetLastUpdatedTimestamp(v time.Time) *Archive { + s.LastUpdatedTimestamp = &v + return s +} + +// The action to archive the email by delivering the email to an Amazon SES +// archive. +type ArchiveAction struct { + _ struct{} `type:"structure"` + + // A policy that states what to do in the case of failure. The action will fail + // if there are configuration errors. For example, the specified archive has + // been deleted. + ActionFailurePolicy *string `type:"string" enum:"ActionFailurePolicy"` + + // The identifier of the archive to send the email to. + // + // TargetArchive is a required field + TargetArchive *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveAction"} + if s.TargetArchive == nil { + invalidParams.Add(request.NewErrParamRequired("TargetArchive")) + } + if s.TargetArchive != nil && len(*s.TargetArchive) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetArchive", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActionFailurePolicy sets the ActionFailurePolicy field's value. +func (s *ArchiveAction) SetActionFailurePolicy(v string) *ArchiveAction { + s.ActionFailurePolicy = &v + return s +} + +// SetTargetArchive sets the TargetArchive field's value. +func (s *ArchiveAction) SetTargetArchive(v string) *ArchiveAction { + s.TargetArchive = &v + return s +} + +// A boolean expression to evaluate email attribute values. +type ArchiveBooleanExpression struct { + _ struct{} `type:"structure"` + + // The email attribute value to evaluate. + // + // Evaluate is a required field + Evaluate *ArchiveBooleanToEvaluate `type:"structure" required:"true"` + + // The boolean operator to use for evaluation. + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"ArchiveBooleanOperator"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveBooleanExpression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveBooleanExpression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveBooleanExpression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveBooleanExpression"} + if s.Evaluate == nil { + invalidParams.Add(request.NewErrParamRequired("Evaluate")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluate sets the Evaluate field's value. +func (s *ArchiveBooleanExpression) SetEvaluate(v *ArchiveBooleanToEvaluate) *ArchiveBooleanExpression { + s.Evaluate = v + return s +} + +// SetOperator sets the Operator field's value. +func (s *ArchiveBooleanExpression) SetOperator(v string) *ArchiveBooleanExpression { + s.Operator = &v + return s +} + +// The attribute to evaluate in a boolean expression. +type ArchiveBooleanToEvaluate struct { + _ struct{} `type:"structure"` + + // The name of the email attribute to evaluate. + Attribute *string `type:"string" enum:"ArchiveBooleanEmailAttribute"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveBooleanToEvaluate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveBooleanToEvaluate) GoString() string { + return s.String() +} + +// SetAttribute sets the Attribute field's value. +func (s *ArchiveBooleanToEvaluate) SetAttribute(v string) *ArchiveBooleanToEvaluate { + s.Attribute = &v + return s +} + +// A filter condition used to include or exclude emails when exporting from +// or searching an archive. +type ArchiveFilterCondition struct { + _ struct{} `type:"structure"` + + // A boolean expression to evaluate against email attributes. + BooleanExpression *ArchiveBooleanExpression `type:"structure"` + + // A string expression to evaluate against email attributes. + StringExpression *ArchiveStringExpression `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveFilterCondition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveFilterCondition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveFilterCondition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveFilterCondition"} + if s.BooleanExpression != nil { + if err := s.BooleanExpression.Validate(); err != nil { + invalidParams.AddNested("BooleanExpression", err.(request.ErrInvalidParams)) + } + } + if s.StringExpression != nil { + if err := s.StringExpression.Validate(); err != nil { + invalidParams.AddNested("StringExpression", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBooleanExpression sets the BooleanExpression field's value. +func (s *ArchiveFilterCondition) SetBooleanExpression(v *ArchiveBooleanExpression) *ArchiveFilterCondition { + s.BooleanExpression = v + return s +} + +// SetStringExpression sets the StringExpression field's value. +func (s *ArchiveFilterCondition) SetStringExpression(v *ArchiveStringExpression) *ArchiveFilterCondition { + s.StringExpression = v + return s +} + +// A set of filter conditions to include and/or exclude emails. +type ArchiveFilters struct { + _ struct{} `type:"structure"` + + // The filter conditions for emails to include. + Include []*ArchiveFilterCondition `type:"list"` + + // The filter conditions for emails to exclude. + Unless []*ArchiveFilterCondition `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveFilters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveFilters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveFilters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveFilters"} + if s.Include != nil { + for i, v := range s.Include { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Include", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Unless != nil { + for i, v := range s.Unless { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Unless", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInclude sets the Include field's value. +func (s *ArchiveFilters) SetInclude(v []*ArchiveFilterCondition) *ArchiveFilters { + s.Include = v + return s +} + +// SetUnless sets the Unless field's value. +func (s *ArchiveFilters) SetUnless(v []*ArchiveFilterCondition) *ArchiveFilters { + s.Unless = v + return s +} + +// The retention policy for an email archive that specifies how long emails +// are kept before being automatically deleted. +type ArchiveRetention struct { + _ struct{} `type:"structure"` + + // The enum value sets the period for retaining emails in an archive. + RetentionPeriod *string `type:"string" enum:"RetentionPeriod"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveRetention) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveRetention) GoString() string { + return s.String() +} + +// SetRetentionPeriod sets the RetentionPeriod field's value. +func (s *ArchiveRetention) SetRetentionPeriod(v string) *ArchiveRetention { + s.RetentionPeriod = &v + return s +} + +// A string expression to evaluate an email attribute value against one or more +// string values. +type ArchiveStringExpression struct { + _ struct{} `type:"structure"` + + // The attribute of the email to evaluate. + // + // Evaluate is a required field + Evaluate *ArchiveStringToEvaluate `type:"structure" required:"true"` + + // The operator to use when evaluating the string values. + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"ArchiveStringOperator"` + + // The list of string values to evaluate the email attribute against. + // + // Values is a required field + Values []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveStringExpression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveStringExpression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ArchiveStringExpression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ArchiveStringExpression"} + if s.Evaluate == nil { + invalidParams.Add(request.NewErrParamRequired("Evaluate")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluate sets the Evaluate field's value. +func (s *ArchiveStringExpression) SetEvaluate(v *ArchiveStringToEvaluate) *ArchiveStringExpression { + s.Evaluate = v + return s +} + +// SetOperator sets the Operator field's value. +func (s *ArchiveStringExpression) SetOperator(v string) *ArchiveStringExpression { + s.Operator = &v + return s +} + +// SetValues sets the Values field's value. +func (s *ArchiveStringExpression) SetValues(v []*string) *ArchiveStringExpression { + s.Values = v + return s +} + +// Specifies the email attribute to evaluate in a string expression. +type ArchiveStringToEvaluate struct { + _ struct{} `type:"structure"` + + // The name of the email attribute to evaluate. + Attribute *string `type:"string" enum:"ArchiveStringEmailAttribute"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveStringToEvaluate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ArchiveStringToEvaluate) GoString() string { + return s.String() +} + +// SetAttribute sets the Attribute field's value. +func (s *ArchiveStringToEvaluate) SetAttribute(v string) *ArchiveStringToEvaluate { + s.Attribute = &v + return s +} + +// The request configuration has conflicts. For details, see the accompanying +// error message. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", 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 CreateAddonInstanceInput struct { + _ struct{} `type:"structure"` + + // The unique ID of a previously created subscription that an Add On instance + // is created for. You can only have one instance per subscription. + // + // AddonSubscriptionId is a required field + AddonSubscriptionId *string `min:"4" type:"string" required:"true"` + + // A unique token that Amazon SES uses to recognize subsequent retries of the + // same request. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The tags used to organize, track, or control access for the resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAddonInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAddonInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAddonInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAddonInstanceInput"} + if s.AddonSubscriptionId == nil { + invalidParams.Add(request.NewErrParamRequired("AddonSubscriptionId")) + } + if s.AddonSubscriptionId != nil && len(*s.AddonSubscriptionId) < 4 { + invalidParams.Add(request.NewErrParamMinLen("AddonSubscriptionId", 4)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 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 +} + +// SetAddonSubscriptionId sets the AddonSubscriptionId field's value. +func (s *CreateAddonInstanceInput) SetAddonSubscriptionId(v string) *CreateAddonInstanceInput { + s.AddonSubscriptionId = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateAddonInstanceInput) SetClientToken(v string) *CreateAddonInstanceInput { + s.ClientToken = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateAddonInstanceInput) SetTags(v []*Tag) *CreateAddonInstanceInput { + s.Tags = v + return s +} + +type CreateAddonInstanceOutput struct { + _ struct{} `type:"structure"` + + // The unique ID of the Add On instance created by this API. + // + // AddonInstanceId is a required field + AddonInstanceId *string `min:"4" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAddonInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAddonInstanceOutput) GoString() string { + return s.String() +} + +// SetAddonInstanceId sets the AddonInstanceId field's value. +func (s *CreateAddonInstanceOutput) SetAddonInstanceId(v string) *CreateAddonInstanceOutput { + s.AddonInstanceId = &v + return s +} + +type CreateAddonSubscriptionInput struct { + _ struct{} `type:"structure"` + + // The name of the Add On to subscribe to. You can only have one subscription + // for each Add On name. + // + // AddonName is a required field + AddonName *string `type:"string" required:"true"` + + // A unique token that Amazon SES uses to recognize subsequent retries of the + // same request. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The tags used to organize, track, or control access for the resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAddonSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAddonSubscriptionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAddonSubscriptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAddonSubscriptionInput"} + if s.AddonName == nil { + invalidParams.Add(request.NewErrParamRequired("AddonName")) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 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 +} + +// SetAddonName sets the AddonName field's value. +func (s *CreateAddonSubscriptionInput) SetAddonName(v string) *CreateAddonSubscriptionInput { + s.AddonName = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateAddonSubscriptionInput) SetClientToken(v string) *CreateAddonSubscriptionInput { + s.ClientToken = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateAddonSubscriptionInput) SetTags(v []*Tag) *CreateAddonSubscriptionInput { + s.Tags = v + return s +} + +type CreateAddonSubscriptionOutput struct { + _ struct{} `type:"structure"` + + // The unique ID of the Add On subscription created by this API. + // + // AddonSubscriptionId is a required field + AddonSubscriptionId *string `min:"4" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAddonSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAddonSubscriptionOutput) GoString() string { + return s.String() +} + +// SetAddonSubscriptionId sets the AddonSubscriptionId field's value. +func (s *CreateAddonSubscriptionOutput) SetAddonSubscriptionId(v string) *CreateAddonSubscriptionOutput { + s.AddonSubscriptionId = &v + return s +} + +// The request to create a new email archive. +type CreateArchiveInput struct { + _ struct{} `type:"structure"` + + // A unique name for the new archive. + // + // ArchiveName is a required field + ArchiveName *string `min:"1" type:"string" required:"true"` + + // A unique token Amazon SES uses to recognize retries of this request. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The Amazon Resource Name (ARN) of the KMS key for encrypting emails in the + // archive. + KmsKeyArn *string `type:"string"` + + // The period for retaining emails in the archive before automatic deletion. + Retention *ArchiveRetention `type:"structure"` + + // The tags used to organize, track, or control access for the resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateArchiveInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateArchiveInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateArchiveInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateArchiveInput"} + if s.ArchiveName == nil { + invalidParams.Add(request.NewErrParamRequired("ArchiveName")) + } + if s.ArchiveName != nil && len(*s.ArchiveName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ArchiveName", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 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 +} + +// SetArchiveName sets the ArchiveName field's value. +func (s *CreateArchiveInput) SetArchiveName(v string) *CreateArchiveInput { + s.ArchiveName = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateArchiveInput) SetClientToken(v string) *CreateArchiveInput { + s.ClientToken = &v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *CreateArchiveInput) SetKmsKeyArn(v string) *CreateArchiveInput { + s.KmsKeyArn = &v + return s +} + +// SetRetention sets the Retention field's value. +func (s *CreateArchiveInput) SetRetention(v *ArchiveRetention) *CreateArchiveInput { + s.Retention = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateArchiveInput) SetTags(v []*Tag) *CreateArchiveInput { + s.Tags = v + return s +} + +// The response from creating a new email archive. +type CreateArchiveOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the newly created archive. + // + // ArchiveId is a required field + ArchiveId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateArchiveOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateArchiveOutput) GoString() string { + return s.String() +} + +// SetArchiveId sets the ArchiveId field's value. +func (s *CreateArchiveOutput) SetArchiveId(v string) *CreateArchiveOutput { + s.ArchiveId = &v + return s +} + +type CreateIngressPointInput struct { + _ struct{} `type:"structure"` + + // A unique token that Amazon SES uses to recognize subsequent retries of the + // same request. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // If you choose an Authenticated ingress endpoint, you must configure either + // an SMTP password or a secret ARN. + IngressPointConfiguration *IngressPointConfiguration `type:"structure"` + + // A user friendly name for an ingress endpoint resource. + // + // IngressPointName is a required field + IngressPointName *string `min:"3" type:"string" required:"true"` + + // The identifier of an existing rule set that you attach to an ingress endpoint + // resource. + // + // RuleSetId is a required field + RuleSetId *string `min:"1" type:"string" required:"true"` + + // The tags used to organize, track, or control access for the resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. + Tags []*Tag `type:"list"` + + // The identifier of an existing traffic policy that you attach to an ingress + // endpoint resource. + // + // TrafficPolicyId is a required field + TrafficPolicyId *string `min:"1" type:"string" required:"true"` + + // The type of the ingress endpoint to create. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"IngressPointType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateIngressPointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateIngressPointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateIngressPointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateIngressPointInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.IngressPointName == nil { + invalidParams.Add(request.NewErrParamRequired("IngressPointName")) + } + if s.IngressPointName != nil && len(*s.IngressPointName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("IngressPointName", 3)) + } + if s.RuleSetId == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetId")) + } + if s.RuleSetId != nil && len(*s.RuleSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetId", 1)) + } + if s.TrafficPolicyId == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficPolicyId")) + } + if s.TrafficPolicyId != nil && len(*s.TrafficPolicyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyId", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.IngressPointConfiguration != nil { + if err := s.IngressPointConfiguration.Validate(); err != nil { + invalidParams.AddNested("IngressPointConfiguration", 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 +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateIngressPointInput) SetClientToken(v string) *CreateIngressPointInput { + s.ClientToken = &v + return s +} + +// SetIngressPointConfiguration sets the IngressPointConfiguration field's value. +func (s *CreateIngressPointInput) SetIngressPointConfiguration(v *IngressPointConfiguration) *CreateIngressPointInput { + s.IngressPointConfiguration = v + return s +} + +// SetIngressPointName sets the IngressPointName field's value. +func (s *CreateIngressPointInput) SetIngressPointName(v string) *CreateIngressPointInput { + s.IngressPointName = &v + return s +} + +// SetRuleSetId sets the RuleSetId field's value. +func (s *CreateIngressPointInput) SetRuleSetId(v string) *CreateIngressPointInput { + s.RuleSetId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateIngressPointInput) SetTags(v []*Tag) *CreateIngressPointInput { + s.Tags = v + return s +} + +// SetTrafficPolicyId sets the TrafficPolicyId field's value. +func (s *CreateIngressPointInput) SetTrafficPolicyId(v string) *CreateIngressPointInput { + s.TrafficPolicyId = &v + return s +} + +// SetType sets the Type field's value. +func (s *CreateIngressPointInput) SetType(v string) *CreateIngressPointInput { + s.Type = &v + return s +} + +type CreateIngressPointOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for a previously created ingress endpoint. + // + // IngressPointId is a required field + IngressPointId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateIngressPointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateIngressPointOutput) GoString() string { + return s.String() +} + +// SetIngressPointId sets the IngressPointId field's value. +func (s *CreateIngressPointOutput) SetIngressPointId(v string) *CreateIngressPointOutput { + s.IngressPointId = &v + return s +} + +type CreateRelayInput struct { + _ struct{} `type:"structure"` + + // Authentication for the relay destination server—specify the secretARN where + // the SMTP credentials are stored. + // + // Authentication is a required field + Authentication *RelayAuthentication `type:"structure" required:"true"` + + // A unique token that Amazon SES uses to recognize subsequent retries of the + // same request. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The unique name of the relay resource. + // + // RelayName is a required field + RelayName *string `min:"1" type:"string" required:"true"` + + // The destination relay server address. + // + // ServerName is a required field + ServerName *string `min:"1" type:"string" required:"true"` + + // The destination relay server port. + // + // ServerPort is a required field + ServerPort *int64 `min:"1" type:"integer" required:"true"` + + // The tags used to organize, track, or control access for the resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRelayInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRelayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateRelayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRelayInput"} + if s.Authentication == nil { + invalidParams.Add(request.NewErrParamRequired("Authentication")) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.RelayName == nil { + invalidParams.Add(request.NewErrParamRequired("RelayName")) + } + if s.RelayName != nil && len(*s.RelayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RelayName", 1)) + } + if s.ServerName == nil { + invalidParams.Add(request.NewErrParamRequired("ServerName")) + } + if s.ServerName != nil && len(*s.ServerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServerName", 1)) + } + if s.ServerPort == nil { + invalidParams.Add(request.NewErrParamRequired("ServerPort")) + } + if s.ServerPort != nil && *s.ServerPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("ServerPort", 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 +} + +// SetAuthentication sets the Authentication field's value. +func (s *CreateRelayInput) SetAuthentication(v *RelayAuthentication) *CreateRelayInput { + s.Authentication = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateRelayInput) SetClientToken(v string) *CreateRelayInput { + s.ClientToken = &v + return s +} + +// SetRelayName sets the RelayName field's value. +func (s *CreateRelayInput) SetRelayName(v string) *CreateRelayInput { + s.RelayName = &v + return s +} + +// SetServerName sets the ServerName field's value. +func (s *CreateRelayInput) SetServerName(v string) *CreateRelayInput { + s.ServerName = &v + return s +} + +// SetServerPort sets the ServerPort field's value. +func (s *CreateRelayInput) SetServerPort(v int64) *CreateRelayInput { + s.ServerPort = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateRelayInput) SetTags(v []*Tag) *CreateRelayInput { + s.Tags = v + return s +} + +type CreateRelayOutput struct { + _ struct{} `type:"structure"` + + // A unique identifier of the created relay resource. + // + // RelayId is a required field + RelayId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRelayOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRelayOutput) GoString() string { + return s.String() +} + +// SetRelayId sets the RelayId field's value. +func (s *CreateRelayOutput) SetRelayId(v string) *CreateRelayOutput { + s.RelayId = &v + return s +} + +type CreateRuleSetInput struct { + _ struct{} `type:"structure"` + + // A unique token that Amazon SES uses to recognize subsequent retries of the + // same request. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // A user-friendly name for the rule set. + // + // RuleSetName is a required field + RuleSetName *string `min:"1" type:"string" required:"true"` + + // Conditional rules that are evaluated for determining actions on email. + // + // Rules is a required field + Rules []*Rule `type:"list" required:"true"` + + // The tags used to organize, track, or control access for the resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRuleSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateRuleSetInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.RuleSetName == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetName")) + } + if s.RuleSetName != nil && len(*s.RuleSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1)) + } + if s.Rules == nil { + invalidParams.Add(request.NewErrParamRequired("Rules")) + } + if s.Rules != nil { + for i, v := range s.Rules { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", 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 +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateRuleSetInput) SetClientToken(v string) *CreateRuleSetInput { + s.ClientToken = &v + return s +} + +// SetRuleSetName sets the RuleSetName field's value. +func (s *CreateRuleSetInput) SetRuleSetName(v string) *CreateRuleSetInput { + s.RuleSetName = &v + return s +} + +// SetRules sets the Rules field's value. +func (s *CreateRuleSetInput) SetRules(v []*Rule) *CreateRuleSetInput { + s.Rules = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateRuleSetInput) SetTags(v []*Tag) *CreateRuleSetInput { + s.Tags = v + return s +} + +type CreateRuleSetOutput struct { + _ struct{} `type:"structure"` + + // The identifier of the created rule set. + // + // RuleSetId is a required field + RuleSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateRuleSetOutput) GoString() string { + return s.String() +} + +// SetRuleSetId sets the RuleSetId field's value. +func (s *CreateRuleSetOutput) SetRuleSetId(v string) *CreateRuleSetOutput { + s.RuleSetId = &v + return s +} + +type CreateTrafficPolicyInput struct { + _ struct{} `type:"structure"` + + // A unique token that Amazon SES uses to recognize subsequent retries of the + // same request. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // Default action instructs the traffic policy to either Allow or Deny (block) + // messages that fall outside of (or not addressed by) the conditions of your + // policy statements + // + // DefaultAction is a required field + DefaultAction *string `type:"string" required:"true" enum:"AcceptAction"` + + // The maximum message size in bytes of email which is allowed in by this traffic + // policy—anything larger will be blocked. + MaxMessageSizeBytes *int64 `min:"1" type:"integer"` + + // Conditional statements for filtering email traffic. + // + // PolicyStatements is a required field + PolicyStatements []*PolicyStatement `type:"list" required:"true"` + + // The tags used to organize, track, or control access for the resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. + Tags []*Tag `type:"list"` + + // A user-friendly name for the traffic policy resource. + // + // TrafficPolicyName is a required field + TrafficPolicyName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTrafficPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTrafficPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTrafficPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTrafficPolicyInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.DefaultAction == nil { + invalidParams.Add(request.NewErrParamRequired("DefaultAction")) + } + if s.MaxMessageSizeBytes != nil && *s.MaxMessageSizeBytes < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxMessageSizeBytes", 1)) + } + if s.PolicyStatements == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyStatements")) + } + if s.TrafficPolicyName == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficPolicyName")) + } + if s.TrafficPolicyName != nil && len(*s.TrafficPolicyName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyName", 3)) + } + if s.PolicyStatements != nil { + for i, v := range s.PolicyStatements { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PolicyStatements", 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 +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateTrafficPolicyInput) SetClientToken(v string) *CreateTrafficPolicyInput { + s.ClientToken = &v + return s +} + +// SetDefaultAction sets the DefaultAction field's value. +func (s *CreateTrafficPolicyInput) SetDefaultAction(v string) *CreateTrafficPolicyInput { + s.DefaultAction = &v + return s +} + +// SetMaxMessageSizeBytes sets the MaxMessageSizeBytes field's value. +func (s *CreateTrafficPolicyInput) SetMaxMessageSizeBytes(v int64) *CreateTrafficPolicyInput { + s.MaxMessageSizeBytes = &v + return s +} + +// SetPolicyStatements sets the PolicyStatements field's value. +func (s *CreateTrafficPolicyInput) SetPolicyStatements(v []*PolicyStatement) *CreateTrafficPolicyInput { + s.PolicyStatements = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateTrafficPolicyInput) SetTags(v []*Tag) *CreateTrafficPolicyInput { + s.Tags = v + return s +} + +// SetTrafficPolicyName sets the TrafficPolicyName field's value. +func (s *CreateTrafficPolicyInput) SetTrafficPolicyName(v string) *CreateTrafficPolicyInput { + s.TrafficPolicyName = &v + return s +} + +type CreateTrafficPolicyOutput struct { + _ struct{} `type:"structure"` + + // The identifier of the traffic policy resource. + // + // TrafficPolicyId is a required field + TrafficPolicyId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTrafficPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTrafficPolicyOutput) GoString() string { + return s.String() +} + +// SetTrafficPolicyId sets the TrafficPolicyId field's value. +func (s *CreateTrafficPolicyOutput) SetTrafficPolicyId(v string) *CreateTrafficPolicyOutput { + s.TrafficPolicyId = &v + return s +} + +type DeleteAddonInstanceInput struct { + _ struct{} `type:"structure"` + + // The Add On instance ID to delete. + // + // AddonInstanceId is a required field + AddonInstanceId *string `min:"4" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAddonInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAddonInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAddonInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAddonInstanceInput"} + if s.AddonInstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("AddonInstanceId")) + } + if s.AddonInstanceId != nil && len(*s.AddonInstanceId) < 4 { + invalidParams.Add(request.NewErrParamMinLen("AddonInstanceId", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddonInstanceId sets the AddonInstanceId field's value. +func (s *DeleteAddonInstanceInput) SetAddonInstanceId(v string) *DeleteAddonInstanceInput { + s.AddonInstanceId = &v + return s +} + +type DeleteAddonInstanceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAddonInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAddonInstanceOutput) GoString() string { + return s.String() +} + +type DeleteAddonSubscriptionInput struct { + _ struct{} `type:"structure"` + + // The Add On subscription ID to delete. + // + // AddonSubscriptionId is a required field + AddonSubscriptionId *string `min:"4" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAddonSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAddonSubscriptionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAddonSubscriptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAddonSubscriptionInput"} + if s.AddonSubscriptionId == nil { + invalidParams.Add(request.NewErrParamRequired("AddonSubscriptionId")) + } + if s.AddonSubscriptionId != nil && len(*s.AddonSubscriptionId) < 4 { + invalidParams.Add(request.NewErrParamMinLen("AddonSubscriptionId", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddonSubscriptionId sets the AddonSubscriptionId field's value. +func (s *DeleteAddonSubscriptionInput) SetAddonSubscriptionId(v string) *DeleteAddonSubscriptionInput { + s.AddonSubscriptionId = &v + return s +} + +type DeleteAddonSubscriptionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAddonSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAddonSubscriptionOutput) GoString() string { + return s.String() +} + +// The request to initiate deletion of an email archive. +type DeleteArchiveInput struct { + _ struct{} `type:"structure"` + + // The identifier of the archive to delete. + // + // ArchiveId is a required field + ArchiveId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteArchiveInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteArchiveInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteArchiveInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteArchiveInput"} + if s.ArchiveId == nil { + invalidParams.Add(request.NewErrParamRequired("ArchiveId")) + } + if s.ArchiveId != nil && len(*s.ArchiveId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ArchiveId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArchiveId sets the ArchiveId field's value. +func (s *DeleteArchiveInput) SetArchiveId(v string) *DeleteArchiveInput { + s.ArchiveId = &v + return s +} + +// The response indicating if the archive deletion was successfully initiated. +// +// On success, returns an HTTP 200 status code. On failure, returns an error +// message. +type DeleteArchiveOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteArchiveOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteArchiveOutput) GoString() string { + return s.String() +} + +type DeleteIngressPointInput struct { + _ struct{} `type:"structure"` + + // The identifier of the ingress endpoint resource that you want to delete. + // + // IngressPointId is a required field + IngressPointId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteIngressPointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteIngressPointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteIngressPointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIngressPointInput"} + if s.IngressPointId == nil { + invalidParams.Add(request.NewErrParamRequired("IngressPointId")) + } + if s.IngressPointId != nil && len(*s.IngressPointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IngressPointId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIngressPointId sets the IngressPointId field's value. +func (s *DeleteIngressPointInput) SetIngressPointId(v string) *DeleteIngressPointInput { + s.IngressPointId = &v + return s +} + +type DeleteIngressPointOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteIngressPointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteIngressPointOutput) GoString() string { + return s.String() +} + +type DeleteRelayInput struct { + _ struct{} `type:"structure"` + + // The unique relay identifier. + // + // RelayId is a required field + RelayId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRelayInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRelayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRelayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRelayInput"} + if s.RelayId == nil { + invalidParams.Add(request.NewErrParamRequired("RelayId")) + } + if s.RelayId != nil && len(*s.RelayId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RelayId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRelayId sets the RelayId field's value. +func (s *DeleteRelayInput) SetRelayId(v string) *DeleteRelayInput { + s.RelayId = &v + return s +} + +type DeleteRelayOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRelayOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRelayOutput) GoString() string { + return s.String() +} + +type DeleteRuleSetInput struct { + _ struct{} `type:"structure"` + + // The identifier of an existing rule set resource to delete. + // + // RuleSetId is a required field + RuleSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRuleSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteRuleSetInput"} + if s.RuleSetId == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetId")) + } + if s.RuleSetId != nil && len(*s.RuleSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRuleSetId sets the RuleSetId field's value. +func (s *DeleteRuleSetInput) SetRuleSetId(v string) *DeleteRuleSetInput { + s.RuleSetId = &v + return s +} + +type DeleteRuleSetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteRuleSetOutput) GoString() string { + return s.String() +} + +type DeleteTrafficPolicyInput struct { + _ struct{} `type:"structure"` + + // The identifier of the traffic policy that you want to delete. + // + // TrafficPolicyId is a required field + TrafficPolicyId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTrafficPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTrafficPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTrafficPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficPolicyInput"} + if s.TrafficPolicyId == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficPolicyId")) + } + if s.TrafficPolicyId != nil && len(*s.TrafficPolicyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTrafficPolicyId sets the TrafficPolicyId field's value. +func (s *DeleteTrafficPolicyInput) SetTrafficPolicyId(v string) *DeleteTrafficPolicyInput { + s.TrafficPolicyId = &v + return s +} + +type DeleteTrafficPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTrafficPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTrafficPolicyOutput) GoString() string { + return s.String() +} + +// This action to delivers an email to a mailbox. +type DeliverToMailboxAction struct { + _ struct{} `type:"structure"` + + // A policy that states what to do in the case of failure. The action will fail + // if there are configuration errors. For example, the mailbox ARN is no longer + // valid. + ActionFailurePolicy *string `type:"string" enum:"ActionFailurePolicy"` + + // The Amazon Resource Name (ARN) of a WorkMail organization to deliver the + // email to. + // + // MailboxArn is a required field + MailboxArn *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of an IAM role to use to execute this action. + // The role must have access to the workmail:DeliverToMailbox API. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeliverToMailboxAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeliverToMailboxAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeliverToMailboxAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeliverToMailboxAction"} + if s.MailboxArn == nil { + invalidParams.Add(request.NewErrParamRequired("MailboxArn")) + } + if s.MailboxArn != nil && len(*s.MailboxArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MailboxArn", 1)) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActionFailurePolicy sets the ActionFailurePolicy field's value. +func (s *DeliverToMailboxAction) SetActionFailurePolicy(v string) *DeliverToMailboxAction { + s.ActionFailurePolicy = &v + return s +} + +// SetMailboxArn sets the MailboxArn field's value. +func (s *DeliverToMailboxAction) SetMailboxArn(v string) *DeliverToMailboxAction { + s.MailboxArn = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *DeliverToMailboxAction) SetRoleArn(v string) *DeliverToMailboxAction { + s.RoleArn = &v + return s +} + +// This action causes processing to stop and the email to be dropped. If the +// action applies only to certain recipients, only those recipients are dropped, +// and processing continues for other recipients. +type DropAction struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DropAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DropAction) GoString() string { + return s.String() +} + +// The destination configuration for delivering exported email data. +type ExportDestinationConfiguration struct { + _ struct{} `type:"structure"` + + // Configuration for delivering to an Amazon S3 bucket. + S3 *S3ExportDestinationConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExportDestinationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExportDestinationConfiguration) GoString() string { + return s.String() +} + +// SetS3 sets the S3 field's value. +func (s *ExportDestinationConfiguration) SetS3(v *S3ExportDestinationConfiguration) *ExportDestinationConfiguration { + s.S3 = v + return s +} + +// The current status of an archive export job. +type ExportStatus struct { + _ struct{} `type:"structure"` + + // The timestamp of when the export job completed (if finished). + CompletionTimestamp *time.Time `type:"timestamp"` + + // An error message if the export job failed. + ErrorMessage *string `type:"string"` + + // The current state of the export job. + State *string `type:"string" enum:"ExportState"` + + // The timestamp of when the export job was submitted. + SubmissionTimestamp *time.Time `type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExportStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExportStatus) GoString() string { + return s.String() +} + +// SetCompletionTimestamp sets the CompletionTimestamp field's value. +func (s *ExportStatus) SetCompletionTimestamp(v time.Time) *ExportStatus { + s.CompletionTimestamp = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *ExportStatus) SetErrorMessage(v string) *ExportStatus { + s.ErrorMessage = &v + return s +} + +// SetState sets the State field's value. +func (s *ExportStatus) SetState(v string) *ExportStatus { + s.State = &v + return s +} + +// SetSubmissionTimestamp sets the SubmissionTimestamp field's value. +func (s *ExportStatus) SetSubmissionTimestamp(v time.Time) *ExportStatus { + s.SubmissionTimestamp = &v + return s +} + +// Summary statuses of an archive export job. +type ExportSummary struct { + _ struct{} `type:"structure"` + + // The unique identifier of the export job. + ExportId *string `min:"1" type:"string"` + + // The current status of the export job. + Status *ExportStatus `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExportSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExportSummary) GoString() string { + return s.String() +} + +// SetExportId sets the ExportId field's value. +func (s *ExportSummary) SetExportId(v string) *ExportSummary { + s.ExportId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ExportSummary) SetStatus(v *ExportStatus) *ExportSummary { + s.Status = v + return s +} + +type GetAddonInstanceInput struct { + _ struct{} `type:"structure"` + + // The Add On instance ID to retrieve information for. + // + // AddonInstanceId is a required field + AddonInstanceId *string `min:"4" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAddonInstanceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAddonInstanceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAddonInstanceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAddonInstanceInput"} + if s.AddonInstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("AddonInstanceId")) + } + if s.AddonInstanceId != nil && len(*s.AddonInstanceId) < 4 { + invalidParams.Add(request.NewErrParamMinLen("AddonInstanceId", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddonInstanceId sets the AddonInstanceId field's value. +func (s *GetAddonInstanceInput) SetAddonInstanceId(v string) *GetAddonInstanceInput { + s.AddonInstanceId = &v + return s +} + +type GetAddonInstanceOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Add On instance. + AddonInstanceArn *string `type:"string"` + + // The name of the Add On provider associated to the subscription of the instance. + AddonName *string `type:"string"` + + // The subscription ID associated to the instance. + AddonSubscriptionId *string `min:"4" type:"string"` + + // The timestamp of when the Add On instance was created. + CreatedTimestamp *time.Time `type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAddonInstanceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAddonInstanceOutput) GoString() string { + return s.String() +} + +// SetAddonInstanceArn sets the AddonInstanceArn field's value. +func (s *GetAddonInstanceOutput) SetAddonInstanceArn(v string) *GetAddonInstanceOutput { + s.AddonInstanceArn = &v + return s +} + +// SetAddonName sets the AddonName field's value. +func (s *GetAddonInstanceOutput) SetAddonName(v string) *GetAddonInstanceOutput { + s.AddonName = &v + return s +} + +// SetAddonSubscriptionId sets the AddonSubscriptionId field's value. +func (s *GetAddonInstanceOutput) SetAddonSubscriptionId(v string) *GetAddonInstanceOutput { + s.AddonSubscriptionId = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *GetAddonInstanceOutput) SetCreatedTimestamp(v time.Time) *GetAddonInstanceOutput { + s.CreatedTimestamp = &v + return s +} + +type GetAddonSubscriptionInput struct { + _ struct{} `type:"structure"` + + // The Add On subscription ID to retrieve information for. + // + // AddonSubscriptionId is a required field + AddonSubscriptionId *string `min:"4" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAddonSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAddonSubscriptionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAddonSubscriptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAddonSubscriptionInput"} + if s.AddonSubscriptionId == nil { + invalidParams.Add(request.NewErrParamRequired("AddonSubscriptionId")) + } + if s.AddonSubscriptionId != nil && len(*s.AddonSubscriptionId) < 4 { + invalidParams.Add(request.NewErrParamMinLen("AddonSubscriptionId", 4)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddonSubscriptionId sets the AddonSubscriptionId field's value. +func (s *GetAddonSubscriptionInput) SetAddonSubscriptionId(v string) *GetAddonSubscriptionInput { + s.AddonSubscriptionId = &v + return s +} + +type GetAddonSubscriptionOutput struct { + _ struct{} `type:"structure"` + + // The name of the Add On for the subscription. + AddonName *string `type:"string"` + + // Amazon Resource Name (ARN) for the subscription. + AddonSubscriptionArn *string `type:"string"` + + // The timestamp of when the Add On subscription was created. + CreatedTimestamp *time.Time `type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAddonSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAddonSubscriptionOutput) GoString() string { + return s.String() +} + +// SetAddonName sets the AddonName field's value. +func (s *GetAddonSubscriptionOutput) SetAddonName(v string) *GetAddonSubscriptionOutput { + s.AddonName = &v + return s +} + +// SetAddonSubscriptionArn sets the AddonSubscriptionArn field's value. +func (s *GetAddonSubscriptionOutput) SetAddonSubscriptionArn(v string) *GetAddonSubscriptionOutput { + s.AddonSubscriptionArn = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *GetAddonSubscriptionOutput) SetCreatedTimestamp(v time.Time) *GetAddonSubscriptionOutput { + s.CreatedTimestamp = &v + return s +} + +// The request to retrieve details of a specific archive export job. +type GetArchiveExportInput struct { + _ struct{} `type:"structure"` + + // The identifier of the export job to get details for. + // + // ExportId is a required field + ExportId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveExportInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveExportInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetArchiveExportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetArchiveExportInput"} + if s.ExportId == nil { + invalidParams.Add(request.NewErrParamRequired("ExportId")) + } + if s.ExportId != nil && len(*s.ExportId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExportId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExportId sets the ExportId field's value. +func (s *GetArchiveExportInput) SetExportId(v string) *GetArchiveExportInput { + s.ExportId = &v + return s +} + +// The response containing details of the specified archive export job. +type GetArchiveExportOutput struct { + _ struct{} `type:"structure"` + + // The identifier of the archive the email export was performed from. + ArchiveId *string `min:"3" type:"string"` + + // Where the exported emails are being delivered. + ExportDestinationConfiguration *ExportDestinationConfiguration `type:"structure"` + + // The criteria used to filter emails included in the export. + Filters *ArchiveFilters `type:"structure"` + + // The start of the timestamp range the exported emails cover. + FromTimestamp *time.Time `type:"timestamp"` + + // The maximum number of email items included in the export. + MaxResults *int64 `type:"integer"` + + // The current status of the export job. + Status *ExportStatus `type:"structure"` + + // The end of the date range the exported emails cover. + ToTimestamp *time.Time `type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveExportOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveExportOutput) GoString() string { + return s.String() +} + +// SetArchiveId sets the ArchiveId field's value. +func (s *GetArchiveExportOutput) SetArchiveId(v string) *GetArchiveExportOutput { + s.ArchiveId = &v + return s +} + +// SetExportDestinationConfiguration sets the ExportDestinationConfiguration field's value. +func (s *GetArchiveExportOutput) SetExportDestinationConfiguration(v *ExportDestinationConfiguration) *GetArchiveExportOutput { + s.ExportDestinationConfiguration = v + return s +} + +// SetFilters sets the Filters field's value. +func (s *GetArchiveExportOutput) SetFilters(v *ArchiveFilters) *GetArchiveExportOutput { + s.Filters = v + return s +} + +// SetFromTimestamp sets the FromTimestamp field's value. +func (s *GetArchiveExportOutput) SetFromTimestamp(v time.Time) *GetArchiveExportOutput { + s.FromTimestamp = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetArchiveExportOutput) SetMaxResults(v int64) *GetArchiveExportOutput { + s.MaxResults = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetArchiveExportOutput) SetStatus(v *ExportStatus) *GetArchiveExportOutput { + s.Status = v + return s +} + +// SetToTimestamp sets the ToTimestamp field's value. +func (s *GetArchiveExportOutput) SetToTimestamp(v time.Time) *GetArchiveExportOutput { + s.ToTimestamp = &v + return s +} + +// The request to retrieve details of an email archive. +type GetArchiveInput struct { + _ struct{} `type:"structure"` + + // The identifier of the archive to retrieve. + // + // ArchiveId is a required field + ArchiveId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetArchiveInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetArchiveInput"} + if s.ArchiveId == nil { + invalidParams.Add(request.NewErrParamRequired("ArchiveId")) + } + if s.ArchiveId != nil && len(*s.ArchiveId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ArchiveId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArchiveId sets the ArchiveId field's value. +func (s *GetArchiveInput) SetArchiveId(v string) *GetArchiveInput { + s.ArchiveId = &v + return s +} + +// The request to get the textual content of a specific email message stored +// in an archive. +type GetArchiveMessageContentInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the archived email message. + // + // ArchivedMessageId is a required field + ArchivedMessageId *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveMessageContentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveMessageContentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetArchiveMessageContentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetArchiveMessageContentInput"} + if s.ArchivedMessageId == nil { + invalidParams.Add(request.NewErrParamRequired("ArchivedMessageId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArchivedMessageId sets the ArchivedMessageId field's value. +func (s *GetArchiveMessageContentInput) SetArchivedMessageId(v string) *GetArchiveMessageContentInput { + s.ArchivedMessageId = &v + return s +} + +// The response containing the textual content of the requested archived email +// message. +type GetArchiveMessageContentOutput struct { + _ struct{} `type:"structure"` + + // The textual body content of the email message. + Body *MessageBody `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveMessageContentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveMessageContentOutput) GoString() string { + return s.String() +} + +// SetBody sets the Body field's value. +func (s *GetArchiveMessageContentOutput) SetBody(v *MessageBody) *GetArchiveMessageContentOutput { + s.Body = v + return s +} + +// The request to get details of a specific email message stored in an archive. +type GetArchiveMessageInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the archived email message. + // + // ArchivedMessageId is a required field + ArchivedMessageId *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveMessageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveMessageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetArchiveMessageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetArchiveMessageInput"} + if s.ArchivedMessageId == nil { + invalidParams.Add(request.NewErrParamRequired("ArchivedMessageId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArchivedMessageId sets the ArchivedMessageId field's value. +func (s *GetArchiveMessageInput) SetArchivedMessageId(v string) *GetArchiveMessageInput { + s.ArchivedMessageId = &v + return s +} + +// The response containing details about the requested archived email message. +type GetArchiveMessageOutput struct { + _ struct{} `type:"structure"` + + // A pre-signed URL to temporarily download the full message content. + MessageDownloadLink *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveMessageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveMessageOutput) GoString() string { + return s.String() +} + +// SetMessageDownloadLink sets the MessageDownloadLink field's value. +func (s *GetArchiveMessageOutput) SetMessageDownloadLink(v string) *GetArchiveMessageOutput { + s.MessageDownloadLink = &v + return s +} + +// The response containing details of the requested archive. +type GetArchiveOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the archive. + // + // ArchiveArn is a required field + ArchiveArn *string `type:"string" required:"true"` + + // The unique identifier of the archive. + // + // ArchiveId is a required field + ArchiveId *string `min:"1" type:"string" required:"true"` + + // The unique name assigned to the archive. + // + // ArchiveName is a required field + ArchiveName *string `min:"1" type:"string" required:"true"` + + // The current state of the archive: + // + // * ACTIVE – The archive is ready and available for use. + // + // * PENDING_DELETION – The archive has been marked for deletion and will + // be permanently deleted in 30 days. No further modifications can be made + // in this state. + // + // ArchiveState is a required field + ArchiveState *string `type:"string" required:"true" enum:"ArchiveState"` + + // The timestamp of when the archive was created. + CreatedTimestamp *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the KMS key used to encrypt the archive. + KmsKeyArn *string `type:"string"` + + // The timestamp of when the archive was modified. + LastUpdatedTimestamp *time.Time `type:"timestamp"` + + // The retention period for emails in this archive. + // + // Retention is a required field + Retention *ArchiveRetention `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveOutput) GoString() string { + return s.String() +} + +// SetArchiveArn sets the ArchiveArn field's value. +func (s *GetArchiveOutput) SetArchiveArn(v string) *GetArchiveOutput { + s.ArchiveArn = &v + return s +} + +// SetArchiveId sets the ArchiveId field's value. +func (s *GetArchiveOutput) SetArchiveId(v string) *GetArchiveOutput { + s.ArchiveId = &v + return s +} + +// SetArchiveName sets the ArchiveName field's value. +func (s *GetArchiveOutput) SetArchiveName(v string) *GetArchiveOutput { + s.ArchiveName = &v + return s +} + +// SetArchiveState sets the ArchiveState field's value. +func (s *GetArchiveOutput) SetArchiveState(v string) *GetArchiveOutput { + s.ArchiveState = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *GetArchiveOutput) SetCreatedTimestamp(v time.Time) *GetArchiveOutput { + s.CreatedTimestamp = &v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *GetArchiveOutput) SetKmsKeyArn(v string) *GetArchiveOutput { + s.KmsKeyArn = &v + return s +} + +// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value. +func (s *GetArchiveOutput) SetLastUpdatedTimestamp(v time.Time) *GetArchiveOutput { + s.LastUpdatedTimestamp = &v + return s +} + +// SetRetention sets the Retention field's value. +func (s *GetArchiveOutput) SetRetention(v *ArchiveRetention) *GetArchiveOutput { + s.Retention = v + return s +} + +// The request to retrieve details of a specific archive search job. +type GetArchiveSearchInput struct { + _ struct{} `type:"structure"` + + // The identifier of the search job to get details for. + // + // SearchId is a required field + SearchId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveSearchInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveSearchInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetArchiveSearchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetArchiveSearchInput"} + if s.SearchId == nil { + invalidParams.Add(request.NewErrParamRequired("SearchId")) + } + if s.SearchId != nil && len(*s.SearchId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SearchId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSearchId sets the SearchId field's value. +func (s *GetArchiveSearchInput) SetSearchId(v string) *GetArchiveSearchInput { + s.SearchId = &v + return s +} + +// The response containing details of the specified archive search job. +type GetArchiveSearchOutput struct { + _ struct{} `type:"structure"` + + // The identifier of the archive the email search was performed in. + ArchiveId *string `min:"3" type:"string"` + + // The criteria used to filter emails included in the search. + Filters *ArchiveFilters `type:"structure"` + + // The start timestamp of the range the searched emails cover. + FromTimestamp *time.Time `type:"timestamp"` + + // The maximum number of search results to return. + MaxResults *int64 `type:"integer"` + + // The current status of the search job. + Status *SearchStatus `type:"structure"` + + // The end timestamp of the range the searched emails cover. + ToTimestamp *time.Time `type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveSearchOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveSearchOutput) GoString() string { + return s.String() +} + +// SetArchiveId sets the ArchiveId field's value. +func (s *GetArchiveSearchOutput) SetArchiveId(v string) *GetArchiveSearchOutput { + s.ArchiveId = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *GetArchiveSearchOutput) SetFilters(v *ArchiveFilters) *GetArchiveSearchOutput { + s.Filters = v + return s +} + +// SetFromTimestamp sets the FromTimestamp field's value. +func (s *GetArchiveSearchOutput) SetFromTimestamp(v time.Time) *GetArchiveSearchOutput { + s.FromTimestamp = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetArchiveSearchOutput) SetMaxResults(v int64) *GetArchiveSearchOutput { + s.MaxResults = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetArchiveSearchOutput) SetStatus(v *SearchStatus) *GetArchiveSearchOutput { + s.Status = v + return s +} + +// SetToTimestamp sets the ToTimestamp field's value. +func (s *GetArchiveSearchOutput) SetToTimestamp(v time.Time) *GetArchiveSearchOutput { + s.ToTimestamp = &v + return s +} + +// The request to retrieve results from a completed archive search job. +type GetArchiveSearchResultsInput struct { + _ struct{} `type:"structure"` + + // The identifier of the completed search job. + // + // SearchId is a required field + SearchId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveSearchResultsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveSearchResultsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetArchiveSearchResultsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetArchiveSearchResultsInput"} + if s.SearchId == nil { + invalidParams.Add(request.NewErrParamRequired("SearchId")) + } + if s.SearchId != nil && len(*s.SearchId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SearchId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSearchId sets the SearchId field's value. +func (s *GetArchiveSearchResultsInput) SetSearchId(v string) *GetArchiveSearchResultsInput { + s.SearchId = &v + return s +} + +// The response containing search results from a completed archive search. +type GetArchiveSearchResultsOutput struct { + _ struct{} `type:"structure"` + + // The list of email result objects matching the search criteria. + Rows []*Row `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveSearchResultsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetArchiveSearchResultsOutput) GoString() string { + return s.String() +} + +// SetRows sets the Rows field's value. +func (s *GetArchiveSearchResultsOutput) SetRows(v []*Row) *GetArchiveSearchResultsOutput { + s.Rows = v + return s +} + +type GetIngressPointInput struct { + _ struct{} `type:"structure"` + + // The identifier of an ingress endpoint. + // + // IngressPointId is a required field + IngressPointId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetIngressPointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetIngressPointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIngressPointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIngressPointInput"} + if s.IngressPointId == nil { + invalidParams.Add(request.NewErrParamRequired("IngressPointId")) + } + if s.IngressPointId != nil && len(*s.IngressPointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IngressPointId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIngressPointId sets the IngressPointId field's value. +func (s *GetIngressPointInput) SetIngressPointId(v string) *GetIngressPointInput { + s.IngressPointId = &v + return s +} + +type GetIngressPointOutput struct { + _ struct{} `type:"structure"` + + // The DNS A Record that identifies your ingress endpoint. Configure your DNS + // Mail Exchange (MX) record with this value to route emails to Mail Manager. + ARecord *string `type:"string"` + + // The timestamp of when the ingress endpoint was created. + CreatedTimestamp *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the ingress endpoint resource. + IngressPointArn *string `type:"string"` + + // The authentication configuration of the ingress endpoint resource. + IngressPointAuthConfiguration *IngressPointAuthConfiguration `type:"structure"` + + // The identifier of an ingress endpoint resource. + // + // IngressPointId is a required field + IngressPointId *string `min:"1" type:"string" required:"true"` + + // A user friendly name for the ingress endpoint. + // + // IngressPointName is a required field + IngressPointName *string `min:"3" type:"string" required:"true"` + + // The timestamp of when the ingress endpoint was last updated. + LastUpdatedTimestamp *time.Time `type:"timestamp"` + + // The identifier of a rule set resource associated with the ingress endpoint. + RuleSetId *string `min:"1" type:"string"` + + // The status of the ingress endpoint resource. + Status *string `type:"string" enum:"IngressPointStatus"` + + // The identifier of the traffic policy resource associated with the ingress + // endpoint. + TrafficPolicyId *string `min:"1" type:"string"` + + // The type of ingress endpoint. + Type *string `type:"string" enum:"IngressPointType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetIngressPointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetIngressPointOutput) GoString() string { + return s.String() +} + +// SetARecord sets the ARecord field's value. +func (s *GetIngressPointOutput) SetARecord(v string) *GetIngressPointOutput { + s.ARecord = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *GetIngressPointOutput) SetCreatedTimestamp(v time.Time) *GetIngressPointOutput { + s.CreatedTimestamp = &v + return s +} + +// SetIngressPointArn sets the IngressPointArn field's value. +func (s *GetIngressPointOutput) SetIngressPointArn(v string) *GetIngressPointOutput { + s.IngressPointArn = &v + return s +} + +// SetIngressPointAuthConfiguration sets the IngressPointAuthConfiguration field's value. +func (s *GetIngressPointOutput) SetIngressPointAuthConfiguration(v *IngressPointAuthConfiguration) *GetIngressPointOutput { + s.IngressPointAuthConfiguration = v + return s +} + +// SetIngressPointId sets the IngressPointId field's value. +func (s *GetIngressPointOutput) SetIngressPointId(v string) *GetIngressPointOutput { + s.IngressPointId = &v + return s +} + +// SetIngressPointName sets the IngressPointName field's value. +func (s *GetIngressPointOutput) SetIngressPointName(v string) *GetIngressPointOutput { + s.IngressPointName = &v + return s +} + +// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value. +func (s *GetIngressPointOutput) SetLastUpdatedTimestamp(v time.Time) *GetIngressPointOutput { + s.LastUpdatedTimestamp = &v + return s +} + +// SetRuleSetId sets the RuleSetId field's value. +func (s *GetIngressPointOutput) SetRuleSetId(v string) *GetIngressPointOutput { + s.RuleSetId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetIngressPointOutput) SetStatus(v string) *GetIngressPointOutput { + s.Status = &v + return s +} + +// SetTrafficPolicyId sets the TrafficPolicyId field's value. +func (s *GetIngressPointOutput) SetTrafficPolicyId(v string) *GetIngressPointOutput { + s.TrafficPolicyId = &v + return s +} + +// SetType sets the Type field's value. +func (s *GetIngressPointOutput) SetType(v string) *GetIngressPointOutput { + s.Type = &v + return s +} + +type GetRelayInput struct { + _ struct{} `type:"structure"` + + // A unique relay identifier. + // + // RelayId is a required field + RelayId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRelayInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRelayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRelayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRelayInput"} + if s.RelayId == nil { + invalidParams.Add(request.NewErrParamRequired("RelayId")) + } + if s.RelayId != nil && len(*s.RelayId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RelayId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRelayId sets the RelayId field's value. +func (s *GetRelayInput) SetRelayId(v string) *GetRelayInput { + s.RelayId = &v + return s +} + +type GetRelayOutput struct { + _ struct{} `type:"structure"` + + // The authentication attribute—contains the secret ARN where the customer + // relay server credentials are stored. + Authentication *RelayAuthentication `type:"structure"` + + // The timestamp of when the relay was created. + CreatedTimestamp *time.Time `type:"timestamp"` + + // The timestamp of when relay was last updated. + LastModifiedTimestamp *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the relay. + RelayArn *string `type:"string"` + + // The unique relay identifier. + // + // RelayId is a required field + RelayId *string `min:"1" type:"string" required:"true"` + + // The unique name of the relay. + RelayName *string `min:"1" type:"string"` + + // The destination relay server address. + ServerName *string `min:"1" type:"string"` + + // The destination relay server port. + ServerPort *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRelayOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRelayOutput) GoString() string { + return s.String() +} + +// SetAuthentication sets the Authentication field's value. +func (s *GetRelayOutput) SetAuthentication(v *RelayAuthentication) *GetRelayOutput { + s.Authentication = v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *GetRelayOutput) SetCreatedTimestamp(v time.Time) *GetRelayOutput { + s.CreatedTimestamp = &v + return s +} + +// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value. +func (s *GetRelayOutput) SetLastModifiedTimestamp(v time.Time) *GetRelayOutput { + s.LastModifiedTimestamp = &v + return s +} + +// SetRelayArn sets the RelayArn field's value. +func (s *GetRelayOutput) SetRelayArn(v string) *GetRelayOutput { + s.RelayArn = &v + return s +} + +// SetRelayId sets the RelayId field's value. +func (s *GetRelayOutput) SetRelayId(v string) *GetRelayOutput { + s.RelayId = &v + return s +} + +// SetRelayName sets the RelayName field's value. +func (s *GetRelayOutput) SetRelayName(v string) *GetRelayOutput { + s.RelayName = &v + return s +} + +// SetServerName sets the ServerName field's value. +func (s *GetRelayOutput) SetServerName(v string) *GetRelayOutput { + s.ServerName = &v + return s +} + +// SetServerPort sets the ServerPort field's value. +func (s *GetRelayOutput) SetServerPort(v int64) *GetRelayOutput { + s.ServerPort = &v + return s +} + +type GetRuleSetInput struct { + _ struct{} `type:"structure"` + + // The identifier of an existing rule set to be retrieved. + // + // RuleSetId is a required field + RuleSetId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRuleSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetRuleSetInput"} + if s.RuleSetId == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetId")) + } + if s.RuleSetId != nil && len(*s.RuleSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRuleSetId sets the RuleSetId field's value. +func (s *GetRuleSetInput) SetRuleSetId(v string) *GetRuleSetInput { + s.RuleSetId = &v + return s +} + +type GetRuleSetOutput struct { + _ struct{} `type:"structure"` + + // The date of when then rule set was created. + // + // CreatedDate is a required field + CreatedDate *time.Time `type:"timestamp" required:"true"` + + // The date of when the rule set was last modified. + // + // LastModificationDate is a required field + LastModificationDate *time.Time `type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) of the rule set resource. + // + // RuleSetArn is a required field + RuleSetArn *string `type:"string" required:"true"` + + // The identifier of the rule set resource. + // + // RuleSetId is a required field + RuleSetId *string `min:"1" type:"string" required:"true"` + + // A user-friendly name for the rule set resource. + // + // RuleSetName is a required field + RuleSetName *string `min:"1" type:"string" required:"true"` + + // The rules contained in the rule set. + // + // Rules is a required field + Rules []*Rule `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetRuleSetOutput) GoString() string { + return s.String() +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *GetRuleSetOutput) SetCreatedDate(v time.Time) *GetRuleSetOutput { + s.CreatedDate = &v + return s +} + +// SetLastModificationDate sets the LastModificationDate field's value. +func (s *GetRuleSetOutput) SetLastModificationDate(v time.Time) *GetRuleSetOutput { + s.LastModificationDate = &v + return s +} + +// SetRuleSetArn sets the RuleSetArn field's value. +func (s *GetRuleSetOutput) SetRuleSetArn(v string) *GetRuleSetOutput { + s.RuleSetArn = &v + return s +} + +// SetRuleSetId sets the RuleSetId field's value. +func (s *GetRuleSetOutput) SetRuleSetId(v string) *GetRuleSetOutput { + s.RuleSetId = &v + return s +} + +// SetRuleSetName sets the RuleSetName field's value. +func (s *GetRuleSetOutput) SetRuleSetName(v string) *GetRuleSetOutput { + s.RuleSetName = &v + return s +} + +// SetRules sets the Rules field's value. +func (s *GetRuleSetOutput) SetRules(v []*Rule) *GetRuleSetOutput { + s.Rules = v + return s +} + +type GetTrafficPolicyInput struct { + _ struct{} `type:"structure"` + + // The identifier of the traffic policy resource. + // + // TrafficPolicyId is a required field + TrafficPolicyId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTrafficPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTrafficPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTrafficPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTrafficPolicyInput"} + if s.TrafficPolicyId == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficPolicyId")) + } + if s.TrafficPolicyId != nil && len(*s.TrafficPolicyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTrafficPolicyId sets the TrafficPolicyId field's value. +func (s *GetTrafficPolicyInput) SetTrafficPolicyId(v string) *GetTrafficPolicyInput { + s.TrafficPolicyId = &v + return s +} + +type GetTrafficPolicyOutput struct { + _ struct{} `type:"structure"` + + // The timestamp of when the traffic policy was created. + CreatedTimestamp *time.Time `type:"timestamp"` + + // The default action of the traffic policy. + DefaultAction *string `type:"string" enum:"AcceptAction"` + + // The timestamp of when the traffic policy was last updated. + LastUpdatedTimestamp *time.Time `type:"timestamp"` + + // The maximum message size in bytes of email which is allowed in by this traffic + // policy—anything larger will be blocked. + MaxMessageSizeBytes *int64 `min:"1" type:"integer"` + + // The list of conditions which are in the traffic policy resource. + PolicyStatements []*PolicyStatement `type:"list"` + + // The Amazon Resource Name (ARN) of the traffic policy resource. + TrafficPolicyArn *string `type:"string"` + + // The identifier of the traffic policy resource. + // + // TrafficPolicyId is a required field + TrafficPolicyId *string `min:"1" type:"string" required:"true"` + + // A user-friendly name for the traffic policy resource. + // + // TrafficPolicyName is a required field + TrafficPolicyName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTrafficPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTrafficPolicyOutput) GoString() string { + return s.String() +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *GetTrafficPolicyOutput) SetCreatedTimestamp(v time.Time) *GetTrafficPolicyOutput { + s.CreatedTimestamp = &v + return s +} + +// SetDefaultAction sets the DefaultAction field's value. +func (s *GetTrafficPolicyOutput) SetDefaultAction(v string) *GetTrafficPolicyOutput { + s.DefaultAction = &v + return s +} + +// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value. +func (s *GetTrafficPolicyOutput) SetLastUpdatedTimestamp(v time.Time) *GetTrafficPolicyOutput { + s.LastUpdatedTimestamp = &v + return s +} + +// SetMaxMessageSizeBytes sets the MaxMessageSizeBytes field's value. +func (s *GetTrafficPolicyOutput) SetMaxMessageSizeBytes(v int64) *GetTrafficPolicyOutput { + s.MaxMessageSizeBytes = &v + return s +} + +// SetPolicyStatements sets the PolicyStatements field's value. +func (s *GetTrafficPolicyOutput) SetPolicyStatements(v []*PolicyStatement) *GetTrafficPolicyOutput { + s.PolicyStatements = v + return s +} + +// SetTrafficPolicyArn sets the TrafficPolicyArn field's value. +func (s *GetTrafficPolicyOutput) SetTrafficPolicyArn(v string) *GetTrafficPolicyOutput { + s.TrafficPolicyArn = &v + return s +} + +// SetTrafficPolicyId sets the TrafficPolicyId field's value. +func (s *GetTrafficPolicyOutput) SetTrafficPolicyId(v string) *GetTrafficPolicyOutput { + s.TrafficPolicyId = &v + return s +} + +// SetTrafficPolicyName sets the TrafficPolicyName field's value. +func (s *GetTrafficPolicyOutput) SetTrafficPolicyName(v string) *GetTrafficPolicyOutput { + s.TrafficPolicyName = &v + return s +} + +// The Add On ARN and its returned value that is evaluated in a policy statement's +// conditional expression to either deny or block the incoming email. +type IngressAnalysis struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of an Add On. + // + // Analyzer is a required field + Analyzer *string `type:"string" required:"true"` + + // The returned value from an Add On. + // + // ResultField is a required field + ResultField *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressAnalysis) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressAnalysis) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IngressAnalysis) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IngressAnalysis"} + if s.Analyzer == nil { + invalidParams.Add(request.NewErrParamRequired("Analyzer")) + } + if s.ResultField == nil { + invalidParams.Add(request.NewErrParamRequired("ResultField")) + } + if s.ResultField != nil && len(*s.ResultField) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResultField", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnalyzer sets the Analyzer field's value. +func (s *IngressAnalysis) SetAnalyzer(v string) *IngressAnalysis { + s.Analyzer = &v + return s +} + +// SetResultField sets the ResultField field's value. +func (s *IngressAnalysis) SetResultField(v string) *IngressAnalysis { + s.ResultField = &v + return s +} + +// The structure for a boolean condition matching on the incoming mail. +type IngressBooleanExpression struct { + _ struct{} `type:"structure"` + + // The operand on which to perform a boolean condition operation. + // + // Evaluate is a required field + Evaluate *IngressBooleanToEvaluate `type:"structure" required:"true"` + + // The matching operator for a boolean condition expression. + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"IngressBooleanOperator"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressBooleanExpression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressBooleanExpression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IngressBooleanExpression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IngressBooleanExpression"} + if s.Evaluate == nil { + invalidParams.Add(request.NewErrParamRequired("Evaluate")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Evaluate != nil { + if err := s.Evaluate.Validate(); err != nil { + invalidParams.AddNested("Evaluate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluate sets the Evaluate field's value. +func (s *IngressBooleanExpression) SetEvaluate(v *IngressBooleanToEvaluate) *IngressBooleanExpression { + s.Evaluate = v + return s +} + +// SetOperator sets the Operator field's value. +func (s *IngressBooleanExpression) SetOperator(v string) *IngressBooleanExpression { + s.Operator = &v + return s +} + +// The union type representing the allowed types of operands for a boolean condition. +type IngressBooleanToEvaluate struct { + _ struct{} `type:"structure"` + + // The structure type for a boolean condition stating the Add On ARN and its + // returned value. + Analysis *IngressAnalysis `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressBooleanToEvaluate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressBooleanToEvaluate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IngressBooleanToEvaluate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IngressBooleanToEvaluate"} + if s.Analysis != nil { + if err := s.Analysis.Validate(); err != nil { + invalidParams.AddNested("Analysis", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnalysis sets the Analysis field's value. +func (s *IngressBooleanToEvaluate) SetAnalysis(v *IngressAnalysis) *IngressBooleanToEvaluate { + s.Analysis = v + return s +} + +// The structure for an IP based condition matching on the incoming mail. +type IngressIpToEvaluate struct { + _ struct{} `type:"structure"` + + // An enum type representing the allowed attribute types for an IP condition. + Attribute *string `type:"string" enum:"IngressIpv4Attribute"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressIpToEvaluate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressIpToEvaluate) GoString() string { + return s.String() +} + +// SetAttribute sets the Attribute field's value. +func (s *IngressIpToEvaluate) SetAttribute(v string) *IngressIpToEvaluate { + s.Attribute = &v + return s +} + +// The union type representing the allowed types for the left hand side of an +// IP condition. +type IngressIpv4Expression struct { + _ struct{} `type:"structure"` + + // The left hand side argument of an IP condition expression. + // + // Evaluate is a required field + Evaluate *IngressIpToEvaluate `type:"structure" required:"true"` + + // The matching operator for an IP condition expression. + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"IngressIpOperator"` + + // The right hand side argument of an IP condition expression. + // + // Values is a required field + Values []*string `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressIpv4Expression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressIpv4Expression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IngressIpv4Expression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IngressIpv4Expression"} + if s.Evaluate == nil { + invalidParams.Add(request.NewErrParamRequired("Evaluate")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluate sets the Evaluate field's value. +func (s *IngressIpv4Expression) SetEvaluate(v *IngressIpToEvaluate) *IngressIpv4Expression { + s.Evaluate = v + return s +} + +// SetOperator sets the Operator field's value. +func (s *IngressIpv4Expression) SetOperator(v string) *IngressIpv4Expression { + s.Operator = &v + return s +} + +// SetValues sets the Values field's value. +func (s *IngressIpv4Expression) SetValues(v []*string) *IngressIpv4Expression { + s.Values = v + return s +} + +// The structure of an ingress endpoint resource. +type IngressPoint struct { + _ struct{} `type:"structure"` + + // The DNS A Record that identifies your ingress endpoint. Configure your DNS + // Mail Exchange (MX) record with this value to route emails to Mail Manager. + ARecord *string `type:"string"` + + // The identifier of the ingress endpoint resource. + // + // IngressPointId is a required field + IngressPointId *string `min:"1" type:"string" required:"true"` + + // A user friendly name for the ingress endpoint resource. + // + // IngressPointName is a required field + IngressPointName *string `min:"3" type:"string" required:"true"` + + // The status of the ingress endpoint resource. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"IngressPointStatus"` + + // The type of ingress endpoint resource. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"IngressPointType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressPoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressPoint) GoString() string { + return s.String() +} + +// SetARecord sets the ARecord field's value. +func (s *IngressPoint) SetARecord(v string) *IngressPoint { + s.ARecord = &v + return s +} + +// SetIngressPointId sets the IngressPointId field's value. +func (s *IngressPoint) SetIngressPointId(v string) *IngressPoint { + s.IngressPointId = &v + return s +} + +// SetIngressPointName sets the IngressPointName field's value. +func (s *IngressPoint) SetIngressPointName(v string) *IngressPoint { + s.IngressPointName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *IngressPoint) SetStatus(v string) *IngressPoint { + s.Status = &v + return s +} + +// SetType sets the Type field's value. +func (s *IngressPoint) SetType(v string) *IngressPoint { + s.Type = &v + return s +} + +// The authentication configuration for the ingress endpoint resource. +type IngressPointAuthConfiguration struct { + _ struct{} `type:"structure"` + + // The ingress endpoint password configuration for the ingress endpoint resource. + IngressPointPasswordConfiguration *IngressPointPasswordConfiguration `type:"structure"` + + // The ingress endpoint SecretsManager::Secret ARN configuration for the ingress + // endpoint resource. + SecretArn *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressPointAuthConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressPointAuthConfiguration) GoString() string { + return s.String() +} + +// SetIngressPointPasswordConfiguration sets the IngressPointPasswordConfiguration field's value. +func (s *IngressPointAuthConfiguration) SetIngressPointPasswordConfiguration(v *IngressPointPasswordConfiguration) *IngressPointAuthConfiguration { + s.IngressPointPasswordConfiguration = v + return s +} + +// SetSecretArn sets the SecretArn field's value. +func (s *IngressPointAuthConfiguration) SetSecretArn(v string) *IngressPointAuthConfiguration { + s.SecretArn = &v + return s +} + +// The configuration of the ingress endpoint resource. +type IngressPointConfiguration struct { + _ struct{} `type:"structure"` + + // The SecretsManager::Secret ARN of the ingress endpoint resource. + SecretArn *string `type:"string"` + + // The password of the ingress endpoint resource. + // + // SmtpPassword is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by IngressPointConfiguration's + // String and GoString methods. + SmtpPassword *string `min:"8" type:"string" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressPointConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressPointConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IngressPointConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IngressPointConfiguration"} + if s.SmtpPassword != nil && len(*s.SmtpPassword) < 8 { + invalidParams.Add(request.NewErrParamMinLen("SmtpPassword", 8)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSecretArn sets the SecretArn field's value. +func (s *IngressPointConfiguration) SetSecretArn(v string) *IngressPointConfiguration { + s.SecretArn = &v + return s +} + +// SetSmtpPassword sets the SmtpPassword field's value. +func (s *IngressPointConfiguration) SetSmtpPassword(v string) *IngressPointConfiguration { + s.SmtpPassword = &v + return s +} + +// The password configuration of the ingress endpoint resource. +type IngressPointPasswordConfiguration struct { + _ struct{} `type:"structure"` + + // The previous password expiry timestamp of the ingress endpoint resource. + PreviousSmtpPasswordExpiryTimestamp *time.Time `type:"timestamp"` + + // The previous password version of the ingress endpoint resource. + PreviousSmtpPasswordVersion *string `type:"string"` + + // The current password expiry timestamp of the ingress endpoint resource. + SmtpPasswordVersion *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressPointPasswordConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressPointPasswordConfiguration) GoString() string { + return s.String() +} + +// SetPreviousSmtpPasswordExpiryTimestamp sets the PreviousSmtpPasswordExpiryTimestamp field's value. +func (s *IngressPointPasswordConfiguration) SetPreviousSmtpPasswordExpiryTimestamp(v time.Time) *IngressPointPasswordConfiguration { + s.PreviousSmtpPasswordExpiryTimestamp = &v + return s +} + +// SetPreviousSmtpPasswordVersion sets the PreviousSmtpPasswordVersion field's value. +func (s *IngressPointPasswordConfiguration) SetPreviousSmtpPasswordVersion(v string) *IngressPointPasswordConfiguration { + s.PreviousSmtpPasswordVersion = &v + return s +} + +// SetSmtpPasswordVersion sets the SmtpPasswordVersion field's value. +func (s *IngressPointPasswordConfiguration) SetSmtpPasswordVersion(v string) *IngressPointPasswordConfiguration { + s.SmtpPasswordVersion = &v + return s +} + +// The structure for a string based condition matching on the incoming mail. +type IngressStringExpression struct { + _ struct{} `type:"structure"` + + // The left hand side argument of a string condition expression. + // + // Evaluate is a required field + Evaluate *IngressStringToEvaluate `type:"structure" required:"true"` + + // The matching operator for a string condition expression. + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"IngressStringOperator"` + + // The right hand side argument of a string condition expression. + // + // Values is a required field + Values []*string `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressStringExpression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressStringExpression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IngressStringExpression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IngressStringExpression"} + if s.Evaluate == nil { + invalidParams.Add(request.NewErrParamRequired("Evaluate")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluate sets the Evaluate field's value. +func (s *IngressStringExpression) SetEvaluate(v *IngressStringToEvaluate) *IngressStringExpression { + s.Evaluate = v + return s +} + +// SetOperator sets the Operator field's value. +func (s *IngressStringExpression) SetOperator(v string) *IngressStringExpression { + s.Operator = &v + return s +} + +// SetValues sets the Values field's value. +func (s *IngressStringExpression) SetValues(v []*string) *IngressStringExpression { + s.Values = v + return s +} + +// The union type representing the allowed types for the left hand side of a +// string condition. +type IngressStringToEvaluate struct { + _ struct{} `type:"structure"` + + // The enum type representing the allowed attribute types for a string condition. + Attribute *string `type:"string" enum:"IngressStringEmailAttribute"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressStringToEvaluate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressStringToEvaluate) GoString() string { + return s.String() +} + +// SetAttribute sets the Attribute field's value. +func (s *IngressStringToEvaluate) SetAttribute(v string) *IngressStringToEvaluate { + s.Attribute = &v + return s +} + +// The structure for a TLS related condition matching on the incoming mail. +type IngressTlsProtocolExpression struct { + _ struct{} `type:"structure"` + + // The left hand side argument of a TLS condition expression. + // + // Evaluate is a required field + Evaluate *IngressTlsProtocolToEvaluate `type:"structure" required:"true"` + + // The matching operator for a TLS condition expression. + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"IngressTlsProtocolOperator"` + + // The right hand side argument of a TLS condition expression. + // + // Value is a required field + Value *string `type:"string" required:"true" enum:"IngressTlsProtocolAttribute"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressTlsProtocolExpression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressTlsProtocolExpression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IngressTlsProtocolExpression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IngressTlsProtocolExpression"} + if s.Evaluate == nil { + invalidParams.Add(request.NewErrParamRequired("Evaluate")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluate sets the Evaluate field's value. +func (s *IngressTlsProtocolExpression) SetEvaluate(v *IngressTlsProtocolToEvaluate) *IngressTlsProtocolExpression { + s.Evaluate = v + return s +} + +// SetOperator sets the Operator field's value. +func (s *IngressTlsProtocolExpression) SetOperator(v string) *IngressTlsProtocolExpression { + s.Operator = &v + return s +} + +// SetValue sets the Value field's value. +func (s *IngressTlsProtocolExpression) SetValue(v string) *IngressTlsProtocolExpression { + s.Value = &v + return s +} + +// The union type representing the allowed types for the left hand side of a +// TLS condition. +type IngressTlsProtocolToEvaluate struct { + _ struct{} `type:"structure"` + + // The enum type representing the allowed attribute types for the TLS condition. + Attribute *string `type:"string" enum:"IngressTlsAttribute"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressTlsProtocolToEvaluate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s IngressTlsProtocolToEvaluate) GoString() string { + return s.String() +} + +// SetAttribute sets the Attribute field's value. +func (s *IngressTlsProtocolToEvaluate) SetAttribute(v string) *IngressTlsProtocolToEvaluate { + s.Attribute = &v + return s +} + +type ListAddonInstancesInput struct { + _ struct{} `type:"structure"` + + // If you received a pagination token from a previous call to this API, you + // can provide it here to continue paginating through the next page of results. + NextToken *string `min:"1" type:"string"` + + // The maximum number of ingress endpoint resources that are returned per call. + // You can use NextToken to obtain further ingress endpoints. + PageSize *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAddonInstancesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAddonInstancesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAddonInstancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAddonInstancesInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.PageSize != nil && *s.PageSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAddonInstancesInput) SetNextToken(v string) *ListAddonInstancesInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListAddonInstancesInput) SetPageSize(v int64) *ListAddonInstancesInput { + s.PageSize = &v + return s +} + +type ListAddonInstancesOutput struct { + _ struct{} `type:"structure"` + + // The list of ingress endpoints. + AddonInstances []*AddonInstance `type:"list"` + + // If NextToken is returned, there are more results available. The value of + // NextToken is a unique pagination token for each page. Make the call again + // using the returned token to retrieve the next page. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAddonInstancesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAddonInstancesOutput) GoString() string { + return s.String() +} + +// SetAddonInstances sets the AddonInstances field's value. +func (s *ListAddonInstancesOutput) SetAddonInstances(v []*AddonInstance) *ListAddonInstancesOutput { + s.AddonInstances = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAddonInstancesOutput) SetNextToken(v string) *ListAddonInstancesOutput { + s.NextToken = &v + return s +} + +type ListAddonSubscriptionsInput struct { + _ struct{} `type:"structure"` + + // If you received a pagination token from a previous call to this API, you + // can provide it here to continue paginating through the next page of results. + NextToken *string `min:"1" type:"string"` + + // The maximum number of ingress endpoint resources that are returned per call. + // You can use NextToken to obtain further ingress endpoints. + PageSize *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAddonSubscriptionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAddonSubscriptionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAddonSubscriptionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAddonSubscriptionsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.PageSize != nil && *s.PageSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAddonSubscriptionsInput) SetNextToken(v string) *ListAddonSubscriptionsInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListAddonSubscriptionsInput) SetPageSize(v int64) *ListAddonSubscriptionsInput { + s.PageSize = &v + return s +} + +type ListAddonSubscriptionsOutput struct { + _ struct{} `type:"structure"` + + // The list of ingress endpoints. + AddonSubscriptions []*AddonSubscription `type:"list"` + + // If NextToken is returned, there are more results available. The value of + // NextToken is a unique pagination token for each page. Make the call again + // using the returned token to retrieve the next page. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAddonSubscriptionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAddonSubscriptionsOutput) GoString() string { + return s.String() +} + +// SetAddonSubscriptions sets the AddonSubscriptions field's value. +func (s *ListAddonSubscriptionsOutput) SetAddonSubscriptions(v []*AddonSubscription) *ListAddonSubscriptionsOutput { + s.AddonSubscriptions = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAddonSubscriptionsOutput) SetNextToken(v string) *ListAddonSubscriptionsOutput { + s.NextToken = &v + return s +} + +// The request to list archive export jobs in your account. +type ListArchiveExportsInput struct { + _ struct{} `type:"structure"` + + // The identifier of the archive. + // + // ArchiveId is a required field + ArchiveId *string `min:"3" type:"string" required:"true"` + + // If NextToken is returned, there are more results available. The value of + // NextToken is a unique pagination token for each page. Make the call again + // using the returned token to retrieve the next page. + NextToken *string `min:"1" type:"string"` + + // The maximum number of archive export jobs that are returned per call. You + // can use NextToken to obtain further pages of archives. + PageSize *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListArchiveExportsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListArchiveExportsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListArchiveExportsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListArchiveExportsInput"} + if s.ArchiveId == nil { + invalidParams.Add(request.NewErrParamRequired("ArchiveId")) + } + if s.ArchiveId != nil && len(*s.ArchiveId) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ArchiveId", 3)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.PageSize != nil && *s.PageSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArchiveId sets the ArchiveId field's value. +func (s *ListArchiveExportsInput) SetArchiveId(v string) *ListArchiveExportsInput { + s.ArchiveId = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListArchiveExportsInput) SetNextToken(v string) *ListArchiveExportsInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListArchiveExportsInput) SetPageSize(v int64) *ListArchiveExportsInput { + s.PageSize = &v + return s +} + +// The response containing a list of archive export jobs and their statuses. +type ListArchiveExportsOutput struct { + _ struct{} `type:"structure"` + + // The list of export job identifiers and statuses. + Exports []*ExportSummary `type:"list"` + + // If present, use to retrieve the next page of results. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListArchiveExportsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListArchiveExportsOutput) GoString() string { + return s.String() +} + +// SetExports sets the Exports field's value. +func (s *ListArchiveExportsOutput) SetExports(v []*ExportSummary) *ListArchiveExportsOutput { + s.Exports = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListArchiveExportsOutput) SetNextToken(v string) *ListArchiveExportsOutput { + s.NextToken = &v + return s +} + +// The request to list archive search jobs in your account. +type ListArchiveSearchesInput struct { + _ struct{} `type:"structure"` + + // The identifier of the archive. + // + // ArchiveId is a required field + ArchiveId *string `min:"3" type:"string" required:"true"` + + // If NextToken is returned, there are more results available. The value of + // NextToken is a unique pagination token for each page. Make the call again + // using the returned token to retrieve the next page. + NextToken *string `min:"1" type:"string"` + + // The maximum number of archive search jobs that are returned per call. You + // can use NextToken to obtain further pages of archives. + PageSize *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListArchiveSearchesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListArchiveSearchesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListArchiveSearchesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListArchiveSearchesInput"} + if s.ArchiveId == nil { + invalidParams.Add(request.NewErrParamRequired("ArchiveId")) + } + if s.ArchiveId != nil && len(*s.ArchiveId) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ArchiveId", 3)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.PageSize != nil && *s.PageSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArchiveId sets the ArchiveId field's value. +func (s *ListArchiveSearchesInput) SetArchiveId(v string) *ListArchiveSearchesInput { + s.ArchiveId = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListArchiveSearchesInput) SetNextToken(v string) *ListArchiveSearchesInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListArchiveSearchesInput) SetPageSize(v int64) *ListArchiveSearchesInput { + s.PageSize = &v + return s +} + +// The response containing a list of archive search jobs and their statuses. +type ListArchiveSearchesOutput struct { + _ struct{} `type:"structure"` + + // If present, use to retrieve the next page of results. + NextToken *string `min:"1" type:"string"` + + // The list of search job identifiers and statuses. + Searches []*SearchSummary `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListArchiveSearchesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListArchiveSearchesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListArchiveSearchesOutput) SetNextToken(v string) *ListArchiveSearchesOutput { + s.NextToken = &v + return s +} + +// SetSearches sets the Searches field's value. +func (s *ListArchiveSearchesOutput) SetSearches(v []*SearchSummary) *ListArchiveSearchesOutput { + s.Searches = v + return s +} + +// The request to list email archives in your account. +type ListArchivesInput struct { + _ struct{} `type:"structure"` + + // If NextToken is returned, there are more results available. The value of + // NextToken is a unique pagination token for each page. Make the call again + // using the returned token to retrieve the next page. + NextToken *string `min:"1" type:"string"` + + // The maximum number of archives that are returned per call. You can use NextToken + // to obtain further pages of archives. + PageSize *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListArchivesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListArchivesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListArchivesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListArchivesInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.PageSize != nil && *s.PageSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListArchivesInput) SetNextToken(v string) *ListArchivesInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListArchivesInput) SetPageSize(v int64) *ListArchivesInput { + s.PageSize = &v + return s +} + +// The response containing a list of your email archives. +type ListArchivesOutput struct { + _ struct{} `type:"structure"` + + // The list of archive details. + // + // Archives is a required field + Archives []*Archive `type:"list" required:"true"` + + // If present, use to retrieve the next page of results. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListArchivesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListArchivesOutput) GoString() string { + return s.String() +} + +// SetArchives sets the Archives field's value. +func (s *ListArchivesOutput) SetArchives(v []*Archive) *ListArchivesOutput { + s.Archives = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListArchivesOutput) SetNextToken(v string) *ListArchivesOutput { + s.NextToken = &v + return s +} + +type ListIngressPointsInput struct { + _ struct{} `type:"structure"` + + // If you received a pagination token from a previous call to this API, you + // can provide it here to continue paginating through the next page of results. + NextToken *string `min:"1" type:"string"` + + // The maximum number of ingress endpoint resources that are returned per call. + // You can use NextToken to obtain further ingress endpoints. + PageSize *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListIngressPointsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListIngressPointsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListIngressPointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIngressPointsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.PageSize != nil && *s.PageSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIngressPointsInput) SetNextToken(v string) *ListIngressPointsInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListIngressPointsInput) SetPageSize(v int64) *ListIngressPointsInput { + s.PageSize = &v + return s +} + +type ListIngressPointsOutput struct { + _ struct{} `type:"structure"` + + // The list of ingress endpoints. + IngressPoints []*IngressPoint `type:"list"` + + // If NextToken is returned, there are more results available. The value of + // NextToken is a unique pagination token for each page. Make the call again + // using the returned token to retrieve the next page. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListIngressPointsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListIngressPointsOutput) GoString() string { + return s.String() +} + +// SetIngressPoints sets the IngressPoints field's value. +func (s *ListIngressPointsOutput) SetIngressPoints(v []*IngressPoint) *ListIngressPointsOutput { + s.IngressPoints = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIngressPointsOutput) SetNextToken(v string) *ListIngressPointsOutput { + s.NextToken = &v + return s +} + +type ListRelaysInput struct { + _ struct{} `type:"structure"` + + // If you received a pagination token from a previous call to this API, you + // can provide it here to continue paginating through the next page of results. + NextToken *string `min:"1" type:"string"` + + // The number of relays to be returned in one request. + PageSize *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRelaysInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRelaysInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListRelaysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRelaysInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRelaysInput) SetNextToken(v string) *ListRelaysInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListRelaysInput) SetPageSize(v int64) *ListRelaysInput { + s.PageSize = &v + return s +} + +type ListRelaysOutput struct { + _ struct{} `type:"structure"` + + // If NextToken is returned, there are more results available. The value of + // NextToken is a unique pagination token for each page. Make the call again + // using the returned token to retrieve the next page. + NextToken *string `min:"1" type:"string"` + + // The list of returned relays. + // + // Relays is a required field + Relays []*Relay `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRelaysOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRelaysOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRelaysOutput) SetNextToken(v string) *ListRelaysOutput { + s.NextToken = &v + return s +} + +// SetRelays sets the Relays field's value. +func (s *ListRelaysOutput) SetRelays(v []*Relay) *ListRelaysOutput { + s.Relays = v + return s +} + +type ListRuleSetsInput struct { + _ struct{} `type:"structure"` + + // If you received a pagination token from a previous call to this API, you + // can provide it here to continue paginating through the next page of results. + NextToken *string `min:"1" type:"string"` + + // The maximum number of rule set resources that are returned per call. You + // can use NextToken to obtain further rule sets. + PageSize *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRuleSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRuleSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListRuleSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRuleSetsInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.PageSize != nil && *s.PageSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRuleSetsInput) SetNextToken(v string) *ListRuleSetsInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListRuleSetsInput) SetPageSize(v int64) *ListRuleSetsInput { + s.PageSize = &v + return s +} + +type ListRuleSetsOutput struct { + _ struct{} `type:"structure"` + + // If NextToken is returned, there are more results available. The value of + // NextToken is a unique pagination token for each page. Make the call again + // using the returned token to retrieve the next page. + NextToken *string `min:"1" type:"string"` + + // The list of rule sets. + // + // RuleSets is a required field + RuleSets []*RuleSet `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRuleSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRuleSetsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRuleSetsOutput) SetNextToken(v string) *ListRuleSetsOutput { + s.NextToken = &v + return s +} + +// SetRuleSets sets the RuleSets field's value. +func (s *ListRuleSetsOutput) SetRuleSets(v []*RuleSet) *ListRuleSetsOutput { + s.RuleSets = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource to retrieve tags from. + // + // ResourceArn is a required field + ResourceArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) 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.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags used to organize, track, or control access for the resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type ListTrafficPoliciesInput struct { + _ struct{} `type:"structure"` + + // If you received a pagination token from a previous call to this API, you + // can provide it here to continue paginating through the next page of results. + NextToken *string `min:"1" type:"string"` + + // The maximum number of traffic policy resources that are returned per call. + // You can use NextToken to obtain further traffic policies. + PageSize *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTrafficPoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTrafficPoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTrafficPoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTrafficPoliciesInput"} + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.PageSize != nil && *s.PageSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("PageSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTrafficPoliciesInput) SetNextToken(v string) *ListTrafficPoliciesInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListTrafficPoliciesInput) SetPageSize(v int64) *ListTrafficPoliciesInput { + s.PageSize = &v + return s +} + +type ListTrafficPoliciesOutput struct { + _ struct{} `type:"structure"` + + // If NextToken is returned, there are more results available. The value of + // NextToken is a unique pagination token for each page. Make the call again + // using the returned token to retrieve the next page. + NextToken *string `min:"1" type:"string"` + + // The list of traffic policies. + TrafficPolicies []*TrafficPolicy `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTrafficPoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTrafficPoliciesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTrafficPoliciesOutput) SetNextToken(v string) *ListTrafficPoliciesOutput { + s.NextToken = &v + return s +} + +// SetTrafficPolicies sets the TrafficPolicies field's value. +func (s *ListTrafficPoliciesOutput) SetTrafficPolicies(v []*TrafficPolicy) *ListTrafficPoliciesOutput { + s.TrafficPolicies = v + return s +} + +// The textual body content of an email message. +type MessageBody struct { + _ struct{} `type:"structure"` + + // The HTML body content of the message. + Html *string `type:"string"` + + // A flag indicating if the email was malformed. + MessageMalformed *bool `type:"boolean"` + + // The plain text body content of the message. + Text *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MessageBody) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MessageBody) GoString() string { + return s.String() +} + +// SetHtml sets the Html field's value. +func (s *MessageBody) SetHtml(v string) *MessageBody { + s.Html = &v + return s +} + +// SetMessageMalformed sets the MessageMalformed field's value. +func (s *MessageBody) SetMessageMalformed(v bool) *MessageBody { + s.MessageMalformed = &v + return s +} + +// SetText sets the Text field's value. +func (s *MessageBody) SetText(v string) *MessageBody { + s.Text = &v + return s +} + +// Explicitly indicate that the relay destination server does not require SMTP +// credential authentication. +type NoAuthentication struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NoAuthentication) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NoAuthentication) GoString() string { + return s.String() +} + +// The email traffic filtering conditions which are contained in a traffic policy +// resource. +type PolicyCondition struct { + _ struct{} `type:"structure"` + + // This represents a boolean type condition matching on the incoming mail. It + // performs the boolean operation configured in 'Operator' and evaluates the + // 'Protocol' object against the 'Value'. + BooleanExpression *IngressBooleanExpression `type:"structure"` + + // This represents an IP based condition matching on the incoming mail. It performs + // the operation configured in 'Operator' and evaluates the 'Protocol' object + // against the 'Value'. + IpExpression *IngressIpv4Expression `type:"structure"` + + // This represents a string based condition matching on the incoming mail. It + // performs the string operation configured in 'Operator' and evaluates the + // 'Protocol' object against the 'Value'. + StringExpression *IngressStringExpression `type:"structure"` + + // This represents a TLS based condition matching on the incoming mail. It performs + // the operation configured in 'Operator' and evaluates the 'Protocol' object + // against the 'Value'. + TlsExpression *IngressTlsProtocolExpression `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PolicyCondition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PolicyCondition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PolicyCondition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PolicyCondition"} + if s.BooleanExpression != nil { + if err := s.BooleanExpression.Validate(); err != nil { + invalidParams.AddNested("BooleanExpression", err.(request.ErrInvalidParams)) + } + } + if s.IpExpression != nil { + if err := s.IpExpression.Validate(); err != nil { + invalidParams.AddNested("IpExpression", err.(request.ErrInvalidParams)) + } + } + if s.StringExpression != nil { + if err := s.StringExpression.Validate(); err != nil { + invalidParams.AddNested("StringExpression", err.(request.ErrInvalidParams)) + } + } + if s.TlsExpression != nil { + if err := s.TlsExpression.Validate(); err != nil { + invalidParams.AddNested("TlsExpression", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBooleanExpression sets the BooleanExpression field's value. +func (s *PolicyCondition) SetBooleanExpression(v *IngressBooleanExpression) *PolicyCondition { + s.BooleanExpression = v + return s +} + +// SetIpExpression sets the IpExpression field's value. +func (s *PolicyCondition) SetIpExpression(v *IngressIpv4Expression) *PolicyCondition { + s.IpExpression = v + return s +} + +// SetStringExpression sets the StringExpression field's value. +func (s *PolicyCondition) SetStringExpression(v *IngressStringExpression) *PolicyCondition { + s.StringExpression = v + return s +} + +// SetTlsExpression sets the TlsExpression field's value. +func (s *PolicyCondition) SetTlsExpression(v *IngressTlsProtocolExpression) *PolicyCondition { + s.TlsExpression = v + return s +} + +// The structure containing traffic policy conditions and actions. +type PolicyStatement struct { + _ struct{} `type:"structure"` + + // The action that informs a traffic policy resource to either allow or block + // the email if it matches a condition in the policy statement. + // + // Action is a required field + Action *string `type:"string" required:"true" enum:"AcceptAction"` + + // The list of conditions to apply to incoming messages for filtering email + // traffic. + // + // Conditions is a required field + Conditions []*PolicyCondition `min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PolicyStatement) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PolicyStatement) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PolicyStatement) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PolicyStatement"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.Conditions == nil { + invalidParams.Add(request.NewErrParamRequired("Conditions")) + } + if s.Conditions != nil && len(s.Conditions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Conditions", 1)) + } + if s.Conditions != nil { + for i, v := range s.Conditions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Conditions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAction sets the Action field's value. +func (s *PolicyStatement) SetAction(v string) *PolicyStatement { + s.Action = &v + return s +} + +// SetConditions sets the Conditions field's value. +func (s *PolicyStatement) SetConditions(v []*PolicyCondition) *PolicyStatement { + s.Conditions = v + return s +} + +// The relay resource that can be used as a rule to relay receiving emails to +// the destination relay server. +type Relay struct { + _ struct{} `type:"structure"` + + // The timestamp of when the relay was last modified. + LastModifiedTimestamp *time.Time `type:"timestamp"` + + // The unique relay identifier. + RelayId *string `min:"1" type:"string"` + + // The unique relay name. + RelayName *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Relay) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Relay) GoString() string { + return s.String() +} + +// SetLastModifiedTimestamp sets the LastModifiedTimestamp field's value. +func (s *Relay) SetLastModifiedTimestamp(v time.Time) *Relay { + s.LastModifiedTimestamp = &v + return s +} + +// SetRelayId sets the RelayId field's value. +func (s *Relay) SetRelayId(v string) *Relay { + s.RelayId = &v + return s +} + +// SetRelayName sets the RelayName field's value. +func (s *Relay) SetRelayName(v string) *Relay { + s.RelayName = &v + return s +} + +// The action relays the email via SMTP to another specific SMTP server. +type RelayAction struct { + _ struct{} `type:"structure"` + + // A policy that states what to do in the case of failure. The action will fail + // if there are configuration errors. For example, the specified relay has been + // deleted. + ActionFailurePolicy *string `type:"string" enum:"ActionFailurePolicy"` + + // This action specifies whether to preserve or replace original mail from address + // while relaying received emails to a destination server. + MailFrom *string `type:"string" enum:"MailFrom"` + + // The identifier of the relay resource to be used when relaying an email. + // + // Relay is a required field + Relay *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RelayAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RelayAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RelayAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RelayAction"} + if s.Relay == nil { + invalidParams.Add(request.NewErrParamRequired("Relay")) + } + if s.Relay != nil && len(*s.Relay) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Relay", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActionFailurePolicy sets the ActionFailurePolicy field's value. +func (s *RelayAction) SetActionFailurePolicy(v string) *RelayAction { + s.ActionFailurePolicy = &v + return s +} + +// SetMailFrom sets the MailFrom field's value. +func (s *RelayAction) SetMailFrom(v string) *RelayAction { + s.MailFrom = &v + return s +} + +// SetRelay sets the Relay field's value. +func (s *RelayAction) SetRelay(v string) *RelayAction { + s.Relay = &v + return s +} + +// Authentication for the relay destination server—specify the secretARN where +// the SMTP credentials are stored, or specify an empty NoAuthentication structure +// if the relay destination server does not require SMTP credential authentication. +type RelayAuthentication struct { + _ struct{} `type:"structure"` + + // Keep an empty structure if the relay destination server does not require + // SMTP credential authentication. + NoAuthentication *NoAuthentication `type:"structure"` + + // The ARN of the secret created in secrets manager where the relay server's + // SMTP credentials are stored. + SecretArn *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RelayAuthentication) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RelayAuthentication) GoString() string { + return s.String() +} + +// SetNoAuthentication sets the NoAuthentication field's value. +func (s *RelayAuthentication) SetNoAuthentication(v *NoAuthentication) *RelayAuthentication { + s.NoAuthentication = v + return s +} + +// SetSecretArn sets the SecretArn field's value. +func (s *RelayAuthentication) SetSecretArn(v string) *RelayAuthentication { + s.SecretArn = &v + return s +} + +// This action replaces the email envelope recipients with the given list of +// recipients. If the condition of this action applies only to a subset of recipients, +// only those recipients are replaced with the recipients specified in the action. +// The message contents and headers are unaffected by this action, only the +// envelope recipients are updated. +type ReplaceRecipientAction struct { + _ struct{} `type:"structure"` + + // This action specifies the replacement recipient email addresses to insert. + ReplaceWith []*string `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReplaceRecipientAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReplaceRecipientAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReplaceRecipientAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReplaceRecipientAction"} + if s.ReplaceWith != nil && len(s.ReplaceWith) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReplaceWith", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReplaceWith sets the ReplaceWith field's value. +func (s *ReplaceRecipientAction) SetReplaceWith(v []*string) *ReplaceRecipientAction { + s.ReplaceWith = v + return s +} + +// Occurs when a requested resource is not found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) 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 { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A result row containing metadata for an archived email message. +type Row struct { + _ struct{} `type:"structure"` + + // The unique identifier of the archived message. + ArchivedMessageId *string `type:"string"` + + // The email addresses in the CC header. + Cc *string `type:"string"` + + // The date the email was sent. + Date *string `type:"string"` + + // The email address of the sender. + From *string `type:"string"` + + // A flag indicating if the email has attachments. + HasAttachments *bool `type:"boolean"` + + // The email message ID this is a reply to. + InReplyTo *string `type:"string"` + + // The unique message ID of the email. + MessageId *string `type:"string"` + + // The received headers from the email delivery path. + ReceivedHeaders []*string `type:"list"` + + // The timestamp of when the email was received. + ReceivedTimestamp *time.Time `type:"timestamp"` + + // The subject header value of the email. + Subject *string `type:"string"` + + // The email addresses in the To header. + To *string `type:"string"` + + // The user agent that sent the email. + XMailer *string `type:"string"` + + // The original user agent that sent the email. + XOriginalMailer *string `type:"string"` + + // The priority level of the email. + XPriority *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Row) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Row) GoString() string { + return s.String() +} + +// SetArchivedMessageId sets the ArchivedMessageId field's value. +func (s *Row) SetArchivedMessageId(v string) *Row { + s.ArchivedMessageId = &v + return s +} + +// SetCc sets the Cc field's value. +func (s *Row) SetCc(v string) *Row { + s.Cc = &v + return s +} + +// SetDate sets the Date field's value. +func (s *Row) SetDate(v string) *Row { + s.Date = &v + return s +} + +// SetFrom sets the From field's value. +func (s *Row) SetFrom(v string) *Row { + s.From = &v + return s +} + +// SetHasAttachments sets the HasAttachments field's value. +func (s *Row) SetHasAttachments(v bool) *Row { + s.HasAttachments = &v + return s +} + +// SetInReplyTo sets the InReplyTo field's value. +func (s *Row) SetInReplyTo(v string) *Row { + s.InReplyTo = &v + return s +} + +// SetMessageId sets the MessageId field's value. +func (s *Row) SetMessageId(v string) *Row { + s.MessageId = &v + return s +} + +// SetReceivedHeaders sets the ReceivedHeaders field's value. +func (s *Row) SetReceivedHeaders(v []*string) *Row { + s.ReceivedHeaders = v + return s +} + +// SetReceivedTimestamp sets the ReceivedTimestamp field's value. +func (s *Row) SetReceivedTimestamp(v time.Time) *Row { + s.ReceivedTimestamp = &v + return s +} + +// SetSubject sets the Subject field's value. +func (s *Row) SetSubject(v string) *Row { + s.Subject = &v + return s +} + +// SetTo sets the To field's value. +func (s *Row) SetTo(v string) *Row { + s.To = &v + return s +} + +// SetXMailer sets the XMailer field's value. +func (s *Row) SetXMailer(v string) *Row { + s.XMailer = &v + return s +} + +// SetXOriginalMailer sets the XOriginalMailer field's value. +func (s *Row) SetXOriginalMailer(v string) *Row { + s.XOriginalMailer = &v + return s +} + +// SetXPriority sets the XPriority field's value. +func (s *Row) SetXPriority(v string) *Row { + s.XPriority = &v + return s +} + +// A rule contains conditions, "unless conditions" and actions. For each envelope +// recipient of an email, if all conditions match and none of the "unless conditions" +// match, then all of the actions are executed sequentially. If no conditions +// are provided, the rule always applies and the actions are implicitly executed. +// If only "unless conditions" are provided, the rule applies if the email does +// not match the evaluation of the "unless conditions". +type Rule struct { + _ struct{} `type:"structure"` + + // The list of actions to execute when the conditions match the incoming email, + // and none of the "unless conditions" match. + // + // Actions is a required field + Actions []*RuleAction `min:"1" type:"list" required:"true"` + + // The conditions of this rule. All conditions must match the email for the + // actions to be executed. An empty list of conditions means that all emails + // match, but are still subject to any "unless conditions" + Conditions []*RuleCondition `type:"list"` + + // The user-friendly name of the rule. + Name *string `min:"1" type:"string"` + + // The "unless conditions" of this rule. None of the conditions can match the + // email for the actions to be executed. If any of these conditions do match + // the email, then the actions are not executed. + Unless []*RuleCondition `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Rule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Rule) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Rule) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Rule"} + if s.Actions == nil { + invalidParams.Add(request.NewErrParamRequired("Actions")) + } + if s.Actions != nil && len(s.Actions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Actions", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Actions != nil { + for i, v := range s.Actions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Conditions != nil { + for i, v := range s.Conditions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Conditions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Unless != nil { + for i, v := range s.Unless { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Unless", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActions sets the Actions field's value. +func (s *Rule) SetActions(v []*RuleAction) *Rule { + s.Actions = v + return s +} + +// SetConditions sets the Conditions field's value. +func (s *Rule) SetConditions(v []*RuleCondition) *Rule { + s.Conditions = v + return s +} + +// SetName sets the Name field's value. +func (s *Rule) SetName(v string) *Rule { + s.Name = &v + return s +} + +// SetUnless sets the Unless field's value. +func (s *Rule) SetUnless(v []*RuleCondition) *Rule { + s.Unless = v + return s +} + +// The action for a rule to take. Only one of the contained actions can be set. +type RuleAction struct { + _ struct{} `type:"structure"` + + // This action adds a header. This can be used to add arbitrary email headers. + AddHeader *AddHeaderAction `type:"structure"` + + // This action archives the email. This can be used to deliver an email to an + // archive. + Archive *ArchiveAction `type:"structure"` + + // This action delivers an email to a WorkMail mailbox. + DeliverToMailbox *DeliverToMailboxAction `type:"structure"` + + // This action terminates the evaluation of rules in the rule set. + Drop *DropAction `type:"structure"` + + // This action relays the email to another SMTP server. + Relay *RelayAction `type:"structure"` + + // The action replaces certain or all recipients with a different set of recipients. + ReplaceRecipient *ReplaceRecipientAction `type:"structure"` + + // This action sends the email to the internet. + Send *SendAction `type:"structure"` + + // This action writes the MIME content of the email to an S3 bucket. + WriteToS3 *S3Action `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RuleAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RuleAction"} + if s.AddHeader != nil { + if err := s.AddHeader.Validate(); err != nil { + invalidParams.AddNested("AddHeader", err.(request.ErrInvalidParams)) + } + } + if s.Archive != nil { + if err := s.Archive.Validate(); err != nil { + invalidParams.AddNested("Archive", err.(request.ErrInvalidParams)) + } + } + if s.DeliverToMailbox != nil { + if err := s.DeliverToMailbox.Validate(); err != nil { + invalidParams.AddNested("DeliverToMailbox", err.(request.ErrInvalidParams)) + } + } + if s.Relay != nil { + if err := s.Relay.Validate(); err != nil { + invalidParams.AddNested("Relay", err.(request.ErrInvalidParams)) + } + } + if s.ReplaceRecipient != nil { + if err := s.ReplaceRecipient.Validate(); err != nil { + invalidParams.AddNested("ReplaceRecipient", err.(request.ErrInvalidParams)) + } + } + if s.Send != nil { + if err := s.Send.Validate(); err != nil { + invalidParams.AddNested("Send", err.(request.ErrInvalidParams)) + } + } + if s.WriteToS3 != nil { + if err := s.WriteToS3.Validate(); err != nil { + invalidParams.AddNested("WriteToS3", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAddHeader sets the AddHeader field's value. +func (s *RuleAction) SetAddHeader(v *AddHeaderAction) *RuleAction { + s.AddHeader = v + return s +} + +// SetArchive sets the Archive field's value. +func (s *RuleAction) SetArchive(v *ArchiveAction) *RuleAction { + s.Archive = v + return s +} + +// SetDeliverToMailbox sets the DeliverToMailbox field's value. +func (s *RuleAction) SetDeliverToMailbox(v *DeliverToMailboxAction) *RuleAction { + s.DeliverToMailbox = v + return s +} + +// SetDrop sets the Drop field's value. +func (s *RuleAction) SetDrop(v *DropAction) *RuleAction { + s.Drop = v + return s +} + +// SetRelay sets the Relay field's value. +func (s *RuleAction) SetRelay(v *RelayAction) *RuleAction { + s.Relay = v + return s +} + +// SetReplaceRecipient sets the ReplaceRecipient field's value. +func (s *RuleAction) SetReplaceRecipient(v *ReplaceRecipientAction) *RuleAction { + s.ReplaceRecipient = v + return s +} + +// SetSend sets the Send field's value. +func (s *RuleAction) SetSend(v *SendAction) *RuleAction { + s.Send = v + return s +} + +// SetWriteToS3 sets the WriteToS3 field's value. +func (s *RuleAction) SetWriteToS3(v *S3Action) *RuleAction { + s.WriteToS3 = v + return s +} + +// A boolean expression to be used in a rule condition. +type RuleBooleanExpression struct { + _ struct{} `type:"structure"` + + // The operand on which to perform a boolean condition operation. + // + // Evaluate is a required field + Evaluate *RuleBooleanToEvaluate `type:"structure" required:"true"` + + // The matching operator for a boolean condition expression. + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"RuleBooleanOperator"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleBooleanExpression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleBooleanExpression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RuleBooleanExpression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RuleBooleanExpression"} + if s.Evaluate == nil { + invalidParams.Add(request.NewErrParamRequired("Evaluate")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluate sets the Evaluate field's value. +func (s *RuleBooleanExpression) SetEvaluate(v *RuleBooleanToEvaluate) *RuleBooleanExpression { + s.Evaluate = v + return s +} + +// SetOperator sets the Operator field's value. +func (s *RuleBooleanExpression) SetOperator(v string) *RuleBooleanExpression { + s.Operator = &v + return s +} + +// The union type representing the allowed types of operands for a boolean condition. +type RuleBooleanToEvaluate struct { + _ struct{} `type:"structure"` + + // The boolean type representing the allowed attribute types for an email. + Attribute *string `type:"string" enum:"RuleBooleanEmailAttribute"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleBooleanToEvaluate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleBooleanToEvaluate) GoString() string { + return s.String() +} + +// SetAttribute sets the Attribute field's value. +func (s *RuleBooleanToEvaluate) SetAttribute(v string) *RuleBooleanToEvaluate { + s.Attribute = &v + return s +} + +// The conditional expression used to evaluate an email for determining if a +// rule action should be taken. +type RuleCondition struct { + _ struct{} `type:"structure"` + + // The condition applies to a boolean expression passed in this field. + BooleanExpression *RuleBooleanExpression `type:"structure"` + + // The condition applies to a DMARC policy expression passed in this field. + DmarcExpression *RuleDmarcExpression `type:"structure"` + + // The condition applies to an IP address expression passed in this field. + IpExpression *RuleIpExpression `type:"structure"` + + // The condition applies to a number expression passed in this field. + NumberExpression *RuleNumberExpression `type:"structure"` + + // The condition applies to a string expression passed in this field. + StringExpression *RuleStringExpression `type:"structure"` + + // The condition applies to a verdict expression passed in this field. + VerdictExpression *RuleVerdictExpression `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleCondition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleCondition) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RuleCondition) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RuleCondition"} + if s.BooleanExpression != nil { + if err := s.BooleanExpression.Validate(); err != nil { + invalidParams.AddNested("BooleanExpression", err.(request.ErrInvalidParams)) + } + } + if s.DmarcExpression != nil { + if err := s.DmarcExpression.Validate(); err != nil { + invalidParams.AddNested("DmarcExpression", err.(request.ErrInvalidParams)) + } + } + if s.IpExpression != nil { + if err := s.IpExpression.Validate(); err != nil { + invalidParams.AddNested("IpExpression", err.(request.ErrInvalidParams)) + } + } + if s.NumberExpression != nil { + if err := s.NumberExpression.Validate(); err != nil { + invalidParams.AddNested("NumberExpression", err.(request.ErrInvalidParams)) + } + } + if s.StringExpression != nil { + if err := s.StringExpression.Validate(); err != nil { + invalidParams.AddNested("StringExpression", err.(request.ErrInvalidParams)) + } + } + if s.VerdictExpression != nil { + if err := s.VerdictExpression.Validate(); err != nil { + invalidParams.AddNested("VerdictExpression", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBooleanExpression sets the BooleanExpression field's value. +func (s *RuleCondition) SetBooleanExpression(v *RuleBooleanExpression) *RuleCondition { + s.BooleanExpression = v + return s +} + +// SetDmarcExpression sets the DmarcExpression field's value. +func (s *RuleCondition) SetDmarcExpression(v *RuleDmarcExpression) *RuleCondition { + s.DmarcExpression = v + return s +} + +// SetIpExpression sets the IpExpression field's value. +func (s *RuleCondition) SetIpExpression(v *RuleIpExpression) *RuleCondition { + s.IpExpression = v + return s +} + +// SetNumberExpression sets the NumberExpression field's value. +func (s *RuleCondition) SetNumberExpression(v *RuleNumberExpression) *RuleCondition { + s.NumberExpression = v + return s +} + +// SetStringExpression sets the StringExpression field's value. +func (s *RuleCondition) SetStringExpression(v *RuleStringExpression) *RuleCondition { + s.StringExpression = v + return s +} + +// SetVerdictExpression sets the VerdictExpression field's value. +func (s *RuleCondition) SetVerdictExpression(v *RuleVerdictExpression) *RuleCondition { + s.VerdictExpression = v + return s +} + +// A DMARC policy expression. The condition matches if the given DMARC policy +// matches that of the incoming email. +type RuleDmarcExpression struct { + _ struct{} `type:"structure"` + + // The operator to apply to the DMARC policy of the incoming email. + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"RuleDmarcOperator"` + + // The values to use for the given DMARC policy operator. For the operator EQUALS, + // if multiple values are given, they are evaluated as an OR. That is, if any + // of the given values match, the condition is deemed to match. For the operator + // NOT_EQUALS, if multiple values are given, they are evaluated as an AND. That + // is, only if the email's DMARC policy is not equal to any of the given values, + // then the condition is deemed to match. + // + // Values is a required field + Values []*string `min:"1" type:"list" required:"true" enum:"RuleDmarcPolicy"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleDmarcExpression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleDmarcExpression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RuleDmarcExpression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RuleDmarcExpression"} + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOperator sets the Operator field's value. +func (s *RuleDmarcExpression) SetOperator(v string) *RuleDmarcExpression { + s.Operator = &v + return s +} + +// SetValues sets the Values field's value. +func (s *RuleDmarcExpression) SetValues(v []*string) *RuleDmarcExpression { + s.Values = v + return s +} + +// An IP address expression matching certain IP addresses within a given range +// of IP addresses. +type RuleIpExpression struct { + _ struct{} `type:"structure"` + + // The IP address to evaluate in this condition. + // + // Evaluate is a required field + Evaluate *RuleIpToEvaluate `type:"structure" required:"true"` + + // The operator to evaluate the IP address. + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"RuleIpOperator"` + + // The IP CIDR blocks in format "x.y.z.w/n" (eg 10.0.0.0/8) to match with the + // email's IP address. For the operator CIDR_MATCHES, if multiple values are + // given, they are evaluated as an OR. That is, if the IP address is contained + // within any of the given CIDR ranges, the condition is deemed to match. For + // NOT_CIDR_MATCHES, if multiple CIDR ranges are given, the condition is deemed + // to match if the IP address is not contained in any of the given CIDR ranges. + // + // Values is a required field + Values []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleIpExpression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleIpExpression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RuleIpExpression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RuleIpExpression"} + if s.Evaluate == nil { + invalidParams.Add(request.NewErrParamRequired("Evaluate")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluate sets the Evaluate field's value. +func (s *RuleIpExpression) SetEvaluate(v *RuleIpToEvaluate) *RuleIpExpression { + s.Evaluate = v + return s +} + +// SetOperator sets the Operator field's value. +func (s *RuleIpExpression) SetOperator(v string) *RuleIpExpression { + s.Operator = &v + return s +} + +// SetValues sets the Values field's value. +func (s *RuleIpExpression) SetValues(v []*string) *RuleIpExpression { + s.Values = v + return s +} + +// The IP address to evaluate for this condition. +type RuleIpToEvaluate struct { + _ struct{} `type:"structure"` + + // The attribute of the email to evaluate. + Attribute *string `type:"string" enum:"RuleIpEmailAttribute"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleIpToEvaluate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleIpToEvaluate) GoString() string { + return s.String() +} + +// SetAttribute sets the Attribute field's value. +func (s *RuleIpToEvaluate) SetAttribute(v string) *RuleIpToEvaluate { + s.Attribute = &v + return s +} + +// A number expression to match numeric conditions with integers from the incoming +// email. +type RuleNumberExpression struct { + _ struct{} `type:"structure"` + + // The number to evaluate in a numeric condition expression. + // + // Evaluate is a required field + Evaluate *RuleNumberToEvaluate `type:"structure" required:"true"` + + // The operator for a numeric condition expression. + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"RuleNumberOperator"` + + // The value to evaluate in a numeric condition expression. + // + // Value is a required field + Value *float64 `type:"double" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleNumberExpression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleNumberExpression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RuleNumberExpression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RuleNumberExpression"} + if s.Evaluate == nil { + invalidParams.Add(request.NewErrParamRequired("Evaluate")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluate sets the Evaluate field's value. +func (s *RuleNumberExpression) SetEvaluate(v *RuleNumberToEvaluate) *RuleNumberExpression { + s.Evaluate = v + return s +} + +// SetOperator sets the Operator field's value. +func (s *RuleNumberExpression) SetOperator(v string) *RuleNumberExpression { + s.Operator = &v + return s +} + +// SetValue sets the Value field's value. +func (s *RuleNumberExpression) SetValue(v float64) *RuleNumberExpression { + s.Value = &v + return s +} + +// The number to evaluate in a numeric condition expression. +type RuleNumberToEvaluate struct { + _ struct{} `type:"structure"` + + // An email attribute that is used as the number to evaluate. + Attribute *string `type:"string" enum:"RuleNumberEmailAttribute"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleNumberToEvaluate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleNumberToEvaluate) GoString() string { + return s.String() +} + +// SetAttribute sets the Attribute field's value. +func (s *RuleNumberToEvaluate) SetAttribute(v string) *RuleNumberToEvaluate { + s.Attribute = &v + return s +} + +// A rule set contains a list of rules that are evaluated in order. Each rule +// is evaluated sequentially for each email. +type RuleSet struct { + _ struct{} `type:"structure"` + + // The last modification date of the rule set. + LastModificationDate *time.Time `type:"timestamp"` + + // The identifier of the rule set. + RuleSetId *string `min:"1" type:"string"` + + // A user-friendly name for the rule set. + RuleSetName *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleSet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleSet) GoString() string { + return s.String() +} + +// SetLastModificationDate sets the LastModificationDate field's value. +func (s *RuleSet) SetLastModificationDate(v time.Time) *RuleSet { + s.LastModificationDate = &v + return s +} + +// SetRuleSetId sets the RuleSetId field's value. +func (s *RuleSet) SetRuleSetId(v string) *RuleSet { + s.RuleSetId = &v + return s +} + +// SetRuleSetName sets the RuleSetName field's value. +func (s *RuleSet) SetRuleSetName(v string) *RuleSet { + s.RuleSetName = &v + return s +} + +// A string expression is evaluated against strings or substrings of the email. +type RuleStringExpression struct { + _ struct{} `type:"structure"` + + // The string to evaluate in a string condition expression. + // + // Evaluate is a required field + Evaluate *RuleStringToEvaluate `type:"structure" required:"true"` + + // The matching operator for a string condition expression. + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"RuleStringOperator"` + + // The string(s) to be evaluated in a string condition expression. For all operators, + // except for NOT_EQUALS, if multiple values are given, the values are processed + // as an OR. That is, if any of the values match the email's string using the + // given operator, the condition is deemed to match. However, for NOT_EQUALS, + // the condition is only deemed to match if none of the given strings match + // the email's string. + // + // Values is a required field + Values []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleStringExpression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleStringExpression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RuleStringExpression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RuleStringExpression"} + if s.Evaluate == nil { + invalidParams.Add(request.NewErrParamRequired("Evaluate")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluate sets the Evaluate field's value. +func (s *RuleStringExpression) SetEvaluate(v *RuleStringToEvaluate) *RuleStringExpression { + s.Evaluate = v + return s +} + +// SetOperator sets the Operator field's value. +func (s *RuleStringExpression) SetOperator(v string) *RuleStringExpression { + s.Operator = &v + return s +} + +// SetValues sets the Values field's value. +func (s *RuleStringExpression) SetValues(v []*string) *RuleStringExpression { + s.Values = v + return s +} + +// The string to evaluate in a string condition expression. +type RuleStringToEvaluate struct { + _ struct{} `type:"structure"` + + // The email attribute to evaluate in a string condition expression. + Attribute *string `type:"string" enum:"RuleStringEmailAttribute"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleStringToEvaluate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleStringToEvaluate) GoString() string { + return s.String() +} + +// SetAttribute sets the Attribute field's value. +func (s *RuleStringToEvaluate) SetAttribute(v string) *RuleStringToEvaluate { + s.Attribute = &v + return s +} + +// A verdict expression is evaluated against verdicts of the email. +type RuleVerdictExpression struct { + _ struct{} `type:"structure"` + + // The verdict to evaluate in a verdict condition expression. + // + // Evaluate is a required field + Evaluate *RuleVerdictToEvaluate `type:"structure" required:"true"` + + // The matching operator for a verdict condition expression. + // + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"RuleVerdictOperator"` + + // The values to match with the email's verdict using the given operator. For + // the EQUALS operator, if multiple values are given, the condition is deemed + // to match if any of the given verdicts match that of the email. For the NOT_EQUALS + // operator, if multiple values are given, the condition is deemed to match + // of none of the given verdicts match the verdict of the email. + // + // Values is a required field + Values []*string `min:"1" type:"list" required:"true" enum:"RuleVerdict"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleVerdictExpression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleVerdictExpression) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RuleVerdictExpression) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RuleVerdictExpression"} + if s.Evaluate == nil { + invalidParams.Add(request.NewErrParamRequired("Evaluate")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + if s.Evaluate != nil { + if err := s.Evaluate.Validate(); err != nil { + invalidParams.AddNested("Evaluate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvaluate sets the Evaluate field's value. +func (s *RuleVerdictExpression) SetEvaluate(v *RuleVerdictToEvaluate) *RuleVerdictExpression { + s.Evaluate = v + return s +} + +// SetOperator sets the Operator field's value. +func (s *RuleVerdictExpression) SetOperator(v string) *RuleVerdictExpression { + s.Operator = &v + return s +} + +// SetValues sets the Values field's value. +func (s *RuleVerdictExpression) SetValues(v []*string) *RuleVerdictExpression { + s.Values = v + return s +} + +// The verdict to evaluate in a verdict condition expression. +type RuleVerdictToEvaluate struct { + _ struct{} `type:"structure"` + + // The Add On ARN and its returned value to evaluate in a verdict condition + // expression. + Analysis *Analysis `type:"structure"` + + // The email verdict attribute to evaluate in a string verdict expression. + Attribute *string `type:"string" enum:"RuleVerdictAttribute"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleVerdictToEvaluate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RuleVerdictToEvaluate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RuleVerdictToEvaluate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RuleVerdictToEvaluate"} + if s.Analysis != nil { + if err := s.Analysis.Validate(); err != nil { + invalidParams.AddNested("Analysis", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnalysis sets the Analysis field's value. +func (s *RuleVerdictToEvaluate) SetAnalysis(v *Analysis) *RuleVerdictToEvaluate { + s.Analysis = v + return s +} + +// SetAttribute sets the Attribute field's value. +func (s *RuleVerdictToEvaluate) SetAttribute(v string) *RuleVerdictToEvaluate { + s.Attribute = &v + return s +} + +// Writes the MIME content of the email to an S3 bucket. +type S3Action struct { + _ struct{} `type:"structure"` + + // A policy that states what to do in the case of failure. The action will fail + // if there are configuration errors. For example, the specified the bucket + // has been deleted. + ActionFailurePolicy *string `type:"string" enum:"ActionFailurePolicy"` + + // The Amazon Resource Name (ARN) of the IAM Role to use while writing to S3. + // This role must have access to the s3:PutObject, kms:Encrypt, and kms:GenerateDataKey + // APIs for the given bucket. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` + + // The bucket name of the S3 bucket to write to. + // + // S3Bucket is a required field + S3Bucket *string `min:"1" type:"string" required:"true"` + + // The S3 prefix to use for the write to the s3 bucket. + S3Prefix *string `min:"1" type:"string"` + + // The KMS Key ID to use to encrypt the message in S3. + S3SseKmsKeyId *string `min:"20" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3Action) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3Action) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3Action) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3Action"} + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) + } + if s.S3Bucket == nil { + invalidParams.Add(request.NewErrParamRequired("S3Bucket")) + } + if s.S3Bucket != nil && len(*s.S3Bucket) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 1)) + } + if s.S3Prefix != nil && len(*s.S3Prefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S3Prefix", 1)) + } + if s.S3SseKmsKeyId != nil && len(*s.S3SseKmsKeyId) < 20 { + invalidParams.Add(request.NewErrParamMinLen("S3SseKmsKeyId", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActionFailurePolicy sets the ActionFailurePolicy field's value. +func (s *S3Action) SetActionFailurePolicy(v string) *S3Action { + s.ActionFailurePolicy = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *S3Action) SetRoleArn(v string) *S3Action { + s.RoleArn = &v + return s +} + +// SetS3Bucket sets the S3Bucket field's value. +func (s *S3Action) SetS3Bucket(v string) *S3Action { + s.S3Bucket = &v + return s +} + +// SetS3Prefix sets the S3Prefix field's value. +func (s *S3Action) SetS3Prefix(v string) *S3Action { + s.S3Prefix = &v + return s +} + +// SetS3SseKmsKeyId sets the S3SseKmsKeyId field's value. +func (s *S3Action) SetS3SseKmsKeyId(v string) *S3Action { + s.S3SseKmsKeyId = &v + return s +} + +// The configuration for exporting email data to an Amazon S3 bucket. +type S3ExportDestinationConfiguration struct { + _ struct{} `type:"structure"` + + // The S3 location to deliver the exported email data. + S3Location *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3ExportDestinationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3ExportDestinationConfiguration) GoString() string { + return s.String() +} + +// SetS3Location sets the S3Location field's value. +func (s *S3ExportDestinationConfiguration) SetS3Location(v string) *S3ExportDestinationConfiguration { + s.S3Location = &v + return s +} + +// The current status of an archive search job. +type SearchStatus struct { + _ struct{} `type:"structure"` + + // The timestamp of when the search completed (if finished). + CompletionTimestamp *time.Time `type:"timestamp"` + + // An error message if the search failed. + ErrorMessage *string `type:"string"` + + // The current state of the search job. + State *string `type:"string" enum:"SearchState"` + + // The timestamp of when the search was submitted. + SubmissionTimestamp *time.Time `type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchStatus) GoString() string { + return s.String() +} + +// SetCompletionTimestamp sets the CompletionTimestamp field's value. +func (s *SearchStatus) SetCompletionTimestamp(v time.Time) *SearchStatus { + s.CompletionTimestamp = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *SearchStatus) SetErrorMessage(v string) *SearchStatus { + s.ErrorMessage = &v + return s +} + +// SetState sets the State field's value. +func (s *SearchStatus) SetState(v string) *SearchStatus { + s.State = &v + return s +} + +// SetSubmissionTimestamp sets the SubmissionTimestamp field's value. +func (s *SearchStatus) SetSubmissionTimestamp(v time.Time) *SearchStatus { + s.SubmissionTimestamp = &v + return s +} + +// Summary details of an archive search job. +type SearchSummary struct { + _ struct{} `type:"structure"` + + // The unique identifier of the search job. + SearchId *string `min:"1" type:"string"` + + // The current status of the search job. + Status *SearchStatus `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchSummary) GoString() string { + return s.String() +} + +// SetSearchId sets the SearchId field's value. +func (s *SearchSummary) SetSearchId(v string) *SearchSummary { + s.SearchId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *SearchSummary) SetStatus(v *SearchStatus) *SearchSummary { + s.Status = v + return s +} + +// Sends the email to the internet using the ses:SendRawEmail API. +type SendAction struct { + _ struct{} `type:"structure"` + + // A policy that states what to do in the case of failure. The action will fail + // if there are configuration errors. For example, the caller does not have + // the permissions to call the sendRawEmail API. + ActionFailurePolicy *string `type:"string" enum:"ActionFailurePolicy"` + + // The Amazon Resource Name (ARN) of the role to use for this action. This role + // must have access to the ses:SendRawEmail API. + // + // RoleArn is a required field + RoleArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SendAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SendAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SendAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendAction"} + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActionFailurePolicy sets the ActionFailurePolicy field's value. +func (s *SendAction) SetActionFailurePolicy(v string) *SendAction { + s.ActionFailurePolicy = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *SendAction) SetRoleArn(v string) *SendAction { + s.RoleArn = &v + return s +} + +// Occurs when an operation exceeds a predefined service quota or limit. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) GoString() string { + return s.String() +} + +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" +} + +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil +} + +func (s *ServiceQuotaExceededException) 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 *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The request to initiate an export of emails from an archive. +type StartArchiveExportInput struct { + _ struct{} `type:"structure"` + + // The identifier of the archive to export emails from. + // + // ArchiveId is a required field + ArchiveId *string `min:"3" type:"string" required:"true"` + + // Details on where to deliver the exported email data. + // + // ExportDestinationConfiguration is a required field + ExportDestinationConfiguration *ExportDestinationConfiguration `type:"structure" required:"true"` + + // Criteria to filter which emails are included in the export. + Filters *ArchiveFilters `type:"structure"` + + // The start of the timestamp range to include emails from. + // + // FromTimestamp is a required field + FromTimestamp *time.Time `type:"timestamp" required:"true"` + + // The maximum number of email items to include in the export. + MaxResults *int64 `type:"integer"` + + // The end of the timestamp range to include emails from. + // + // ToTimestamp is a required field + ToTimestamp *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartArchiveExportInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartArchiveExportInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartArchiveExportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartArchiveExportInput"} + if s.ArchiveId == nil { + invalidParams.Add(request.NewErrParamRequired("ArchiveId")) + } + if s.ArchiveId != nil && len(*s.ArchiveId) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ArchiveId", 3)) + } + if s.ExportDestinationConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("ExportDestinationConfiguration")) + } + if s.FromTimestamp == nil { + invalidParams.Add(request.NewErrParamRequired("FromTimestamp")) + } + if s.ToTimestamp == nil { + invalidParams.Add(request.NewErrParamRequired("ToTimestamp")) + } + if s.Filters != nil { + if err := s.Filters.Validate(); err != nil { + invalidParams.AddNested("Filters", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArchiveId sets the ArchiveId field's value. +func (s *StartArchiveExportInput) SetArchiveId(v string) *StartArchiveExportInput { + s.ArchiveId = &v + return s +} + +// SetExportDestinationConfiguration sets the ExportDestinationConfiguration field's value. +func (s *StartArchiveExportInput) SetExportDestinationConfiguration(v *ExportDestinationConfiguration) *StartArchiveExportInput { + s.ExportDestinationConfiguration = v + return s +} + +// SetFilters sets the Filters field's value. +func (s *StartArchiveExportInput) SetFilters(v *ArchiveFilters) *StartArchiveExportInput { + s.Filters = v + return s +} + +// SetFromTimestamp sets the FromTimestamp field's value. +func (s *StartArchiveExportInput) SetFromTimestamp(v time.Time) *StartArchiveExportInput { + s.FromTimestamp = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *StartArchiveExportInput) SetMaxResults(v int64) *StartArchiveExportInput { + s.MaxResults = &v + return s +} + +// SetToTimestamp sets the ToTimestamp field's value. +func (s *StartArchiveExportInput) SetToTimestamp(v time.Time) *StartArchiveExportInput { + s.ToTimestamp = &v + return s +} + +// The response from initiating an archive export. +type StartArchiveExportOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the initiated export job. + ExportId *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartArchiveExportOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartArchiveExportOutput) GoString() string { + return s.String() +} + +// SetExportId sets the ExportId field's value. +func (s *StartArchiveExportOutput) SetExportId(v string) *StartArchiveExportOutput { + s.ExportId = &v + return s +} + +// The request to initiate a search across emails in an archive. +type StartArchiveSearchInput struct { + _ struct{} `type:"structure"` + + // The identifier of the archive to search emails in. + // + // ArchiveId is a required field + ArchiveId *string `min:"3" type:"string" required:"true"` + + // Criteria to filter which emails are included in the search results. + Filters *ArchiveFilters `type:"structure"` + + // The start timestamp of the range to search emails from. + // + // FromTimestamp is a required field + FromTimestamp *time.Time `type:"timestamp" required:"true"` + + // The maximum number of search results to return. + // + // MaxResults is a required field + MaxResults *int64 `type:"integer" required:"true"` + + // The end timestamp of the range to search emails from. + // + // ToTimestamp is a required field + ToTimestamp *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartArchiveSearchInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartArchiveSearchInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartArchiveSearchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartArchiveSearchInput"} + if s.ArchiveId == nil { + invalidParams.Add(request.NewErrParamRequired("ArchiveId")) + } + if s.ArchiveId != nil && len(*s.ArchiveId) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ArchiveId", 3)) + } + if s.FromTimestamp == nil { + invalidParams.Add(request.NewErrParamRequired("FromTimestamp")) + } + if s.MaxResults == nil { + invalidParams.Add(request.NewErrParamRequired("MaxResults")) + } + if s.ToTimestamp == nil { + invalidParams.Add(request.NewErrParamRequired("ToTimestamp")) + } + if s.Filters != nil { + if err := s.Filters.Validate(); err != nil { + invalidParams.AddNested("Filters", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArchiveId sets the ArchiveId field's value. +func (s *StartArchiveSearchInput) SetArchiveId(v string) *StartArchiveSearchInput { + s.ArchiveId = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *StartArchiveSearchInput) SetFilters(v *ArchiveFilters) *StartArchiveSearchInput { + s.Filters = v + return s +} + +// SetFromTimestamp sets the FromTimestamp field's value. +func (s *StartArchiveSearchInput) SetFromTimestamp(v time.Time) *StartArchiveSearchInput { + s.FromTimestamp = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *StartArchiveSearchInput) SetMaxResults(v int64) *StartArchiveSearchInput { + s.MaxResults = &v + return s +} + +// SetToTimestamp sets the ToTimestamp field's value. +func (s *StartArchiveSearchInput) SetToTimestamp(v time.Time) *StartArchiveSearchInput { + s.ToTimestamp = &v + return s +} + +// The response from initiating an archive search. +type StartArchiveSearchOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the initiated search job. + SearchId *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartArchiveSearchOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartArchiveSearchOutput) GoString() string { + return s.String() +} + +// SetSearchId sets the SearchId field's value. +func (s *StartArchiveSearchOutput) SetSearchId(v string) *StartArchiveSearchOutput { + s.SearchId = &v + return s +} + +// The request to stop an in-progress archive export job. +type StopArchiveExportInput struct { + _ struct{} `type:"structure"` + + // The identifier of the export job to stop. + // + // ExportId is a required field + ExportId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopArchiveExportInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopArchiveExportInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopArchiveExportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopArchiveExportInput"} + if s.ExportId == nil { + invalidParams.Add(request.NewErrParamRequired("ExportId")) + } + if s.ExportId != nil && len(*s.ExportId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExportId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExportId sets the ExportId field's value. +func (s *StopArchiveExportInput) SetExportId(v string) *StopArchiveExportInput { + s.ExportId = &v + return s +} + +// The response indicating if the request to stop the export job succeeded. +// +// On success, returns an HTTP 200 status code. On failure, returns an error +// message. +type StopArchiveExportOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopArchiveExportOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopArchiveExportOutput) GoString() string { + return s.String() +} + +// The request to stop an in-progress archive search job. +type StopArchiveSearchInput struct { + _ struct{} `type:"structure"` + + // The identifier of the search job to stop. + // + // SearchId is a required field + SearchId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopArchiveSearchInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopArchiveSearchInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopArchiveSearchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopArchiveSearchInput"} + if s.SearchId == nil { + invalidParams.Add(request.NewErrParamRequired("SearchId")) + } + if s.SearchId != nil && len(*s.SearchId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SearchId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSearchId sets the SearchId field's value. +func (s *StopArchiveSearchInput) SetSearchId(v string) *StopArchiveSearchInput { + s.SearchId = &v + return s +} + +// The response indicating if the request to stop the search job succeeded. +// +// On success, returns an HTTP 200 status code. On failure, returns an error +// message. +type StopArchiveSearchOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopArchiveSearchOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopArchiveSearchOutput) GoString() string { + return s.String() +} + +// A key-value pair (the value is optional), that you can define and assign +// to Amazon Web Services resources. +type Tag struct { + _ struct{} `type:"structure"` + + // The key of the key-value tag. + // + // Key is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by Tag's + // String and GoString methods. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true" sensitive:"true"` + + // The value of the key-value tag. + // + // Value is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by Tag's + // String and GoString methods. + // + // Value is a required field + Value *string `type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tag) 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")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you want to tag. + // + // ResourceArn is a required field + ResourceArn *string `min:"20" type:"string" required:"true"` + + // The tags used to organize, track, or control access for the resource. For + // example, { "tags": {"key1":"value1", "key2":"value2"} }. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) 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) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + 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]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// Occurs when a service's request rate limit is exceeded, resulting in throttling +// of further requests. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +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 *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The structure of a traffic policy resource which is a container for policy +// statements. +type TrafficPolicy struct { + _ struct{} `type:"structure"` + + // Default action instructs the traffic policy to either Allow or Deny (block) + // messages that fall outside of (or not addressed by) the conditions of your + // policy statements + // + // DefaultAction is a required field + DefaultAction *string `type:"string" required:"true" enum:"AcceptAction"` + + // The identifier of the traffic policy resource. + // + // TrafficPolicyId is a required field + TrafficPolicyId *string `min:"1" type:"string" required:"true"` + + // A user-friendly name of the traffic policy resource. + // + // TrafficPolicyName is a required field + TrafficPolicyName *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TrafficPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TrafficPolicy) GoString() string { + return s.String() +} + +// SetDefaultAction sets the DefaultAction field's value. +func (s *TrafficPolicy) SetDefaultAction(v string) *TrafficPolicy { + s.DefaultAction = &v + return s +} + +// SetTrafficPolicyId sets the TrafficPolicyId field's value. +func (s *TrafficPolicy) SetTrafficPolicyId(v string) *TrafficPolicy { + s.TrafficPolicyId = &v + return s +} + +// SetTrafficPolicyName sets the TrafficPolicyName field's value. +func (s *TrafficPolicy) SetTrafficPolicyName(v string) *TrafficPolicy { + s.TrafficPolicyName = &v + return s +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you want to untag. + // + // ResourceArn is a required field + ResourceArn *string `min:"20" type:"string" required:"true"` + + // The keys of the key-value pairs for the tag or tags you want to remove from + // the specified resource. + // + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) 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")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +// The request to update properties of an existing email archive. +type UpdateArchiveInput struct { + _ struct{} `type:"structure"` + + // The identifier of the archive to update. + // + // ArchiveId is a required field + ArchiveId *string `min:"1" type:"string" required:"true"` + + // A new, unique name for the archive. + ArchiveName *string `min:"1" type:"string"` + + // A new retention period for emails in the archive. + Retention *ArchiveRetention `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateArchiveInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateArchiveInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateArchiveInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateArchiveInput"} + if s.ArchiveId == nil { + invalidParams.Add(request.NewErrParamRequired("ArchiveId")) + } + if s.ArchiveId != nil && len(*s.ArchiveId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ArchiveId", 1)) + } + if s.ArchiveName != nil && len(*s.ArchiveName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ArchiveName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArchiveId sets the ArchiveId field's value. +func (s *UpdateArchiveInput) SetArchiveId(v string) *UpdateArchiveInput { + s.ArchiveId = &v + return s +} + +// SetArchiveName sets the ArchiveName field's value. +func (s *UpdateArchiveInput) SetArchiveName(v string) *UpdateArchiveInput { + s.ArchiveName = &v + return s +} + +// SetRetention sets the Retention field's value. +func (s *UpdateArchiveInput) SetRetention(v *ArchiveRetention) *UpdateArchiveInput { + s.Retention = v + return s +} + +// The response indicating if the archive update succeeded or failed. +// +// On success, returns an HTTP 200 status code. On failure, returns an error +// message. +type UpdateArchiveOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateArchiveOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateArchiveOutput) GoString() string { + return s.String() +} + +type UpdateIngressPointInput struct { + _ struct{} `type:"structure"` + + // If you choose an Authenticated ingress endpoint, you must configure either + // an SMTP password or a secret ARN. + IngressPointConfiguration *IngressPointConfiguration `type:"structure"` + + // The identifier for the ingress endpoint you want to update. + // + // IngressPointId is a required field + IngressPointId *string `min:"1" type:"string" required:"true"` + + // A user friendly name for the ingress endpoint resource. + IngressPointName *string `min:"3" type:"string"` + + // The identifier of an existing rule set that you attach to an ingress endpoint + // resource. + RuleSetId *string `min:"1" type:"string"` + + // The update status of an ingress endpoint. + StatusToUpdate *string `type:"string" enum:"IngressPointStatusToUpdate"` + + // The identifier of an existing traffic policy that you attach to an ingress + // endpoint resource. + TrafficPolicyId *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateIngressPointInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateIngressPointInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateIngressPointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateIngressPointInput"} + if s.IngressPointId == nil { + invalidParams.Add(request.NewErrParamRequired("IngressPointId")) + } + if s.IngressPointId != nil && len(*s.IngressPointId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IngressPointId", 1)) + } + if s.IngressPointName != nil && len(*s.IngressPointName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("IngressPointName", 3)) + } + if s.RuleSetId != nil && len(*s.RuleSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetId", 1)) + } + if s.TrafficPolicyId != nil && len(*s.TrafficPolicyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyId", 1)) + } + if s.IngressPointConfiguration != nil { + if err := s.IngressPointConfiguration.Validate(); err != nil { + invalidParams.AddNested("IngressPointConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIngressPointConfiguration sets the IngressPointConfiguration field's value. +func (s *UpdateIngressPointInput) SetIngressPointConfiguration(v *IngressPointConfiguration) *UpdateIngressPointInput { + s.IngressPointConfiguration = v + return s +} + +// SetIngressPointId sets the IngressPointId field's value. +func (s *UpdateIngressPointInput) SetIngressPointId(v string) *UpdateIngressPointInput { + s.IngressPointId = &v + return s +} + +// SetIngressPointName sets the IngressPointName field's value. +func (s *UpdateIngressPointInput) SetIngressPointName(v string) *UpdateIngressPointInput { + s.IngressPointName = &v + return s +} + +// SetRuleSetId sets the RuleSetId field's value. +func (s *UpdateIngressPointInput) SetRuleSetId(v string) *UpdateIngressPointInput { + s.RuleSetId = &v + return s +} + +// SetStatusToUpdate sets the StatusToUpdate field's value. +func (s *UpdateIngressPointInput) SetStatusToUpdate(v string) *UpdateIngressPointInput { + s.StatusToUpdate = &v + return s +} + +// SetTrafficPolicyId sets the TrafficPolicyId field's value. +func (s *UpdateIngressPointInput) SetTrafficPolicyId(v string) *UpdateIngressPointInput { + s.TrafficPolicyId = &v + return s +} + +type UpdateIngressPointOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateIngressPointOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateIngressPointOutput) GoString() string { + return s.String() +} + +type UpdateRelayInput struct { + _ struct{} `type:"structure"` + + // Authentication for the relay destination server—specify the secretARN where + // the SMTP credentials are stored. + Authentication *RelayAuthentication `type:"structure"` + + // The unique relay identifier. + // + // RelayId is a required field + RelayId *string `min:"1" type:"string" required:"true"` + + // The name of the relay resource. + RelayName *string `min:"1" type:"string"` + + // The destination relay server address. + ServerName *string `min:"1" type:"string"` + + // The destination relay server port. + ServerPort *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRelayInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRelayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRelayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRelayInput"} + if s.RelayId == nil { + invalidParams.Add(request.NewErrParamRequired("RelayId")) + } + if s.RelayId != nil && len(*s.RelayId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RelayId", 1)) + } + if s.RelayName != nil && len(*s.RelayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RelayName", 1)) + } + if s.ServerName != nil && len(*s.ServerName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ServerName", 1)) + } + if s.ServerPort != nil && *s.ServerPort < 1 { + invalidParams.Add(request.NewErrParamMinValue("ServerPort", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthentication sets the Authentication field's value. +func (s *UpdateRelayInput) SetAuthentication(v *RelayAuthentication) *UpdateRelayInput { + s.Authentication = v + return s +} + +// SetRelayId sets the RelayId field's value. +func (s *UpdateRelayInput) SetRelayId(v string) *UpdateRelayInput { + s.RelayId = &v + return s +} + +// SetRelayName sets the RelayName field's value. +func (s *UpdateRelayInput) SetRelayName(v string) *UpdateRelayInput { + s.RelayName = &v + return s +} + +// SetServerName sets the ServerName field's value. +func (s *UpdateRelayInput) SetServerName(v string) *UpdateRelayInput { + s.ServerName = &v + return s +} + +// SetServerPort sets the ServerPort field's value. +func (s *UpdateRelayInput) SetServerPort(v int64) *UpdateRelayInput { + s.ServerPort = &v + return s +} + +type UpdateRelayOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRelayOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRelayOutput) GoString() string { + return s.String() +} + +type UpdateRuleSetInput struct { + _ struct{} `type:"structure"` + + // The identifier of a rule set you want to update. + // + // RuleSetId is a required field + RuleSetId *string `min:"1" type:"string" required:"true"` + + // A user-friendly name for the rule set resource. + RuleSetName *string `min:"1" type:"string"` + + // A new set of rules to replace the current rules of the rule set—these rules + // will override all the rules of the rule set. + Rules []*Rule `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRuleSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRuleSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateRuleSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateRuleSetInput"} + if s.RuleSetId == nil { + invalidParams.Add(request.NewErrParamRequired("RuleSetId")) + } + if s.RuleSetId != nil && len(*s.RuleSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetId", 1)) + } + if s.RuleSetName != nil && len(*s.RuleSetName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1)) + } + if s.Rules != nil { + for i, v := range s.Rules { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRuleSetId sets the RuleSetId field's value. +func (s *UpdateRuleSetInput) SetRuleSetId(v string) *UpdateRuleSetInput { + s.RuleSetId = &v + return s +} + +// SetRuleSetName sets the RuleSetName field's value. +func (s *UpdateRuleSetInput) SetRuleSetName(v string) *UpdateRuleSetInput { + s.RuleSetName = &v + return s +} + +// SetRules sets the Rules field's value. +func (s *UpdateRuleSetInput) SetRules(v []*Rule) *UpdateRuleSetInput { + s.Rules = v + return s +} + +type UpdateRuleSetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRuleSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateRuleSetOutput) GoString() string { + return s.String() +} + +type UpdateTrafficPolicyInput struct { + _ struct{} `type:"structure"` + + // Default action instructs the traffic policy to either Allow or Deny (block) + // messages that fall outside of (or not addressed by) the conditions of your + // policy statements + DefaultAction *string `type:"string" enum:"AcceptAction"` + + // The maximum message size in bytes of email which is allowed in by this traffic + // policy—anything larger will be blocked. + MaxMessageSizeBytes *int64 `min:"1" type:"integer"` + + // The list of conditions to be updated for filtering email traffic. + PolicyStatements []*PolicyStatement `type:"list"` + + // The identifier of the traffic policy that you want to update. + // + // TrafficPolicyId is a required field + TrafficPolicyId *string `min:"1" type:"string" required:"true"` + + // A user-friendly name for the traffic policy resource. + TrafficPolicyName *string `min:"3" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateTrafficPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateTrafficPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateTrafficPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTrafficPolicyInput"} + if s.MaxMessageSizeBytes != nil && *s.MaxMessageSizeBytes < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxMessageSizeBytes", 1)) + } + if s.TrafficPolicyId == nil { + invalidParams.Add(request.NewErrParamRequired("TrafficPolicyId")) + } + if s.TrafficPolicyId != nil && len(*s.TrafficPolicyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyId", 1)) + } + if s.TrafficPolicyName != nil && len(*s.TrafficPolicyName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("TrafficPolicyName", 3)) + } + if s.PolicyStatements != nil { + for i, v := range s.PolicyStatements { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PolicyStatements", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultAction sets the DefaultAction field's value. +func (s *UpdateTrafficPolicyInput) SetDefaultAction(v string) *UpdateTrafficPolicyInput { + s.DefaultAction = &v + return s +} + +// SetMaxMessageSizeBytes sets the MaxMessageSizeBytes field's value. +func (s *UpdateTrafficPolicyInput) SetMaxMessageSizeBytes(v int64) *UpdateTrafficPolicyInput { + s.MaxMessageSizeBytes = &v + return s +} + +// SetPolicyStatements sets the PolicyStatements field's value. +func (s *UpdateTrafficPolicyInput) SetPolicyStatements(v []*PolicyStatement) *UpdateTrafficPolicyInput { + s.PolicyStatements = v + return s +} + +// SetTrafficPolicyId sets the TrafficPolicyId field's value. +func (s *UpdateTrafficPolicyInput) SetTrafficPolicyId(v string) *UpdateTrafficPolicyInput { + s.TrafficPolicyId = &v + return s +} + +// SetTrafficPolicyName sets the TrafficPolicyName field's value. +func (s *UpdateTrafficPolicyInput) SetTrafficPolicyName(v string) *UpdateTrafficPolicyInput { + s.TrafficPolicyName = &v + return s +} + +type UpdateTrafficPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateTrafficPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateTrafficPolicyOutput) GoString() string { + return s.String() +} + +// The request validation has failed. For details, see the accompanying error +// message. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s 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 ( + // AcceptActionAllow is a AcceptAction enum value + AcceptActionAllow = "ALLOW" + + // AcceptActionDeny is a AcceptAction enum value + AcceptActionDeny = "DENY" +) + +// AcceptAction_Values returns all elements of the AcceptAction enum +func AcceptAction_Values() []string { + return []string{ + AcceptActionAllow, + AcceptActionDeny, + } +} + +const ( + // ActionFailurePolicyContinue is a ActionFailurePolicy enum value + ActionFailurePolicyContinue = "CONTINUE" + + // ActionFailurePolicyDrop is a ActionFailurePolicy enum value + ActionFailurePolicyDrop = "DROP" +) + +// ActionFailurePolicy_Values returns all elements of the ActionFailurePolicy enum +func ActionFailurePolicy_Values() []string { + return []string{ + ActionFailurePolicyContinue, + ActionFailurePolicyDrop, + } +} + +const ( + // ArchiveBooleanEmailAttributeHasAttachments is a ArchiveBooleanEmailAttribute enum value + ArchiveBooleanEmailAttributeHasAttachments = "HAS_ATTACHMENTS" +) + +// ArchiveBooleanEmailAttribute_Values returns all elements of the ArchiveBooleanEmailAttribute enum +func ArchiveBooleanEmailAttribute_Values() []string { + return []string{ + ArchiveBooleanEmailAttributeHasAttachments, + } +} + +const ( + // ArchiveBooleanOperatorIsTrue is a ArchiveBooleanOperator enum value + ArchiveBooleanOperatorIsTrue = "IS_TRUE" + + // ArchiveBooleanOperatorIsFalse is a ArchiveBooleanOperator enum value + ArchiveBooleanOperatorIsFalse = "IS_FALSE" +) + +// ArchiveBooleanOperator_Values returns all elements of the ArchiveBooleanOperator enum +func ArchiveBooleanOperator_Values() []string { + return []string{ + ArchiveBooleanOperatorIsTrue, + ArchiveBooleanOperatorIsFalse, + } +} + +const ( + // ArchiveStateActive is a ArchiveState enum value + ArchiveStateActive = "ACTIVE" + + // ArchiveStatePendingDeletion is a ArchiveState enum value + ArchiveStatePendingDeletion = "PENDING_DELETION" +) + +// ArchiveState_Values returns all elements of the ArchiveState enum +func ArchiveState_Values() []string { + return []string{ + ArchiveStateActive, + ArchiveStatePendingDeletion, + } +} + +const ( + // ArchiveStringEmailAttributeTo is a ArchiveStringEmailAttribute enum value + ArchiveStringEmailAttributeTo = "TO" + + // ArchiveStringEmailAttributeFrom is a ArchiveStringEmailAttribute enum value + ArchiveStringEmailAttributeFrom = "FROM" + + // ArchiveStringEmailAttributeCc is a ArchiveStringEmailAttribute enum value + ArchiveStringEmailAttributeCc = "CC" + + // ArchiveStringEmailAttributeSubject is a ArchiveStringEmailAttribute enum value + ArchiveStringEmailAttributeSubject = "SUBJECT" +) + +// ArchiveStringEmailAttribute_Values returns all elements of the ArchiveStringEmailAttribute enum +func ArchiveStringEmailAttribute_Values() []string { + return []string{ + ArchiveStringEmailAttributeTo, + ArchiveStringEmailAttributeFrom, + ArchiveStringEmailAttributeCc, + ArchiveStringEmailAttributeSubject, + } +} + +const ( + // ArchiveStringOperatorContains is a ArchiveStringOperator enum value + ArchiveStringOperatorContains = "CONTAINS" +) + +// ArchiveStringOperator_Values returns all elements of the ArchiveStringOperator enum +func ArchiveStringOperator_Values() []string { + return []string{ + ArchiveStringOperatorContains, + } +} + +const ( + // ExportStateQueued is a ExportState enum value + ExportStateQueued = "QUEUED" + + // ExportStatePreprocessing is a ExportState enum value + ExportStatePreprocessing = "PREPROCESSING" + + // ExportStateProcessing is a ExportState enum value + ExportStateProcessing = "PROCESSING" + + // ExportStateCompleted is a ExportState enum value + ExportStateCompleted = "COMPLETED" + + // ExportStateFailed is a ExportState enum value + ExportStateFailed = "FAILED" + + // ExportStateCancelled is a ExportState enum value + ExportStateCancelled = "CANCELLED" +) + +// ExportState_Values returns all elements of the ExportState enum +func ExportState_Values() []string { + return []string{ + ExportStateQueued, + ExportStatePreprocessing, + ExportStateProcessing, + ExportStateCompleted, + ExportStateFailed, + ExportStateCancelled, + } +} + +const ( + // IngressBooleanOperatorIsTrue is a IngressBooleanOperator enum value + IngressBooleanOperatorIsTrue = "IS_TRUE" + + // IngressBooleanOperatorIsFalse is a IngressBooleanOperator enum value + IngressBooleanOperatorIsFalse = "IS_FALSE" +) + +// IngressBooleanOperator_Values returns all elements of the IngressBooleanOperator enum +func IngressBooleanOperator_Values() []string { + return []string{ + IngressBooleanOperatorIsTrue, + IngressBooleanOperatorIsFalse, + } +} + +const ( + // IngressIpOperatorCidrMatches is a IngressIpOperator enum value + IngressIpOperatorCidrMatches = "CIDR_MATCHES" + + // IngressIpOperatorNotCidrMatches is a IngressIpOperator enum value + IngressIpOperatorNotCidrMatches = "NOT_CIDR_MATCHES" +) + +// IngressIpOperator_Values returns all elements of the IngressIpOperator enum +func IngressIpOperator_Values() []string { + return []string{ + IngressIpOperatorCidrMatches, + IngressIpOperatorNotCidrMatches, + } +} + +const ( + // IngressIpv4AttributeSenderIp is a IngressIpv4Attribute enum value + IngressIpv4AttributeSenderIp = "SENDER_IP" +) + +// IngressIpv4Attribute_Values returns all elements of the IngressIpv4Attribute enum +func IngressIpv4Attribute_Values() []string { + return []string{ + IngressIpv4AttributeSenderIp, + } +} + +const ( + // IngressPointStatusProvisioning is a IngressPointStatus enum value + IngressPointStatusProvisioning = "PROVISIONING" + + // IngressPointStatusDeprovisioning is a IngressPointStatus enum value + IngressPointStatusDeprovisioning = "DEPROVISIONING" + + // IngressPointStatusUpdating is a IngressPointStatus enum value + IngressPointStatusUpdating = "UPDATING" + + // IngressPointStatusActive is a IngressPointStatus enum value + IngressPointStatusActive = "ACTIVE" + + // IngressPointStatusClosed is a IngressPointStatus enum value + IngressPointStatusClosed = "CLOSED" + + // IngressPointStatusFailed is a IngressPointStatus enum value + IngressPointStatusFailed = "FAILED" +) + +// IngressPointStatus_Values returns all elements of the IngressPointStatus enum +func IngressPointStatus_Values() []string { + return []string{ + IngressPointStatusProvisioning, + IngressPointStatusDeprovisioning, + IngressPointStatusUpdating, + IngressPointStatusActive, + IngressPointStatusClosed, + IngressPointStatusFailed, + } +} + +const ( + // IngressPointStatusToUpdateActive is a IngressPointStatusToUpdate enum value + IngressPointStatusToUpdateActive = "ACTIVE" + + // IngressPointStatusToUpdateClosed is a IngressPointStatusToUpdate enum value + IngressPointStatusToUpdateClosed = "CLOSED" +) + +// IngressPointStatusToUpdate_Values returns all elements of the IngressPointStatusToUpdate enum +func IngressPointStatusToUpdate_Values() []string { + return []string{ + IngressPointStatusToUpdateActive, + IngressPointStatusToUpdateClosed, + } +} + +const ( + // IngressPointTypeOpen is a IngressPointType enum value + IngressPointTypeOpen = "OPEN" + + // IngressPointTypeAuth is a IngressPointType enum value + IngressPointTypeAuth = "AUTH" +) + +// IngressPointType_Values returns all elements of the IngressPointType enum +func IngressPointType_Values() []string { + return []string{ + IngressPointTypeOpen, + IngressPointTypeAuth, + } +} + +const ( + // IngressStringEmailAttributeRecipient is a IngressStringEmailAttribute enum value + IngressStringEmailAttributeRecipient = "RECIPIENT" +) + +// IngressStringEmailAttribute_Values returns all elements of the IngressStringEmailAttribute enum +func IngressStringEmailAttribute_Values() []string { + return []string{ + IngressStringEmailAttributeRecipient, + } +} + +const ( + // IngressStringOperatorEquals is a IngressStringOperator enum value + IngressStringOperatorEquals = "EQUALS" + + // IngressStringOperatorNotEquals is a IngressStringOperator enum value + IngressStringOperatorNotEquals = "NOT_EQUALS" + + // IngressStringOperatorStartsWith is a IngressStringOperator enum value + IngressStringOperatorStartsWith = "STARTS_WITH" + + // IngressStringOperatorEndsWith is a IngressStringOperator enum value + IngressStringOperatorEndsWith = "ENDS_WITH" + + // IngressStringOperatorContains is a IngressStringOperator enum value + IngressStringOperatorContains = "CONTAINS" +) + +// IngressStringOperator_Values returns all elements of the IngressStringOperator enum +func IngressStringOperator_Values() []string { + return []string{ + IngressStringOperatorEquals, + IngressStringOperatorNotEquals, + IngressStringOperatorStartsWith, + IngressStringOperatorEndsWith, + IngressStringOperatorContains, + } +} + +const ( + // IngressTlsAttributeTlsProtocol is a IngressTlsAttribute enum value + IngressTlsAttributeTlsProtocol = "TLS_PROTOCOL" +) + +// IngressTlsAttribute_Values returns all elements of the IngressTlsAttribute enum +func IngressTlsAttribute_Values() []string { + return []string{ + IngressTlsAttributeTlsProtocol, + } +} + +const ( + // IngressTlsProtocolAttributeTls12 is a IngressTlsProtocolAttribute enum value + IngressTlsProtocolAttributeTls12 = "TLS1_2" + + // IngressTlsProtocolAttributeTls13 is a IngressTlsProtocolAttribute enum value + IngressTlsProtocolAttributeTls13 = "TLS1_3" +) + +// IngressTlsProtocolAttribute_Values returns all elements of the IngressTlsProtocolAttribute enum +func IngressTlsProtocolAttribute_Values() []string { + return []string{ + IngressTlsProtocolAttributeTls12, + IngressTlsProtocolAttributeTls13, + } +} + +const ( + // IngressTlsProtocolOperatorMinimumTlsVersion is a IngressTlsProtocolOperator enum value + IngressTlsProtocolOperatorMinimumTlsVersion = "MINIMUM_TLS_VERSION" + + // IngressTlsProtocolOperatorIs is a IngressTlsProtocolOperator enum value + IngressTlsProtocolOperatorIs = "IS" +) + +// IngressTlsProtocolOperator_Values returns all elements of the IngressTlsProtocolOperator enum +func IngressTlsProtocolOperator_Values() []string { + return []string{ + IngressTlsProtocolOperatorMinimumTlsVersion, + IngressTlsProtocolOperatorIs, + } +} + +const ( + // MailFromReplace is a MailFrom enum value + MailFromReplace = "REPLACE" + + // MailFromPreserve is a MailFrom enum value + MailFromPreserve = "PRESERVE" +) + +// MailFrom_Values returns all elements of the MailFrom enum +func MailFrom_Values() []string { + return []string{ + MailFromReplace, + MailFromPreserve, + } +} + +const ( + // RetentionPeriodThreeMonths is a RetentionPeriod enum value + RetentionPeriodThreeMonths = "THREE_MONTHS" + + // RetentionPeriodSixMonths is a RetentionPeriod enum value + RetentionPeriodSixMonths = "SIX_MONTHS" + + // RetentionPeriodNineMonths is a RetentionPeriod enum value + RetentionPeriodNineMonths = "NINE_MONTHS" + + // RetentionPeriodOneYear is a RetentionPeriod enum value + RetentionPeriodOneYear = "ONE_YEAR" + + // RetentionPeriodEighteenMonths is a RetentionPeriod enum value + RetentionPeriodEighteenMonths = "EIGHTEEN_MONTHS" + + // RetentionPeriodTwoYears is a RetentionPeriod enum value + RetentionPeriodTwoYears = "TWO_YEARS" + + // RetentionPeriodThirtyMonths is a RetentionPeriod enum value + RetentionPeriodThirtyMonths = "THIRTY_MONTHS" + + // RetentionPeriodThreeYears is a RetentionPeriod enum value + RetentionPeriodThreeYears = "THREE_YEARS" + + // RetentionPeriodFourYears is a RetentionPeriod enum value + RetentionPeriodFourYears = "FOUR_YEARS" + + // RetentionPeriodFiveYears is a RetentionPeriod enum value + RetentionPeriodFiveYears = "FIVE_YEARS" + + // RetentionPeriodSixYears is a RetentionPeriod enum value + RetentionPeriodSixYears = "SIX_YEARS" + + // RetentionPeriodSevenYears is a RetentionPeriod enum value + RetentionPeriodSevenYears = "SEVEN_YEARS" + + // RetentionPeriodEightYears is a RetentionPeriod enum value + RetentionPeriodEightYears = "EIGHT_YEARS" + + // RetentionPeriodNineYears is a RetentionPeriod enum value + RetentionPeriodNineYears = "NINE_YEARS" + + // RetentionPeriodTenYears is a RetentionPeriod enum value + RetentionPeriodTenYears = "TEN_YEARS" + + // RetentionPeriodPermanent is a RetentionPeriod enum value + RetentionPeriodPermanent = "PERMANENT" +) + +// RetentionPeriod_Values returns all elements of the RetentionPeriod enum +func RetentionPeriod_Values() []string { + return []string{ + RetentionPeriodThreeMonths, + RetentionPeriodSixMonths, + RetentionPeriodNineMonths, + RetentionPeriodOneYear, + RetentionPeriodEighteenMonths, + RetentionPeriodTwoYears, + RetentionPeriodThirtyMonths, + RetentionPeriodThreeYears, + RetentionPeriodFourYears, + RetentionPeriodFiveYears, + RetentionPeriodSixYears, + RetentionPeriodSevenYears, + RetentionPeriodEightYears, + RetentionPeriodNineYears, + RetentionPeriodTenYears, + RetentionPeriodPermanent, + } +} + +const ( + // RuleBooleanEmailAttributeReadReceiptRequested is a RuleBooleanEmailAttribute enum value + RuleBooleanEmailAttributeReadReceiptRequested = "READ_RECEIPT_REQUESTED" + + // RuleBooleanEmailAttributeTls is a RuleBooleanEmailAttribute enum value + RuleBooleanEmailAttributeTls = "TLS" + + // RuleBooleanEmailAttributeTlsWrapped is a RuleBooleanEmailAttribute enum value + RuleBooleanEmailAttributeTlsWrapped = "TLS_WRAPPED" +) + +// RuleBooleanEmailAttribute_Values returns all elements of the RuleBooleanEmailAttribute enum +func RuleBooleanEmailAttribute_Values() []string { + return []string{ + RuleBooleanEmailAttributeReadReceiptRequested, + RuleBooleanEmailAttributeTls, + RuleBooleanEmailAttributeTlsWrapped, + } +} + +const ( + // RuleBooleanOperatorIsTrue is a RuleBooleanOperator enum value + RuleBooleanOperatorIsTrue = "IS_TRUE" + + // RuleBooleanOperatorIsFalse is a RuleBooleanOperator enum value + RuleBooleanOperatorIsFalse = "IS_FALSE" +) + +// RuleBooleanOperator_Values returns all elements of the RuleBooleanOperator enum +func RuleBooleanOperator_Values() []string { + return []string{ + RuleBooleanOperatorIsTrue, + RuleBooleanOperatorIsFalse, + } +} + +const ( + // RuleDmarcOperatorEquals is a RuleDmarcOperator enum value + RuleDmarcOperatorEquals = "EQUALS" + + // RuleDmarcOperatorNotEquals is a RuleDmarcOperator enum value + RuleDmarcOperatorNotEquals = "NOT_EQUALS" +) + +// RuleDmarcOperator_Values returns all elements of the RuleDmarcOperator enum +func RuleDmarcOperator_Values() []string { + return []string{ + RuleDmarcOperatorEquals, + RuleDmarcOperatorNotEquals, + } +} + +const ( + // RuleDmarcPolicyNone is a RuleDmarcPolicy enum value + RuleDmarcPolicyNone = "NONE" + + // RuleDmarcPolicyQuarantine is a RuleDmarcPolicy enum value + RuleDmarcPolicyQuarantine = "QUARANTINE" + + // RuleDmarcPolicyReject is a RuleDmarcPolicy enum value + RuleDmarcPolicyReject = "REJECT" +) + +// RuleDmarcPolicy_Values returns all elements of the RuleDmarcPolicy enum +func RuleDmarcPolicy_Values() []string { + return []string{ + RuleDmarcPolicyNone, + RuleDmarcPolicyQuarantine, + RuleDmarcPolicyReject, + } +} + +const ( + // RuleIpEmailAttributeSourceIp is a RuleIpEmailAttribute enum value + RuleIpEmailAttributeSourceIp = "SOURCE_IP" +) + +// RuleIpEmailAttribute_Values returns all elements of the RuleIpEmailAttribute enum +func RuleIpEmailAttribute_Values() []string { + return []string{ + RuleIpEmailAttributeSourceIp, + } +} + +const ( + // RuleIpOperatorCidrMatches is a RuleIpOperator enum value + RuleIpOperatorCidrMatches = "CIDR_MATCHES" + + // RuleIpOperatorNotCidrMatches is a RuleIpOperator enum value + RuleIpOperatorNotCidrMatches = "NOT_CIDR_MATCHES" +) + +// RuleIpOperator_Values returns all elements of the RuleIpOperator enum +func RuleIpOperator_Values() []string { + return []string{ + RuleIpOperatorCidrMatches, + RuleIpOperatorNotCidrMatches, + } +} + +const ( + // RuleNumberEmailAttributeMessageSize is a RuleNumberEmailAttribute enum value + RuleNumberEmailAttributeMessageSize = "MESSAGE_SIZE" +) + +// RuleNumberEmailAttribute_Values returns all elements of the RuleNumberEmailAttribute enum +func RuleNumberEmailAttribute_Values() []string { + return []string{ + RuleNumberEmailAttributeMessageSize, + } +} + +const ( + // RuleNumberOperatorEquals is a RuleNumberOperator enum value + RuleNumberOperatorEquals = "EQUALS" + + // RuleNumberOperatorNotEquals is a RuleNumberOperator enum value + RuleNumberOperatorNotEquals = "NOT_EQUALS" + + // RuleNumberOperatorLessThan is a RuleNumberOperator enum value + RuleNumberOperatorLessThan = "LESS_THAN" + + // RuleNumberOperatorGreaterThan is a RuleNumberOperator enum value + RuleNumberOperatorGreaterThan = "GREATER_THAN" + + // RuleNumberOperatorLessThanOrEqual is a RuleNumberOperator enum value + RuleNumberOperatorLessThanOrEqual = "LESS_THAN_OR_EQUAL" + + // RuleNumberOperatorGreaterThanOrEqual is a RuleNumberOperator enum value + RuleNumberOperatorGreaterThanOrEqual = "GREATER_THAN_OR_EQUAL" +) + +// RuleNumberOperator_Values returns all elements of the RuleNumberOperator enum +func RuleNumberOperator_Values() []string { + return []string{ + RuleNumberOperatorEquals, + RuleNumberOperatorNotEquals, + RuleNumberOperatorLessThan, + RuleNumberOperatorGreaterThan, + RuleNumberOperatorLessThanOrEqual, + RuleNumberOperatorGreaterThanOrEqual, + } +} + +const ( + // RuleStringEmailAttributeMailFrom is a RuleStringEmailAttribute enum value + RuleStringEmailAttributeMailFrom = "MAIL_FROM" + + // RuleStringEmailAttributeHelo is a RuleStringEmailAttribute enum value + RuleStringEmailAttributeHelo = "HELO" + + // RuleStringEmailAttributeRecipient is a RuleStringEmailAttribute enum value + RuleStringEmailAttributeRecipient = "RECIPIENT" + + // RuleStringEmailAttributeSender is a RuleStringEmailAttribute enum value + RuleStringEmailAttributeSender = "SENDER" + + // RuleStringEmailAttributeFrom is a RuleStringEmailAttribute enum value + RuleStringEmailAttributeFrom = "FROM" + + // RuleStringEmailAttributeSubject is a RuleStringEmailAttribute enum value + RuleStringEmailAttributeSubject = "SUBJECT" + + // RuleStringEmailAttributeTo is a RuleStringEmailAttribute enum value + RuleStringEmailAttributeTo = "TO" + + // RuleStringEmailAttributeCc is a RuleStringEmailAttribute enum value + RuleStringEmailAttributeCc = "CC" +) + +// RuleStringEmailAttribute_Values returns all elements of the RuleStringEmailAttribute enum +func RuleStringEmailAttribute_Values() []string { + return []string{ + RuleStringEmailAttributeMailFrom, + RuleStringEmailAttributeHelo, + RuleStringEmailAttributeRecipient, + RuleStringEmailAttributeSender, + RuleStringEmailAttributeFrom, + RuleStringEmailAttributeSubject, + RuleStringEmailAttributeTo, + RuleStringEmailAttributeCc, + } +} + +const ( + // RuleStringOperatorEquals is a RuleStringOperator enum value + RuleStringOperatorEquals = "EQUALS" + + // RuleStringOperatorNotEquals is a RuleStringOperator enum value + RuleStringOperatorNotEquals = "NOT_EQUALS" + + // RuleStringOperatorStartsWith is a RuleStringOperator enum value + RuleStringOperatorStartsWith = "STARTS_WITH" + + // RuleStringOperatorEndsWith is a RuleStringOperator enum value + RuleStringOperatorEndsWith = "ENDS_WITH" + + // RuleStringOperatorContains is a RuleStringOperator enum value + RuleStringOperatorContains = "CONTAINS" +) + +// RuleStringOperator_Values returns all elements of the RuleStringOperator enum +func RuleStringOperator_Values() []string { + return []string{ + RuleStringOperatorEquals, + RuleStringOperatorNotEquals, + RuleStringOperatorStartsWith, + RuleStringOperatorEndsWith, + RuleStringOperatorContains, + } +} + +const ( + // RuleVerdictPass is a RuleVerdict enum value + RuleVerdictPass = "PASS" + + // RuleVerdictFail is a RuleVerdict enum value + RuleVerdictFail = "FAIL" + + // RuleVerdictGray is a RuleVerdict enum value + RuleVerdictGray = "GRAY" + + // RuleVerdictProcessingFailed is a RuleVerdict enum value + RuleVerdictProcessingFailed = "PROCESSING_FAILED" +) + +// RuleVerdict_Values returns all elements of the RuleVerdict enum +func RuleVerdict_Values() []string { + return []string{ + RuleVerdictPass, + RuleVerdictFail, + RuleVerdictGray, + RuleVerdictProcessingFailed, + } +} + +const ( + // RuleVerdictAttributeSpf is a RuleVerdictAttribute enum value + RuleVerdictAttributeSpf = "SPF" + + // RuleVerdictAttributeDkim is a RuleVerdictAttribute enum value + RuleVerdictAttributeDkim = "DKIM" +) + +// RuleVerdictAttribute_Values returns all elements of the RuleVerdictAttribute enum +func RuleVerdictAttribute_Values() []string { + return []string{ + RuleVerdictAttributeSpf, + RuleVerdictAttributeDkim, + } +} + +const ( + // RuleVerdictOperatorEquals is a RuleVerdictOperator enum value + RuleVerdictOperatorEquals = "EQUALS" + + // RuleVerdictOperatorNotEquals is a RuleVerdictOperator enum value + RuleVerdictOperatorNotEquals = "NOT_EQUALS" +) + +// RuleVerdictOperator_Values returns all elements of the RuleVerdictOperator enum +func RuleVerdictOperator_Values() []string { + return []string{ + RuleVerdictOperatorEquals, + RuleVerdictOperatorNotEquals, + } +} + +const ( + // SearchStateQueued is a SearchState enum value + SearchStateQueued = "QUEUED" + + // SearchStateRunning is a SearchState enum value + SearchStateRunning = "RUNNING" + + // SearchStateCompleted is a SearchState enum value + SearchStateCompleted = "COMPLETED" + + // SearchStateFailed is a SearchState enum value + SearchStateFailed = "FAILED" + + // SearchStateCancelled is a SearchState enum value + SearchStateCancelled = "CANCELLED" +) + +// SearchState_Values returns all elements of the SearchState enum +func SearchState_Values() []string { + return []string{ + SearchStateQueued, + SearchStateRunning, + SearchStateCompleted, + SearchStateFailed, + SearchStateCancelled, + } +} diff --git a/service/mailmanager/doc.go b/service/mailmanager/doc.go new file mode 100644 index 00000000000..1d013d5e833 --- /dev/null +++ b/service/mailmanager/doc.go @@ -0,0 +1,36 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package mailmanager provides the client and types for making API +// requests to MailManager. +// +// AWS SES Mail Manager API (http://aws.amazon.com/ses) contains operations +// and data types that comprise the Mail Manager feature of Amazon Simple Email +// Service. +// +// Mail Manager is a set of Amazon SES email gateway features designed to help +// you strengthen your organization's email infrastructure, simplify email workflow +// management, and streamline email compliance control. To learn more, see the +// Mail Manager chapter (https://docs.aws.amazon.com/ses/latest/dg/eb.html) +// in the Amazon SES Developer Guide. +// +// See https://docs.aws.amazon.com/goto/WebAPI/mailmanager-2023-10-17 for more information on this service. +// +// See mailmanager package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/mailmanager/ +// +// # Using the Client +// +// To contact MailManager with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the MailManager client MailManager for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/mailmanager/#New +package mailmanager diff --git a/service/mailmanager/errors.go b/service/mailmanager/errors.go new file mode 100644 index 00000000000..886d8320390 --- /dev/null +++ b/service/mailmanager/errors.go @@ -0,0 +1,58 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mailmanager + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // Occurs when a user is denied access to a specific resource or action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The request configuration has conflicts. For details, see the accompanying + // error message. + ErrCodeConflictException = "ConflictException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // Occurs when a requested resource is not found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // Occurs when an operation exceeds a predefined service quota or limit. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // Occurs when a service's request rate limit is exceeded, resulting in throttling + // of further requests. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The request validation has failed. For details, see the accompanying error + // message. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ThrottlingException": newErrorThrottlingException, + "ValidationException": newErrorValidationException, +} diff --git a/service/mailmanager/mailmanageriface/interface.go b/service/mailmanager/mailmanageriface/interface.go new file mode 100644 index 00000000000..04ca6e23881 --- /dev/null +++ b/service/mailmanager/mailmanageriface/interface.go @@ -0,0 +1,279 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package mailmanageriface provides an interface to enable mocking the MailManager service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package mailmanageriface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/mailmanager" +) + +// MailManagerAPI provides an interface to enable mocking the +// mailmanager.MailManager service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // MailManager. +// func myFunc(svc mailmanageriface.MailManagerAPI) bool { +// // Make svc.CreateAddonInstance request +// } +// +// func main() { +// sess := session.New() +// svc := mailmanager.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockMailManagerClient struct { +// mailmanageriface.MailManagerAPI +// } +// func (m *mockMailManagerClient) CreateAddonInstance(input *mailmanager.CreateAddonInstanceInput) (*mailmanager.CreateAddonInstanceOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockMailManagerClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type MailManagerAPI interface { + CreateAddonInstance(*mailmanager.CreateAddonInstanceInput) (*mailmanager.CreateAddonInstanceOutput, error) + CreateAddonInstanceWithContext(aws.Context, *mailmanager.CreateAddonInstanceInput, ...request.Option) (*mailmanager.CreateAddonInstanceOutput, error) + CreateAddonInstanceRequest(*mailmanager.CreateAddonInstanceInput) (*request.Request, *mailmanager.CreateAddonInstanceOutput) + + CreateAddonSubscription(*mailmanager.CreateAddonSubscriptionInput) (*mailmanager.CreateAddonSubscriptionOutput, error) + CreateAddonSubscriptionWithContext(aws.Context, *mailmanager.CreateAddonSubscriptionInput, ...request.Option) (*mailmanager.CreateAddonSubscriptionOutput, error) + CreateAddonSubscriptionRequest(*mailmanager.CreateAddonSubscriptionInput) (*request.Request, *mailmanager.CreateAddonSubscriptionOutput) + + CreateArchive(*mailmanager.CreateArchiveInput) (*mailmanager.CreateArchiveOutput, error) + CreateArchiveWithContext(aws.Context, *mailmanager.CreateArchiveInput, ...request.Option) (*mailmanager.CreateArchiveOutput, error) + CreateArchiveRequest(*mailmanager.CreateArchiveInput) (*request.Request, *mailmanager.CreateArchiveOutput) + + CreateIngressPoint(*mailmanager.CreateIngressPointInput) (*mailmanager.CreateIngressPointOutput, error) + CreateIngressPointWithContext(aws.Context, *mailmanager.CreateIngressPointInput, ...request.Option) (*mailmanager.CreateIngressPointOutput, error) + CreateIngressPointRequest(*mailmanager.CreateIngressPointInput) (*request.Request, *mailmanager.CreateIngressPointOutput) + + CreateRelay(*mailmanager.CreateRelayInput) (*mailmanager.CreateRelayOutput, error) + CreateRelayWithContext(aws.Context, *mailmanager.CreateRelayInput, ...request.Option) (*mailmanager.CreateRelayOutput, error) + CreateRelayRequest(*mailmanager.CreateRelayInput) (*request.Request, *mailmanager.CreateRelayOutput) + + CreateRuleSet(*mailmanager.CreateRuleSetInput) (*mailmanager.CreateRuleSetOutput, error) + CreateRuleSetWithContext(aws.Context, *mailmanager.CreateRuleSetInput, ...request.Option) (*mailmanager.CreateRuleSetOutput, error) + CreateRuleSetRequest(*mailmanager.CreateRuleSetInput) (*request.Request, *mailmanager.CreateRuleSetOutput) + + CreateTrafficPolicy(*mailmanager.CreateTrafficPolicyInput) (*mailmanager.CreateTrafficPolicyOutput, error) + CreateTrafficPolicyWithContext(aws.Context, *mailmanager.CreateTrafficPolicyInput, ...request.Option) (*mailmanager.CreateTrafficPolicyOutput, error) + CreateTrafficPolicyRequest(*mailmanager.CreateTrafficPolicyInput) (*request.Request, *mailmanager.CreateTrafficPolicyOutput) + + DeleteAddonInstance(*mailmanager.DeleteAddonInstanceInput) (*mailmanager.DeleteAddonInstanceOutput, error) + DeleteAddonInstanceWithContext(aws.Context, *mailmanager.DeleteAddonInstanceInput, ...request.Option) (*mailmanager.DeleteAddonInstanceOutput, error) + DeleteAddonInstanceRequest(*mailmanager.DeleteAddonInstanceInput) (*request.Request, *mailmanager.DeleteAddonInstanceOutput) + + DeleteAddonSubscription(*mailmanager.DeleteAddonSubscriptionInput) (*mailmanager.DeleteAddonSubscriptionOutput, error) + DeleteAddonSubscriptionWithContext(aws.Context, *mailmanager.DeleteAddonSubscriptionInput, ...request.Option) (*mailmanager.DeleteAddonSubscriptionOutput, error) + DeleteAddonSubscriptionRequest(*mailmanager.DeleteAddonSubscriptionInput) (*request.Request, *mailmanager.DeleteAddonSubscriptionOutput) + + DeleteArchive(*mailmanager.DeleteArchiveInput) (*mailmanager.DeleteArchiveOutput, error) + DeleteArchiveWithContext(aws.Context, *mailmanager.DeleteArchiveInput, ...request.Option) (*mailmanager.DeleteArchiveOutput, error) + DeleteArchiveRequest(*mailmanager.DeleteArchiveInput) (*request.Request, *mailmanager.DeleteArchiveOutput) + + DeleteIngressPoint(*mailmanager.DeleteIngressPointInput) (*mailmanager.DeleteIngressPointOutput, error) + DeleteIngressPointWithContext(aws.Context, *mailmanager.DeleteIngressPointInput, ...request.Option) (*mailmanager.DeleteIngressPointOutput, error) + DeleteIngressPointRequest(*mailmanager.DeleteIngressPointInput) (*request.Request, *mailmanager.DeleteIngressPointOutput) + + DeleteRelay(*mailmanager.DeleteRelayInput) (*mailmanager.DeleteRelayOutput, error) + DeleteRelayWithContext(aws.Context, *mailmanager.DeleteRelayInput, ...request.Option) (*mailmanager.DeleteRelayOutput, error) + DeleteRelayRequest(*mailmanager.DeleteRelayInput) (*request.Request, *mailmanager.DeleteRelayOutput) + + DeleteRuleSet(*mailmanager.DeleteRuleSetInput) (*mailmanager.DeleteRuleSetOutput, error) + DeleteRuleSetWithContext(aws.Context, *mailmanager.DeleteRuleSetInput, ...request.Option) (*mailmanager.DeleteRuleSetOutput, error) + DeleteRuleSetRequest(*mailmanager.DeleteRuleSetInput) (*request.Request, *mailmanager.DeleteRuleSetOutput) + + DeleteTrafficPolicy(*mailmanager.DeleteTrafficPolicyInput) (*mailmanager.DeleteTrafficPolicyOutput, error) + DeleteTrafficPolicyWithContext(aws.Context, *mailmanager.DeleteTrafficPolicyInput, ...request.Option) (*mailmanager.DeleteTrafficPolicyOutput, error) + DeleteTrafficPolicyRequest(*mailmanager.DeleteTrafficPolicyInput) (*request.Request, *mailmanager.DeleteTrafficPolicyOutput) + + GetAddonInstance(*mailmanager.GetAddonInstanceInput) (*mailmanager.GetAddonInstanceOutput, error) + GetAddonInstanceWithContext(aws.Context, *mailmanager.GetAddonInstanceInput, ...request.Option) (*mailmanager.GetAddonInstanceOutput, error) + GetAddonInstanceRequest(*mailmanager.GetAddonInstanceInput) (*request.Request, *mailmanager.GetAddonInstanceOutput) + + GetAddonSubscription(*mailmanager.GetAddonSubscriptionInput) (*mailmanager.GetAddonSubscriptionOutput, error) + GetAddonSubscriptionWithContext(aws.Context, *mailmanager.GetAddonSubscriptionInput, ...request.Option) (*mailmanager.GetAddonSubscriptionOutput, error) + GetAddonSubscriptionRequest(*mailmanager.GetAddonSubscriptionInput) (*request.Request, *mailmanager.GetAddonSubscriptionOutput) + + GetArchive(*mailmanager.GetArchiveInput) (*mailmanager.GetArchiveOutput, error) + GetArchiveWithContext(aws.Context, *mailmanager.GetArchiveInput, ...request.Option) (*mailmanager.GetArchiveOutput, error) + GetArchiveRequest(*mailmanager.GetArchiveInput) (*request.Request, *mailmanager.GetArchiveOutput) + + GetArchiveExport(*mailmanager.GetArchiveExportInput) (*mailmanager.GetArchiveExportOutput, error) + GetArchiveExportWithContext(aws.Context, *mailmanager.GetArchiveExportInput, ...request.Option) (*mailmanager.GetArchiveExportOutput, error) + GetArchiveExportRequest(*mailmanager.GetArchiveExportInput) (*request.Request, *mailmanager.GetArchiveExportOutput) + + GetArchiveMessage(*mailmanager.GetArchiveMessageInput) (*mailmanager.GetArchiveMessageOutput, error) + GetArchiveMessageWithContext(aws.Context, *mailmanager.GetArchiveMessageInput, ...request.Option) (*mailmanager.GetArchiveMessageOutput, error) + GetArchiveMessageRequest(*mailmanager.GetArchiveMessageInput) (*request.Request, *mailmanager.GetArchiveMessageOutput) + + GetArchiveMessageContent(*mailmanager.GetArchiveMessageContentInput) (*mailmanager.GetArchiveMessageContentOutput, error) + GetArchiveMessageContentWithContext(aws.Context, *mailmanager.GetArchiveMessageContentInput, ...request.Option) (*mailmanager.GetArchiveMessageContentOutput, error) + GetArchiveMessageContentRequest(*mailmanager.GetArchiveMessageContentInput) (*request.Request, *mailmanager.GetArchiveMessageContentOutput) + + GetArchiveSearch(*mailmanager.GetArchiveSearchInput) (*mailmanager.GetArchiveSearchOutput, error) + GetArchiveSearchWithContext(aws.Context, *mailmanager.GetArchiveSearchInput, ...request.Option) (*mailmanager.GetArchiveSearchOutput, error) + GetArchiveSearchRequest(*mailmanager.GetArchiveSearchInput) (*request.Request, *mailmanager.GetArchiveSearchOutput) + + GetArchiveSearchResults(*mailmanager.GetArchiveSearchResultsInput) (*mailmanager.GetArchiveSearchResultsOutput, error) + GetArchiveSearchResultsWithContext(aws.Context, *mailmanager.GetArchiveSearchResultsInput, ...request.Option) (*mailmanager.GetArchiveSearchResultsOutput, error) + GetArchiveSearchResultsRequest(*mailmanager.GetArchiveSearchResultsInput) (*request.Request, *mailmanager.GetArchiveSearchResultsOutput) + + GetIngressPoint(*mailmanager.GetIngressPointInput) (*mailmanager.GetIngressPointOutput, error) + GetIngressPointWithContext(aws.Context, *mailmanager.GetIngressPointInput, ...request.Option) (*mailmanager.GetIngressPointOutput, error) + GetIngressPointRequest(*mailmanager.GetIngressPointInput) (*request.Request, *mailmanager.GetIngressPointOutput) + + GetRelay(*mailmanager.GetRelayInput) (*mailmanager.GetRelayOutput, error) + GetRelayWithContext(aws.Context, *mailmanager.GetRelayInput, ...request.Option) (*mailmanager.GetRelayOutput, error) + GetRelayRequest(*mailmanager.GetRelayInput) (*request.Request, *mailmanager.GetRelayOutput) + + GetRuleSet(*mailmanager.GetRuleSetInput) (*mailmanager.GetRuleSetOutput, error) + GetRuleSetWithContext(aws.Context, *mailmanager.GetRuleSetInput, ...request.Option) (*mailmanager.GetRuleSetOutput, error) + GetRuleSetRequest(*mailmanager.GetRuleSetInput) (*request.Request, *mailmanager.GetRuleSetOutput) + + GetTrafficPolicy(*mailmanager.GetTrafficPolicyInput) (*mailmanager.GetTrafficPolicyOutput, error) + GetTrafficPolicyWithContext(aws.Context, *mailmanager.GetTrafficPolicyInput, ...request.Option) (*mailmanager.GetTrafficPolicyOutput, error) + GetTrafficPolicyRequest(*mailmanager.GetTrafficPolicyInput) (*request.Request, *mailmanager.GetTrafficPolicyOutput) + + ListAddonInstances(*mailmanager.ListAddonInstancesInput) (*mailmanager.ListAddonInstancesOutput, error) + ListAddonInstancesWithContext(aws.Context, *mailmanager.ListAddonInstancesInput, ...request.Option) (*mailmanager.ListAddonInstancesOutput, error) + ListAddonInstancesRequest(*mailmanager.ListAddonInstancesInput) (*request.Request, *mailmanager.ListAddonInstancesOutput) + + ListAddonInstancesPages(*mailmanager.ListAddonInstancesInput, func(*mailmanager.ListAddonInstancesOutput, bool) bool) error + ListAddonInstancesPagesWithContext(aws.Context, *mailmanager.ListAddonInstancesInput, func(*mailmanager.ListAddonInstancesOutput, bool) bool, ...request.Option) error + + ListAddonSubscriptions(*mailmanager.ListAddonSubscriptionsInput) (*mailmanager.ListAddonSubscriptionsOutput, error) + ListAddonSubscriptionsWithContext(aws.Context, *mailmanager.ListAddonSubscriptionsInput, ...request.Option) (*mailmanager.ListAddonSubscriptionsOutput, error) + ListAddonSubscriptionsRequest(*mailmanager.ListAddonSubscriptionsInput) (*request.Request, *mailmanager.ListAddonSubscriptionsOutput) + + ListAddonSubscriptionsPages(*mailmanager.ListAddonSubscriptionsInput, func(*mailmanager.ListAddonSubscriptionsOutput, bool) bool) error + ListAddonSubscriptionsPagesWithContext(aws.Context, *mailmanager.ListAddonSubscriptionsInput, func(*mailmanager.ListAddonSubscriptionsOutput, bool) bool, ...request.Option) error + + ListArchiveExports(*mailmanager.ListArchiveExportsInput) (*mailmanager.ListArchiveExportsOutput, error) + ListArchiveExportsWithContext(aws.Context, *mailmanager.ListArchiveExportsInput, ...request.Option) (*mailmanager.ListArchiveExportsOutput, error) + ListArchiveExportsRequest(*mailmanager.ListArchiveExportsInput) (*request.Request, *mailmanager.ListArchiveExportsOutput) + + ListArchiveExportsPages(*mailmanager.ListArchiveExportsInput, func(*mailmanager.ListArchiveExportsOutput, bool) bool) error + ListArchiveExportsPagesWithContext(aws.Context, *mailmanager.ListArchiveExportsInput, func(*mailmanager.ListArchiveExportsOutput, bool) bool, ...request.Option) error + + ListArchiveSearches(*mailmanager.ListArchiveSearchesInput) (*mailmanager.ListArchiveSearchesOutput, error) + ListArchiveSearchesWithContext(aws.Context, *mailmanager.ListArchiveSearchesInput, ...request.Option) (*mailmanager.ListArchiveSearchesOutput, error) + ListArchiveSearchesRequest(*mailmanager.ListArchiveSearchesInput) (*request.Request, *mailmanager.ListArchiveSearchesOutput) + + ListArchiveSearchesPages(*mailmanager.ListArchiveSearchesInput, func(*mailmanager.ListArchiveSearchesOutput, bool) bool) error + ListArchiveSearchesPagesWithContext(aws.Context, *mailmanager.ListArchiveSearchesInput, func(*mailmanager.ListArchiveSearchesOutput, bool) bool, ...request.Option) error + + ListArchives(*mailmanager.ListArchivesInput) (*mailmanager.ListArchivesOutput, error) + ListArchivesWithContext(aws.Context, *mailmanager.ListArchivesInput, ...request.Option) (*mailmanager.ListArchivesOutput, error) + ListArchivesRequest(*mailmanager.ListArchivesInput) (*request.Request, *mailmanager.ListArchivesOutput) + + ListArchivesPages(*mailmanager.ListArchivesInput, func(*mailmanager.ListArchivesOutput, bool) bool) error + ListArchivesPagesWithContext(aws.Context, *mailmanager.ListArchivesInput, func(*mailmanager.ListArchivesOutput, bool) bool, ...request.Option) error + + ListIngressPoints(*mailmanager.ListIngressPointsInput) (*mailmanager.ListIngressPointsOutput, error) + ListIngressPointsWithContext(aws.Context, *mailmanager.ListIngressPointsInput, ...request.Option) (*mailmanager.ListIngressPointsOutput, error) + ListIngressPointsRequest(*mailmanager.ListIngressPointsInput) (*request.Request, *mailmanager.ListIngressPointsOutput) + + ListIngressPointsPages(*mailmanager.ListIngressPointsInput, func(*mailmanager.ListIngressPointsOutput, bool) bool) error + ListIngressPointsPagesWithContext(aws.Context, *mailmanager.ListIngressPointsInput, func(*mailmanager.ListIngressPointsOutput, bool) bool, ...request.Option) error + + ListRelays(*mailmanager.ListRelaysInput) (*mailmanager.ListRelaysOutput, error) + ListRelaysWithContext(aws.Context, *mailmanager.ListRelaysInput, ...request.Option) (*mailmanager.ListRelaysOutput, error) + ListRelaysRequest(*mailmanager.ListRelaysInput) (*request.Request, *mailmanager.ListRelaysOutput) + + ListRelaysPages(*mailmanager.ListRelaysInput, func(*mailmanager.ListRelaysOutput, bool) bool) error + ListRelaysPagesWithContext(aws.Context, *mailmanager.ListRelaysInput, func(*mailmanager.ListRelaysOutput, bool) bool, ...request.Option) error + + ListRuleSets(*mailmanager.ListRuleSetsInput) (*mailmanager.ListRuleSetsOutput, error) + ListRuleSetsWithContext(aws.Context, *mailmanager.ListRuleSetsInput, ...request.Option) (*mailmanager.ListRuleSetsOutput, error) + ListRuleSetsRequest(*mailmanager.ListRuleSetsInput) (*request.Request, *mailmanager.ListRuleSetsOutput) + + ListRuleSetsPages(*mailmanager.ListRuleSetsInput, func(*mailmanager.ListRuleSetsOutput, bool) bool) error + ListRuleSetsPagesWithContext(aws.Context, *mailmanager.ListRuleSetsInput, func(*mailmanager.ListRuleSetsOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*mailmanager.ListTagsForResourceInput) (*mailmanager.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *mailmanager.ListTagsForResourceInput, ...request.Option) (*mailmanager.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*mailmanager.ListTagsForResourceInput) (*request.Request, *mailmanager.ListTagsForResourceOutput) + + ListTrafficPolicies(*mailmanager.ListTrafficPoliciesInput) (*mailmanager.ListTrafficPoliciesOutput, error) + ListTrafficPoliciesWithContext(aws.Context, *mailmanager.ListTrafficPoliciesInput, ...request.Option) (*mailmanager.ListTrafficPoliciesOutput, error) + ListTrafficPoliciesRequest(*mailmanager.ListTrafficPoliciesInput) (*request.Request, *mailmanager.ListTrafficPoliciesOutput) + + ListTrafficPoliciesPages(*mailmanager.ListTrafficPoliciesInput, func(*mailmanager.ListTrafficPoliciesOutput, bool) bool) error + ListTrafficPoliciesPagesWithContext(aws.Context, *mailmanager.ListTrafficPoliciesInput, func(*mailmanager.ListTrafficPoliciesOutput, bool) bool, ...request.Option) error + + StartArchiveExport(*mailmanager.StartArchiveExportInput) (*mailmanager.StartArchiveExportOutput, error) + StartArchiveExportWithContext(aws.Context, *mailmanager.StartArchiveExportInput, ...request.Option) (*mailmanager.StartArchiveExportOutput, error) + StartArchiveExportRequest(*mailmanager.StartArchiveExportInput) (*request.Request, *mailmanager.StartArchiveExportOutput) + + StartArchiveSearch(*mailmanager.StartArchiveSearchInput) (*mailmanager.StartArchiveSearchOutput, error) + StartArchiveSearchWithContext(aws.Context, *mailmanager.StartArchiveSearchInput, ...request.Option) (*mailmanager.StartArchiveSearchOutput, error) + StartArchiveSearchRequest(*mailmanager.StartArchiveSearchInput) (*request.Request, *mailmanager.StartArchiveSearchOutput) + + StopArchiveExport(*mailmanager.StopArchiveExportInput) (*mailmanager.StopArchiveExportOutput, error) + StopArchiveExportWithContext(aws.Context, *mailmanager.StopArchiveExportInput, ...request.Option) (*mailmanager.StopArchiveExportOutput, error) + StopArchiveExportRequest(*mailmanager.StopArchiveExportInput) (*request.Request, *mailmanager.StopArchiveExportOutput) + + StopArchiveSearch(*mailmanager.StopArchiveSearchInput) (*mailmanager.StopArchiveSearchOutput, error) + StopArchiveSearchWithContext(aws.Context, *mailmanager.StopArchiveSearchInput, ...request.Option) (*mailmanager.StopArchiveSearchOutput, error) + StopArchiveSearchRequest(*mailmanager.StopArchiveSearchInput) (*request.Request, *mailmanager.StopArchiveSearchOutput) + + TagResource(*mailmanager.TagResourceInput) (*mailmanager.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *mailmanager.TagResourceInput, ...request.Option) (*mailmanager.TagResourceOutput, error) + TagResourceRequest(*mailmanager.TagResourceInput) (*request.Request, *mailmanager.TagResourceOutput) + + UntagResource(*mailmanager.UntagResourceInput) (*mailmanager.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *mailmanager.UntagResourceInput, ...request.Option) (*mailmanager.UntagResourceOutput, error) + UntagResourceRequest(*mailmanager.UntagResourceInput) (*request.Request, *mailmanager.UntagResourceOutput) + + UpdateArchive(*mailmanager.UpdateArchiveInput) (*mailmanager.UpdateArchiveOutput, error) + UpdateArchiveWithContext(aws.Context, *mailmanager.UpdateArchiveInput, ...request.Option) (*mailmanager.UpdateArchiveOutput, error) + UpdateArchiveRequest(*mailmanager.UpdateArchiveInput) (*request.Request, *mailmanager.UpdateArchiveOutput) + + UpdateIngressPoint(*mailmanager.UpdateIngressPointInput) (*mailmanager.UpdateIngressPointOutput, error) + UpdateIngressPointWithContext(aws.Context, *mailmanager.UpdateIngressPointInput, ...request.Option) (*mailmanager.UpdateIngressPointOutput, error) + UpdateIngressPointRequest(*mailmanager.UpdateIngressPointInput) (*request.Request, *mailmanager.UpdateIngressPointOutput) + + UpdateRelay(*mailmanager.UpdateRelayInput) (*mailmanager.UpdateRelayOutput, error) + UpdateRelayWithContext(aws.Context, *mailmanager.UpdateRelayInput, ...request.Option) (*mailmanager.UpdateRelayOutput, error) + UpdateRelayRequest(*mailmanager.UpdateRelayInput) (*request.Request, *mailmanager.UpdateRelayOutput) + + UpdateRuleSet(*mailmanager.UpdateRuleSetInput) (*mailmanager.UpdateRuleSetOutput, error) + UpdateRuleSetWithContext(aws.Context, *mailmanager.UpdateRuleSetInput, ...request.Option) (*mailmanager.UpdateRuleSetOutput, error) + UpdateRuleSetRequest(*mailmanager.UpdateRuleSetInput) (*request.Request, *mailmanager.UpdateRuleSetOutput) + + UpdateTrafficPolicy(*mailmanager.UpdateTrafficPolicyInput) (*mailmanager.UpdateTrafficPolicyOutput, error) + UpdateTrafficPolicyWithContext(aws.Context, *mailmanager.UpdateTrafficPolicyInput, ...request.Option) (*mailmanager.UpdateTrafficPolicyOutput, error) + UpdateTrafficPolicyRequest(*mailmanager.UpdateTrafficPolicyInput) (*request.Request, *mailmanager.UpdateTrafficPolicyOutput) +} + +var _ MailManagerAPI = (*mailmanager.MailManager)(nil) diff --git a/service/mailmanager/service.go b/service/mailmanager/service.go new file mode 100644 index 00000000000..72750e474a7 --- /dev/null +++ b/service/mailmanager/service.go @@ -0,0 +1,108 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package mailmanager + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +// MailManager provides the API operation methods for making requests to +// MailManager. See this package's package overview docs +// for details on the service. +// +// MailManager methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type MailManager struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "MailManager" // Name of service. + EndpointsID = "mail-manager" // ID to lookup a service endpoint with. + ServiceID = "MailManager" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the MailManager client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// +// mySession := session.Must(session.NewSession()) +// +// // Create a MailManager client from just a session. +// svc := mailmanager.New(mySession) +// +// // Create a MailManager client with additional configuration +// svc := mailmanager.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *MailManager { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "ses" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *MailManager { + svc := &MailManager{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2023-10-17", + ResolvedRegion: resolvedRegion, + JSONVersion: "1.0", + TargetPrefix: "MailManagerSvc", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(jsonrpc.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a MailManager operation and runs any +// custom request initialization. +func (c *MailManager) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/pi/api.go b/service/pi/api.go index 50bfa29d9c3..d419195fc20 100644 --- a/service/pi/api.go +++ b/service/pi/api.go @@ -3656,6 +3656,15 @@ func (s *InvalidArgumentException) RequestID() string { type ListAvailableResourceDimensionsInput struct { _ struct{} `type:"structure"` + // The actions to discover the dimensions you are authorized to access. If you + // specify multiple actions, then the response will contain the dimensions common + // for all the actions. + // + // When you don't specify this request parameter or provide an empty list, the + // response contains all the available dimensions for the target database engine + // whether or not you are authorized to access them. + AuthorizedActions []*string `type:"list" enum:"FineGrainedAction"` + // An immutable identifier for a data source that is unique within an Amazon // Web Services Region. Performance Insights gathers metrics from this data // source. To use an Amazon RDS DB instance as a data source, specify its DbiResourceId @@ -3729,6 +3738,12 @@ func (s *ListAvailableResourceDimensionsInput) Validate() error { return nil } +// SetAuthorizedActions sets the AuthorizedActions field's value. +func (s *ListAvailableResourceDimensionsInput) SetAuthorizedActions(v []*string) *ListAvailableResourceDimensionsInput { + s.AuthorizedActions = v + return s +} + // SetIdentifier sets the Identifier field's value. func (s *ListAvailableResourceDimensionsInput) SetIdentifier(v string) *ListAvailableResourceDimensionsInput { s.Identifier = &v @@ -5100,6 +5115,26 @@ func FeatureStatus_Values() []string { } } +const ( + // FineGrainedActionDescribeDimensionKeys is a FineGrainedAction enum value + FineGrainedActionDescribeDimensionKeys = "DescribeDimensionKeys" + + // FineGrainedActionGetDimensionKeyDetails is a FineGrainedAction enum value + FineGrainedActionGetDimensionKeyDetails = "GetDimensionKeyDetails" + + // FineGrainedActionGetResourceMetrics is a FineGrainedAction enum value + FineGrainedActionGetResourceMetrics = "GetResourceMetrics" +) + +// FineGrainedAction_Values returns all elements of the FineGrainedAction enum +func FineGrainedAction_Values() []string { + return []string{ + FineGrainedActionDescribeDimensionKeys, + FineGrainedActionGetDimensionKeyDetails, + FineGrainedActionGetResourceMetrics, + } +} + const ( // PeriodAlignmentEndTime is a PeriodAlignment enum value PeriodAlignmentEndTime = "END_TIME" diff --git a/service/rds/api.go b/service/rds/api.go index 7481b7b48a7..2a3ebe73488 100644 --- a/service/rds/api.go +++ b/service/rds/api.go @@ -24174,11 +24174,20 @@ type CreateDBInstanceInput struct { // The license model information for this DB instance. // + // License models for RDS for Db2 require additional configuration. The Bring + // Your Own License (BYOL) model requires a custom parameter group. The Db2 + // license through Amazon Web Services Marketplace model requires an Amazon + // Web Services Marketplace subscription. For more information, see RDS for + // Db2 licensing options (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-licensing.html) + // in the Amazon RDS User Guide. + // + // The default for RDS for Db2 is bring-your-own-license. + // // This setting doesn't apply to Amazon Aurora or RDS Custom DB instances. // // Valid Values: // - // * RDS for Db2 - bring-your-own-license + // * RDS for Db2 - bring-your-own-license | marketplace-license // // * RDS for MariaDB - general-public-license // @@ -30765,7 +30774,7 @@ type DBInstance struct { LatestRestorableTime *time.Time `type:"timestamp"` // The license model information for this DB instance. This setting doesn't - // apply to RDS Custom DB instances. + // apply to Amazon Aurora or RDS Custom DB instances. LicenseModel *string `type:"string"` // The listener connection endpoint for SQL Server Always On. @@ -57944,11 +57953,30 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // License model information for the restored DB instance. // - // This setting doesn't apply to RDS Custom. + // License models for RDS for Db2 require additional configuration. The Bring + // Your Own License (BYOL) model requires a custom parameter group. The Db2 + // license through Amazon Web Services Marketplace model requires an Amazon + // Web Services Marketplace subscription. For more information, see RDS for + // Db2 licensing options (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-licensing.html) + // in the Amazon RDS User Guide. + // + // This setting doesn't apply to Amazon Aurora or RDS Custom DB instances. + // + // Valid Values: // - // Default: Same as source. + // * RDS for Db2 - bring-your-own-license | marketplace-license // - // Valid Values: license-included | bring-your-own-license | general-public-license + // * RDS for MariaDB - general-public-license + // + // * RDS for Microsoft SQL Server - license-included + // + // * RDS for MySQL - general-public-license + // + // * RDS for Oracle - bring-your-own-license | license-included + // + // * RDS for PostgreSQL - postgresql-license + // + // Default: Same as the source. LicenseModel *string `type:"string"` // Specifies whether the DB instance is a Multi-AZ deployment. @@ -59537,9 +59565,28 @@ type RestoreDBInstanceToPointInTimeInput struct { // The license model information for the restored DB instance. // - // This setting doesn't apply to RDS Custom. + // License models for RDS for Db2 require additional configuration. The Bring + // Your Own License (BYOL) model requires a custom parameter group. The Db2 + // license through Amazon Web Services Marketplace model requires an Amazon + // Web Services Marketplace subscription. For more information, see RDS for + // Db2 licensing options (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-licensing.html) + // in the Amazon RDS User Guide. + // + // This setting doesn't apply to Amazon Aurora or RDS Custom DB instances. + // + // Valid Values: + // + // * RDS for Db2 - bring-your-own-license | marketplace-license // - // Valid Values: license-included | bring-your-own-license | general-public-license + // * RDS for MariaDB - general-public-license + // + // * RDS for Microsoft SQL Server - license-included + // + // * RDS for MySQL - general-public-license + // + // * RDS for Oracle - bring-your-own-license | license-included + // + // * RDS for PostgreSQL - postgresql-license // // Default: Same as the source. LicenseModel *string `type:"string"` diff --git a/service/storagegateway/api.go b/service/storagegateway/api.go index 5d2b484977e..e522c51d086 100644 --- a/service/storagegateway/api.go +++ b/service/storagegateway/api.go @@ -8892,10 +8892,11 @@ type ActivateGatewayInput struct { GatewayRegion *string `min:"1" type:"string" required:"true"` // A value that indicates the time zone you want to set for the gateway. The - // time zone is of the format "GMT-hr:mm" or "GMT+hr:mm". For example, GMT-4:00 - // indicates the time is 4 hours behind GMT. GMT+2:00 indicates the time is - // 2 hours ahead of GMT. The time zone is used, for example, for scheduling - // snapshots and your gateway's maintenance schedule. + // time zone is of the format "GMT", "GMT-hr:mm", or "GMT+hr:mm". For example, + // GMT indicates Greenwich Mean Time without any offset. GMT-4:00 indicates + // the time is 4 hours behind GMT. GMT+2:00 indicates the time is 2 hours ahead + // of GMT. The time zone is used, for example, for scheduling snapshots and + // your gateway's maintenance schedule. // // GatewayTimezone is a required field GatewayTimezone *string `min:"3" type:"string" required:"true"` @@ -8904,7 +8905,7 @@ type ActivateGatewayInput struct { // is critical to all later functions of the gateway and cannot be changed after // activation. The default value is CACHED. // - // Valid Values: STORED | CACHED | VTL | VTL_SNOW | FILE_S3 | FILE_FSX_SMB + // Valid Values: STORED | CACHED | VTL | FILE_S3 | FILE_FSX_SMB GatewayType *string `min:"2" type:"string"` // The value that indicates the type of medium changer to use for tape gateway. @@ -14791,6 +14792,8 @@ type DescribeGatewayInformationOutput struct { GatewayType *string `min:"2" type:"string"` // The type of hardware or software platform on which the gateway is running. + // + // Tape Gateway is no longer available on Snow Family devices. HostEnvironment *string `type:"string" enum:"HostEnvironment"` // A unique identifier for the specific instance of the host platform running @@ -15391,20 +15394,26 @@ type DescribeSMBSettingsOutput struct { // The type of security strategy that was specified for file gateway. // - // * ClientSpecified: If you use this option, requests are established based - // on what is negotiated by the client. This option is recommended when you - // want to maximize compatibility across different clients in your environment. - // Only supported for S3 File Gateways. - // - // * MandatorySigning: If you use this option, file gateway only allows connections - // from SMBv2 or SMBv3 clients that have signing enabled. This option works - // with SMB clients on Microsoft Windows Vista, Windows Server 2008 or newer. - // - // * MandatoryEncryption: If you use this option, file gateway only allows - // connections from SMBv3 clients that have encryption enabled. This option - // is highly recommended for environments that handle sensitive data. This - // option works with SMB clients on Microsoft Windows 8, Windows Server 2012 - // or newer. + // * ClientSpecified: If you choose this option, requests are established + // based on what is negotiated by the client. This option is recommended + // when you want to maximize compatibility across different clients in your + // environment. Supported only for S3 File Gateway. + // + // * MandatorySigning: If you use this option, File Gateway only allows connections + // from SMBv2 or SMBv3 clients that have signing turned on. This option works + // with SMB clients on Microsoft Windows Vista, Windows Server 2008, or later. + // + // * MandatoryEncryption: If you use this option, File Gateway only allows + // connections from SMBv3 clients that have encryption turned on. Both 256-bit + // and 128-bit algorithms are allowed. This option is recommended for environments + // that handle sensitive data. It works with SMB clients on Microsoft Windows + // 8, Windows Server 2012, or later. + // + // * EnforceEncryption: If you use this option, File Gateway only allows + // connections from SMBv3 clients that use 256-bit AES encryption algorithms. + // 128-bit algorithms are not allowed. This option is recommended for environments + // that handle sensitive data. It works with SMB clients on Microsoft Windows + // 8, Windows Server 2012, or later. SMBSecurityStrategy *string `type:"string" enum:"SMBSecurityStrategy"` } @@ -17315,6 +17324,8 @@ type GatewayInfo struct { GatewayType *string `min:"2" type:"string"` // The type of hardware or software platform on which the gateway is running. + // + // Tape Gateway is no longer available on Snow Family devices. HostEnvironment *string `type:"string" enum:"HostEnvironment"` // A unique identifier for the specific instance of the host platform running @@ -19622,6 +19633,9 @@ type RefreshCacheInput struct { // default is ["/"]. The default refreshes objects and folders at the root of // the Amazon S3 bucket. If Recursive is set to true, the entire S3 bucket that // the file share has access to is refreshed. + // + // Do not include / when specifying folder names. For example, you would specify + // samplefolder rather than samplefolder/. FolderList []*string `min:"1" type:"list"` // A value that specifies whether to recursively refresh folders in the cache. @@ -24769,6 +24783,9 @@ const ( // SMBSecurityStrategyMandatoryEncryption is a SMBSecurityStrategy enum value SMBSecurityStrategyMandatoryEncryption = "MandatoryEncryption" + + // SMBSecurityStrategyMandatoryEncryptionNoAes128 is a SMBSecurityStrategy enum value + SMBSecurityStrategyMandatoryEncryptionNoAes128 = "MandatoryEncryptionNoAes128" ) // SMBSecurityStrategy_Values returns all elements of the SMBSecurityStrategy enum @@ -24777,6 +24794,7 @@ func SMBSecurityStrategy_Values() []string { SMBSecurityStrategyClientSpecified, SMBSecurityStrategyMandatorySigning, SMBSecurityStrategyMandatoryEncryption, + SMBSecurityStrategyMandatoryEncryptionNoAes128, } }