aws-sdk-sesv2 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 769519b2cd68b9c9f42d3d9c7d89f4ac5446539bf4db8756e7938e950a2140c9
4
- data.tar.gz: a984786077a2f8f9faca256098e1348347e656878d64abc4ab46b5e1445320f6
3
+ metadata.gz: 41ba84c1073f0ac30e1bca3bf6d99b93ba8c04d4cd9fdb3799baf480e940bd0c
4
+ data.tar.gz: ba9d305f6fb12740bb2551f22ae005e800421c5b9d1ad49bcb03328656c60c29
5
5
  SHA512:
6
- metadata.gz: fa3baf68d307164174bed645a86f26c11546f0eeea0c8f703ff809ee67705346d07aab81e2842da2db17a35870ff86487e753aeb68aaddb112b28795d7b29c45
7
- data.tar.gz: bdcf3ce4ceec146ab4ea831c2099c516d76fc3610a4f57f6257a555b7439f2d17cd1d05cc3a2a8e5d58e8152ff05104e98f74202f4e1c47e71f713005ea8ac57
6
+ metadata.gz: 322da1d03ced2f98ea8381fc9c6ca9e8e291370a502ffc9d3c61ca5f7614d47cfdeaed65eea0436f401339459de7509e1a1be4740d951010299929d89cd26894
7
+ data.tar.gz: ed20ce195dcac19f8dad75062a74364c148dc414183ed4969fc9fc1d7685510e0f2a2926f73623ceaccf5b24fceef8275151b003705836dd32c46d16c3ea08f5
@@ -47,6 +47,6 @@ require_relative 'aws-sdk-sesv2/customizations'
47
47
  # @service
48
48
  module Aws::SESV2
49
49
 
50
- GEM_VERSION = '1.9.0'
50
+ GEM_VERSION = '1.10.0'
51
51
 
52
52
  end
@@ -818,6 +818,45 @@ module Aws::SESV2
818
818
  req.send_request(options)
819
819
  end
820
820
 
821
+ # Creates an import job for a data destination.
822
+ #
823
+ # @option params [required, Types::ImportDestination] :import_destination
824
+ # The destination for the import job.
825
+ #
826
+ # @option params [required, Types::ImportDataSource] :import_data_source
827
+ # The data source for the import job.
828
+ #
829
+ # @return [Types::CreateImportJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
830
+ #
831
+ # * {Types::CreateImportJobResponse#job_id #job_id} => String
832
+ #
833
+ # @example Request syntax with placeholder values
834
+ #
835
+ # resp = client.create_import_job({
836
+ # import_destination: { # required
837
+ # suppression_list_destination: { # required
838
+ # suppression_list_import_action: "DELETE", # required, accepts DELETE, PUT
839
+ # },
840
+ # },
841
+ # import_data_source: { # required
842
+ # s3_url: "S3Url", # required
843
+ # data_format: "CSV", # required, accepts CSV, JSON
844
+ # },
845
+ # })
846
+ #
847
+ # @example Response structure
848
+ #
849
+ # resp.job_id #=> String
850
+ #
851
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateImportJob AWS API Documentation
852
+ #
853
+ # @overload create_import_job(params = {})
854
+ # @param [Hash] params ({})
855
+ def create_import_job(params = {}, options = {})
856
+ req = build_request(:create_import_job, params)
857
+ req.send_request(options)
858
+ end
859
+
821
860
  # Delete an existing configuration set.
822
861
  #
823
862
  # *Configuration sets* are groups of rules that you can apply to the
@@ -1712,6 +1751,52 @@ module Aws::SESV2
1712
1751
  req.send_request(options)
1713
1752
  end
1714
1753
 
1754
+ # Provides information about an import job.
1755
+ #
1756
+ # @option params [required, String] :job_id
1757
+ # The ID of the import job.
1758
+ #
1759
+ # @return [Types::GetImportJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1760
+ #
1761
+ # * {Types::GetImportJobResponse#job_id #job_id} => String
1762
+ # * {Types::GetImportJobResponse#import_destination #import_destination} => Types::ImportDestination
1763
+ # * {Types::GetImportJobResponse#import_data_source #import_data_source} => Types::ImportDataSource
1764
+ # * {Types::GetImportJobResponse#failure_info #failure_info} => Types::FailureInfo
1765
+ # * {Types::GetImportJobResponse#job_status #job_status} => String
1766
+ # * {Types::GetImportJobResponse#created_timestamp #created_timestamp} => Time
1767
+ # * {Types::GetImportJobResponse#completed_timestamp #completed_timestamp} => Time
1768
+ # * {Types::GetImportJobResponse#processed_records_count #processed_records_count} => Integer
1769
+ # * {Types::GetImportJobResponse#failed_records_count #failed_records_count} => Integer
1770
+ #
1771
+ # @example Request syntax with placeholder values
1772
+ #
1773
+ # resp = client.get_import_job({
1774
+ # job_id: "JobId", # required
1775
+ # })
1776
+ #
1777
+ # @example Response structure
1778
+ #
1779
+ # resp.job_id #=> String
1780
+ # resp.import_destination.suppression_list_destination.suppression_list_import_action #=> String, one of "DELETE", "PUT"
1781
+ # resp.import_data_source.s3_url #=> String
1782
+ # resp.import_data_source.data_format #=> String, one of "CSV", "JSON"
1783
+ # resp.failure_info.failed_records_s3_url #=> String
1784
+ # resp.failure_info.error_message #=> String
1785
+ # resp.job_status #=> String, one of "CREATED", "PROCESSING", "COMPLETED", "FAILED"
1786
+ # resp.created_timestamp #=> Time
1787
+ # resp.completed_timestamp #=> Time
1788
+ # resp.processed_records_count #=> Integer
1789
+ # resp.failed_records_count #=> Integer
1790
+ #
1791
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetImportJob AWS API Documentation
1792
+ #
1793
+ # @overload get_import_job(params = {})
1794
+ # @param [Hash] params ({})
1795
+ def get_import_job(params = {}, options = {})
1796
+ req = build_request(:get_import_job, params)
1797
+ req.send_request(options)
1798
+ end
1799
+
1715
1800
  # Retrieves information about a specific email address that's on the
