aws-sdk-customerprofiles 1.89.0 → 1.91.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: 88e569a19769d1444da19fa30f29fe723ffdf12def1eaa2209a3794311974d0c
4
- data.tar.gz: 26f373702c95fe73e6d8d43c24835664c6ac6b650678f6f25475a1b4a50ee649
3
+ metadata.gz: 459db88096eb2f445ecc1a9d89d2221afeb5ab5f80e9e7965f45f0537047b845
4
+ data.tar.gz: '093c47d3f2150e5a553e8c034b1b8bf50840a6de166ce6f8da062e2458ebae0e'
5
5
  SHA512:
6
- metadata.gz: 2416320fd0e69d26abec4cb420efeff1b1ce33bbf281e2662d13ae0e80cf5deaa9d5f5b8c13c932706f227045e4b2d62abf54ba480136ca7e94ebb7bd7858920
7
- data.tar.gz: 07af61c7d905d8b51e282b556e6b32333022cd7136935b121d213297b7b755165429bb9e0e4d4415379d017c78dc60d7608c82f8e760f01cda6ed040c0a87a5d
6
+ metadata.gz: 33849f306634497fbf5c163365d930da208d045dea7c437a8ca090d9fd2ff18c22602f95917cb0d5640421bd226a71fb73b4b66adecff7553c5fb14dbbd2df19
7
+ data.tar.gz: f90f283bbd213e973bb606f4d6fd17cac2955f67f400d35f5bee652ab8c1ef19f556514ea4951ce3c010771194cfcac4201b2aab968c284371cbdfde22be4d1f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.91.0 (2026-07-02)
5
+ ------------------
6
+
7
+ * Feature - Amazon Connect Customer Profiles adds support for diversityConfig to recommenderConfig which can be used for diversifying the recommendations. This release also includes model versioning support which helps customer to rollback trained models.
8
+
9
+ 1.90.0 (2026-05-28)
10
+ ------------------
11
+
12
+ * Feature - BatchPutProfileObject API adds multiple profile objects to a domain of a given ObjectType in a single API call.
13
+
4
14
  1.89.0 (2026-05-22)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.89.0
1
+ 1.91.0
@@ -703,6 +703,68 @@ module Aws::CustomerProfiles
703
703
  req.send_request(options)
704
704
  end
705
705
 
706
+ # Adds multiple profile objects to a domain of a given ObjectType in a
707
+ # single API call.
708
+ #
709
+ # When adding a specific profile object, like a Contact Record, an
710
+ # inferred profile can get created if it is not mapped to an existing
711
+ # profile. The resulting profile will only have a phone number populated
712
+ # in the standard ProfileObject. Any additional Contact Records with the
713
+ # same phone number will be mapped to the same inferred profile.
714
+ #
715
+ # When a ProfileObject is created and if a ProfileObjectType already
716
+ # exists for the ProfileObject, it will provide data to a standard
717
+ # profile depending on the ProfileObjectType definition.
718
+ #
719
+ # BatchPutProfileObject needs an ObjectType, which can be created using
720
+ # PutProfileObjectType.
721
+ #
722
+ # @option params [required, String] :domain_name
723
+ # The unique name of the domain.
724
+ #
725
+ # @option params [required, String] :object_type_name
726
+ # The name of the profile object type.
727
+ #
728
+ # @option params [required, Array<Types::BatchPutProfileObjectRequestItem>] :items
729
+ # A list of items to add to the domain.
730
+ #
731
+ # @return [Types::BatchPutProfileObjectResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
732
+ #
733
+ # * {Types::BatchPutProfileObjectResponse#successful #successful} => Array&lt;Types::BatchPutProfileObjectResponseItem&gt;
734
+ # * {Types::BatchPutProfileObjectResponse#failed #failed} => Array&lt;Types::BatchPutProfileObjectErrorItem&gt;
735
+ #
736
+ # @example Request syntax with placeholder values
737
+ #
738
+ # resp = client.batch_put_profile_object({
739
+ # domain_name: "name", # required
740
+ # object_type_name: "typeName", # required
741
+ # items: [ # required
742
+ # {
743
+ # id: "name", # required
744
+ # object: "stringifiedJson", # required
745
+ # },
746
+ # ],
747
+ # })
748
+ #
749
+ # @example Response structure
750
+ #
751
+ # resp.successful #=> Array
752
+ # resp.successful[0].id #=> String
753
+ # resp.successful[0].profile_object_unique_key #=> String
754
+ # resp.failed #=> Array
755
+ # resp.failed[0].id #=> String
756
+ # resp.failed[0].code #=> Integer
757
+ # resp.failed[0].message #=> String
758
+ #
759
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/BatchPutProfileObject AWS API Documentation
760
+ #
761
+ # @overload batch_put_profile_object(params = {})
762
+ # @param [Hash] params ({})
763
+ def batch_put_profile_object(params = {}, options = {})
764
+ req = build_request(:batch_put_profile_object, params)
765
+ req.send_request(options)
766
+ end
767
+
706
768
  # Creates a new calculated attribute definition. After creation, new
707
769
  # object data ingested into Customer Profiles will be included in the
708
770
  # calculated attribute, which can be retrieved for a profile using the
@@ -1291,7 +1353,7 @@ module Aws::CustomerProfiles
1291
1353
  # event_expiration: 1,
1292
1354
  # periods: [
1293
1355
  # {
1294
- # unit: "HOURS", # required, accepts HOURS, DAYS, WEEKS, MONTHS
1356
+ # unit: "MINUTES", # required, accepts MINUTES, HOURS, DAYS, WEEKS, MONTHS
1295
1357
  # value: 1, # required
1296
1358
  # max_invocations_per_profile: 1,
1297
1359
  # unlimited: false,
@@ -1320,7 +1382,7 @@ module Aws::CustomerProfiles
1320
1382
  # resp.segment_filter #=> String
1321
1383
  # resp.event_trigger_limits.event_expiration #=> Integer
1322
1384
  # resp.event_trigger_limits.periods #=> Array
1323
- # resp.event_trigger_limits.periods[0].unit #=> String, one of "HOURS", "DAYS", "WEEKS", "MONTHS"
1385
+ # resp.event_trigger_limits.periods[0].unit #=> String, one of "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS"
1324
1386
  # resp.event_trigger_limits.periods[0].value #=> Integer
1325
1387
  # resp.event_trigger_limits.periods[0].max_invocations_per_profile #=> Integer
1326
1388
  # resp.event_trigger_limits.periods[0].unlimited #=> Boolean
@@ -1720,6 +1782,15 @@ module Aws::CustomerProfiles
1720
1782
  # excluded_columns: {
1721
1783
  # "String" => ["text"],
1722
1784
  # },
1785
+ # diversity_config: {
1786
+ # diversity_columns: [
1787
+ # {
1788
+ # name: "text", # required
1789
+ # cap_type: "PERCENTAGE", # required, accepts PERCENTAGE, VALUE
1790
+ # target: "DiversityTargetExpression", # required
1791
+ # },
1792
+ # ],
1793
+ # },
1723
1794
  # },
1724
1795
  # description: "sensitiveText",
1725
1796
  # recommender_schema_name: "name",
@@ -3534,7 +3605,7 @@ module Aws::CustomerProfiles
3534
3605
  # resp.segment_filter #=> String
3535
3606
  # resp.event_trigger_limits.event_expiration #=> Integer
3536
3607
  # resp.event_trigger_limits.periods #=> Array
3537
- # resp.event_trigger_limits.periods[0].unit #=> String, one of "HOURS", "DAYS", "WEEKS", "MONTHS"
3608
+ # resp.event_trigger_limits.periods[0].unit #=> String, one of "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS"
3538
3609
  # resp.event_trigger_limits.periods[0].value #=> Integer
3539
3610
  # resp.event_trigger_limits.periods[0].max_invocations_per_profile #=> Integer
3540
3611
  # resp.event_trigger_limits.periods[0].unlimited #=> Boolean
