aws-sdk-customerprofiles 1.92.0 → 1.93.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: 6904db0c3d0f392298b07a3338e71760a86016db23960ef38de5f624280c5b47
4
- data.tar.gz: 307a1433334c1386f7b7875ea0ee91770b1957c43118fc5ea64761a887b13978
3
+ metadata.gz: 4fdf235ce29cac5b939c4ed6c3e0a5793cba36b1ed8fa2aef77fbf89d70fd1d1
4
+ data.tar.gz: f5aea7ec8da54e62b5649587a6713259ccc13a063fcd8ea5d17ce31fed67921c
5
5
  SHA512:
6
- metadata.gz: 4c79e605722dc181c3a49d8b2396fbfa73fbc1343527a0269aa6c74467d26179eaf9148d74581e592d18456a6f2b68ed9acc2a4c984a40e11c7a12a020b11b5e
7
- data.tar.gz: fa4700556a9085907fe032c95305074a427cde31654f32bbed5b39c336b009b3fafc0ffbfff100081d0fc6148b274a39cf3012851945e06d35cdde8e2e78c989
6
+ metadata.gz: 49eaba5cbf78e7d79f2fc2e514c5d66224bd62eee242549b3546e50782f337b27eac4025831c5cfe995af99fddf78053a19e05fbd309b3eb7fc45bb9d24dc7a8
7
+ data.tar.gz: 572403a3a79365be6f6d7087cf67ab7e0136ba6940559fb84f9329931a44dfcfd22b737cff2895868cd77e5a685e2ed6ba41d563b243c043aa38fcaa23ab4ad5
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.93.0 (2026-08-31)
5
+ ------------------
6
+
7
+ * Feature - This release introduces new APIs for segment membership events allowing segment definition membership events to be exported to a kinesis stream for downstream processing. Additionally, includes new calculated attribute statistic and 2 new segment dimension types.
8
+
4
9
  1.92.0 (2026-07-09)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.92.0
1
+ 1.93.0
@@ -528,6 +528,51 @@ module Aws::CustomerProfiles
528
528
  req.send_request(options)
529
529
  end
530
530
 
531
+ # Associates an Amazon Kinesis data stream to receive segment membership
532
+ # events for a given domain. This is a domain-level configuration that
533
+ # applies to all segment subscriptions within the domain. A domain can
534
+ # have only one associated stream at a time.
535
+ #
536
+ # @option params [required, String] :domain_name
537
+ # The unique name of the domain.
538
+ #
539
+ # @option params [required, String] :destination_arn
540
+ # The Amazon Resource Name (ARN) of the Amazon Kinesis data stream to
541
+ # deliver segment membership events to. For example,
542
+ # `arn:aws:kinesis:region:account-id:stream/stream-name`.
543
+ #
544
+ # @option params [required, String] :destination_role_arn
545
+ # The Amazon Resource Name (ARN) of the IAM role that allows Customer
546
+ # Profiles service principal to assume the role for conducting AWS Key
547
+ # Management Service (KMS) and Amazon Kinesis operations. The role must
548
+ # grant the following Amazon Kinesis permissions to deliver segment
549
+ # membership events to the stream:
550
+ #
551
+ # * `kinesis:PutRecord`
552
+ #
553
+ # * `kinesis:PutRecords`
554
+ #
555
+ # * `kinesis:DescribeStream`
556
+ #
557
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
558
+ #
559
+ # @example Request syntax with placeholder values
560
+ #
561
+ # resp = client.associate_stream_for_segments({
562
+ # domain_name: "name", # required
563
+ # destination_arn: "DestinationArnString", # required
564
+ # destination_role_arn: "DestinationRoleArn", # required
565
+ # })
566
+ #
567
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/AssociateStreamForSegments AWS API Documentation
568
+ #
569
+ # @overload associate_stream_for_segments(params = {})
570
+ # @param [Hash] params ({})
571
+ def associate_stream_for_segments(params = {}, options = {})
572
+ req = build_request(:associate_stream_for_segments, params)
573
+ req.send_request(options)
574
+ end
575
+
531
576
  # Fetch the possible attribute values given the attribute name.
