aws-sdk-personalize 1.60.0 → 1.62.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: d1da6af0db56f8c48cb2a224c8ce92c920417acfc5b29ff600eb82ddb8dbf82a
4
- data.tar.gz: 4d142528e72269c236df306d3f7d6fdc1c263cb8939afb165b667f7f694698a8
3
+ metadata.gz: 004cf321fa88a6590e6b6cf610faad4eda8a41cf56a989a9f2e6725ce654cca0
4
+ data.tar.gz: 98a6c4e1bdd66c61aad7797ac918fa31f9aef82942eb4112fd39f40f3aa65304
5
5
  SHA512:
6
- metadata.gz: eb125d70ef1daf9339e98cc9aede0884549ca854ad934373abf2009086231e84f03f09b49accb43eab2c29538848a0f7f020f73b9fc9e7850cc5fa25853e234a
7
- data.tar.gz: 7f5dbe932c9498748effa1c5069eb23f3b704a7e16a684d9e40baa105d3b3f175ff3ec4c5071e5968accf343b81f7962771e6394da8fec91a5254e677ce3a387
6
+ metadata.gz: 6e5e8d04357ee876cd84f1e6905188663d62888f67c4484c38cbb83c82f729500ee4354e78c83aeabeac18e729ca7ab2acf5c0e78d98fca1eb3d09cc6923d2df
7
+ data.tar.gz: 571c23999aa3b1b9d16dfba75f823ac3c932a8e0a5ec9d23792864e0a3456b5b1c6e7e7b17155ccb28c5087226d57104fe9fc8bd636b59dca40eb9b87eed7432
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.62.0 (2024-05-02)
5
+ ------------------
6
+
7
+ * Feature - This releases ability to delete users and their data, including their metadata and interactions data, from a dataset group.
8
+
9
+ 1.61.0 (2024-04-25)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.60.0 (2024-04-19)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.60.0
1
+ 1.62.0
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
@@ -72,6 +73,7 @@ module Aws::Personalize
72
73
  add_plugin(Aws::Plugins::ResponsePaging)
73
74
  add_plugin(Aws::Plugins::StubResponses)
74
75
  add_plugin(Aws::Plugins::IdempotencyToken)
76
+ add_plugin(Aws::Plugins::InvocationId)
75
77
  add_plugin(Aws::Plugins::JsonvalueConverter)
76
78
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
79
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -196,10 +198,17 @@ module Aws::Personalize
196
198
  # When set to 'true' the request body will not be compressed
197
199
  # for supported operations.
198
200
  #
199
- # @option options [String] :endpoint
200
- # The client endpoint is normally constructed from the `:region`
201
- # option. You should only configure an `:endpoint` when connecting
202
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
201
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
202
+ # Normally you should not configure the `:endpoint` option
203
+ # directly. This is normally constructed from the `:region`
204
+ # option. Configuring `:endpoint` is normally reserved for
205
+ # connecting to test or custom endpoints. The endpoint should
206
+ # be a URI formatted like:
207
+ #
208
+ # 'http://example.com'
209
+ # 'https://example.com'
210
+ # 'http://example.com:123'
211
+ #
203
212
  #
204
213
  # @option options [Integer] :endpoint_cache_max_entries (1000)
205
214
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -347,50 +356,65 @@ module Aws::Personalize
347
356
  # @option options [Aws::Personalize::EndpointProvider] :endpoint_provider
348
357
  # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Personalize::EndpointParameters`
349
358
  #
350
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
351
- # requests through. Formatted like 'http://proxy.com:123'.
352
- #
353
- # @option options [Float] :http_open_timeout (15) The number of
354
- # seconds to wait when opening a HTTP session before raising a
355
- # `Timeout::Error`.
356
- #
357
- # @option options [Float] :http_read_timeout (60) The default
358
- # number of seconds to wait for response data. This value can
359
- # safely be set per-request on the session.
360
- #
361
- # @option options [Float] :http_idle_timeout (5) The number of
362
- # seconds a connection is allowed to sit idle before it is
363
- # considered stale. Stale connections are closed and removed
364
- # from the pool before making a request.
365
- #
366
- # @option options [Float] :http_continue_timeout (1) The number of
367
- # seconds to wait for a 100-continue response before sending the
368
- # request body. This option has no effect unless the request has
369
- # "Expect" header set to "100-continue". Defaults to `nil` which
370
- # disables this behaviour. This value can safely be set per
371
- # request on the session.
372
- #
373
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
374
- # in seconds.
375
- #
376
- # @option options [Boolean] :http_wire_trace (false) When `true`,
377
- # HTTP debug output will be sent to the `:logger`.
359
+ # @option options [Float] :http_continue_timeout (1)
360
+ # The number of seconds to wait for a 100-continue response before sending the
361
+ # request body. This option has no effect unless the request has "Expect"
362
+ # header set to "100-continue". Defaults to `nil` which disables this
363
+ # behaviour. This value can safely be set per request on the session.
364
+ #
365
+ # @option options [Float] :http_idle_timeout (5)
366
+ # The number of seconds a connection is allowed to sit idle before it
367
+ # is considered stale. Stale connections are closed and removed from the
368
+ # pool before making a request.
369
+ #
370
+ # @option options [Float] :http_open_timeout (15)
371
+ # The default number of seconds to wait for response data.
372
+ # This value can safely be set per-request on the session.
373
+ #
374
+ # @option options [URI::HTTP,String] :http_proxy
375
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
376
+ #
377
+ # @option options [Float] :http_read_timeout (60)
378
+ # The default number of seconds to wait for response data.
379
+ # This value can safely be set per-request on the session.
380
+ #
381
+ # @option options [Boolean] :http_wire_trace (false)
382
+ # When `true`, HTTP debug output will be sent to the `:logger`.
383
+ #
384
+ # @option options [Proc] :on_chunk_received
385
+ # When a Proc object is provided, it will be used as callback when each chunk
386
+ # of the response body is received. It provides three arguments: the chunk,
387
+ # the number of bytes received, and the total number of
388
+ # bytes in the response (or nil if the server did not send a `content-length`).
389
+ #
390
+ # @option options [Proc] :on_chunk_sent
391
+ # When a Proc object is provided, it will be used as callback when each chunk
392
+ # of the request body is sent. It provides three arguments: the chunk,
393
+ # the number of bytes read from the body, and the total number of
394
+ # bytes in the body.
395
+ #
396
+ # @option options [Boolean] :raise_response_errors (true)
397
+ # When `true`, response errors are raised.
398
+ #
399
+ # @option options [String] :ssl_ca_bundle
400
+ # Full path to the SSL certificate authority bundle file that should be used when
401
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
402
+ # `:ssl_ca_directory` the the system default will be used if available.
403
+ #
404
+ # @option options [String] :ssl_ca_directory
405
+ # Full path of the directory that contains the unbundled SSL certificate
406
+ # authority files for verifying peer certificates. If you do
407
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
408
+ # default will be used if available.
378
409
  #
379
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
380
- # SSL peer certificates are verified when establishing a
381
- # connection.
410
+ # @option options [String] :ssl_ca_store
411
+ # Sets the X509::Store to verify peer certificate.
382
412
  #