@@ -4053,6 +4124,11 @@ module Aws::CustomerProfiles
4053
4124
  # response. Use this to specify which metadata columns to return
4054
4125
  # alongside recommended items.
4055
4126
  #
4127
+ # @option params [Types::RecommendationDiversityConfig] :diversity_config
4128
+ # Runtime diversity configuration for this request. Enables
4129
+ # diversity-aware recommendations and optionally supplies values for
4130
+ # placeholder-based diversity caps configured on the recommender.
4131
+ #
4056
4132
  # @return [Types::GetProfileRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4057
4133
  #
4058
4134
  # * {Types::GetProfileRecommendationsResponse#recommendations #recommendations} => Array&lt;Types::Recommendation&gt;
@@ -4089,6 +4165,12 @@ module Aws::CustomerProfiles
4089
4165
  # metadata_config: {
4090
4166
  # metadata_columns: ["MetadataColumnName"],
4091
4167
  # },
4168
+ # diversity_config: {
4169
+ # enabled: false, # required
4170
+ # values: {
4171
+ # "DiversityPlaceholderName" => 1,
4172
+ # },
4173
+ # },
4092
4174
  # })
4093
4175
  #
4094
4176
  # @example Response structure
@@ -4142,6 +4224,7 @@ module Aws::CustomerProfiles
4142
4224
  # * {Types::GetRecommenderResponse#created_at #created_at} => Time
4143
4225
  # * {Types::GetRecommenderResponse#failure_reason #failure_reason} => String
4144
4226
  # * {Types::GetRecommenderResponse#latest_recommender_update #latest_recommender_update} => Types::RecommenderUpdate
4227
+ # * {Types::GetRecommenderResponse#active_recommender_version_name #active_recommender_version_name} => String
4145
4228
  # * {Types::GetRecommenderResponse#training_metrics #training_metrics} => Array&lt;Types::TrainingMetrics&gt;
4146
4229
  # * {Types::GetRecommenderResponse#tags #tags} => Hash&lt;String,String&gt;
4147
4230
  #
@@ -4170,6 +4253,10 @@ module Aws::CustomerProfiles
4170
4253
  # resp.recommender_config.excluded_columns #=> Hash
4171
4254
  # resp.recommender_config.excluded_columns["String"] #=> Array
4172
4255
  # resp.recommender_config.excluded_columns["String"][0] #=> String
4256
+ # resp.recommender_config.diversity_config.diversity_columns #=> Array
4257
+ # resp.recommender_config.diversity_config.diversity_columns[0].name #=> String
4258
+ # resp.recommender_config.diversity_config.diversity_columns[0].cap_type #=> String, one of "PERCENTAGE", "VALUE"
4259
+ # resp.recommender_config.diversity_config.diversity_columns[0].target #=> String
4173
4260
  # resp.description #=> String
4174
4261
  # resp.status #=> String, one of "PENDING", "IN_PROGRESS", "ACTIVE", "FAILED", "STOPPING", "INACTIVE", "STARTING", "DELETING"
4175
4262
  # resp.last_updated_at #=> Time
@@ -4187,14 +4274,21 @@ module Aws::CustomerProfiles
4187
4274
  # resp.latest_recommender_update.recommender_config.excluded_columns #=> Hash
4188
4275
  # resp.latest_recommender_update.recommender_config.excluded_columns["String"] #=> Array
4189
4276
  # resp.latest_recommender_update.recommender_config.excluded_columns["String"][0] #=> String
4277
+ # resp.latest_recommender_update.recommender_config.diversity_config.diversity_columns #=> Array
4278
+ # resp.latest_recommender_update.recommender_config.diversity_config.diversity_columns[0].name #=> String
4279
+ # resp.latest_recommender_update.recommender_config.diversity_config.diversity_columns[0].cap_type #=> String, one of "PERCENTAGE", "VALUE"
4280
+ # resp.latest_recommender_update.recommender_config.diversity_config.diversity_columns[0].target #=> String
4190
4281
  # resp.latest_recommender_update.status #=> String, one of "PENDING", "IN_PROGRESS", "ACTIVE", "FAILED", "STOPPING", "INACTIVE", "STARTING", "DELETING"
4191
4282
  # resp.latest_recommender_update.created_at #=> Time
4192
4283
  # resp.latest_recommender_update.last_updated_at #=> Time
4193
4284
  # resp.latest_recommender_update.failure_reason #=> String
4285
+ # resp.latest_recommender_update.recommender_version_name #=> String
4286
+ # resp.active_recommender_version_name #=> String
4194
4287
  # resp.training_metrics #=> Array
4195
4288
  # resp.training_metrics[0].time #=> Time
4196
4289
  # resp.training_metrics[0].metrics #=> Hash
4197
4290
  # resp.training_metrics[0].metrics["TrainingMetricName"] #=> Float
4291
+ # resp.training_metrics[0].recommender_version_name #=> String
4198
4292
  # resp.tags #=> Hash
4199
4293
  # resp.tags["TagKey"] #=> String
4200
4294
  #
@@ -6011,6 +6105,10 @@ module Aws::CustomerProfiles
6011
6105
  # resp.recommenders[0].recommender_config.excluded_columns #=> Hash
6012
6106
  # resp.recommenders[0].recommender_config.excluded_columns["String"] #=> Array
6013
6107
  # resp.recommenders[0].recommender_config.excluded_columns["String"][0] #=> String
6108
+ # resp.recommenders[0].recommender_config.diversity_config.diversity_columns #=> Array
6109
+ # resp.recommenders[0].recommender_config.diversity_config.diversity_columns[0].name #=> String
6110
+ # resp.recommenders[0].recommender_config.diversity_config.diversity_columns[0].cap_type #=> String, one of "PERCENTAGE", "VALUE"
6111
+ # resp.recommenders[0].recommender_config.diversity_config.diversity_columns[0].target #=> String
6014
6112
  # resp.recommenders[0].created_at #=> Time
6015
6113
  # resp.recommenders[0].description #=> String
6016
6114
  # resp.recommenders[0].status #=> String, one of "PENDING", "IN_PROGRESS", "ACTIVE", "FAILED", "STOPPING", "INACTIVE", "STARTING", "DELETING"
@@ -6030,10 +6128,15 @@ module Aws::CustomerProfiles
6030
6128
  # resp.recommenders[0].latest_recommender_update.recommender_config.excluded_columns #=> Hash
6031
6129
  # resp.recommenders[0].latest_recommender_update.recommender_config.excluded_columns["String"] #=> Array
6032
6130
  # resp.recommenders[0].latest_recommender_update.recommender_config.excluded_columns["String"][0] #=> String
6131
+ # resp.recommenders[0].latest_recommender_update.recommender_config.diversity_config.diversity_columns #=> Array
6132
+ # resp.recommenders[0].latest_recommender_update.recommender_config.diversity_config.diversity_columns[0].name #=> String
6133
+ # resp.recommenders[0].latest_recommender_update.recommender_config.diversity_config.diversity_columns[0].cap_type #=> String, one of "PERCENTAGE", "VALUE"
6134
+ # resp.recommenders[0].latest_recommender_update.recommender_config.diversity_config.diversity_columns[0].target #=> String
6033
6135
  # resp.recommenders[0].latest_recommender_update.status #=> String, one of "PENDING", "IN_PROGRESS", "ACTIVE", "FAILED", "STOPPING", "INACTIVE", "STARTING", "DELETING"
6034
6136
  # resp.recommenders[0].latest_recommender_update.created_at #=> Time
6035
6137
  # resp.recommenders[0].latest_recommender_update.last_updated_at #=> Time
6036
6138
  # resp.recommenders[0].latest_recommender_update.failure_reason #=> String
6139
+ # resp.recommenders[0].latest_recommender_update.recommender_version_name #=> String
6037
6140
  #
6038
6141
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListRecommenders AWS API Documentation
6039
6142
  #