532
577
  #
533
578
  # @option params [required, String] :calculated_attribute_name
@@ -877,7 +922,7 @@ module Aws::CustomerProfiles
877
922
  # },
878
923
  # ],
879
924
  # },
880
- # statistic: "FIRST_OCCURRENCE", # required, accepts FIRST_OCCURRENCE, LAST_OCCURRENCE, COUNT, SUM, MINIMUM, MAXIMUM, AVERAGE, MAX_OCCURRENCE
925
+ # statistic: "FIRST_OCCURRENCE", # required, accepts FIRST_OCCURRENCE, LAST_OCCURRENCE, COUNT, SUM, MINIMUM, MAXIMUM, AVERAGE, MAX_OCCURRENCE, RECENT_OCCURRENCES
881
926
  # use_historical_data: false,
882
927
  # tags: {
883
928
  # "TagKey" => "TagValue",
@@ -909,7 +954,7 @@ module Aws::CustomerProfiles
909
954
  # resp.data.filter.groups[0].dimensions[0].attributes["attributeName"].dimension_type #=> String, one of "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"
910
955
  # resp.data.filter.groups[0].dimensions[0].attributes["attributeName"].values #=> Array
911
956
  # resp.data.filter.groups[0].dimensions[0].attributes["attributeName"].values[0] #=> String
912
- # resp.statistic #=> String, one of "FIRST_OCCURRENCE", "LAST_OCCURRENCE", "COUNT", "SUM", "MINIMUM", "MAXIMUM", "AVERAGE", "MAX_OCCURRENCE"
957
+ # resp.statistic #=> String, one of "FIRST_OCCURRENCE", "LAST_OCCURRENCE", "COUNT", "SUM", "MINIMUM", "MAXIMUM", "AVERAGE", "MAX_OCCURRENCE", "RECENT_OCCURRENCES"
913
958
  # resp.created_at #=> Time
914
959
  # resp.last_updated_at #=> Time
915
960
  # resp.use_historical_data #=> Boolean
@@ -2160,7 +2205,7 @@ module Aws::CustomerProfiles
2160
2205
  # },
2161
2206
  # attributes: {
2162
2207
  # "string1To255" => {
2163
- # dimension_type: "INCLUSIVE", # required, accepts 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
2208
+ # dimension_type: "INCLUSIVE", # required, accepts 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, LIST_CONTAINS, LIST_CONTAINS_ALL
2164
2209
  # values: ["string1To255"], # required
2165
2210
  # },
2166
2211
  # },
@@ -2171,7 +2216,7 @@ module Aws::CustomerProfiles
2171
2216
  # },
2172
2217
  # calculated_attributes: {
2173
2218
  # "typeName" => {
2174
- # dimension_type: "INCLUSIVE", # required, accepts 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
2219
+ # dimension_type: "INCLUSIVE", # required, accepts 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, LIST_CONTAINS, LIST_CONTAINS_ALL
2175
2220
  # values: ["string1To255"], # required
2176
2221
  # condition_overrides: {
2177
2222
  # range: {
@@ -2427,7 +2472,7 @@ module Aws::CustomerProfiles
2427
2472
  # },
2428
2473
  # attributes: {
2429
2474
  # "string1To255" => {
2430
- # dimension_type: "INCLUSIVE", # required, accepts 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
2475
+ # dimension_type: "INCLUSIVE", # required, accepts 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, LIST_CONTAINS, LIST_CONTAINS_ALL
2431
2476
  # values: ["string1To255"], # required
2432
2477
  # },
2433
2478
  # },
@@ -2438,7 +2483,7 @@ module Aws::CustomerProfiles
2438
2483
  # },
2439
2484
  # calculated_attributes: {
2440
2485
  # "typeName" => {