383
- # @option options [String] :ssl_ca_bundle Full path to the SSL
384
- # certificate authority bundle file that should be used when
385
- # verifying peer certificates. If you do not pass
386
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
387
- # will be used if available.
413
+ # @option options [Float] :ssl_timeout
414
+ # Sets the SSL timeout in seconds
388
415
  #
389
- # @option options [String] :ssl_ca_directory Full path of the
390
- # directory that contains the unbundled SSL certificate
391
- # authority files for verifying peer certificates. If you do
392
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
393
- # system default will be used if available.
416
+ # @option options [Boolean] :ssl_verify_peer (true)
417
+ # When `true`, SSL peer certificates are verified when establishing a connection.
394
418
  #
395
419
  def initialize(*args)
396
420
  super
@@ -791,6 +815,116 @@ module Aws::Personalize
791
815
  req.send_request(options)
792
816
  end
793
817
 
818
+ # Creates a batch job that deletes all references to specific users from
819
+ # an Amazon Personalize dataset group in batches. You specify the users
820
+ # to delete in a CSV file of userIds in an Amazon S3 bucket. After a job
821
+ # completes, Amazon Personalize no longer trains on the users’ data and
822
+ # no longer considers the users when generating user segments. For more
823
+ # information about creating a data deletion job, see [Deleting
824
+ # users][1].
825
+ #
826
+ # * Your input file must be a CSV file with a single USER\_ID column
827
+ # that lists the users IDs. For more information about preparing the
828
+ # CSV file, see [Preparing your data deletion file and uploading it to
829
+ # Amazon S3][2].
830
+ #
831
+ # * To give Amazon Personalize permission to access your input CSV file
832
+ # of userIds, you must specify an IAM service role that has permission
833
+ # to read from the data source. This role needs `GetObject` and
834
+ # `ListBucket` permissions for the bucket and its content. These
835
+ # permissions are the same as importing data. For information on
836
+ # granting access to your Amazon S3 bucket, see [Giving Amazon
837
+ # Personalize Access to Amazon S3 Resources][3].
838
+ #
839
+ # After you create a job, it can take up to a day to delete all
840
+ # references to the users from datasets and models. Until the job
841
+ # completes, Amazon Personalize continues to use the data when training.
842
+ # And if you use a User Segmentation recipe, the users might appear in
843
+ # user segments.
844
+ #
845
+ # **Status**
846
+ #
847
+ # A data deletion job can have one of the following statuses:
848
+ #
849
+ # * PENDING > IN\_PROGRESS > COMPLETED -or- FAILED
850
+ #
851
+ # ^
852
+ #
853
+ # To get the status of the data deletion job, call
854
+ # [DescribeDataDeletionJob][4] API operation and specify the Amazon
855
+ # Resource Name (ARN) of the job. If the status is FAILED, the response
856
+ # includes a `failureReason` key, which describes why the job failed.
857
+ #
858
+ # **Related APIs**
859
+ #
860
+ # * [ListDataDeletionJobs][5]
861
+ #
862
+ # * [DescribeDataDeletionJob][4]
863
+ #
864
+ #
865
+ #
866
+ # [1]: https://docs.aws.amazon.com/personalize/latest/dg/delete-records.html
867
+ # [2]: https://docs.aws.amazon.com/personalize/latest/dg/prepare-deletion-input-file.html
868
+ # [3]: https://docs.aws.amazon.com/personalize/latest/dg/granting-personalize-s3-access.html
869
+ # [4]: https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeDataDeletionJob.html
870
+ # [5]: https://docs.aws.amazon.com/personalize/latest/dg/API_ListDataDeletionJobs.html
871
+ #
872
+ # @option params [required, String] :job_name
873
+ # The name for the data deletion job.
874
+ #
875
+ # @option params [required, String] :dataset_group_arn
876
+ # The Amazon Resource Name (ARN) of the dataset group that has the
877
+ # datasets you want to delete records from.
878
+ #
879
+ # @option params [required, Types::DataSource] :data_source
880
+ # The Amazon S3 bucket that contains the list of userIds of the users to
881
+ # delete.
882
+ #
883
+ # @option params [required, String] :role_arn
884
+ # The Amazon Resource Name (ARN) of the IAM role that has permissions to
885
+ # read from the Amazon S3 data source.
886
+ #
887
+ # @option params [Array<Types::Tag>] :tags
888
+ # A list of [tags][1] to apply to the data deletion job.
889
+ #
890
+ #
891
+ #
892
+ # [1]: https://docs.aws.amazon.com/personalize/latest/dg/tagging-resources.html
893
+ #
894
+ # @return [Types::CreateDataDeletionJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
895
+ #
896
+ # * {Types::CreateDataDeletionJobResponse#data_deletion_job_arn #data_deletion_job_arn} => String
897
+ #
898
+ # @example Request syntax with placeholder values
899
+ #
900
+ # resp = client.create_data_deletion_job({
901
+ # job_name: "Name", # required
902
+ # dataset_group_arn: "Arn", # required
903
+ # data_source: { # required
904
+ # data_location: "S3Location",
905
+ # },
906
+ # role_arn: "RoleArn", # required
907
+ # tags: [
908
+ # {
909
+ # tag_key: "TagKey", # required
910
+ # tag_value: "TagValue", # required
911
+ # },
912
+ # ],
913
+ # })
914
+ #
915
+ # @example Response structure
916
+ #
917
+ # resp.data_deletion_job_arn #=> String
918
+ #
919
+ # @see http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDataDeletionJob AWS API Documentation
920
+ #
921
+ # @overload create_data_deletion_job(params = {})
922
+ # @param [Hash] params ({})
923
+ def create_data_deletion_job(params = {}, options = {})
924
+ req = build_request(:create_data_deletion_job, params)
925
+ req.send_request(options)
926
+ end
927
+
794
928
  # Creates an empty dataset and adds it to the specified dataset group.
795
929
  # Use [CreateDatasetImportJob][1] to import your training data to a
796
930
  # dataset.
@@ -2520,6 +2654,48 @@ module Aws::Personalize
2520
2654
  req.send_request(options)
2521
2655
  end
2522
2656
 
2657
+ # Describes the data deletion job created by [CreateDataDeletionJob][1],
2658
+ # including the job status.
2659
+ #
2660
+ #
2661
+ #
2662
+ # [1]: https://docs.aws.amazon.com/personalize/latest/dg/API_CreateDataDeletionJob.html
2663
+ #
2664
+ # @option params [required, String] :data_deletion_job_arn
2665
+ # The Amazon Resource Name (ARN) of the data deletion job.
2666
+ #
2667
+ # @return [Types::DescribeDataDeletionJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2668
+ #
2669
+ # * {Types::DescribeDataDeletionJobResponse#data_deletion_job #data_deletion_job} => Types::DataDeletionJob
2670
+ #
2671
+ # @example Request syntax with placeholder values
2672
+ #
2673
+ # resp = client.describe_data_deletion_job({
2674
+ # data_deletion_job_arn: "Arn", # required
2675
+ # })
2676
+ #
2677
+ # @example Response structure
2678
+ #
2679
+ # resp.data_deletion_job.job_name #=> String
2680
+ # resp.data_deletion_job.data_deletion_job_arn #=> String
2681
+ # resp.data_deletion_job.dataset_group_arn #=> String
2682
+ # resp.data_deletion_job.data_source.data_location #=> String
2683
+ # resp.data_deletion_job.role_arn #=> String
2684
+ # resp.data_deletion_job.status #=> String
2685
+ # resp.data_deletion_job.num_deleted #=> Integer
2686
+ # resp.data_deletion_job.creation_date_time #=> Time
2687
+ # resp.data_deletion_job.last_updated_date_time #=> Time
2688
+ # resp.data_deletion_job.failure_reason #=> String
2689
+ #
2690
+ # @see http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDataDeletionJob AWS API Documentation
2691
+ #
2692
+ # @overload describe_data_deletion_job(params = {})
2693
+ # @param [Hash] params ({})
2694
+ def describe_data_deletion_job(params = {}, options = {})
2695
+ req = build_request(:describe_data_deletion_job, params)
2696
+ req.send_request(options)
2697
+ end
2698
+
2523
2699
  # Describes the given dataset. For more information on datasets, see