@@ -7632,7 +7735,7 @@ module Aws::CustomerProfiles
7632
7735
  # event_expiration: 1,
7633
7736
  # periods: [
7634
7737
  # {
7635
- # unit: "HOURS", # required, accepts HOURS, DAYS, WEEKS, MONTHS
7738
+ # unit: "MINUTES", # required, accepts MINUTES, HOURS, DAYS, WEEKS, MONTHS
7636
7739
  # value: 1, # required
7637
7740
  # max_invocations_per_profile: 1,
7638
7741
  # unlimited: false,
@@ -7658,7 +7761,7 @@ module Aws::CustomerProfiles
7658
7761
  # resp.segment_filter #=> String
7659
7762
  # resp.event_trigger_limits.event_expiration #=> Integer
7660
7763
  # resp.event_trigger_limits.periods #=> Array
7661
- # resp.event_trigger_limits.periods[0].unit #=> String, one of "HOURS", "DAYS", "WEEKS", "MONTHS"
7764
+ # resp.event_trigger_limits.periods[0].unit #=> String, one of "MINUTES", "HOURS", "DAYS", "WEEKS", "MONTHS"
7662
7765
  # resp.event_trigger_limits.periods[0].value #=> Integer
7663
7766
  # resp.event_trigger_limits.periods[0].max_invocations_per_profile #=> Integer
7664
7767
  # resp.event_trigger_limits.periods[0].unlimited #=> Boolean
@@ -7895,6 +7998,10 @@ module Aws::CustomerProfiles
7895
7998
  # The new configuration settings to apply to the recommender, including
7896
7999
  # updated parameters and settings that define its behavior.
7897
8000
  #
8001
+ # @option params [String] :recommender_version_name
8002
+ # The name of a specific recommender version to activate as part of this
8003
+ # update (for example, to roll back to a previously trained version).
8004
+ #
7898
8005
  # @return [Types::UpdateRecommenderResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7899
8006
  #
7900
8007
  # * {Types::UpdateRecommenderResponse#recommender_name #recommender_name} => String
@@ -7925,7 +8032,17 @@ module Aws::CustomerProfiles
7925
8032
  # excluded_columns: {
7926
8033
  # "String" => ["text"],
7927
8034
  # },
8035
+ # diversity_config: {
8036
+ # diversity_columns: [
8037
+ # {
8038
+ # name: "text", # required
8039
+ # cap_type: "PERCENTAGE", # required, accepts PERCENTAGE, VALUE
8040
+ # target: "DiversityTargetExpression", # required
8041
+ # },
8042
+ # ],
8043
+ # },
7928
8044
  # },
8045
+ # recommender_version_name: "RecommenderVersionName",
7929
8046
  # })
7930
8047
  #
7931
8048
  # @example Response structure
@@ -7959,7 +8076,7 @@ module Aws::CustomerProfiles
7959
8076
  tracer: tracer
7960
8077
  )
7961
8078
  context[:gem_name] = 'aws-sdk-customerprofiles'
7962
- context[:gem_version] = '1.89.0'
8079
+ context[:gem_version] = '1.91.0'
7963
8080
  Seahorse::Client::Request.new(handlers, context)
7964
8081
  end
7965
8082
 
@@ -52,6 +52,14 @@ module Aws::CustomerProfiles
52
52
  BatchGetProfileIdList = Shapes::ListShape.new(name: 'BatchGetProfileIdList')
53
53
  BatchGetProfileRequest = Shapes::StructureShape.new(name: 'BatchGetProfileRequest')
54
54
  BatchGetProfileResponse = Shapes::StructureShape.new(name: 'BatchGetProfileResponse')
55
+ BatchPutProfileObjectErrorItem = Shapes::StructureShape.new(name: 'BatchPutProfileObjectErrorItem')
56
+ BatchPutProfileObjectErrorList = Shapes::ListShape.new(name: 'BatchPutProfileObjectErrorList')
57
+ BatchPutProfileObjectRequest = Shapes::StructureShape.new(name: 'BatchPutProfileObjectRequest')
58
+ BatchPutProfileObjectRequestItem = Shapes::StructureShape.new(name: 'BatchPutProfileObjectRequestItem')
59
+ BatchPutProfileObjectRequestItemList = Shapes::ListShape.new(name: 'BatchPutProfileObjectRequestItemList')
60
+ BatchPutProfileObjectResponse = Shapes::StructureShape.new(name: 'BatchPutProfileObjectResponse')
61
+ BatchPutProfileObjectResponseItem = Shapes::StructureShape.new(name: 'BatchPutProfileObjectResponseItem')
62
+ BatchPutProfileObjectResponseList = Shapes::ListShape.new(name: 'BatchPutProfileObjectResponseList')
55
63
  Batches = Shapes::ListShape.new(name: 'Batches')
56
64
  BucketName = Shapes::StringShape.new(name: 'BucketName')
57
65
  BucketPrefix = Shapes::StringShape.new(name: 'BucketPrefix')
@@ -154,6 +162,14 @@ module Aws::CustomerProfiles
154
162
  DetectedProfileObjectTypes = Shapes::ListShape.new(name: 'DetectedProfileObjectTypes')
155
163
  Dimension = Shapes::UnionShape.new(name: 'Dimension')
156
164
  DimensionList = Shapes::ListShape.new(name: 'DimensionList')
165
+ DiversityCapType = Shapes::StringShape.new(name: 'DiversityCapType')
166
+ DiversityCapValue = Shapes::IntegerShape.new(name: 'DiversityCapValue')
167
+ DiversityColumn = Shapes::StructureShape.new(name: 'DiversityColumn')
168
+ DiversityColumnsList = Shapes::ListShape.new(name: 'DiversityColumnsList')
169
+ DiversityConfig = Shapes::StructureShape.new(name: 'DiversityConfig')
170
+ DiversityPlaceholderName = Shapes::StringShape.new(name: 'DiversityPlaceholderName')
171
+ DiversityTargetExpression = Shapes::StringShape.new(name: 'DiversityTargetExpression')
172
+ DiversityValuesMap = Shapes::MapShape.new(name: 'DiversityValuesMap')
157
173
  DomainList = Shapes::ListShape.new(name: 'DomainList')
158
174
  DomainObjectTypeField = Shapes::StructureShape.new(name: 'DomainObjectTypeField')
159
175
  DomainObjectTypeFieldName = Shapes::StringShape.new(name: 'DomainObjectTypeFieldName')
@@ -436,6 +452,7 @@ module Aws::CustomerProfiles
436
452
  Readiness = Shapes::StructureShape.new(name: 'Readiness')
437
453
  ReadinessStatus = Shapes::StringShape.new(name: 'ReadinessStatus')
438
454
  Recommendation = Shapes::StructureShape.new(name: 'Recommendation')
455
+ RecommendationDiversityConfig = Shapes::StructureShape.new(name: 'RecommendationDiversityConfig')
439
456
  Recommendations = Shapes::ListShape.new(name: 'Recommendations')
440
457
  RecommenderConfig = Shapes::StructureShape.new(name: 'RecommenderConfig')
441
458
  RecommenderConfigTrainingFrequencyInteger = Shapes::IntegerShape.new(name: 'RecommenderConfigTrainingFrequencyInteger')
@@ -465,6 +482,7 @@ module Aws::CustomerProfiles
465
482
  RecommenderSummary = Shapes::StructureShape.new(name: 'RecommenderSummary')
466
483
  RecommenderSummaryList = Shapes::ListShape.new(name: 'RecommenderSummaryList')
467
484
  RecommenderUpdate = Shapes::StructureShape.new(name: 'RecommenderUpdate')
485
+ RecommenderVersionName = Shapes::StringShape.new(name: 'RecommenderVersionName')
468
486
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
469
487
  ResultsSummary = Shapes::StructureShape.new(name: 'ResultsSummary')
470
488
  RoleArn = Shapes::StringShape.new(name: 'RoleArn')