1716
1801
  # suppression list for your account.
1717
1802
  #
@@ -2124,6 +2209,58 @@ module Aws::SESV2
2124
2209
  req.send_request(options)
2125
2210
  end
2126
2211
 
2212
+ # Lists all of the import jobs.
2213
+ #
2214
+ # @option params [String] :import_destination_type
2215
+ # The destination of the import job, which can be used to list import
2216
+ # jobs that have a certain `ImportDestinationType`.
2217
+ #
2218
+ # @option params [String] :next_token
2219
+ # A string token indicating that there might be additional import jobs
2220
+ # available to be listed. Copy this token to a subsequent call to
2221
+ # `ListImportJobs` with the same parameters to retrieve the next page of
2222
+ # import jobs.
2223
+ #
2224
+ # @option params [Integer] :page_size
2225
+ # Maximum number of import jobs to return at once. Use this parameter to
2226
+ # paginate results. If additional import jobs exist beyond the specified
2227
+ # limit, the `NextToken` element is sent in the response. Use the
2228
+ # `NextToken` value in subsequent requests to retrieve additional
2229
+ # addresses.
2230
+ #
2231
+ # @return [Types::ListImportJobsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2232
+ #
2233
+ # * {Types::ListImportJobsResponse#import_jobs #import_jobs} => Array<Types::ImportJobSummary>
2234
+ # * {Types::ListImportJobsResponse#next_token #next_token} => String
2235
+ #
2236
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2237
+ #
2238
+ # @example Request syntax with placeholder values
2239
+ #
2240
+ # resp = client.list_import_jobs({
2241
+ # import_destination_type: "SUPPRESSION_LIST", # accepts SUPPRESSION_LIST
2242
+ # next_token: "NextToken",
2243
+ # page_size: 1,
2244
+ # })
2245
+ #
2246
+ # @example Response structure
2247
+ #
2248
+ # resp.import_jobs #=> Array
2249
+ # resp.import_jobs[0].job_id #=> String
2250
+ # resp.import_jobs[0].import_destination.suppression_list_destination.suppression_list_import_action #=> String, one of "DELETE", "PUT"
2251
+ # resp.import_jobs[0].job_status #=> String, one of "CREATED", "PROCESSING", "COMPLETED", "FAILED"
2252
+ # resp.import_jobs[0].created_timestamp #=> Time
2253
+ # resp.next_token #=> String
2254
+ #
2255
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListImportJobs AWS API Documentation
2256
+ #
2257
+ # @overload list_import_jobs(params = {})
2258
+ # @param [Hash] params ({})
2259
+ def list_import_jobs(params = {}, options = {})
2260
+ req = build_request(:list_import_jobs, params)
2261
+ req.send_request(options)
2262
+ end
2263
+
2127
2264
  # Retrieves a list of email addresses that are on the suppression list
2128
2265
  # for your account.
2129
2266
  #
@@ -3554,7 +3691,7 @@ module Aws::SESV2
3554
3691
  params: params,
3555
3692
  config: config)
3556
3693
  context[:gem_name] = 'aws-sdk-sesv2'
3557
- context[:gem_version] = '1.9.0'
3694
+ context[:gem_version] = '1.10.0'
3558
3695
  Seahorse::Client::Request.new(handlers, context)
3559
3696
  end
3560
3697
 
@@ -62,11 +62,14 @@ module Aws::SESV2
62
62
  CreateEmailIdentityResponse = Shapes::StructureShape.new(name: 'CreateEmailIdentityResponse')
63
63
  CreateEmailTemplateRequest = Shapes::StructureShape.new(name: 'CreateEmailTemplateRequest')
64
64
  CreateEmailTemplateResponse = Shapes::StructureShape.new(name: 'CreateEmailTemplateResponse')
65
+ CreateImportJobRequest = Shapes::StructureShape.new(name: 'CreateImportJobRequest')
66
+ CreateImportJobResponse = Shapes::StructureShape.new(name: 'CreateImportJobResponse')
65
67
  CustomRedirectDomain = Shapes::StringShape.new(name: 'CustomRedirectDomain')
66
68
  CustomVerificationEmailTemplateMetadata = Shapes::StructureShape.new(name: 'CustomVerificationEmailTemplateMetadata')
67
69
  CustomVerificationEmailTemplatesList = Shapes::ListShape.new(name: 'CustomVerificationEmailTemplatesList')
68
70
  DailyVolume = Shapes::StructureShape.new(name: 'DailyVolume')
69
71
  DailyVolumes = Shapes::ListShape.new(name: 'DailyVolumes')
72
+ DataFormat = Shapes::StringShape.new(name: 'DataFormat')
70
73
  DedicatedIp = Shapes::StructureShape.new(name: 'DedicatedIp')