2441
- # dimension_type: "INCLUSIVE", # required, accepts 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
2486
+ # dimension_type: "INCLUSIVE", # required, accepts 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, LIST_CONTAINS, LIST_CONTAINS_ALL
2442
2487
  # values: ["string1To255"], # required
2443
2488
  # condition_overrides: {
2444
2489
  # range: {
@@ -3068,6 +3113,39 @@ module Aws::CustomerProfiles
3068
3113
  req.send_request(options)
3069
3114
  end
3070
3115
 
3116
+ # Deletes a segment subscription for membership events. All active event
3117
+ # notifications for this segment are stopped.
3118
+ #
3119
+ # @option params [required, String] :domain_name
3120
+ # The unique name of the domain.
3121
+ #
3122
+ # @option params [required, String] :segment_definition_name
3123
+ # The unique name of the segment definition.
3124
+ #
3125
+ # @return [Types::DeleteSegmentSubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3126
+ #
3127
+ # * {Types::DeleteSegmentSubscriptionResponse#message #message} => String
3128
+ #
3129
+ # @example Request syntax with placeholder values
3130
+ #
3131
+ # resp = client.delete_segment_subscription({
3132
+ # domain_name: "name", # required
3133
+ # segment_definition_name: "name", # required
3134
+ # })
3135
+ #
3136
+ # @example Response structure
3137
+ #
3138
+ # resp.message #=> String
3139
+ #
3140
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DeleteSegmentSubscription AWS API Documentation
3141
+ #
3142
+ # @overload delete_segment_subscription(params = {})
3143
+ # @param [Hash] params ({})
3144
+ def delete_segment_subscription(params = {}, options = {})
3145
+ req = build_request(:delete_segment_subscription, params)
3146
+ req.send_request(options)
3147
+ end
3148
+
3071
3149
  # Deletes the specified workflow and all its corresponding resources.
3072
3150
  # This is an async process.
3073
3151
  #
@@ -3139,6 +3217,36 @@ module Aws::CustomerProfiles
3139
3217
  req.send_request(options)
3140
3218
  end
3141
3219
 
3220
+ # Disassociates the Amazon Kinesis data stream configured for segment
3221
+ # membership events. All active segment subscriptions delivering events
3222
+ # to this stream are eventually stopped.
3223
+ #
3224
+ # @option params [required, String] :domain_name
3225
+ # The unique name of the domain.
3226
+ #
3227
+ # @return [Types::DisassociateStreamForSegmentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3228
+ #
3229
+ # * {Types::DisassociateStreamForSegmentsResponse#message #message} => String
3230
+ #
3231
+ # @example Request syntax with placeholder values
3232
+ #
3233
+ # resp = client.disassociate_stream_for_segments({
3234
+ # domain_name: "name", # required
3235
+ # })
3236
+ #
3237
+ # @example Response structure
3238
+ #
3239
+ # resp.message #=> String
3240
+ #
3241
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/DisassociateStreamForSegments AWS API Documentation
3242
+ #
3243
+ # @overload disassociate_stream_for_segments(params = {})
3244
+ # @param [Hash] params ({})
3245
+ def disassociate_stream_for_segments(params = {}, options = {})
3246
+ req = build_request(:disassociate_stream_for_segments, params)
3247
+ req.send_request(options)
3248
+ end
3249
+
3142
3250
  # Tests the auto-merging settings of your Identity Resolution Job
3143
3251
  # without merging your data. It randomly selects a sample of matching
3144
3252
  # groups from the existing matching results, and applies the automerging
@@ -3248,7 +3356,7 @@ module Aws::CustomerProfiles
3248
3356
  # resp.description #=> String
3249
3357
  # resp.created_at #=> Time
3250
3358
  # resp.last_updated_at #=> Time
3251
- # resp.statistic #=> String, one of "FIRST_OCCURRENCE", "LAST_OCCURRENCE", "COUNT", "SUM", "MINIMUM", "MAXIMUM", "AVERAGE", "MAX_OCCURRENCE"
3359
+ # resp.statistic #=> String, one of "FIRST_OCCURRENCE", "LAST_OCCURRENCE", "COUNT", "SUM", "MINIMUM", "MAXIMUM", "AVERAGE", "MAX_OCCURRENCE", "RECENT_OCCURRENCES"
3252
3360
  # resp.data.filter.include #=> String, one of "ALL", "ANY", "NONE"