@@ -591,8 +609,8 @@ module Aws::CustomerProfiles
591
609
  matchesNumber = Shapes::IntegerShape.new(name: 'matchesNumber')
592
610
  maxSize100 = Shapes::IntegerShape.new(name: 'maxSize100')
593
611
  maxSize1000 = Shapes::IntegerShape.new(name: 'maxSize1000')
594
- maxSize24 = Shapes::IntegerShape.new(name: 'maxSize24')
595
612
  maxSize500 = Shapes::IntegerShape.new(name: 'maxSize500')
613
+ maxSize60 = Shapes::IntegerShape.new(name: 'maxSize60')
596
614
  message = Shapes::StringShape.new(name: 'message')
597
615
  minSize0 = Shapes::IntegerShape.new(name: 'minSize0')
598
616
  minSize1 = Shapes::IntegerShape.new(name: 'minSize1')
@@ -601,6 +619,7 @@ module Aws::CustomerProfiles
601
619
  optionalLong = Shapes::IntegerShape.new(name: 'optionalLong')
602
620
  percentageInteger = Shapes::IntegerShape.new(name: 'percentageInteger')
603
621
  requestValueList = Shapes::ListShape.new(name: 'requestValueList')
622
+ responseCode = Shapes::IntegerShape.new(name: 'responseCode')
604
623
  s3BucketName = Shapes::StringShape.new(name: 's3BucketName')
605
624
  s3KeyName = Shapes::StringShape.new(name: 's3KeyName')
606
625
  s3KeyNameCustomerOutputConfig = Shapes::StringShape.new(name: 's3KeyNameCustomerOutputConfig')
@@ -771,6 +790,34 @@ module Aws::CustomerProfiles
771
790
  BatchGetProfileResponse.add_member(:profiles, Shapes::ShapeRef.new(shape: ProfileList, location_name: "Profiles"))
772
791
  BatchGetProfileResponse.struct_class = Types::BatchGetProfileResponse
773
792
 
793
+ BatchPutProfileObjectErrorItem.add_member(:id, Shapes::ShapeRef.new(shape: name, required: true, location_name: "Id"))
794
+ BatchPutProfileObjectErrorItem.add_member(:code, Shapes::ShapeRef.new(shape: responseCode, required: true, location_name: "Code"))
795
+ BatchPutProfileObjectErrorItem.add_member(:message, Shapes::ShapeRef.new(shape: text, location_name: "Message"))
796
+ BatchPutProfileObjectErrorItem.struct_class = Types::BatchPutProfileObjectErrorItem
797
+
798
+ BatchPutProfileObjectErrorList.member = Shapes::ShapeRef.new(shape: BatchPutProfileObjectErrorItem)
799
+
800
+ BatchPutProfileObjectRequest.add_member(:domain_name, Shapes::ShapeRef.new(shape: name, required: true, location: "uri", location_name: "DomainName"))
801
+ BatchPutProfileObjectRequest.add_member(:object_type_name, Shapes::ShapeRef.new(shape: typeName, required: true, location_name: "ObjectTypeName"))
802
+ BatchPutProfileObjectRequest.add_member(:items, Shapes::ShapeRef.new(shape: BatchPutProfileObjectRequestItemList, required: true, location_name: "Items"))
803
+ BatchPutProfileObjectRequest.struct_class = Types::BatchPutProfileObjectRequest
804
+
805
+ BatchPutProfileObjectRequestItem.add_member(:id, Shapes::ShapeRef.new(shape: name, required: true, location_name: "Id"))
806
+ BatchPutProfileObjectRequestItem.add_member(:object, Shapes::ShapeRef.new(shape: stringifiedJson, required: true, location_name: "Object"))
807
+ BatchPutProfileObjectRequestItem.struct_class = Types::BatchPutProfileObjectRequestItem
808
+
809
+ BatchPutProfileObjectRequestItemList.member = Shapes::ShapeRef.new(shape: BatchPutProfileObjectRequestItem)
810
+
811
+ BatchPutProfileObjectResponse.add_member(:successful, Shapes::ShapeRef.new(shape: BatchPutProfileObjectResponseList, location_name: "Successful"))
812
+ BatchPutProfileObjectResponse.add_member(:failed, Shapes::ShapeRef.new(shape: BatchPutProfileObjectErrorList, location_name: "Failed"))
813
+ BatchPutProfileObjectResponse.struct_class = Types::BatchPutProfileObjectResponse
814
+
815
+ BatchPutProfileObjectResponseItem.add_member(:id, Shapes::ShapeRef.new(shape: name, required: true, location_name: "Id"))
816
+ BatchPutProfileObjectResponseItem.add_member(:profile_object_unique_key, Shapes::ShapeRef.new(shape: string1To255, required: true, location_name: "ProfileObjectUniqueKey"))
817
+ BatchPutProfileObjectResponseItem.struct_class = Types::BatchPutProfileObjectResponseItem
818
+
819
+ BatchPutProfileObjectResponseList.member = Shapes::ShapeRef.new(shape: BatchPutProfileObjectResponseItem)
820
+
774
821
  Batches.member = Shapes::ShapeRef.new(shape: Batch)
775
822
 
776
823
  CalculatedAttributeDefinitionsList.member = Shapes::ShapeRef.new(shape: ListCalculatedAttributeDefinitionItem)
@@ -1229,6 +1276,19 @@ module Aws::CustomerProfiles
1229
1276
 
1230
1277
  DimensionList.member = Shapes::ShapeRef.new(shape: Dimension)
1231
1278
 
1279
+ DiversityColumn.add_member(:name, Shapes::ShapeRef.new(shape: text, required: true, location_name: "Name"))
1280
+ DiversityColumn.add_member(:cap_type, Shapes::ShapeRef.new(shape: DiversityCapType, required: true, location_name: "CapType"))
1281
+ DiversityColumn.add_member(:target, Shapes::ShapeRef.new(shape: DiversityTargetExpression, required: true, location_name: "Target"))
1282
+ DiversityColumn.struct_class = Types::DiversityColumn
1283
+
1284
+ DiversityColumnsList.member = Shapes::ShapeRef.new(shape: DiversityColumn)
1285
+
1286
+ DiversityConfig.add_member(:diversity_columns, Shapes::ShapeRef.new(shape: DiversityColumnsList, location_name: "DiversityColumns"))
1287
+ DiversityConfig.struct_class = Types::DiversityConfig
1288
+
1289
+ DiversityValuesMap.key = Shapes::ShapeRef.new(shape: DiversityPlaceholderName)
1290
+ DiversityValuesMap.value = Shapes::ShapeRef.new(shape: DiversityCapValue)
1291
+
1232
1292
  DomainList.member = Shapes::ShapeRef.new(shape: ListDomainItem)
1233
1293
 
1234
1294
  DomainObjectTypeField.add_member(:source, Shapes::ShapeRef.new(shape: text, required: true, location_name: "Source"))
@@ -1634,6 +1694,7 @@ module Aws::CustomerProfiles
1634
1694
  GetProfileRecommendationsRequest.add_member(:candidate_ids, Shapes::ShapeRef.new(shape: CandidateIdList, location_name: "CandidateIds"))
1635
1695
  GetProfileRecommendationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: maxSize500, location_name: "MaxResults"))
1636
1696
  GetProfileRecommendationsRequest.add_member(:metadata_config, Shapes::ShapeRef.new(shape: MetadataConfig, location_name: "MetadataConfig"))
1697
+ GetProfileRecommendationsRequest.add_member(:diversity_config, Shapes::ShapeRef.new(shape: RecommendationDiversityConfig, location_name: "DiversityConfig"))
1637
1698
  GetProfileRecommendationsRequest.struct_class = Types::GetProfileRecommendationsRequest
1638
1699
 
1639
1700
  GetProfileRecommendationsResponse.add_member(:recommendations, Shapes::ShapeRef.new(shape: Recommendations, location_name: "Recommendations"))