71
74
  DedicatedIpList = Shapes::ListShape.new(name: 'DedicatedIpList')
72
75
  DefaultDimensionValue = Shapes::StringShape.new(name: 'DefaultDimensionValue')
@@ -130,6 +133,9 @@ module Aws::SESV2
130
133
  EventDestinations = Shapes::ListShape.new(name: 'EventDestinations')
131
134
  EventType = Shapes::StringShape.new(name: 'EventType')
132
135
  EventTypes = Shapes::ListShape.new(name: 'EventTypes')
136
+ FailedRecordsCount = Shapes::IntegerShape.new(name: 'FailedRecordsCount')
137
+ FailedRecordsS3Url = Shapes::StringShape.new(name: 'FailedRecordsS3Url')
138
+ FailureInfo = Shapes::StructureShape.new(name: 'FailureInfo')
133
139
  FailureRedirectionURL = Shapes::StringShape.new(name: 'FailureRedirectionURL')
134
140
  FeedbackId = Shapes::StringShape.new(name: 'FeedbackId')
135
141
  GeneralEnforcementStatus = Shapes::StringShape.new(name: 'GeneralEnforcementStatus')
@@ -161,6 +167,8 @@ module Aws::SESV2
161
167
  GetEmailIdentityResponse = Shapes::StructureShape.new(name: 'GetEmailIdentityResponse')
162
168
  GetEmailTemplateRequest = Shapes::StructureShape.new(name: 'GetEmailTemplateRequest')
163
169
  GetEmailTemplateResponse = Shapes::StructureShape.new(name: 'GetEmailTemplateResponse')
170
+ GetImportJobRequest = Shapes::StructureShape.new(name: 'GetImportJobRequest')
171
+ GetImportJobResponse = Shapes::StructureShape.new(name: 'GetImportJobResponse')
164
172
  GetSuppressedDestinationRequest = Shapes::StructureShape.new(name: 'GetSuppressedDestinationRequest')
165
173
  GetSuppressedDestinationResponse = Shapes::StructureShape.new(name: 'GetSuppressedDestinationResponse')
166
174
  Identity = Shapes::StringShape.new(name: 'Identity')
@@ -168,6 +176,11 @@ module Aws::SESV2
168
176
  IdentityInfoList = Shapes::ListShape.new(name: 'IdentityInfoList')
169
177
  IdentityType = Shapes::StringShape.new(name: 'IdentityType')
170
178
  ImageUrl = Shapes::StringShape.new(name: 'ImageUrl')
179
+ ImportDataSource = Shapes::StructureShape.new(name: 'ImportDataSource')
180
+ ImportDestination = Shapes::StructureShape.new(name: 'ImportDestination')
181
+ ImportDestinationType = Shapes::StringShape.new(name: 'ImportDestinationType')
182
+ ImportJobSummary = Shapes::StructureShape.new(name: 'ImportJobSummary')
183
+ ImportJobSummaryList = Shapes::ListShape.new(name: 'ImportJobSummaryList')
171
184
  InboxPlacementTrackingOption = Shapes::StructureShape.new(name: 'InboxPlacementTrackingOption')
172
185
  InvalidNextTokenException = Shapes::StructureShape.new(name: 'InvalidNextTokenException')
173
186
  Ip = Shapes::StringShape.new(name: 'Ip')
@@ -176,6 +189,8 @@ module Aws::SESV2
176
189
  IspNameList = Shapes::ListShape.new(name: 'IspNameList')
177
190
  IspPlacement = Shapes::StructureShape.new(name: 'IspPlacement')
178
191
  IspPlacements = Shapes::ListShape.new(name: 'IspPlacements')
192
+ JobId = Shapes::StringShape.new(name: 'JobId')
193
+ JobStatus = Shapes::StringShape.new(name: 'JobStatus')
179
194
  KinesisFirehoseDestination = Shapes::StructureShape.new(name: 'KinesisFirehoseDestination')
180
195
  LastFreshStart = Shapes::TimestampShape.new(name: 'LastFreshStart')
181
196
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
@@ -193,6 +208,8 @@ module Aws::SESV2
193
208
  ListEmailIdentitiesResponse = Shapes::StructureShape.new(name: 'ListEmailIdentitiesResponse')
194
209
  ListEmailTemplatesRequest = Shapes::StructureShape.new(name: 'ListEmailTemplatesRequest')
195
210
  ListEmailTemplatesResponse = Shapes::StructureShape.new(name: 'ListEmailTemplatesResponse')
211
+ ListImportJobsRequest = Shapes::StructureShape.new(name: 'ListImportJobsRequest')
212
+ ListImportJobsResponse = Shapes::StructureShape.new(name: 'ListImportJobsResponse')
196
213
  ListOfDedicatedIpPools = Shapes::ListShape.new(name: 'ListOfDedicatedIpPools')
197
214
  ListSuppressedDestinationsRequest = Shapes::StructureShape.new(name: 'ListSuppressedDestinationsRequest')
198
215
  ListSuppressedDestinationsResponse = Shapes::StructureShape.new(name: 'ListSuppressedDestinationsResponse')
@@ -227,6 +244,7 @@ module Aws::SESV2
227
244
  PolicyName = Shapes::StringShape.new(name: 'PolicyName')
228
245
  PoolName = Shapes::StringShape.new(name: 'PoolName')
229
246
  PrivateKey = Shapes::StringShape.new(name: 'PrivateKey')