3253
3361
  # resp.data.filter.groups #=> Array
3254
3362
  # resp.data.filter.groups[0].type #=> String, one of "ALL", "ANY", "NONE"
@@ -4546,14 +4654,14 @@ module Aws::CustomerProfiles
4546
4654
  # resp.segment_groups.groups[0].dimensions[0].profile_attributes.billing_address.state.values #=> Array
4547
4655
  # resp.segment_groups.groups[0].dimensions[0].profile_attributes.billing_address.state.values[0] #=> String
4548
4656
  # resp.segment_groups.groups[0].dimensions[0].profile_attributes.attributes #=> Hash
4549
- # resp.segment_groups.groups[0].dimensions[0].profile_attributes.attributes["string1To255"].dimension_type #=> String, one of "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"
4657
+ # resp.segment_groups.groups[0].dimensions[0].profile_attributes.attributes["string1To255"].dimension_type #=> String, one of "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", "LIST_CONTAINS", "LIST_CONTAINS_ALL"
4550
4658
  # resp.segment_groups.groups[0].dimensions[0].profile_attributes.attributes["string1To255"].values #=> Array
4551
4659
  # resp.segment_groups.groups[0].dimensions[0].profile_attributes.attributes["string1To255"].values[0] #=> String
4552
4660
  # resp.segment_groups.groups[0].dimensions[0].profile_attributes.profile_type.dimension_type #=> String, one of "INCLUSIVE", "EXCLUSIVE"
4553
4661
  # resp.segment_groups.groups[0].dimensions[0].profile_attributes.profile_type.values #=> Array
4554
4662
  # resp.segment_groups.groups[0].dimensions[0].profile_attributes.profile_type.values[0] #=> String, one of "ACCOUNT_PROFILE", "PROFILE"
4555
4663
  # resp.segment_groups.groups[0].dimensions[0].calculated_attributes #=> Hash
4556
- # resp.segment_groups.groups[0].dimensions[0].calculated_attributes["typeName"].dimension_type #=> String, one of "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"
4664
+ # resp.segment_groups.groups[0].dimensions[0].calculated_attributes["typeName"].dimension_type #=> String, one of "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", "LIST_CONTAINS", "LIST_CONTAINS_ALL"
4557
4665
  # resp.segment_groups.groups[0].dimensions[0].calculated_attributes["typeName"].values #=> Array
4558
4666
  # resp.segment_groups.groups[0].dimensions[0].calculated_attributes["typeName"].values[0] #=> String
4559
4667
  # resp.segment_groups.groups[0].dimensions[0].calculated_attributes["typeName"].condition_overrides.range.start #=> Integer
@@ -4799,6 +4907,51 @@ module Aws::CustomerProfiles
4799
4907
  req.send_request(options)
4800
4908
  end
4801
4909
 