@@ -1668,6 +1729,7 @@ module Aws::CustomerProfiles
1668
1729
  GetRecommenderResponse.add_member(:created_at, Shapes::ShapeRef.new(shape: timestamp, location_name: "CreatedAt"))
1669
1730
  GetRecommenderResponse.add_member(:failure_reason, Shapes::ShapeRef.new(shape: String, location_name: "FailureReason"))
1670
1731
  GetRecommenderResponse.add_member(:latest_recommender_update, Shapes::ShapeRef.new(shape: RecommenderUpdate, location_name: "LatestRecommenderUpdate"))
1732
+ GetRecommenderResponse.add_member(:active_recommender_version_name, Shapes::ShapeRef.new(shape: RecommenderVersionName, location_name: "ActiveRecommenderVersionName"))
1671
1733
  GetRecommenderResponse.add_member(:training_metrics, Shapes::ShapeRef.new(shape: TrainingMetricsList, location_name: "TrainingMetrics"))
1672
1734
  GetRecommenderResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
1673
1735
  GetRecommenderResponse.struct_class = Types::GetRecommenderResponse
@@ -2257,7 +2319,7 @@ module Aws::CustomerProfiles
2257
2319
  Objects.member = Shapes::ShapeRef.new(shape: stringifiedJson)
2258
2320
 
2259
2321
  Period.add_member(:unit, Shapes::ShapeRef.new(shape: PeriodUnit, required: true, location_name: "Unit"))
2260
- Period.add_member(:value, Shapes::ShapeRef.new(shape: maxSize24, required: true, location_name: "Value"))
2322
+ Period.add_member(:value, Shapes::ShapeRef.new(shape: maxSize60, required: true, location_name: "Value"))
2261
2323
  Period.add_member(:max_invocations_per_profile, Shapes::ShapeRef.new(shape: maxSize1000, location_name: "MaxInvocationsPerProfile"))
2262
2324
  Period.add_member(:unlimited, Shapes::ShapeRef.new(shape: boolean, location_name: "Unlimited"))
2263
2325
  Period.struct_class = Types::Period
@@ -2480,6 +2542,10 @@ module Aws::CustomerProfiles
2480
2542
  Recommendation.add_member(:score, Shapes::ShapeRef.new(shape: Double0To1, location_name: "Score"))
2481
2543
  Recommendation.struct_class = Types::Recommendation
2482
2544
 
2545
+ RecommendationDiversityConfig.add_member(:enabled, Shapes::ShapeRef.new(shape: optionalBoolean, required: true, location_name: "Enabled"))
2546
+ RecommendationDiversityConfig.add_member(:values, Shapes::ShapeRef.new(shape: DiversityValuesMap, location_name: "Values"))
2547
+ RecommendationDiversityConfig.struct_class = Types::RecommendationDiversityConfig
2548
+
2483
2549
  Recommendations.member = Shapes::ShapeRef.new(shape: Recommendation)
2484
2550
 
2485
2551
  RecommenderConfig.add_member(:events_config, Shapes::ShapeRef.new(shape: EventsConfig, location_name: "EventsConfig"))
@@ -2487,6 +2553,7 @@ module Aws::CustomerProfiles
2487
2553
  RecommenderConfig.add_member(:inference_config, Shapes::ShapeRef.new(shape: InferenceConfig, location_name: "InferenceConfig"))
2488
2554
  RecommenderConfig.add_member(:included_columns, Shapes::ShapeRef.new(shape: IncludedColumns, location_name: "IncludedColumns"))
2489
2555
  RecommenderConfig.add_member(:excluded_columns, Shapes::ShapeRef.new(shape: IncludedColumns, location_name: "ExcludedColumns"))
2556
+ RecommenderConfig.add_member(:diversity_config, Shapes::ShapeRef.new(shape: DiversityConfig, location_name: "DiversityConfig"))
2490
2557
  RecommenderConfig.struct_class = Types::RecommenderConfig
2491
2558
 
2492
2559
  RecommenderContext.key = Shapes::ShapeRef.new(shape: ContextKey)
@@ -2565,6 +2632,7 @@ module Aws::CustomerProfiles
2565
2632
  RecommenderUpdate.add_member(:created_at, Shapes::ShapeRef.new(shape: timestamp, location_name: "CreatedAt"))
2566
2633
  RecommenderUpdate.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: timestamp, location_name: "LastUpdatedAt"))
2567
2634
  RecommenderUpdate.add_member(:failure_reason, Shapes::ShapeRef.new(shape: String, location_name: "FailureReason"))
2635
+ RecommenderUpdate.add_member(:recommender_version_name, Shapes::ShapeRef.new(shape: RecommenderVersionName, location_name: "RecommenderVersionName"))
2568
2636
  RecommenderUpdate.struct_class = Types::RecommenderUpdate
2569
2637
 
2570
2638
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: message, location_name: "Message"))
@@ -2746,6 +2814,7 @@ module Aws::CustomerProfiles
2746
2814
 
2747
2815
  TrainingMetrics.add_member(:time, Shapes::ShapeRef.new(shape: timestamp, location_name: "Time"))
2748
2816
  TrainingMetrics.add_member(:metrics, Shapes::ShapeRef.new(shape: Metrics, location_name: "Metrics"))
2817
+ TrainingMetrics.add_member(:recommender_version_name, Shapes::ShapeRef.new(shape: RecommenderVersionName, location_name: "RecommenderVersionName"))
2749
2818
  TrainingMetrics.struct_class = Types::TrainingMetrics
2750
2819
 
2751
2820
  TrainingMetricsList.member = Shapes::ShapeRef.new(shape: TrainingMetrics)
@@ -2898,6 +2967,7 @@ module Aws::CustomerProfiles
2898
2967
  UpdateRecommenderRequest.add_member(:recommender_name, Shapes::ShapeRef.new(shape: name, required: true, location: "uri", location_name: "RecommenderName"))
2899
2968
  UpdateRecommenderRequest.add_member(:description, Shapes::ShapeRef.new(shape: sensitiveText, location_name: "Description"))
2900
2969
  UpdateRecommenderRequest.add_member(:recommender_config, Shapes::ShapeRef.new(shape: RecommenderConfig, location_name: "RecommenderConfig"))
2970
+ UpdateRecommenderRequest.add_member(:recommender_version_name, Shapes::ShapeRef.new(shape: RecommenderVersionName, location_name: "RecommenderVersionName"))
2901
2971
  UpdateRecommenderRequest.struct_class = Types::UpdateRecommenderRequest
2902
2972
 
2903
2973
  UpdateRecommenderResponse.add_member(:recommender_name, Shapes::ShapeRef.new(shape: name, required: true, location_name: "RecommenderName"))
@@ -3004,6 +3074,19 @@ module Aws::CustomerProfiles
3004
3074
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
3005
3075
  end)
3006
3076
 