2524
2700
  # [CreateDataset][1].
2525
2701
  #
@@ -3369,6 +3545,62 @@ module Aws::Personalize
3369
3545
  req.send_request(options)
3370
3546
  end
3371
3547
 
3548
+ # Returns a list of data deletion jobs for a dataset group ordered by
3549
+ # creation time, with the most recent first. When a dataset group is not
3550
+ # specified, all the data deletion jobs associated with the account are
3551
+ # listed. The response provides the properties for each job, including
3552
+ # the Amazon Resource Name (ARN). For more information on data deletion
3553
+ # jobs, see [Deleting users][1].
3554
+ #
3555
+ #
3556
+ #
3557
+ # [1]: https://docs.aws.amazon.com/personalize/latest/dg/delete-records.html
3558
+ #
3559
+ # @option params [String] :dataset_group_arn
3560
+ # The Amazon Resource Name (ARN) of the dataset group to list data
3561
+ # deletion jobs for.
3562
+ #
3563
+ # @option params [String] :next_token
3564
+ # A token returned from the previous call to `ListDataDeletionJobs` for
3565
+ # getting the next set of jobs (if they exist).
3566
+ #
3567
+ # @option params [Integer] :max_results
3568
+ # The maximum number of data deletion jobs to return.
3569
+ #
3570
+ # @return [Types::ListDataDeletionJobsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3571
+ #
3572
+ # * {Types::ListDataDeletionJobsResponse#data_deletion_jobs #data_deletion_jobs} => Array&lt;Types::DataDeletionJobSummary&gt;
3573
+ # * {Types::ListDataDeletionJobsResponse#next_token #next_token} => String
3574
+ #
3575
+ # @example Request syntax with placeholder values
3576
+ #
3577
+ # resp = client.list_data_deletion_jobs({
3578
+ # dataset_group_arn: "Arn",
3579
+ # next_token: "NextToken",
3580
+ # max_results: 1,
3581
+ # })
3582
+ #
3583
+ # @example Response structure
3584
+ #
3585
+ # resp.data_deletion_jobs #=> Array
3586
+ # resp.data_deletion_jobs[0].data_deletion_job_arn #=> String
3587
+ # resp.data_deletion_jobs[0].dataset_group_arn #=> String
3588
+ # resp.data_deletion_jobs[0].job_name #=> String
3589
+ # resp.data_deletion_jobs[0].status #=> String
3590
+ # resp.data_deletion_jobs[0].creation_date_time #=> Time
3591
+ # resp.data_deletion_jobs[0].last_updated_date_time #=> Time
3592
+ # resp.data_deletion_jobs[0].failure_reason #=> String
3593
+ # resp.next_token #=> String
3594
+ #
3595
+ # @see http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDataDeletionJobs AWS API Documentation
3596
+ #
3597
+ # @overload list_data_deletion_jobs(params = {})
3598
+ # @param [Hash] params ({})
3599
+ def list_data_deletion_jobs(params = {}, options = {})
3600
+ req = build_request(:list_data_deletion_jobs, params)
3601
+ req.send_request(options)
3602
+ end
3603
+
3372
3604
  # Returns a list of dataset export jobs that use the given dataset. When
3373
3605
  # a dataset is not specified, all the dataset export jobs associated
3374
3606
  # with the account are listed. The response provides the properties for
@@ -4514,7 +4746,7 @@ module Aws::Personalize
4514
4746
  params: params,
4515
4747
  config: config)
4516
4748
  context[:gem_name] = 'aws-sdk-personalize'
4517
- context[:gem_version] = '1.60.0'
4749
+ context[:gem_version] = '1.62.0'
4518
4750
  Seahorse::Client::Request.new(handlers, context)
4519
4751
  end
4520
4752
 
@@ -56,6 +56,8 @@ module Aws::Personalize
56
56
  CreateBatchSegmentJobResponse = Shapes::StructureShape.new(name: 'CreateBatchSegmentJobResponse')
57
57
  CreateCampaignRequest = Shapes::StructureShape.new(name: 'CreateCampaignRequest')
58
58
  CreateCampaignResponse = Shapes::StructureShape.new(name: 'CreateCampaignResponse')
59
+ CreateDataDeletionJobRequest = Shapes::StructureShape.new(name: 'CreateDataDeletionJobRequest')
60
+ CreateDataDeletionJobResponse = Shapes::StructureShape.new(name: 'CreateDataDeletionJobResponse')
59
61
  CreateDatasetExportJobRequest = Shapes::StructureShape.new(name: 'CreateDatasetExportJobRequest')
60
62
  CreateDatasetExportJobResponse = Shapes::StructureShape.new(name: 'CreateDatasetExportJobResponse')
61
63
  CreateDatasetGroupRequest = Shapes::StructureShape.new(name: 'CreateDatasetGroupRequest')
@@ -78,6 +80,9 @@ module Aws::Personalize
78
80
  CreateSolutionResponse = Shapes::StructureShape.new(name: 'CreateSolutionResponse')
79
81
  CreateSolutionVersionRequest = Shapes::StructureShape.new(name: 'CreateSolutionVersionRequest')
80
82
  CreateSolutionVersionResponse = Shapes::StructureShape.new(name: 'CreateSolutionVersionResponse')
83
+ DataDeletionJob = Shapes::StructureShape.new(name: 'DataDeletionJob')
84
+ DataDeletionJobSummary = Shapes::StructureShape.new(name: 'DataDeletionJobSummary')
85
+ DataDeletionJobs = Shapes::ListShape.new(name: 'DataDeletionJobs')
81
86
  DataSource = Shapes::StructureShape.new(name: 'DataSource')
82
87
  Dataset = Shapes::StructureShape.new(name: 'Dataset')
83
88
  DatasetExportJob = Shapes::StructureShape.new(name: 'DatasetExportJob')
@@ -121,6 +126,8 @@ module Aws::Personalize
121
126
  DescribeBatchSegmentJobResponse = Shapes::StructureShape.new(name: 'DescribeBatchSegmentJobResponse')
122
127
  DescribeCampaignRequest = Shapes::StructureShape.new(name: 'DescribeCampaignRequest')
123
128
  DescribeCampaignResponse = Shapes::StructureShape.new(name: 'DescribeCampaignResponse')