4910
+ # Returns the current subscription configuration, execution schedule,
4911
+ # and status for segment membership events.
4912
+ #
4913
+ # @option params [required, String] :domain_name
4914
+ # The unique name of the domain.
4915
+ #
4916
+ # @option params [required, String] :segment_definition_name
4917
+ # The unique name of the segment definition.
4918
+ #
4919
+ # @return [Types::GetSegmentSubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4920
+ #
4921
+ # * {Types::GetSegmentSubscriptionResponse#status #status} => String
4922
+ # * {Types::GetSegmentSubscriptionResponse#message #message} => String
4923
+ # * {Types::GetSegmentSubscriptionResponse#schedule_configuration #schedule_configuration} => Types::ScheduleConfiguration
4924
+ # * {Types::GetSegmentSubscriptionResponse#scheduled_executions #scheduled_executions} => Types::ScheduledExecutions
4925
+ # * {Types::GetSegmentSubscriptionResponse#started_at #started_at} => Time
4926
+ # * {Types::GetSegmentSubscriptionResponse#last_updated_at #last_updated_at} => Time
4927
+ #
4928
+ # @example Request syntax with placeholder values
4929
+ #
4930
+ # resp = client.get_segment_subscription({
4931
+ # domain_name: "name", # required
4932
+ # segment_definition_name: "name", # required
4933
+ # })
4934
+ #
4935
+ # @example Response structure
4936
+ #
4937
+ # resp.status #=> String, one of "STARTING", "RUNNING", "STOPPED", "FAILED"
4938
+ # resp.message #=> String
4939
+ # resp.schedule_configuration.interval #=> Integer
4940
+ # resp.schedule_configuration.unit #=> String, one of "HOURLY"
4941
+ # resp.scheduled_executions.next_executed_at #=> Time
4942
+ # resp.scheduled_executions.last_executed_at #=> Time
4943
+ # resp.started_at #=> Time
4944
+ # resp.last_updated_at #=> Time
4945
+ #
4946
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetSegmentSubscription AWS API Documentation
4947
+ #
4948
+ # @overload get_segment_subscription(params = {})
4949
+ # @param [Hash] params ({})
4950
+ def get_segment_subscription(params = {}, options = {})
4951
+ req = build_request(:get_segment_subscription, params)
4952
+ req.send_request(options)
4953
+ end
4954
+
4802
4955
  # Returns a set of profiles that belong to the same matching group using
4803
4956
  # the `matchId` or `profileId`. You can also specify the type of
4804
4957
  # matching that you want for finding similar profiles using either
@@ -4863,6 +5016,53 @@ module Aws::CustomerProfiles
4863
5016
  req.send_request(options)
4864
5017
  end
4865
5018
 
5019
+ # Returns information about the segment membership event stream
5020
+ # configured for a specific domain, including the stream state and
5021
+ # associated segments.
5022
+ #
5023
+ # @option params [required, String] :domain_name
5024
+ # The unique name of the domain.
5025
+ #
5026
+ # @return [Types::GetStreamForSegmentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5027
+ #
5028
+ # * {Types::GetStreamForSegmentsResponse#associated_at #associated_at} => Time
5029
+ # * {Types::GetStreamForSegmentsResponse#associated_segments #associated_segments} => Array<Types::AssociatedSegment>
5030
+ # * {Types::GetStreamForSegmentsResponse#domain_name #domain_name} => String
5031
+ # * {Types::GetStreamForSegmentsResponse#destination_arn #destination_arn} => String
5032
+ # * {Types::GetStreamForSegmentsResponse#destination_role_arn #destination_role_arn} => String
5033
+ # * {Types::GetStreamForSegmentsResponse#state #state} => String
5034
+ # * {Types::GetStreamForSegmentsResponse#disassociated_at #disassociated_at} => Time
5035
+ # * {Types::GetStreamForSegmentsResponse#failure_reason #failure_reason} => String
5036
+ #
5037
+ # @example Request syntax with placeholder values
5038
+ #
5039
+ # resp = client.get_stream_for_segments({
5040
+ # domain_name: "name", # required
5041
+ # })
5042
+ #
5043
+ # @example Response structure
5044
+ #
5045
+ # resp.associated_at #=> Time
5046
+ # resp.associated_segments #=> Array
5047
+ # resp.associated_segments[0].segment_name #=> String
5048
+ # resp.associated_segments[0].status #=> String, one of "STARTING", "RUNNING", "STOPPED", "FAILED"
5049
+ # resp.associated_segments[0].message #=> String
5050
+ # resp.domain_name #=> String
5051
+ # resp.destination_arn #=> String
5052
+ # resp.destination_role_arn #=> String
5053
+ # resp.state #=> String, one of "RUNNING", "UNHEALTHY", "STOPPED"
5054
+ # resp.disassociated_at #=> Time
5055
+ # resp.failure_reason #=> String
5056
+ #
5057
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetStreamForSegments AWS API Documentation
5058
+ #
5059
+ # @overload get_stream_for_segments(params = {})
5060
+ # @param [Hash] params ({})
5061
+ def get_stream_for_segments(params = {}, options = {})
5062
+ req = build_request(:get_stream_for_segments, params)
5063
+ req.send_request(options)
5064
+ end
5065
+
4866
5066
  # This API retrieves the details of a specific upload job.