3077
+ api.add_operation(:batch_put_profile_object, Seahorse::Model::Operation.new.tap do |o|
3078
+ o.name = "BatchPutProfileObject"
3079
+ o.http_method = "PUT"
3080
+ o.http_request_uri = "/domains/{DomainName}/profiles/objects/batch-put-profile-object"
3081
+ o.input = Shapes::ShapeRef.new(shape: BatchPutProfileObjectRequest)
3082
+ o.output = Shapes::ShapeRef.new(shape: BatchPutProfileObjectResponse)
3083
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
3084
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
3085
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
3086
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
3087
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
3088
+ end)
3089
+
3007
3090
  api.add_operation(:create_calculated_attribute_definition, Seahorse::Model::Operation.new.tap do |o|
3008
3091
  o.name = "CreateCalculatedAttributeDefinition"
3009
3092
  o.http_method = "POST"
@@ -699,6 +699,109 @@ module Aws::CustomerProfiles
699
699
  include Aws::Structure
700
700
  end
701
701
 
702
+ # An item that failed to be added to the domain.
703
+ #
704
+ # @!attribute [rw] id
705
+ # The unique identifier of the item in the batch request that failed.
706
+ # @return [String]
707
+ #
708
+ # @!attribute [rw] code
709
+ # The HTTP status code for the error.
710
+ # @return [Integer]
711
+ #
712
+ # @!attribute [rw] message
713
+ # A message describing the error.
714
+ # @return [String]
715
+ #
716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/BatchPutProfileObjectErrorItem AWS API Documentation
717
+ #
718
+ class BatchPutProfileObjectErrorItem < Struct.new(
719
+ :id,
720
+ :code,
721
+ :message)
722
+ SENSITIVE = []
723
+ include Aws::Structure
724
+ end
725
+
726
+ # @!attribute [rw] domain_name
727
+ # The unique name of the domain.
728
+ # @return [String]
729
+ #
730
+ # @!attribute [rw] object_type_name
731
+ # The name of the profile object type.
732
+ # @return [String]
733
+ #
734
+ # @!attribute [rw] items
735
+ # A list of items to add to the domain.
736
+ # @return [Array<Types::BatchPutProfileObjectRequestItem>]
737
+ #
738
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/BatchPutProfileObjectRequest AWS API Documentation
739
+ #
740
+ class BatchPutProfileObjectRequest < Struct.new(
741
+ :domain_name,
742
+ :object_type_name,
743
+ :items)
744
+ SENSITIVE = []
745
+ include Aws::Structure
746
+ end
747
+
748
+ # An item to add to the domain as part of a batch request.
749
+ #
750
+ # @!attribute [rw] id
751
+ # A unique identifier for this item in the batch request. Used to
752
+ # correlate items in the response.
753
+ # @return [String]
754
+ #
755
+ # @!attribute [rw] object
756
+ # A string that is serialized from a JSON object.
757
+ # @return [String]
758
+ #
759
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/BatchPutProfileObjectRequestItem AWS API Documentation
760
+ #
761
+ class BatchPutProfileObjectRequestItem < Struct.new(
762
+ :id,
763
+ :object)
764
+ SENSITIVE = [:object]
765
+ include Aws::Structure
766
+ end
767
+
768
+ # @!attribute [rw] successful
769
+ # A list of items that were successfully added to the domain.
770
+ # @return [Array<Types::BatchPutProfileObjectResponseItem>]
771
+ #
772
+ # @!attribute [rw] failed
773
+ # A list of items that failed to be added to the domain.
774
+ # @return [Array<Types::BatchPutProfileObjectErrorItem>]
775
+ #
776
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/BatchPutProfileObjectResponse AWS API Documentation
777
+ #
778
+ class BatchPutProfileObjectResponse < Struct.new(
779
+ :successful,
780
+ :failed)
781
+ SENSITIVE = []
782
+ include Aws::Structure
783
+ end
784
+
785
+ # An item that was successfully added to the domain.
786
+ #
787
+ # @!attribute [rw] id
788
+ # The unique identifier of the item in the batch request.
789
+ # @return [String]
790
+ #
791
+ # @!attribute [rw] profile_object_unique_key
792
+ # The unique identifier of the profile object generated by the
793
+ # service.
794
+ # @return [String]
795
+ #
796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/BatchPutProfileObjectResponseItem AWS API Documentation
797
+ #
798
+ class BatchPutProfileObjectResponseItem < Struct.new(
799
+ :id,
800
+ :profile_object_unique_key)
801
+ SENSITIVE = []
802
+ include Aws::Structure
803
+ end
804
+
702
805
  # Object that segments on Customer Profile's Calculated Attributes.
703
806
  #
704
807
  # @!attribute [rw] dimension_type
@@ -2797,6 +2900,54 @@ module Aws::CustomerProfiles
2797
2900
  class Unknown < Dimension; end
2798
2901
  end
2799
2902
 
2903
+ # Defines a diversity constraint for a single item column, specifying a
2904
+ # cap type and a target value or placeholder that controls how many
2905
+ # recommended items may share the same column value.
2906
+ #
2907
+ # @!attribute [rw] name
2908
+ # The name of the item catalog column on which to apply the diversity
2909
+ # cap. The column must be defined in the recommender schema.
2910
+ # @return [String]
2911
+ #
2912
+ # @!attribute [rw] cap_type
2913
+ # The type of diversity cap to apply. Valid values are `PERCENTAGE`
2914
+ # (interpret `Target` as a percentage of returned items) and `VALUE`
2915
+ # (interpret `Target` as an absolute count).
2916
+ # @return [String]
2917
+ #
2918
+ # @!attribute [rw] target
2919
+ # The diversity cap target. Either an integer literal (for example,
2920
+ # `"25"`) or a placeholder expression of the form `$name` whose value
2921
+ # is supplied at inference time through `GetProfileRecommendations`.
2922
+ # @return [String]
2923
+ #
2924
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DiversityColumn AWS API Documentation
2925
+ #
2926
+ class DiversityColumn < Struct.new(
2927
+ :name,
2928
+ :cap_type,
2929
+ :target)
2930
+ SENSITIVE = []
2931
+ include Aws::Structure
2932
+ end
2933
+
2934
+ # Configuration that controls diversity of recommendation results by
2935
+ # capping the representation of specified item columns.
2936
+ #
2937
+ # @!attribute [rw] diversity_columns
2938
+ # A list of up to two diversity columns. Each column defines a cap on
2939
+ # the number or percentage of recommended items that share the same
2940
+ # value for that column.
2941
+ # @return [Array<Types::DiversityColumn>]
2942
+ #
2943
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DiversityConfig AWS API Documentation
2944
+ #
2945
+ class DiversityConfig < Struct.new(
2946
+ :diversity_columns)
2947
+ SENSITIVE = []
2948
+ include Aws::Structure
2949
+ end
2950
+
2800
2951
  # The standard domain object type.
2801
2952
  #
2802
2953
  # @!attribute [rw] source
@@ -4708,6 +4859,12 @@ module Aws::CustomerProfiles
4708
4859
  # alongside recommended items.
4709
4860
  # @return [Types::MetadataConfig]
4710
4861
  #
4862
+ # @!attribute [rw] diversity_config
4863
+ # Runtime diversity configuration for this request. Enables
4864
+ # diversity-aware recommendations and optionally supplies values for
4865
+ # placeholder-based diversity caps configured on the recommender.
4866
+ # @return [Types::RecommendationDiversityConfig]
4867
+ #
4711
4868
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetProfileRecommendationsRequest AWS API Documentation
4712
4869
  #
4713
4870
  class GetProfileRecommendationsRequest < Struct.new(
@@ -4719,7 +4876,8 @@ module Aws::CustomerProfiles
4719
4876
  :recommender_promotional_filters,
4720
4877
  :candidate_ids,
4721
4878
  :max_results,
4722
- :metadata_config)
4879
+ :metadata_config,
4880
+ :diversity_config)
4723
4881
  SENSITIVE = [:context]
4724
4882
  include Aws::Structure
4725
4883
  end
@@ -4871,6 +5029,11 @@ module Aws::CustomerProfiles
4871
5029
  # recommender, including status and timestamp.
4872
5030
  # @return [Types::RecommenderUpdate]
4873
5031
  #
5032
+ # @!attribute [rw] active_recommender_version_name
5033
+ # The name of the recommender version currently serving
5034
+ # recommendations. Omitted when no active recommender version is set.
5035
+ # @return [String]
5036
+ #
4874
5037
  # @!attribute [rw] training_metrics
4875
5038
  # A set of metrics that provide information about the recommender's
4876
5039
  # training performance and accuracy.
@@ -4894,6 +5057,7 @@ module Aws::CustomerProfiles
4894
5057
  :created_at,
4895
5058
  :failure_reason,
4896
5059
  :latest_recommender_update,
5060
+ :active_recommender_version_name,
4897
5061
  :training_metrics,
4898
5062
  :tags)
4899
5063
  SENSITIVE = [:description]
@@ -8689,6 +8853,29 @@ module Aws::CustomerProfiles
8689
8853
  include Aws::Structure