129
+ DescribeDataDeletionJobRequest = Shapes::StructureShape.new(name: 'DescribeDataDeletionJobRequest')
130
+ DescribeDataDeletionJobResponse = Shapes::StructureShape.new(name: 'DescribeDataDeletionJobResponse')
124
131
  DescribeDatasetExportJobRequest = Shapes::StructureShape.new(name: 'DescribeDatasetExportJobRequest')
125
132
  DescribeDatasetExportJobResponse = Shapes::StructureShape.new(name: 'DescribeDatasetExportJobResponse')
126
133
  DescribeDatasetGroupRequest = Shapes::StructureShape.new(name: 'DescribeDatasetGroupRequest')
@@ -177,6 +184,7 @@ module Aws::Personalize
177
184
  HyperParameters = Shapes::MapShape.new(name: 'HyperParameters')
178
185
  ImportMode = Shapes::StringShape.new(name: 'ImportMode')
179
186
  IngestionMode = Shapes::StringShape.new(name: 'IngestionMode')
187
+ Integer = Shapes::IntegerShape.new(name: 'Integer')
180
188
  IntegerHyperParameterRange = Shapes::StructureShape.new(name: 'IntegerHyperParameterRange')
181
189
  IntegerHyperParameterRanges = Shapes::ListShape.new(name: 'IntegerHyperParameterRanges')
182
190
  IntegerMaxValue = Shapes::IntegerShape.new(name: 'IntegerMaxValue')
@@ -192,6 +200,8 @@ module Aws::Personalize
192
200
  ListBatchSegmentJobsResponse = Shapes::StructureShape.new(name: 'ListBatchSegmentJobsResponse')
193
201
  ListCampaignsRequest = Shapes::StructureShape.new(name: 'ListCampaignsRequest')
194
202
  ListCampaignsResponse = Shapes::StructureShape.new(name: 'ListCampaignsResponse')
203
+ ListDataDeletionJobsRequest = Shapes::StructureShape.new(name: 'ListDataDeletionJobsRequest')
204
+ ListDataDeletionJobsResponse = Shapes::StructureShape.new(name: 'ListDataDeletionJobsResponse')
195
205
  ListDatasetExportJobsRequest = Shapes::StructureShape.new(name: 'ListDatasetExportJobsRequest')
196
206
  ListDatasetExportJobsResponse = Shapes::StructureShape.new(name: 'ListDatasetExportJobsResponse')
197
207
  ListDatasetGroupsRequest = Shapes::StructureShape.new(name: 'ListDatasetGroupsRequest')
@@ -494,6 +504,16 @@ module Aws::Personalize
494
504
  CreateCampaignResponse.add_member(:campaign_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "campaignArn"))
495
505
  CreateCampaignResponse.struct_class = Types::CreateCampaignResponse
496
506
 
507
+ CreateDataDeletionJobRequest.add_member(:job_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "jobName"))
508
+ CreateDataDeletionJobRequest.add_member(:dataset_group_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "datasetGroupArn"))
509
+ CreateDataDeletionJobRequest.add_member(:data_source, Shapes::ShapeRef.new(shape: DataSource, required: true, location_name: "dataSource"))
510
+ CreateDataDeletionJobRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, required: true, location_name: "roleArn"))
511
+ CreateDataDeletionJobRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
512
+ CreateDataDeletionJobRequest.struct_class = Types::CreateDataDeletionJobRequest
513
+
514
+ CreateDataDeletionJobResponse.add_member(:data_deletion_job_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "dataDeletionJobArn"))
515
+ CreateDataDeletionJobResponse.struct_class = Types::CreateDataDeletionJobResponse
516
+
497
517
  CreateDatasetExportJobRequest.add_member(:job_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "jobName"))
498
518
  CreateDatasetExportJobRequest.add_member(:dataset_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "datasetArn"))
499
519
  CreateDatasetExportJobRequest.add_member(:ingestion_mode, Shapes::ShapeRef.new(shape: IngestionMode, location_name: "ingestionMode"))
@@ -606,6 +626,29 @@ module Aws::Personalize
606
626
  CreateSolutionVersionResponse.add_member(:solution_version_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "solutionVersionArn"))
607
627
  CreateSolutionVersionResponse.struct_class = Types::CreateSolutionVersionResponse
608
628
 
629
+ DataDeletionJob.add_member(:job_name, Shapes::ShapeRef.new(shape: Name, location_name: "jobName"))
630
+ DataDeletionJob.add_member(:data_deletion_job_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "dataDeletionJobArn"))
631
+ DataDeletionJob.add_member(:dataset_group_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "datasetGroupArn"))
632
+ DataDeletionJob.add_member(:data_source, Shapes::ShapeRef.new(shape: DataSource, location_name: "dataSource"))
633
+ DataDeletionJob.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, location_name: "roleArn"))
634
+ DataDeletionJob.add_member(:status, Shapes::ShapeRef.new(shape: Status, location_name: "status"))
635
+ DataDeletionJob.add_member(:num_deleted, Shapes::ShapeRef.new(shape: Integer, location_name: "numDeleted"))
636
+ DataDeletionJob.add_member(:creation_date_time, Shapes::ShapeRef.new(shape: Date, location_name: "creationDateTime"))
637
+ DataDeletionJob.add_member(:last_updated_date_time, Shapes::ShapeRef.new(shape: Date, location_name: "lastUpdatedDateTime"))
638
+ DataDeletionJob.add_member(:failure_reason, Shapes::ShapeRef.new(shape: FailureReason, location_name: "failureReason"))
639
+ DataDeletionJob.struct_class = Types::DataDeletionJob
640
+
641
+ DataDeletionJobSummary.add_member(:data_deletion_job_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "dataDeletionJobArn"))
642
+ DataDeletionJobSummary.add_member(:dataset_group_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "datasetGroupArn"))
643
+ DataDeletionJobSummary.add_member(:job_name, Shapes::ShapeRef.new(shape: Name, location_name: "jobName"))
644
+ DataDeletionJobSummary.add_member(:status, Shapes::ShapeRef.new(shape: Status, location_name: "status"))
645
+ DataDeletionJobSummary.add_member(:creation_date_time, Shapes::ShapeRef.new(shape: Date, location_name: "creationDateTime"))
646
+ DataDeletionJobSummary.add_member(:last_updated_date_time, Shapes::ShapeRef.new(shape: Date, location_name: "lastUpdatedDateTime"))
647
+ DataDeletionJobSummary.add_member(:failure_reason, Shapes::ShapeRef.new(shape: FailureReason, location_name: "failureReason"))
648
+ DataDeletionJobSummary.struct_class = Types::DataDeletionJobSummary
649
+
650
+ DataDeletionJobs.member = Shapes::ShapeRef.new(shape: DataDeletionJobSummary)
651
+
609
652
  DataSource.add_member(:data_location, Shapes::ShapeRef.new(shape: S3Location, location_name: "dataLocation"))
610
653
  DataSource.struct_class = Types::DataSource
611
654
 
@@ -803,6 +846,12 @@ module Aws::Personalize
803
846
  DescribeCampaignResponse.add_member(:campaign, Shapes::ShapeRef.new(shape: Campaign, location_name: "campaign"))
804
847
  DescribeCampaignResponse.struct_class = Types::DescribeCampaignResponse
805
848
 