4867
5067
  #
4868
5068
  # @option params [required, String] :domain_name
@@ -6237,6 +6437,58 @@ module Aws::CustomerProfiles
6237
6437
  req.send_request(options)
6238
6438
  end
6239
6439
 
6440
+ # Returns the most recent membership events for a segment. Each event
6441
+ # represents a profile that entered or exited the segment.
6442
+ #
6443
+ # This operation is paginated.
6444
+ #
6445
+ # @option params [required, String] :domain_name
6446
+ # The unique name of the domain.
6447
+ #
6448
+ # @option params [required, String] :segment_definition_name
6449
+ # The unique name of the segment definition.
6450
+ #
6451
+ # @option params [Integer] :max_results
6452
+ # The maximum number of events to return per page.
6453
+ #
6454
+ # @option params [String] :next_token
6455
+ # The pagination token from the previous call to retrieve the next page
6456
+ # of results.
6457
+ #
6458
+ # @return [Types::ListSegmentSubscriptionEventsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6459
+ #
6460
+ # * {Types::ListSegmentSubscriptionEventsResponse#events #events} => Array<Types::SubscriptionEventItem>
6461
+ # * {Types::ListSegmentSubscriptionEventsResponse#next_token #next_token} => String
6462
+ #
6463
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6464
+ #
6465
+ # @example Request syntax with placeholder values
6466
+ #
6467
+ # resp = client.list_segment_subscription_events({
6468
+ # domain_name: "name", # required
6469
+ # segment_definition_name: "name", # required
6470
+ # max_results: 1,
6471
+ # next_token: "token",
6472
+ # })
6473
+ #
6474
+ # @example Response structure
6475
+ #
6476
+ # resp.events #=> Array
6477
+ # resp.events[0].profile_id #=> String
6478
+ # resp.events[0].updated_at #=> Time
6479
+ # resp.events[0].event_type #=> String, one of "LIVE", "SCHEDULE"
6480
+ # resp.events[0].event #=> String, one of "JOINED", "LEFT"
6481
+ # resp.next_token #=> String
6482
+ #
6483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/ListSegmentSubscriptionEvents AWS API Documentation
6484
+ #
6485
+ # @overload list_segment_subscription_events(params = {})
6486
+ # @param [Hash] params ({})
6487
+ def list_segment_subscription_events(params = {}, options = {})
6488
+ req = build_request(:list_segment_subscription_events, params)
6489
+ req.send_request(options)
6490
+ end
6491
+
6240
6492
  # Displays the tags associated with an Amazon Connect Customer Profiles
6241
6493
  # resource. In Connect Customer Profiles, domains, profile object types,
6242
6494
  # and integrations can be tagged.
@@ -6934,6 +7186,68 @@ module Aws::CustomerProfiles
6934
7186
  req.send_request(options)
6935
7187
  end
6936
7188
 