8690
8854
  end
8691
8855
 
8856
+ # Runtime diversity configuration for a `GetProfileRecommendations`
8857
+ # request.
8858
+ #
8859
+ # @!attribute [rw] enabled
8860
+ # Whether diversity-aware recommendations are enabled for this
8861
+ # request.
8862
+ # @return [Boolean]
8863
+ #
8864
+ # @!attribute [rw] values
8865
+ # An optional map of placeholder name to integer cap value used to
8866
+ # resolve `$name` placeholders defined in the recommender's
8867
+ # `DiversityConfig` at inference time. Up to 2 entries are supported.
8868
+ # @return [Hash<String,Integer>]
8869
+ #
8870
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/RecommendationDiversityConfig AWS API Documentation
8871
+ #
8872
+ class RecommendationDiversityConfig < Struct.new(
8873
+ :enabled,
8874
+ :values)
8875
+ SENSITIVE = []
8876
+ include Aws::Structure
8877
+ end
8878
+
8692
8879
  # Configuration settings that define the behavior and parameters of a
8693
8880
  # recommender.
8694
8881
  #
@@ -8730,6 +8917,12 @@ module Aws::CustomerProfiles
8730
8917
  # IncludedColumns — both cannot be specified in the same request.
8731
8918
  # @return [Hash<String,Array<String>>]
8732
8919
  #
8920
+ # @!attribute [rw] diversity_config
8921
+ # Configuration for diversity-aware recommendations. When set, the
8922
+ # recommender applies diversity constraints defined per item column to
8923
+ # reduce over-concentration of similar items in the results.
8924
+ # @return [Types::DiversityConfig]
8925
+ #
8733
8926
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/RecommenderConfig AWS API Documentation
8734
8927
  #
8735
8928
  class RecommenderConfig < Struct.new(
@@ -8737,7 +8930,8 @@ module Aws::CustomerProfiles
8737
8930
  :training_frequency,
8738
8931
  :inference_config,
8739
8932
  :included_columns,
8740
- :excluded_columns)
8933
+ :excluded_columns,
8934
+ :diversity_config)
8741
8935
  SENSITIVE = []
8742
8936
  include Aws::Structure
8743
8937
  end
@@ -9026,6 +9220,11 @@ module Aws::CustomerProfiles
9026
9220
  # If the update operation failed, provides the reason for the failure.
9027
9221
  # @return [String]
9028
9222
  #
9223
+ # @!attribute [rw] recommender_version_name
9224
+ # The name of the recommender version associated with this update
9225
+ # operation.
9226
+ # @return [String]
9227
+ #
9029
9228
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/RecommenderUpdate AWS API Documentation
9030
9229
  #
9031
9230
  class RecommenderUpdate < Struct.new(
@@ -9033,7 +9232,8 @@ module Aws::CustomerProfiles
9033
9232
  :status,
9034
9233
  :created_at,
9035
9234
  :last_updated_at,
9036
- :failure_reason)
9235
+ :failure_reason,
9236
+ :recommender_version_name)
9037
9237
  SENSITIVE = []
9038
9238
  include Aws::Structure
9039
9239
  end
@@ -9888,11 +10088,17 @@ module Aws::CustomerProfiles
9888
10088
  # process.
9889
10089
  # @return [Hash<String,Float>]
9890
10090
  #
10091
+ # @!attribute [rw] recommender_version_name
10092
+ # The name of the recommender version that produced these training
10093
+ # metrics.
10094
+ # @return [String]
10095
+ #
9891
10096
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/TrainingMetrics AWS API Documentation
9892
10097
  #
9893
10098
  class TrainingMetrics < Struct.new(
9894
10099
  :time,
9895
- :metrics)
10100
+ :metrics,
10101
+ :recommender_version_name)
9896
10102
  SENSITIVE = []
9897
10103
  include Aws::Structure
9898
10104
  end
@@ -10670,13 +10876,20 @@ module Aws::CustomerProfiles
10670
10876
  # including updated parameters and settings that define its behavior.
10671
10877
  # @return [Types::RecommenderConfig]
10672
10878
  #
10879
+ # @!attribute [rw] recommender_version_name
10880
+ # The name of a specific recommender version to activate as part of
10881
+ # this update (for example, to roll back to a previously trained
10882
+ # version).
10883
+ # @return [String]
10884
+ #
10673
10885
  # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/UpdateRecommenderRequest AWS API Documentation
10674
10886
  #
10675
10887
  class UpdateRecommenderRequest < Struct.new(
10676
10888
  :domain_name,
10677
10889
  :recommender_name,
10678
10890
  :description,
10679
- :recommender_config)
10891
+ :recommender_config,
10892
+ :recommender_version_name)
10680
10893
  SENSITIVE = [:description]
10681
10894
  include Aws::Structure
10682
10895
  end
@@ -54,7 +54,7 @@ module Aws::CustomerProfiles
54
54
  autoload :EndpointProvider, 'aws-sdk-customerprofiles/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-customerprofiles/endpoints'
56
56
 
57
- GEM_VERSION = '1.89.0'
57
+ GEM_VERSION = '1.91.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -125,6 +125,24 @@ module Aws
125
125
  ) -> _BatchGetProfileResponseSuccess
126
126
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _BatchGetProfileResponseSuccess
127
127
 
128
+ interface _BatchPutProfileObjectResponseSuccess
129
+ include ::Seahorse::Client::_ResponseSuccess[Types::BatchPutProfileObjectResponse]
130
+ def successful: () -> ::Array[Types::BatchPutProfileObjectResponseItem]
131
+ def failed: () -> ::Array[Types::BatchPutProfileObjectErrorItem]
132
+ end
133
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CustomerProfiles/Client.html#batch_put_profile_object-instance_method
134
+ def batch_put_profile_object: (
135
+ domain_name: ::String,
136
+ object_type_name: ::String,
137
+ items: Array[
138
+ {
139
+ id: ::String,
140
+ object: ::String
141
+ }
142
+ ]
143
+ ) -> _BatchPutProfileObjectResponseSuccess
144
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _BatchPutProfileObjectResponseSuccess
145
+
128
146
  interface _CreateCalculatedAttributeDefinitionResponseSuccess
129
147
  include ::Seahorse::Client::_ResponseSuccess[Types::CreateCalculatedAttributeDefinitionResponse]
130
148
  def calculated_attribute_name: () -> ::String
@@ -977,6 +995,10 @@ module Aws
977
995
  ?max_results: ::Integer,
978
996
  ?metadata_config: {
979
997
  metadata_columns: Array[::String]?
998
+ },
999
+ ?diversity_config: {
1000
+ enabled: bool,
1001
+ values: Hash[::String, ::Integer]?
980
1002
  }
981
1003
  ) -> _GetProfileRecommendationsResponseSuccess
982
1004
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetProfileRecommendationsResponseSuccess
@@ -993,6 +1015,7 @@ module Aws
993
1015
  def created_at: () -> ::Time
994
1016
  def failure_reason: () -> ::String
995
1017
  def latest_recommender_update: () -> Types::RecommenderUpdate
1018
+ def active_recommender_version_name: () -> ::String
996
1019
  def training_metrics: () -> ::Array[Types::TrainingMetrics]
997
1020
  def tags: () -> ::Hash[::String, ::String]
998
1021
  end
@@ -1925,7 +1948,8 @@ module Aws
1925
1948
  domain_name: ::String,
1926
1949
  recommender_name: ::String,
1927
1950
  ?description: ::String,
1928
- ?recommender_config: Params::recommender_config
1951
+ ?recommender_config: Params::recommender_config,
1952
+ ?recommender_version_name: ::String
1929
1953
  ) -> _UpdateRecommenderResponseSuccess
1930
1954
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateRecommenderResponseSuccess
1931
1955
  end
data/sig/params.rbs CHANGED
@@ -106,7 +106,7 @@ module Aws
106
106
  event_expiration: ::Integer?,