247
+ ProcessedRecordsCount = Shapes::IntegerShape.new(name: 'ProcessedRecordsCount')
230
248
  PutAccountDedicatedIpWarmupAttributesRequest = Shapes::StructureShape.new(name: 'PutAccountDedicatedIpWarmupAttributesRequest')
231
249
  PutAccountDedicatedIpWarmupAttributesResponse = Shapes::StructureShape.new(name: 'PutAccountDedicatedIpWarmupAttributesResponse')
232
250
  PutAccountDetailsRequest = Shapes::StructureShape.new(name: 'PutAccountDetailsRequest')
@@ -272,6 +290,7 @@ module Aws::SESV2
272
290
  ReputationOptions = Shapes::StructureShape.new(name: 'ReputationOptions')
273
291
  ReviewDetails = Shapes::StructureShape.new(name: 'ReviewDetails')
274
292
  ReviewStatus = Shapes::StringShape.new(name: 'ReviewStatus')
293
+ S3Url = Shapes::StringShape.new(name: 'S3Url')
275
294
  Selector = Shapes::StringShape.new(name: 'Selector')
276
295
  SendBulkEmailRequest = Shapes::StructureShape.new(name: 'SendBulkEmailRequest')
277
296
  SendBulkEmailResponse = Shapes::StructureShape.new(name: 'SendBulkEmailResponse')
@@ -292,6 +311,8 @@ module Aws::SESV2
292
311
  SuppressedDestinationSummaries = Shapes::ListShape.new(name: 'SuppressedDestinationSummaries')
293
312
  SuppressedDestinationSummary = Shapes::StructureShape.new(name: 'SuppressedDestinationSummary')
294
313
  SuppressionAttributes = Shapes::StructureShape.new(name: 'SuppressionAttributes')
314
+ SuppressionListDestination = Shapes::StructureShape.new(name: 'SuppressionListDestination')
315
+ SuppressionListImportAction = Shapes::StringShape.new(name: 'SuppressionListImportAction')
295
316
  SuppressionListReason = Shapes::StringShape.new(name: 'SuppressionListReason')
296
317
  SuppressionListReasons = Shapes::ListShape.new(name: 'SuppressionListReasons')
297
318
  SuppressionOptions = Shapes::StructureShape.new(name: 'SuppressionOptions')
@@ -462,6 +483,13 @@ module Aws::SESV2
462
483
 
463
484
  CreateEmailTemplateResponse.struct_class = Types::CreateEmailTemplateResponse
464
485
 
486
+ CreateImportJobRequest.add_member(:import_destination, Shapes::ShapeRef.new(shape: ImportDestination, required: true, location_name: "ImportDestination"))
487
+ CreateImportJobRequest.add_member(:import_data_source, Shapes::ShapeRef.new(shape: ImportDataSource, required: true, location_name: "ImportDataSource"))
488
+ CreateImportJobRequest.struct_class = Types::CreateImportJobRequest
489
+
490
+ CreateImportJobResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "JobId"))
491
+ CreateImportJobResponse.struct_class = Types::CreateImportJobResponse
492
+
465
493
  CustomVerificationEmailTemplateMetadata.add_member(:template_name, Shapes::ShapeRef.new(shape: EmailTemplateName, location_name: "TemplateName"))
466
494
  CustomVerificationEmailTemplateMetadata.add_member(:from_email_address, Shapes::ShapeRef.new(shape: EmailAddress, location_name: "FromEmailAddress"))
467
495
  CustomVerificationEmailTemplateMetadata.add_member(:template_subject, Shapes::ShapeRef.new(shape: EmailTemplateSubject, location_name: "TemplateSubject"))
@@ -634,6 +662,10 @@ module Aws::SESV2
634
662
 
635
663
  EventTypes.member = Shapes::ShapeRef.new(shape: EventType)
636
664
 
665
+ FailureInfo.add_member(:failed_records_s3_url, Shapes::ShapeRef.new(shape: FailedRecordsS3Url, location_name: "FailedRecordsS3Url"))
666
+ FailureInfo.add_member(:error_message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "ErrorMessage"))
667
+ FailureInfo.struct_class = Types::FailureInfo
668
+
637
669
  GetAccountRequest.struct_class = Types::GetAccountRequest
638
670
 
639
671
  GetAccountResponse.add_member(:dedicated_ip_auto_warmup_enabled, Shapes::ShapeRef.new(shape: Enabled, location_name: "DedicatedIpAutoWarmupEnabled"))
@@ -754,6 +786,20 @@ module Aws::SESV2
754
786
  GetEmailTemplateResponse.add_member(:template_content, Shapes::ShapeRef.new(shape: EmailTemplateContent, required: true, location_name: "TemplateContent"))
755
787
  GetEmailTemplateResponse.struct_class = Types::GetEmailTemplateResponse
756
788
 