7189
+ # Creates or updates a segment subscription for membership events. When
7190
+ # a subscription is created, an initial snapshot is taken and the system
7191
+ # begins monitoring for membership changes.
7192
+ #
7193
+ # You can optionally set a schedule configuration interval to control
7194
+ # how often membership snapshots are run. The interval can be from 1 to
7195
+ # 24 hours. If not set, the interval defaults to 24 hours. Scheduled
7196
+ # snapshots run on a best-effort basis. If a scheduled snapshot takes
7197
+ # longer than the configured interval, the next scheduled run does not
7198
+ # start until the in-progress snapshot completes, so a run might be
7199
+ # delayed or skipped and is not guaranteed to occur at exactly the
7200
+ # requested time.
7201
+ #
7202
+ # For Classic segments, membership events are generated from these
7203
+ # scheduled snapshots and also in near real-time as profile attribute
7204
+ # changes occur. For SQL segments, membership events are generated only
7205
+ # from the scheduled snapshots.
7206
+ #
7207
+ # @option params [required, String] :domain_name
7208
+ # The unique name of the domain.
7209
+ #
7210
+ # @option params [required, String] :segment_definition_name
7211
+ # The unique name of the segment definition.
7212
+ #
7213
+ # @option params [Types::ScheduleConfiguration] :schedule_configuration
7214
+ # The optional schedule configuration that controls how often membership
7215
+ # snapshots are run. If not provided, the subscription defaults to a
7216
+ # 24-hour interval.
7217
+ #
7218
+ # @return [Types::PutSegmentSubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7219
+ #
7220
+ # * {Types::PutSegmentSubscriptionResponse#status #status} => String
7221
+ # * {Types::PutSegmentSubscriptionResponse#schedule_configuration #schedule_configuration} => Types::ScheduleConfiguration
7222
+ # * {Types::PutSegmentSubscriptionResponse#started_at #started_at} => Time
7223
+ #
7224
+ # @example Request syntax with placeholder values
7225
+ #
7226
+ # resp = client.put_segment_subscription({
7227
+ # domain_name: "name", # required
7228
+ # segment_definition_name: "name", # required
7229
+ # schedule_configuration: {
7230
+ # interval: 1, # required
7231
+ # unit: "HOURLY", # accepts HOURLY
7232
+ # },
7233
+ # })
7234
+ #
7235
+ # @example Response structure
7236
+ #
7237
+ # resp.status #=> String, one of "STARTING", "RUNNING", "STOPPED", "FAILED"
7238
+ # resp.schedule_configuration.interval #=> Integer
7239
+ # resp.schedule_configuration.unit #=> String, one of "HOURLY"
7240
+ # resp.started_at #=> Time
7241
+ #
7242
+ # @see http://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/PutSegmentSubscription AWS API Documentation
7243
+ #
7244
+ # @overload put_segment_subscription(params = {})
7245
+ # @param [Hash] params ({})
7246
+ def put_segment_subscription(params = {}, options = {})
7247
+ req = build_request(:put_segment_subscription, params)
7248
+ req.send_request(options)
7249
+ end
7250
+
6937
7251
  # Searches for profiles within a specific domain using one or more
6938
7252
  # predefined search keys (e.g., \_fullName, \_phone, \_email, \_account,
6939
7253
  # etc.) and/or custom-defined search keys. A search key is a data type
@@ -7354,7 +7668,7 @@ module Aws::CustomerProfiles
7354
7668
  # resp.description #=> String
7355
7669
  # resp.created_at #=> Time
7356
7670
  # resp.last_updated_at #=> Time
7357
- # resp.statistic #=> String, one of "FIRST_OCCURRENCE", "LAST_OCCURRENCE", "COUNT", "SUM", "MINIMUM", "MAXIMUM", "AVERAGE", "MAX_OCCURRENCE"
7671
+ # resp.statistic #=> String, one of "FIRST_OCCURRENCE", "LAST_OCCURRENCE", "COUNT", "SUM", "MINIMUM", "MAXIMUM", "AVERAGE", "MAX_OCCURRENCE", "RECENT_OCCURRENCES"
7358
7672
  # resp.conditions.range.value #=> Integer
7359
7673
  # resp.conditions.range.unit #=> String, one of "DAYS"
7360
7674
  # resp.conditions.range.value_range.start #=> Integer
@@ -8076,7 +8390,7 @@ module Aws::CustomerProfiles
8076
8390
  tracer: tracer
8077
8391
  )
8078
8392
  context[:gem_name] = 'aws-sdk-customerprofiles'
8079
- context[:gem_version] = '1.92.0'
8393
+ context[:gem_version] = '1.93.0'
8080
8394
  Seahorse::Client::Request.new(handlers, context)
8081
8395
  end
8082
8396