849
+ DescribeDataDeletionJobRequest.add_member(:data_deletion_job_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "dataDeletionJobArn"))
850
+ DescribeDataDeletionJobRequest.struct_class = Types::DescribeDataDeletionJobRequest
851
+
852
+ DescribeDataDeletionJobResponse.add_member(:data_deletion_job, Shapes::ShapeRef.new(shape: DataDeletionJob, location_name: "dataDeletionJob"))
853
+ DescribeDataDeletionJobResponse.struct_class = Types::DescribeDataDeletionJobResponse
854
+
806
855
  DescribeDatasetExportJobRequest.add_member(:dataset_export_job_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "datasetExportJobArn"))
807
856
  DescribeDatasetExportJobRequest.struct_class = Types::DescribeDatasetExportJobRequest
808
857
 
@@ -1013,6 +1062,15 @@ module Aws::Personalize
1013
1062
  ListCampaignsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
1014
1063
  ListCampaignsResponse.struct_class = Types::ListCampaignsResponse
1015
1064
 
1065
+ ListDataDeletionJobsRequest.add_member(:dataset_group_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "datasetGroupArn"))
1066
+ ListDataDeletionJobsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
1067
+ ListDataDeletionJobsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
1068
+ ListDataDeletionJobsRequest.struct_class = Types::ListDataDeletionJobsRequest
1069
+
1070
+ ListDataDeletionJobsResponse.add_member(:data_deletion_jobs, Shapes::ShapeRef.new(shape: DataDeletionJobs, location_name: "dataDeletionJobs"))
1071
+ ListDataDeletionJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
1072
+ ListDataDeletionJobsResponse.struct_class = Types::ListDataDeletionJobsResponse
1073
+
1016
1074
  ListDatasetExportJobsRequest.add_member(:dataset_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "datasetArn"))
1017
1075
  ListDatasetExportJobsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
1018
1076
  ListDatasetExportJobsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
@@ -1411,6 +1469,7 @@ module Aws::Personalize
1411
1469
  "endpointPrefix" => "personalize",
1412
1470
  "jsonVersion" => "1.1",
1413
1471
  "protocol" => "json",
1472
+ "protocols" => ["json"],
1414
1473
  "serviceFullName" => "Amazon Personalize",
1415
1474
  "serviceId" => "Personalize",
1416
1475
  "signatureVersion" => "v4",
@@ -1461,6 +1520,20 @@ module Aws::Personalize
1461
1520
  o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
1462
1521
  end)
1463
1522
 
1523
+ api.add_operation(:create_data_deletion_job, Seahorse::Model::Operation.new.tap do |o|
1524
+ o.name = "CreateDataDeletionJob"
1525
+ o.http_method = "POST"
1526
+ o.http_request_uri = "/"
1527
+ o.input = Shapes::ShapeRef.new(shape: CreateDataDeletionJobRequest)
1528
+ o.output = Shapes::ShapeRef.new(shape: CreateDataDeletionJobResponse)
1529
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1530
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1531
+ o.errors << Shapes::ShapeRef.new(shape: ResourceAlreadyExistsException)
1532
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1533
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
1534
+ o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
1535
+ end)
1536
+
1464
1537
  api.add_operation(:create_dataset, Seahorse::Model::Operation.new.tap do |o|
1465
1538
  o.name = "CreateDataset"
1466
1539
  o.http_method = "POST"
@@ -1747,6 +1820,16 @@ module Aws::Personalize
1747
1820
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1748
1821
  end)
1749
1822
 
1823
+ api.add_operation(:describe_data_deletion_job, Seahorse::Model::Operation.new.tap do |o|
1824
+ o.name = "DescribeDataDeletionJob"
1825
+ o.http_method = "POST"
1826
+ o.http_request_uri = "/"
1827
+ o.input = Shapes::ShapeRef.new(shape: DescribeDataDeletionJobRequest)
1828
+ o.output = Shapes::ShapeRef.new(shape: DescribeDataDeletionJobResponse)
1829
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
1830
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1831
+ end)
1832
+
1750
1833
  api.add_operation(:describe_dataset, Seahorse::Model::Operation.new.tap do |o|
1751
1834
  o.name = "DescribeDataset"
1752
1835
  o.http_method = "POST"
@@ -1936,6 +2019,16 @@ module Aws::Personalize
1936
2019
  )
1937
2020
  end)
1938
2021
 