107
107
  periods: Array[
108
108
  {
109
- unit: ("HOURS" | "DAYS" | "WEEKS" | "MONTHS"),
109
+ unit: ("MINUTES" | "HOURS" | "DAYS" | "WEEKS" | "MONTHS"),
110
110
  value: ::Integer,
111
111
  max_invocations_per_profile: ::Integer?,
112
112
  unlimited: bool?
@@ -235,7 +235,16 @@ module Aws
235
235
  min_provisioned_tps: ::Integer?
236
236
  }?,
237
237
  included_columns: Hash[::String, Array[::String]]?,
238
- excluded_columns: Hash[::String, Array[::String]]?
238
+ excluded_columns: Hash[::String, Array[::String]]?,
239
+ diversity_config: {
240
+ diversity_columns: Array[
241
+ {
242
+ name: ::String,
243
+ cap_type: ("PERCENTAGE" | "VALUE"),
244
+ target: ::String
245
+ }
246
+ ]?
247
+ }?
239
248
  }
240
249
 
241
250
  type group = {
data/sig/types.rbs CHANGED
@@ -179,6 +179,38 @@ module Aws::CustomerProfiles
179
179
  SENSITIVE: []
180
180
  end
181
181
 
182
+ class BatchPutProfileObjectErrorItem
183
+ attr_accessor id: ::String
184
+ attr_accessor code: ::Integer
185
+ attr_accessor message: ::String
186
+ SENSITIVE: []
187
+ end
188
+
189
+ class BatchPutProfileObjectRequest
190
+ attr_accessor domain_name: ::String
191
+ attr_accessor object_type_name: ::String
192
+ attr_accessor items: ::Array[Types::BatchPutProfileObjectRequestItem]
193
+ SENSITIVE: []
194
+ end
195
+
196
+ class BatchPutProfileObjectRequestItem
197
+ attr_accessor id: ::String
198
+ attr_accessor object: ::String
199
+ SENSITIVE: [:object]
200
+ end
201
+
202
+ class BatchPutProfileObjectResponse
203
+ attr_accessor successful: ::Array[Types::BatchPutProfileObjectResponseItem]
204
+ attr_accessor failed: ::Array[Types::BatchPutProfileObjectErrorItem]
205
+ SENSITIVE: []
206
+ end
207
+
208
+ class BatchPutProfileObjectResponseItem
209
+ attr_accessor id: ::String
210
+ attr_accessor profile_object_unique_key: ::String
211
+ SENSITIVE: []
212
+ end
213
+
182
214
  class CalculatedAttributeDimension
183
215
  attr_accessor dimension_type: ("INCLUSIVE" | "EXCLUSIVE" | "CONTAINS" | "BEGINS_WITH" | "ENDS_WITH" | "BEFORE" | "AFTER" | "BETWEEN" | "NOT_BETWEEN" | "ON" | "GREATER_THAN" | "LESS_THAN" | "GREATER_THAN_OR_EQUAL" | "LESS_THAN_OR_EQUAL" | "EQUAL")
184
216
  attr_accessor values: ::Array[::String]
@@ -765,6 +797,18 @@ module Aws::CustomerProfiles
765
797
  end
766
798
  end
767
799
 
800
+ class DiversityColumn
801
+ attr_accessor name: ::String
802
+ attr_accessor cap_type: ("PERCENTAGE" | "VALUE")
803
+ attr_accessor target: ::String
804
+ SENSITIVE: []
805
+ end
806
+
807
+ class DiversityConfig
808
+ attr_accessor diversity_columns: ::Array[Types::DiversityColumn]
809
+ SENSITIVE: []
810
+ end
811
+
768
812
  class DomainObjectTypeField
769
813
  attr_accessor source: ::String
770
814
  attr_accessor target: ::String
@@ -1243,6 +1287,7 @@ module Aws::CustomerProfiles
1243
1287
  attr_accessor candidate_ids: ::Array[::String]
1244
1288
  attr_accessor max_results: ::Integer
1245
1289
  attr_accessor metadata_config: Types::MetadataConfig
1290
+ attr_accessor diversity_config: Types::RecommendationDiversityConfig
1246
1291
  SENSITIVE: [:context]
1247
1292
  end
1248
1293
 
@@ -1287,6 +1332,7 @@ module Aws::CustomerProfiles
1287
1332
  attr_accessor created_at: ::Time
1288
1333
  attr_accessor failure_reason: ::String
1289
1334
  attr_accessor latest_recommender_update: Types::RecommenderUpdate
1335
+ attr_accessor active_recommender_version_name: ::String
1290
1336
  attr_accessor training_metrics: ::Array[Types::TrainingMetrics]
1291
1337
  attr_accessor tags: ::Hash[::String, ::String]
1292
1338
  SENSITIVE: [:description]
@@ -2035,7 +2081,7 @@ module Aws::CustomerProfiles
2035
2081
  end
2036
2082
 
2037
2083
  class Period
2038
- attr_accessor unit: ("HOURS" | "DAYS" | "WEEKS" | "MONTHS")
2084
+ attr_accessor unit: ("MINUTES" | "HOURS" | "DAYS" | "WEEKS" | "MONTHS")
2039
2085
  attr_accessor value: ::Integer
2040
2086
  attr_accessor max_invocations_per_profile: ::Integer
2041
2087
  attr_accessor unlimited: bool
@@ -2276,12 +2322,19 @@ module Aws::CustomerProfiles
2276
2322
  SENSITIVE: []
2277
2323
  end
2278
2324
 
2325
+ class RecommendationDiversityConfig
2326
+ attr_accessor enabled: bool
2327
+ attr_accessor values: ::Hash[::String, ::Integer]
2328
+ SENSITIVE: []
2329
+ end
2330
+
2279
2331
  class RecommenderConfig
2280
2332
  attr_accessor events_config: Types::EventsConfig
2281
2333
  attr_accessor training_frequency: ::Integer
2282
2334
  attr_accessor inference_config: Types::InferenceConfig
2283
2335
  attr_accessor included_columns: ::Hash[::String, ::Array[::String]]
2284
2336
  attr_accessor excluded_columns: ::Hash[::String, ::Array[::String]]
2337
+ attr_accessor diversity_config: Types::DiversityConfig
2285
2338
  SENSITIVE: []
2286
2339
  end
2287
2340
 
@@ -2353,6 +2406,7 @@ module Aws::CustomerProfiles
2353
2406
  attr_accessor created_at: ::Time
2354
2407
  attr_accessor last_updated_at: ::Time
2355
2408
  attr_accessor failure_reason: ::String
2409
+ attr_accessor recommender_version_name: ::String
2356
2410
  SENSITIVE: []
2357
2411
  end
2358
2412
 
@@ -2575,6 +2629,7 @@ module Aws::CustomerProfiles
2575
2629
  class TrainingMetrics
2576
2630
  attr_accessor time: ::Time
2577
2631
  attr_accessor metrics: ::Hash[("hit" | "coverage" | "recall" | "popularity" | "freshness" | "similarity" | "mean_reciprocal_rank_at_25" | "normalized_discounted_cumulative_gain_at_5" | "normalized_discounted_cumulative_gain_at_10" | "normalized_discounted_cumulative_gain_at_25" | "precision_at_5" | "precision_at_10" | "precision_at_25"), ::Float]
2632
+ attr_accessor recommender_version_name: ::String
2578
2633
  SENSITIVE: []
2579
2634
  end
2580
2635
 
@@ -2753,6 +2808,7 @@ module Aws::CustomerProfiles
2753
2808
  attr_accessor recommender_name: ::String
2754
2809
  attr_accessor description: ::String
2755
2810
  attr_accessor recommender_config: Types::RecommenderConfig
2811
+ attr_accessor recommender_version_name: ::String
2756
2812
  SENSITIVE: [:description]
2757
2813
  end
2758
2814
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-customerprofiles
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.89.0
4
+ version: 1.91.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services