789
+ GetImportJobRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, required: true, location: "uri", location_name: "JobId"))
790
+ GetImportJobRequest.struct_class = Types::GetImportJobRequest
791
+
792
+ GetImportJobResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "JobId"))
793
+ GetImportJobResponse.add_member(:import_destination, Shapes::ShapeRef.new(shape: ImportDestination, location_name: "ImportDestination"))
794
+ GetImportJobResponse.add_member(:import_data_source, Shapes::ShapeRef.new(shape: ImportDataSource, location_name: "ImportDataSource"))
795
+ GetImportJobResponse.add_member(:failure_info, Shapes::ShapeRef.new(shape: FailureInfo, location_name: "FailureInfo"))
796
+ GetImportJobResponse.add_member(:job_status, Shapes::ShapeRef.new(shape: JobStatus, location_name: "JobStatus"))
797
+ GetImportJobResponse.add_member(:created_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedTimestamp"))
798
+ GetImportJobResponse.add_member(:completed_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CompletedTimestamp"))
799
+ GetImportJobResponse.add_member(:processed_records_count, Shapes::ShapeRef.new(shape: ProcessedRecordsCount, location_name: "ProcessedRecordsCount"))
800
+ GetImportJobResponse.add_member(:failed_records_count, Shapes::ShapeRef.new(shape: FailedRecordsCount, location_name: "FailedRecordsCount"))
801
+ GetImportJobResponse.struct_class = Types::GetImportJobResponse
802
+
757
803
  GetSuppressedDestinationRequest.add_member(:email_address, Shapes::ShapeRef.new(shape: EmailAddress, required: true, location: "uri", location_name: "EmailAddress"))
758
804
  GetSuppressedDestinationRequest.struct_class = Types::GetSuppressedDestinationRequest
759
805
 
@@ -767,6 +813,21 @@ module Aws::SESV2
767
813
 
768
814
  IdentityInfoList.member = Shapes::ShapeRef.new(shape: IdentityInfo)
769
815
 
816
+ ImportDataSource.add_member(:s3_url, Shapes::ShapeRef.new(shape: S3Url, required: true, location_name: "S3Url"))
817
+ ImportDataSource.add_member(:data_format, Shapes::ShapeRef.new(shape: DataFormat, required: true, location_name: "DataFormat"))
818
+ ImportDataSource.struct_class = Types::ImportDataSource
819
+
820
+ ImportDestination.add_member(:suppression_list_destination, Shapes::ShapeRef.new(shape: SuppressionListDestination, required: true, location_name: "SuppressionListDestination"))
821
+ ImportDestination.struct_class = Types::ImportDestination
822
+
823
+ ImportJobSummary.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "JobId"))
824
+ ImportJobSummary.add_member(:import_destination, Shapes::ShapeRef.new(shape: ImportDestination, location_name: "ImportDestination"))
825
+ ImportJobSummary.add_member(:job_status, Shapes::ShapeRef.new(shape: JobStatus, location_name: "JobStatus"))
826
+ ImportJobSummary.add_member(:created_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedTimestamp"))
827
+ ImportJobSummary.struct_class = Types::ImportJobSummary
828
+
829
+ ImportJobSummaryList.member = Shapes::ShapeRef.new(shape: ImportJobSummary)
830
+
770
831
  InboxPlacementTrackingOption.add_member(:global, Shapes::ShapeRef.new(shape: Enabled, location_name: "Global"))
771
832
  InboxPlacementTrackingOption.add_member(:tracked_isps, Shapes::ShapeRef.new(shape: IspNameList, location_name: "TrackedIsps"))
772
833
  InboxPlacementTrackingOption.struct_class = Types::InboxPlacementTrackingOption
@@ -848,6 +909,15 @@ module Aws::SESV2
848
909
  ListEmailTemplatesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
849
910
  ListEmailTemplatesResponse.struct_class = Types::ListEmailTemplatesResponse
850
911
 
912
+ ListImportJobsRequest.add_member(:import_destination_type, Shapes::ShapeRef.new(shape: ImportDestinationType, location_name: "ImportDestinationType"))
913
+ ListImportJobsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
914
+ ListImportJobsRequest.add_member(:page_size, Shapes::ShapeRef.new(shape: MaxItems, location: "querystring", location_name: "PageSize"))
915
+ ListImportJobsRequest.struct_class = Types::ListImportJobsRequest
916
+
917
+ ListImportJobsResponse.add_member(:import_jobs, Shapes::ShapeRef.new(shape: ImportJobSummaryList, location_name: "ImportJobs"))
918
+ ListImportJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
919
+ ListImportJobsResponse.struct_class = Types::ListImportJobsResponse
920
+
851
921
  ListOfDedicatedIpPools.member = Shapes::ShapeRef.new(shape: PoolName)
852
922
 
853
923
  ListSuppressedDestinationsRequest.add_member(:reasons, Shapes::ShapeRef.new(shape: SuppressionListReasons, location: "querystring", location_name: "Reason"))
@@ -1100,6 +1170,9 @@ module Aws::SESV2
1100
1170
  SuppressionAttributes.add_member(:suppressed_reasons, Shapes::ShapeRef.new(shape: SuppressionListReasons, location_name: "SuppressedReasons"))
1101
1171
  SuppressionAttributes.struct_class = Types::SuppressionAttributes
1102
1172
 
1173
+ SuppressionListDestination.add_member(:suppression_list_import_action, Shapes::ShapeRef.new(shape: SuppressionListImportAction, required: true, location_name: "SuppressionListImportAction"))
1174
+ SuppressionListDestination.struct_class = Types::SuppressionListDestination
1175
+
1103
1176
  SuppressionListReasons.member = Shapes::ShapeRef.new(shape: SuppressionListReason)
1104
1177
 
1105
1178
  SuppressionOptions.add_member(:suppressed_reasons, Shapes::ShapeRef.new(shape: SuppressionListReasons, location_name: "SuppressedReasons"))
@@ -1305,6 +1378,17 @@ module Aws::SESV2
1305
1378
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1306
1379
  end)
1307
1380
 
1381
+ api.add_operation(:create_import_job, Seahorse::Model::Operation.new.tap do |o|
1382
+ o.name = "CreateImportJob"
1383
+ o.http_method = "POST"
1384
+ o.http_request_uri = "/v2/email/import-jobs"
1385
+ o.input = Shapes::ShapeRef.new(shape: CreateImportJobRequest)
1386
+ o.output = Shapes::ShapeRef.new(shape: CreateImportJobResponse)
1387
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1388
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1389
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
1390
+ end)
1391
+
1308
1392
  api.add_operation(:delete_configuration_set, Seahorse::Model::Operation.new.tap do |o|
1309
1393
  o.name = "DeleteConfigurationSet"
1310
1394
  o.http_method = "DELETE"
@@ -1555,6 +1639,17 @@ module Aws::SESV2
1555
1639
  o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1556
1640
  end)
1557
1641
 
1642
+ api.add_operation(:get_import_job, Seahorse::Model::Operation.new.tap do |o|
1643
+ o.name = "GetImportJob"
1644
+ o.http_method = "GET"
1645
+ o.http_request_uri = "/v2/email/import-jobs/{JobId}"
1646
+ o.input = Shapes::ShapeRef.new(shape: GetImportJobRequest)
1647
+ o.output = Shapes::ShapeRef.new(shape: GetImportJobResponse)
1648
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1649
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
1650
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
1651
+ end)
1652
+
1558
1653
  api.add_operation(:get_suppressed_destination, Seahorse::Model::Operation.new.tap do |o|
1559
1654
  o.name = "GetSuppressedDestination"
1560
1655
  o.http_method = "GET"
@@ -1680,6 +1775,22 @@ module Aws::SESV2
1680
1775
  )
1681
1776
  end)
1682
1777
 
1778
+ api.add_operation(:list_import_jobs, Seahorse::Model::Operation.new.tap do |o|
1779
+ o.name = "ListImportJobs"
1780
+ o.http_method = "GET"
1781
+ o.http_request_uri = "/v2/email/import-jobs"
1782
+ o.input = Shapes::ShapeRef.new(shape: ListImportJobsRequest)
1783
+ o.output = Shapes::ShapeRef.new(shape: ListImportJobsResponse)
1784
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
1785
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
1786
+ o[:pager] = Aws::Pager.new(
1787
+ limit_key: "page_size",
1788
+ tokens: {
1789
+ "next_token" => "next_token"
1790
+ }
1791
+ )
1792
+ end)
1793
+
1683
1794
  api.add_operation(:list_suppressed_destinations, Seahorse::Model::Operation.new.tap do |o|
1684
1795
  o.name = "ListSuppressedDestinations"
1685
1796
  o.http_method = "GET"
@@ -994,6 +994,56 @@ module Aws::SESV2
994
994
  #
995
995
  class CreateEmailTemplateResponse < Aws::EmptyStructure; end
996
996
 
997
+ # Represents a request to create an import job from a data source for a
998
+ # data destination.
999
+ #
1000
+ # @note When making an API call, you may pass CreateImportJobRequest
1001
+ # data as a hash:
1002
+ #
1003
+ # {
1004
+ # import_destination: { # required
1005
+ # suppression_list_destination: { # required
1006
+ # suppression_list_import_action: "DELETE", # required, accepts DELETE, PUT
1007
+ # },
1008
+ # },
1009
+ # import_data_source: { # required
1010
+ # s3_url: "S3Url", # required
1011
+ # data_format: "CSV", # required, accepts CSV, JSON
1012
+ # },
1013
+ # }
1014
+ #
1015
+ # @!attribute [rw] import_destination
1016
+ # The destination for the import job.
1017
+ # @return [Types::ImportDestination]
1018
+ #
1019
+ # @!attribute [rw] import_data_source
1020
+ # The data source for the import job.
1021
+ # @return [Types::ImportDataSource]
1022
+ #
1023
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateImportJobRequest AWS API Documentation
1024
+ #
1025
+ class CreateImportJobRequest < Struct.new(
1026
+ :import_destination,
1027
+ :import_data_source)
1028
+ SENSITIVE = []
1029
+ include Aws::Structure
1030
+ end
1031
+
1032
+ # An HTTP 200 response if the request succeeds, or an error message if
1033
+ # the request fails.
1034
+ #
1035
+ # @!attribute [rw] job_id
1036
+ # A string that represents the import job ID.
1037
+ # @return [String]
1038
+ #
1039
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateImportJobResponse AWS API Documentation
1040
+ #
1041
+ class CreateImportJobResponse < Struct.new(
1042
+ :job_id)
1043
+ SENSITIVE = []
1044
+ include Aws::Structure
1045
+ end
1046
+
997
1047
  # Contains information about a custom verification email template.
998
1048
  #
999
1049
  # @!attribute [rw] template_name
@@ -2098,6 +2148,26 @@ module Aws::SESV2
2098
2148
  include Aws::Structure
2099
2149
  end
2100
2150
 
2151
+ # An object that contains the failure details about an import job.
2152
+ #
2153
+ # @!attribute [rw] failed_records_s3_url
2154
+ # An Amazon S3 presigned URL that contains all the failed records and
2155
+ # related information.
2156
+ # @return [String]
2157
+ #
2158
+ # @!attribute [rw] error_message
2159
+ # A message about why the import job failed.
2160
+ # @return [String]
2161
+ #
2162
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/FailureInfo AWS API Documentation
2163
+ #
2164
+ class FailureInfo < Struct.new(
2165
+ :failed_records_s3_url,
2166
+ :error_message)
2167
+ SENSITIVE = []
2168
+ include Aws::Structure
2169
+ end
2170
+
2101
2171
  # A request to obtain information about the email-sending capabilities
2102
2172
  # of your Amazon SES account.
2103
2173
  #
@@ -2894,6 +2964,84 @@ module Aws::SESV2
2894
2964
  include Aws::Structure
2895
2965
  end
2896
2966
 
2967
+ # Represents a request for information about an import job using the
2968
+ # import job ID.
2969
+ #
2970
+ # @note When making an API call, you may pass GetImportJobRequest
2971
+ # data as a hash:
2972
+ #
2973
+ # {
2974
+ # job_id: "JobId", # required
2975
+ # }
2976
+ #
2977
+ # @!attribute [rw] job_id
2978
+ # The ID of the import job.
2979
+ # @return [String]
2980
+ #
2981
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetImportJobRequest AWS API Documentation
2982
+ #
2983
+ class GetImportJobRequest < Struct.new(
2984
+ :job_id)
2985
+ SENSITIVE = []
2986
+ include Aws::Structure
2987
+ end
2988
+
2989
+ # An HTTP 200 response if the request succeeds, or an error message if
2990
+ # the request fails.
2991
+ #
2992
+ # @!attribute [rw] job_id
2993
+ # A string that represents the import job ID.
2994
+ # @return [String]
2995
+ #
2996
+ # @!attribute [rw] import_destination
2997
+ # The destination of the import job.
2998
+ # @return [Types::ImportDestination]
2999
+ #
3000
+ # @!attribute [rw] import_data_source
3001
+ # The data source of the import job.
3002
+ # @return [Types::ImportDataSource]
3003
+ #
3004
+ # @!attribute [rw] failure_info
3005
+ # The failure details about an import job.
3006
+ # @return [Types::FailureInfo]
3007
+ #
3008
+ # @!attribute [rw] job_status
3009
+ # The status of the import job.
3010
+ # @return [String]
3011
+ #
3012
+ # @!attribute [rw] created_timestamp
3013
+ # The time stamp of when the import job was created.
3014
+ # @return [Time]
3015
+ #
3016
+ # @!attribute [rw] completed_timestamp
3017
+ # The time stamp of when the import job was completed.
3018
+ # @return [Time]
3019
+ #
3020
+ # @!attribute [rw] processed_records_count
3021
+ # The current number of records processed.
3022
+ # @return [Integer]
3023
+ #
3024
+ # @!attribute [rw] failed_records_count
3025
+ # The number of records that failed processing because of invalid
3026
+ # input or other reasons.
3027
+ # @return [Integer]
3028
+ #
3029
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetImportJobResponse AWS API Documentation
3030
+ #
3031
+ class GetImportJobResponse < Struct.new(
3032
+ :job_id,
3033
+ :import_destination,
3034
+ :import_data_source,
3035
+ :failure_info,
3036
+ :job_status,
3037
+ :created_timestamp,
3038
+ :completed_timestamp,
3039
+ :processed_records_count,
3040
+ :failed_records_count)
3041
+ SENSITIVE = []
3042
+ include Aws::Structure
3043
+ end
3044
+
2897
3045
  # A request to retrieve information about an email address that's on
2898
3046
  # the suppression list for your account.
2899
3047
  #
@@ -2967,6 +3115,89 @@ module Aws::SESV2
2967
3115
  include Aws::Structure
2968
3116
  end
2969
3117
 
3118
+ # An object that contains details about the data source of the import
3119
+ # job.
3120
+ #
3121
+ # @note When making an API call, you may pass ImportDataSource
3122
+ # data as a hash:
3123
+ #
3124
+ # {
3125
+ # s3_url: "S3Url", # required
3126
+ # data_format: "CSV", # required, accepts CSV, JSON
3127
+ # }
3128
+ #
3129
+ # @!attribute [rw] s3_url
3130
+ # An Amazon S3 URL in the format
3131
+ # s3://*&lt;bucket\_name&gt;*/*&lt;object&gt;*.
3132
+ # @return [String]
3133
+ #
3134
+ # @!attribute [rw] data_format
3135
+ # The data format of the import job's data source.
3136
+ # @return [String]
3137
+ #
3138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ImportDataSource AWS API Documentation
3139
+ #
3140
+ class ImportDataSource < Struct.new(
3141
+ :s3_url,
3142
+ :data_format)
3143
+ SENSITIVE = []
3144
+ include Aws::Structure
3145
+ end
3146
+
3147
+ # An object that contains details about the resource destination the
3148
+ # import job is going to target.
3149
+ #
3150
+ # @note When making an API call, you may pass ImportDestination
3151
+ # data as a hash:
3152
+ #
3153
+ # {
3154
+ # suppression_list_destination: { # required
3155
+ # suppression_list_import_action: "DELETE", # required, accepts DELETE, PUT
3156
+ # },
3157
+ # }
3158
+ #
3159
+ # @!attribute [rw] suppression_list_destination
3160
+ # An object that contains the action of the import job towards
3161
+ # suppression list.
3162
+ # @return [Types::SuppressionListDestination]
3163
+ #
3164
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ImportDestination AWS API Documentation
3165
+ #
3166
+ class ImportDestination < Struct.new(
3167
+ :suppression_list_destination)
3168
+ SENSITIVE = []
3169
+ include Aws::Structure
3170
+ end
3171
+
3172
+ # A summary of the import job.
3173
+ #
3174
+ # @!attribute [rw] job_id
3175
+ # A string that represents the import job ID.
3176
+ # @return [String]
3177
+ #
3178
+ # @!attribute [rw] import_destination
3179
+ # An object that contains details about the resource destination the
3180
+ # import job is going to target.
3181
+ # @return [Types::ImportDestination]
3182
+ #
3183
+ # @!attribute [rw] job_status
3184
+ # The status of the import job.
3185
+ # @return [String]
3186
+ #
3187
+ # @!attribute [rw] created_timestamp
3188
+ # @return [Time]
3189
+ #
3190
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ImportJobSummary AWS API Documentation
3191
+ #
3192
+ class ImportJobSummary < Struct.new(
3193
+ :job_id,
3194
+ :import_destination,
3195
+ :job_status,
3196
+ :created_timestamp)
3197
+ SENSITIVE = []
3198
+ include Aws::Structure
3199
+ end
3200
+
2970
3201
  # An object that contains information about the inbox placement data
2971
3202
  # settings for a verified domain that’s associated with your AWS
2972
3203
  # account. This data is available only if you enabled the Deliverability
@@ -3504,6 +3735,71 @@ module Aws::SESV2
3504
3735
  include Aws::Structure
3505
3736
  end
3506
3737
 
3738
+ # Represents a request to list all of the import jobs for a data
3739
+ # destination within the specified maximum number of import jobs.
3740
+ #
3741
+ # @note When making an API call, you may pass ListImportJobsRequest
3742
+ # data as a hash:
3743
+ #
3744
+ # {
3745
+ # import_destination_type: "SUPPRESSION_LIST", # accepts SUPPRESSION_LIST
3746
+ # next_token: "NextToken",
3747
+ # page_size: 1,
3748
+ # }
3749
+ #
3750
+ # @!attribute [rw] import_destination_type
3751
+ # The destination of the import job, which can be used to list import
3752
+ # jobs that have a certain `ImportDestinationType`.
3753
+ # @return [String]
3754
+ #
3755
+ # @!attribute [rw] next_token
3756
+ # A string token indicating that there might be additional import jobs
3757
+ # available to be listed. Copy this token to a subsequent call to
3758
+ # `ListImportJobs` with the same parameters to retrieve the next page
3759
+ # of import jobs.
3760
+ # @return [String]
3761
+ #
3762
+ # @!attribute [rw] page_size
3763
+ # Maximum number of import jobs to return at once. Use this parameter
3764
+ # to paginate results. If additional import jobs exist beyond the
3765
+ # specified limit, the `NextToken` element is sent in the response.
3766
+ # Use the `NextToken` value in subsequent requests to retrieve
3767
+ # additional addresses.
3768
+ # @return [Integer]
3769
+ #
3770
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListImportJobsRequest AWS API Documentation
3771
+ #
3772
+ class ListImportJobsRequest < Struct.new(
3773
+ :import_destination_type,
3774
+ :next_token,
3775
+ :page_size)
3776
+ SENSITIVE = []
3777
+ include Aws::Structure
3778
+ end
3779
+
3780
+ # An HTTP 200 response if the request succeeds, or an error message if
3781
+ # the request fails.
3782
+ #
3783
+ # @!attribute [rw] import_jobs
3784
+ # A list of the import job summaries.
3785
+ # @return [Array<Types::ImportJobSummary>]
3786
+ #
3787
+ # @!attribute [rw] next_token
3788
+ # A string token indicating that there might be additional import jobs
3789
+ # available to be listed. Copy this token to a subsequent call to
3790
+ # `ListImportJobs` with the same parameters to retrieve the next page
3791
+ # of import jobs.
3792
+ # @return [String]
3793
+ #
3794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListImportJobsResponse AWS API Documentation
3795
+ #
3796
+ class ListImportJobsResponse < Struct.new(
3797
+ :import_jobs,
3798
+ :next_token)
3799
+ SENSITIVE = []
3800
+ include Aws::Structure
3801
+ end
3802
+
3507
3803
  # A request to obtain a list of email destinations that are on the
3508
3804
  # suppression list for your account.
3509
3805
  #
@@ -5432,6 +5728,33 @@ module Aws::SESV2
5432
5728
  include Aws::Structure
5433
5729
  end
5434
5730
 
5731
+ # An object that contains details about the action of suppression list.
5732
+ #
5733
+ # @note When making an API call, you may pass SuppressionListDestination
5734
+ # data as a hash:
5735
+ #
5736
+ # {
5737
+ # suppression_list_import_action: "DELETE", # required, accepts DELETE, PUT
5738
+ # }
5739
+ #
5740
+ # @!attribute [rw] suppression_list_import_action
5741
+ # The type of action that you want to perform on the address.
5742
+ # Acceptable values:
5743
+ #
5744
+ # * PUT: add the addresses to the suppression list. If the record
5745
+ # already exists, it will override it with the new value.
5746
+ #
5747
+ # * DELETE: remove the addresses from the suppression list.
5748
+ # @return [String]
5749
+ #
5750
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/SuppressionListDestination AWS API Documentation
5751
+ #
5752
+ class SuppressionListDestination < Struct.new(
5753
+ :suppression_list_import_action)
5754
+ SENSITIVE = []
5755
+ include Aws::Structure
5756
+ end
5757
+
5435
5758
  # An object that contains information about the suppression list
5436
5759
  # preferences for your account.
5437
5760
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-sesv2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-30 00:00:00.000000000 Z
11
+ date: 2020-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core