2022
+ api.add_operation(:list_data_deletion_jobs, Seahorse::Model::Operation.new.tap do |o|
2023
+ o.name = "ListDataDeletionJobs"
2024
+ o.http_method = "POST"
2025
+ o.http_request_uri = "/"
2026
+ o.input = Shapes::ShapeRef.new(shape: ListDataDeletionJobsRequest)
2027
+ o.output = Shapes::ShapeRef.new(shape: ListDataDeletionJobsResponse)
2028
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
2029
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
2030
+ end)
2031
+
1939
2032
  api.add_operation(:list_dataset_export_jobs, Seahorse::Model::Operation.new.tap do |o|
1940
2033
  o.name = "ListDatasetExportJobs"
1941
2034
  o.http_method = "POST"
@@ -54,6 +54,20 @@ module Aws::Personalize
54
54
  end
55
55
  end
56
56
 
57
+ class CreateDataDeletionJob
58
+ def self.build(context)
59
+ unless context.config.regional_endpoint
60
+ endpoint = context.config.endpoint.to_s
61
+ end
62
+ Aws::Personalize::EndpointParameters.new(
63
+ region: context.config.region,
64
+ use_dual_stack: context.config.use_dualstack_endpoint,
65
+ use_fips: context.config.use_fips_endpoint,
66
+ endpoint: endpoint,
67
+ )
68
+ end
69
+ end
70
+
57
71
  class CreateDataset
58
72
  def self.build(context)
59
73
  unless context.config.regional_endpoint
@@ -390,6 +404,20 @@ module Aws::Personalize
390
404
  end
391
405
  end
392
406
 
407
+ class DescribeDataDeletionJob
408
+ def self.build(context)
409
+ unless context.config.regional_endpoint
410
+ endpoint = context.config.endpoint.to_s
411
+ end
412
+ Aws::Personalize::EndpointParameters.new(
413
+ region: context.config.region,
414
+ use_dual_stack: context.config.use_dualstack_endpoint,
415
+ use_fips: context.config.use_fips_endpoint,
416
+ endpoint: endpoint,
417
+ )
418
+ end
419
+ end
420
+
393
421
  class DescribeDataset
394
422
  def self.build(context)
395
423
  unless context.config.regional_endpoint
@@ -628,6 +656,20 @@ module Aws::Personalize
628
656
  end
629
657
  end
630
658
 
659
+ class ListDataDeletionJobs
660
+ def self.build(context)
661
+ unless context.config.regional_endpoint
662
+ endpoint = context.config.endpoint.to_s
663
+ end
664
+ Aws::Personalize::EndpointParameters.new(
665
+ region: context.config.region,
666
+ use_dual_stack: context.config.use_dualstack_endpoint,
667
+ use_fips: context.config.use_fips_endpoint,
668
+ endpoint: endpoint,
669
+ )
670
+ end
671
+ end
672
+
631
673
  class ListDatasetExportJobs
632
674
  def self.build(context)
633
675
  unless context.config.regional_endpoint
@@ -64,6 +64,8 @@ module Aws::Personalize
64
64
  Aws::Personalize::Endpoints::CreateBatchSegmentJob.build(context)
65
65
  when :create_campaign
66
66
  Aws::Personalize::Endpoints::CreateCampaign.build(context)
67
+ when :create_data_deletion_job
68
+ Aws::Personalize::Endpoints::CreateDataDeletionJob.build(context)
67
69
  when :create_dataset
68
70
  Aws::Personalize::Endpoints::CreateDataset.build(context)
69
71
  when :create_dataset_export_job
@@ -112,6 +114,8 @@ module Aws::Personalize
112
114
  Aws::Personalize::Endpoints::DescribeBatchSegmentJob.build(context)
113
115
  when :describe_campaign
114
116
  Aws::Personalize::Endpoints::DescribeCampaign.build(context)
117
+ when :describe_data_deletion_job
118
+ Aws::Personalize::Endpoints::DescribeDataDeletionJob.build(context)
115
119
  when :describe_dataset
116
120
  Aws::Personalize::Endpoints::DescribeDataset.build(context)
117
121
  when :describe_dataset_export_job
@@ -146,6 +150,8 @@ module Aws::Personalize
146
150
  Aws::Personalize::Endpoints::ListBatchSegmentJobs.build(context)
147
151
  when :list_campaigns
148
152
  Aws::Personalize::Endpoints::ListCampaigns.build(context)
153
+ when :list_data_deletion_jobs
154
+ Aws::Personalize::Endpoints::ListDataDeletionJobs.build(context)
149
155
  when :list_dataset_export_jobs
150
156
  Aws::Personalize::Endpoints::ListDatasetExportJobs.build(context)
151
157
  when :list_dataset_groups
@@ -1095,6 +1095,57 @@ module Aws::Personalize
1095
1095
  include Aws::Structure
1096
1096
  end
1097
1097
 
1098
+ # @!attribute [rw] job_name
1099
+ # The name for the data deletion job.
1100
+ # @return [String]
1101
+ #
1102
+ # @!attribute [rw] dataset_group_arn
1103
+ # The Amazon Resource Name (ARN) of the dataset group that has the
1104
+ # datasets you want to delete records from.
1105
+ # @return [String]
1106
+ #
1107
+ # @!attribute [rw] data_source
1108
+ # The Amazon S3 bucket that contains the list of userIds of the users
1109
+ # to delete.
1110
+ # @return [Types::DataSource]
1111
+ #
1112
+ # @!attribute [rw] role_arn
1113
+ # The Amazon Resource Name (ARN) of the IAM role that has permissions
1114
+ # to read from the Amazon S3 data source.
1115
+ # @return [String]
1116
+ #
1117
+ # @!attribute [rw] tags
1118
+ # A list of [tags][1] to apply to the data deletion job.
1119
+ #
1120
+ #
1121
+ #
1122
+ # [1]: https://docs.aws.amazon.com/personalize/latest/dg/tagging-resources.html
1123
+ # @return [Array<Types::Tag>]
1124
+ #
1125
+ # @see http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDataDeletionJobRequest AWS API Documentation
1126
+ #
1127
+ class CreateDataDeletionJobRequest < Struct.new(
1128
+ :job_name,
1129
+ :dataset_group_arn,
1130
+ :data_source,
1131
+ :role_arn,
1132
+ :tags)
1133
+ SENSITIVE = []
1134
+ include Aws::Structure
1135
+ end
1136
+
1137
+ # @!attribute [rw] data_deletion_job_arn
1138
+ # The Amazon Resource Name (ARN) of the data deletion job.
1139
+ # @return [String]
1140
+ #
1141
+ # @see http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/CreateDataDeletionJobResponse AWS API Documentation
1142
+ #
1143
+ class CreateDataDeletionJobResponse < Struct.new(
1144
+ :data_deletion_job_arn)
1145
+ SENSITIVE = []
1146
+ include Aws::Structure
1147
+ end
1148
+
1098
1149
  # @!attribute [rw] job_name
1099
1150
  # The name for the dataset export job.
1100
1151
  # @return [String]
@@ -1777,12 +1828,156 @@ module Aws::Personalize
1777
1828
  include Aws::Structure
1778
1829
  end
1779
1830
 
1831
+ # Describes a job that deletes all references to specific users from an
1832
+ # Amazon Personalize dataset group in batches. For information about
1833
+ # creating a data deletion job, see [Deleting users][1].
1834
+ #
1835
+ #
1836
+ #
1837
+ # [1]: https://docs.aws.amazon.com/personalize/latest/dg/delete-records.html
1838
+ #
1839
+ # @!attribute [rw] job_name
1840
+ # The name of the data deletion job.
1841
+ # @return [String]
1842
+ #
1843
+ # @!attribute [rw] data_deletion_job_arn
1844
+ # The Amazon Resource Name (ARN) of the data deletion job.
1845
+ # @return [String]
1846
+ #
1847
+ # @!attribute [rw] dataset_group_arn
1848
+ # The Amazon Resource Name (ARN) of the dataset group the job deletes
1849
+ # records from.
1850
+ # @return [String]
1851
+ #
1852
+ # @!attribute [rw] data_source
1853
+ # Describes the data source that contains the data to upload to a
1854
+ # dataset, or the list of records to delete from Amazon Personalize.
1855
+ # @return [Types::DataSource]
1856
+ #
1857
+ # @!attribute [rw] role_arn
1858
+ # The Amazon Resource Name (ARN) of the IAM role that has permissions
1859
+ # to read from the Amazon S3 data source.
1860
+ # @return [String]
1861
+ #
1862
+ # @!attribute [rw] status
1863
+ # The status of the data deletion job.
1864
+ #
1865
+ # A data deletion job can have one of the following statuses:
1866
+ #
1867
+ # * PENDING &gt; IN\_PROGRESS &gt; COMPLETED -or- FAILED
1868
+ #
1869
+ # ^
1870
+ # @return [String]
1871
+ #
1872
+ # @!attribute [rw] num_deleted
1873
+ # The number of records deleted by a COMPLETED job.
1874
+ # @return [Integer]
1875
+ #
1876
+ # @!attribute [rw] creation_date_time
1877
+ # The creation date and time (in Unix time) of the data deletion job.
1878
+ # @return [Time]
1879
+ #
1880
+ # @!attribute [rw] last_updated_date_time
1881
+ # The date and time (in Unix time) the data deletion job was last
1882
+ # updated.
1883
+ # @return [Time]
1884
+ #
1885
+ # @!attribute [rw] failure_reason
1886
+ # If a data deletion job fails, provides the reason why.
1887
+ # @return [String]
1888
+ #
1889
+ # @see http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DataDeletionJob AWS API Documentation
1890
+ #
1891
+ class DataDeletionJob < Struct.new(
1892
+ :job_name,
1893
+ :data_deletion_job_arn,
1894
+ :dataset_group_arn,
1895
+ :data_source,
1896
+ :role_arn,
1897
+ :status,
1898
+ :num_deleted,
1899
+ :creation_date_time,
1900
+ :last_updated_date_time,
1901
+ :failure_reason)
1902
+ SENSITIVE = []
1903
+ include Aws::Structure
1904
+ end
1905
+
1906
+ # Provides a summary of the properties of a data deletion job. For a
1907
+ # complete listing, call the [DescribeDataDeletionJob][1] API operation.
1908
+ #
1909
+ #
1910
+ #
1911
+ # [1]: https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeDataDeletionJob.html
1912
+ #
1913
+ # @!attribute [rw] data_deletion_job_arn
1914
+ # The Amazon Resource Name (ARN) of the data deletion job.
1915
+ # @return [String]
1916
+ #
1917
+ # @!attribute [rw] dataset_group_arn
1918
+ # The Amazon Resource Name (ARN) of the dataset group the job deleted
1919
+ # records from.
1920
+ # @return [String]
1921
+ #
1922
+ # @!attribute [rw] job_name
1923
+ # The name of the data deletion job.
1924
+ # @return [String]
1925
+ #
1926
+ # @!attribute [rw] status
1927
+ # The status of the data deletion job.
1928
+ #
1929
+ # A data deletion job can have one of the following statuses:
1930
+ #
1931
+ # * PENDING &gt; IN\_PROGRESS &gt; COMPLETED -or- FAILED
1932
+ #
1933
+ # ^
1934
+ # @return [String]
1935
+ #
1936
+ # @!attribute [rw] creation_date_time
1937
+ # The creation date and time (in Unix time) of the data deletion job.
1938
+ # @return [Time]
1939
+ #
1940
+ # @!attribute [rw] last_updated_date_time
1941
+ # The date and time (in Unix time) the data deletion job was last
1942
+ # updated.
1943
+ # @return [Time]
1944
+ #
1945
+ # @!attribute [rw] failure_reason
1946
+ # If a data deletion job fails, provides the reason why.
1947
+ # @return [String]
1948
+ #
1949
+ # @see http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DataDeletionJobSummary AWS API Documentation
1950
+ #
1951
+ class DataDeletionJobSummary < Struct.new(
1952
+ :data_deletion_job_arn,
1953
+ :dataset_group_arn,
1954
+ :job_name,
1955
+ :status,
1956
+ :creation_date_time,
1957
+ :last_updated_date_time,
1958
+ :failure_reason)
1959
+ SENSITIVE = []
1960
+ include Aws::Structure
1961
+ end
1962
+
1780
1963
  # Describes the data source that contains the data to upload to a
1781
- # dataset.
1964
+ # dataset, or the list of records to delete from Amazon Personalize.
1782
1965
  #
1783
1966
  # @!attribute [rw] data_location
1784
- # The path to the Amazon S3 bucket where the data that you want to
1785
- # upload to your dataset is stored. For example:
1967
+ # For dataset import jobs, the path to the Amazon S3 bucket where the
1968
+ # data that you want to upload to your dataset is stored. For data
1969
+ # deletion jobs, the path to the Amazon S3 bucket that stores the list
1970
+ # of records to delete.
1971
+ #
1972
+ # For example:
1973
+ #
1974
+ # `s3://bucket-name/folder-name/fileName.csv`
1975
+ #
1976
+ # If your CSV files are in a folder in your Amazon S3 bucket and you
1977
+ # want your import job or data deletion job to consider multiple
1978
+ # files, you can specify the path to the folder. With a data deletion
1979
+ # job, Amazon Personalize uses all files in the folder and any sub
1980
+ # folder. Use the following syntax with a `/` after the folder name:
1786
1981
  #
1787
1982
  # `s3://bucket-name/folder-name/`
1788
1983
  # @return [String]
@@ -2815,6 +3010,40 @@ module Aws::Personalize
2815
3010
  include Aws::Structure
2816
3011
  end
2817
3012
 
3013
+ # @!attribute [rw] data_deletion_job_arn
3014
+ # The Amazon Resource Name (ARN) of the data deletion job.
3015
+ # @return [String]
3016
+ #
3017
+ # @see http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDataDeletionJobRequest AWS API Documentation
3018
+ #
3019
+ class DescribeDataDeletionJobRequest < Struct.new(
3020
+ :data_deletion_job_arn)
3021
+ SENSITIVE = []
3022
+ include Aws::Structure
3023
+ end
3024
+
3025
+ # @!attribute [rw] data_deletion_job
3026
+ # Information about the data deletion job, including the status.
3027
+ #
3028
+ # The status is one of the following values:
3029
+ #
3030
+ # * PENDING
3031
+ #
3032
+ # * IN\_PROGRESS
3033
+ #
3034
+ # * COMPLETED
3035
+ #
3036
+ # * FAILED
3037
+ # @return [Types::DataDeletionJob]
3038
+ #
3039
+ # @see http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/DescribeDataDeletionJobResponse AWS API Documentation
3040
+ #
3041
+ class DescribeDataDeletionJobResponse < Struct.new(
3042
+ :data_deletion_job)
3043
+ SENSITIVE = []
3044
+ include Aws::Structure
3045
+ end
3046
+
2818
3047
  # @!attribute [rw] dataset_export_job_arn
2819
3048
  # The Amazon Resource Name (ARN) of the dataset export job to
2820
3049
  # describe.
@@ -3763,6 +3992,48 @@ module Aws::Personalize
3763
3992
  include Aws::Structure
3764
3993
  end
3765
3994
 
3995
+ # @!attribute [rw] dataset_group_arn
3996
+ # The Amazon Resource Name (ARN) of the dataset group to list data
3997
+ # deletion jobs for.
3998
+ # @return [String]
3999
+ #
4000
+ # @!attribute [rw] next_token
4001
+ # A token returned from the previous call to `ListDataDeletionJobs`
4002
+ # for getting the next set of jobs (if they exist).
4003
+ # @return [String]
4004
+ #
4005
+ # @!attribute [rw] max_results
4006
+ # The maximum number of data deletion jobs to return.
4007
+ # @return [Integer]
4008
+ #
4009
+ # @see http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDataDeletionJobsRequest AWS API Documentation
4010
+ #
4011
+ class ListDataDeletionJobsRequest < Struct.new(
4012
+ :dataset_group_arn,
4013
+ :next_token,
4014
+ :max_results)
4015
+ SENSITIVE = []
4016
+ include Aws::Structure
4017
+ end
4018
+
4019
+ # @!attribute [rw] data_deletion_jobs
4020
+ # The list of data deletion jobs.
4021
+ # @return [Array<Types::DataDeletionJobSummary>]
4022
+ #
4023
+ # @!attribute [rw] next_token
4024
+ # A token for getting the next set of data deletion jobs (if they
4025
+ # exist).
4026
+ # @return [String]
4027
+ #
4028
+ # @see http://docs.aws.amazon.com/goto/WebAPI/personalize-2018-05-22/ListDataDeletionJobsResponse AWS API Documentation
4029
+ #
4030
+ class ListDataDeletionJobsResponse < Struct.new(
4031
+ :data_deletion_jobs,
4032
+ :next_token)
4033
+ SENSITIVE = []
4034
+ include Aws::Structure
4035
+ end
4036
+
3766
4037
  # @!attribute [rw] dataset_arn
3767
4038
  # The Amazon Resource Name (ARN) of the dataset to list the dataset
3768
4039
  # export jobs for.
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-personalize/customizations'
52
52
  # @!group service
53
53
  module Aws::Personalize
54
54
 
55
- GEM_VERSION = '1.60.0'
55
+ GEM_VERSION = '1.62.0'
56
56
 
57
57
  end
data/sig/client.rbs CHANGED
@@ -169,6 +169,27 @@ module Aws
169
169
  ) -> _CreateCampaignResponseSuccess
170
170
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateCampaignResponseSuccess
171
171
 
172
+ interface _CreateDataDeletionJobResponseSuccess
173
+ include ::Seahorse::Client::_ResponseSuccess[Types::CreateDataDeletionJobResponse]
174
+ def data_deletion_job_arn: () -> ::String
175
+ end
176
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Personalize/Client.html#create_data_deletion_job-instance_method
177
+ def create_data_deletion_job: (
178
+ job_name: ::String,
179
+ dataset_group_arn: ::String,
180
+ data_source: {
181
+ data_location: ::String?
182
+ },
183
+ role_arn: ::String,
184
+ ?tags: Array[
185
+ {
186
+ tag_key: ::String,
187
+ tag_value: ::String
188
+ },
189
+ ]
190
+ ) -> _CreateDataDeletionJobResponseSuccess
191
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateDataDeletionJobResponseSuccess
192
+
172
193
  interface _CreateDatasetResponseSuccess
173
194
  include ::Seahorse::Client::_ResponseSuccess[Types::CreateDatasetResponse]
174
195
  def dataset_arn: () -> ::String
@@ -541,6 +562,16 @@ module Aws
541
562
  ) -> _DescribeCampaignResponseSuccess
542
563
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DescribeCampaignResponseSuccess
543
564
 
565
+ interface _DescribeDataDeletionJobResponseSuccess
566
+ include ::Seahorse::Client::_ResponseSuccess[Types::DescribeDataDeletionJobResponse]
567
+ def data_deletion_job: () -> Types::DataDeletionJob
568
+ end
569
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Personalize/Client.html#describe_data_deletion_job-instance_method
570
+ def describe_data_deletion_job: (
571
+ data_deletion_job_arn: ::String
572
+ ) -> _DescribeDataDeletionJobResponseSuccess
573
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DescribeDataDeletionJobResponseSuccess
574
+
544
575
  interface _DescribeDatasetResponseSuccess
545
576
  include ::Seahorse::Client::_ResponseSuccess[Types::DescribeDatasetResponse]
546
577
  def dataset: () -> Types::Dataset
@@ -721,6 +752,19 @@ module Aws
721
752
  ) -> _ListCampaignsResponseSuccess
722
753
  | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListCampaignsResponseSuccess
723
754
 
755
+ interface _ListDataDeletionJobsResponseSuccess
756
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListDataDeletionJobsResponse]
757
+ def data_deletion_jobs: () -> ::Array[Types::DataDeletionJobSummary]
758
+ def next_token: () -> ::String
759
+ end
760
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Personalize/Client.html#list_data_deletion_jobs-instance_method
761
+ def list_data_deletion_jobs: (
762
+ ?dataset_group_arn: ::String,
763
+ ?next_token: ::String,
764
+ ?max_results: ::Integer
765
+ ) -> _ListDataDeletionJobsResponseSuccess
766
+ | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListDataDeletionJobsResponseSuccess
767
+
724
768
  interface _ListDatasetExportJobsResponseSuccess
725
769
  include ::Seahorse::Client::_ResponseSuccess[Types::ListDatasetExportJobsResponse]
726
770
  def dataset_export_jobs: () -> ::Array[Types::DatasetExportJobSummary]
data/sig/types.rbs CHANGED
@@ -233,6 +233,20 @@ module Aws::Personalize
233
233
  SENSITIVE: []
234
234
  end
235
235
 
236
+ class CreateDataDeletionJobRequest
237
+ attr_accessor job_name: ::String
238
+ attr_accessor dataset_group_arn: ::String
239
+ attr_accessor data_source: Types::DataSource
240
+ attr_accessor role_arn: ::String
241
+ attr_accessor tags: ::Array[Types::Tag]
242
+ SENSITIVE: []
243
+ end
244
+
245
+ class CreateDataDeletionJobResponse
246
+ attr_accessor data_deletion_job_arn: ::String
247
+ SENSITIVE: []
248
+ end
249
+
236
250
  class CreateDatasetExportJobRequest
237
251
  attr_accessor job_name: ::String
238
252
  attr_accessor dataset_arn: ::String
@@ -389,6 +403,31 @@ module Aws::Personalize
389
403
  SENSITIVE: []
390
404
  end
391
405
 
406
+ class DataDeletionJob
407
+ attr_accessor job_name: ::String
408
+ attr_accessor data_deletion_job_arn: ::String
409
+ attr_accessor dataset_group_arn: ::String
410
+ attr_accessor data_source: Types::DataSource
411
+ attr_accessor role_arn: ::String
412
+ attr_accessor status: ::String
413
+ attr_accessor num_deleted: ::Integer
414
+ attr_accessor creation_date_time: ::Time
415
+ attr_accessor last_updated_date_time: ::Time
416
+ attr_accessor failure_reason: ::String
417
+ SENSITIVE: []
418
+ end
419
+
420
+ class DataDeletionJobSummary
421
+ attr_accessor data_deletion_job_arn: ::String
422
+ attr_accessor dataset_group_arn: ::String
423
+ attr_accessor job_name: ::String
424
+ attr_accessor status: ::String
425
+ attr_accessor creation_date_time: ::Time
426
+ attr_accessor last_updated_date_time: ::Time
427
+ attr_accessor failure_reason: ::String
428
+ SENSITIVE: []
429
+ end
430
+
392
431
  class DataSource
393
432
  attr_accessor data_location: ::String
394
433
  SENSITIVE: []
@@ -640,6 +679,16 @@ module Aws::Personalize
640
679
  SENSITIVE: []
641
680
  end
642
681
 
682
+ class DescribeDataDeletionJobRequest
683
+ attr_accessor data_deletion_job_arn: ::String
684
+ SENSITIVE: []
685
+ end
686
+
687
+ class DescribeDataDeletionJobResponse
688
+ attr_accessor data_deletion_job: Types::DataDeletionJob
689
+ SENSITIVE: []
690
+ end
691
+
643
692
  class DescribeDatasetExportJobRequest
644
693
  attr_accessor dataset_export_job_arn: ::String
645
694
  SENSITIVE: []
@@ -928,6 +977,19 @@ module Aws::Personalize
928
977
  SENSITIVE: []
929
978
  end
930
979
 
980
+ class ListDataDeletionJobsRequest
981
+ attr_accessor dataset_group_arn: ::String
982
+ attr_accessor next_token: ::String
983
+ attr_accessor max_results: ::Integer
984
+ SENSITIVE: []
985
+ end
986
+
987
+ class ListDataDeletionJobsResponse
988
+ attr_accessor data_deletion_jobs: ::Array[Types::DataDeletionJobSummary]
989
+ attr_accessor next_token: ::String
990
+ SENSITIVE: []
991
+ end
992
+
931
993
  class ListDatasetExportJobsRequest
932
994
  attr_accessor dataset_arn: ::String
933
995
  attr_accessor next_token: ::String
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-personalize
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.60.0
4
+ version: 1.62.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: 2024-04-19 00:00:00.000000000 Z
11
+ date: 2024-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.191.0
22
+ version: 3.193.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.191.0
32
+ version: 3.193.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement