aws-sdk-connect 1.88.0 → 1.90.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e7d629309ca68eb6b652ae648b9eb52a823082d392833a79acb26addc8535ad9
4
- data.tar.gz: 4e16e30d1bb7c6c63ae5ad6662c67c526841456ea7ddeadb54eb7ab43eb95853
3
+ metadata.gz: 273f7125d5300b56cbcc3af047953876527746e995d90b8ea6d97a4e543f7b03
4
+ data.tar.gz: ee23cd87340f1719c344ec6a835a63441e1d0e8af6a4c452bba4d4ca203a18ba
5
5
  SHA512:
6
- metadata.gz: fde2b8391c7dc5d3dd60ce2b129ed653dee305a51bcb78a1bd135b78e993cc401ca79814d9421fced8ca31fc23dc08cddaa8d3fe5b8cb2121bee58b2b6895614
7
- data.tar.gz: 2c857bfdebe2a4ae40146609b1c2d19d37dd23f407ac33ce4afa36b2bd75c6f608ce369e7b35139f837a70e6ec1424f5e4d56e55dbe3989162de155f2c0a35c3
6
+ metadata.gz: e66de2f9b74494ba87202f35dacd801631ebe6ed1790688e77f4a6593a5dff7f3cf361d4d7fd897c5535540f02537cfcb7f8fbceae84c0a52f5d832fdd6d8d26
7
+ data.tar.gz: 273dfb807d0eb90c6d39f3158fa7b9fefbde5aadbf179587c5d1882fdf7ffac158afa01448c3ca1fae16fba506a4141b975c5ddf74fb5f8032c42af43b38e46e
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.90.0 (2022-12-23)
5
+ ------------------
6
+
7
+ * Feature - Support for Routing Profile filter, SortCriteria, and grouping by Routing Profiles for GetCurrentMetricData API. Support for RoutingProfiles, UserHierarchyGroups, and Agents as filters, NextStatus and AgentStatusName for GetCurrentUserData. Adds ApproximateTotalCount to both APIs.
8
+
9
+ 1.89.0 (2022-12-22)
10
+ ------------------
11
+
12
+ * Feature - Amazon Connect Chat introduces the Idle Participant/Autodisconnect feature, which allows users to set timeouts relating to the activity of chat participants, using the new UpdateParticipantRoleConfig API.
13
+
4
14
  1.88.0 (2022-12-21)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.88.0
1
+ 1.90.0
@@ -3847,11 +3847,22 @@ module Aws::Connect
3847
3847
  # instanceId in the ARN of the instance.
3848
3848
  #
3849
3849
  # @option params [required, Types::Filters] :filters
3850
- # The queues, up to 100, or channels, to use to filter the metrics
3851
- # returned. Metric data is retrieved only for the resources associated
3852
- # with the queues or channels included in the filter. You can include
3853
- # both queue IDs and queue ARNs in the same request. VOICE, CHAT, and
3854
- # TASK channels are supported.
3850
+ # The filters to apply to returned metrics. You can filter up to the
3851
+ # following limits:
3852
+ #
3853
+ # * Queues: 100
3854
+ #
3855
+ # * Routing profiles: 100
3856
+ #
3857
+ # * Channels: 3 (VOICE, CHAT, and TASK channels are supported.)
3858
+ #
3859
+ # Metric data is retrieved only for the resources associated with the
3860
+ # queues or routing profiles, and by any channels included in the
3861
+ # filter. (You cannot filter by both queue AND routing profile.) You can
3862
+ # include both resource IDs and resource ARNs in the same request.
3863
+ #
3864
+ # Currently tagging is only supported on the resources that are passed
3865
+ # in the filter.
3855
3866
  #
3856
3867
  # @option params [Array<String>] :groupings
3857
3868
  # The grouping applied to the metrics returned. For example, when
@@ -3862,7 +3873,9 @@ module Aws::Connect
3862
3873
  # VOICE, CHAT, and TASK channels are supported.
3863
3874
  #
3864
3875
  # * If you group by `ROUTING_PROFILE`, you must include either a queue
3865
- # or routing profile filter.
3876
+ # or routing profile filter. In addition, a routing profile filter is
3877
+ # required for metrics `CONTACTS_SCHEDULED`, `CONTACTS_IN_QUEUE`, and
3878
+ # ` OLDEST_CONTACT_AGE`.
3866
3879
  #
3867
3880
  # * If no `Grouping` is included in the request, a summary of metrics is
3868
3881
  # returned.
@@ -3991,11 +4004,24 @@ module Aws::Connect
3991
4004
  # @option params [Integer] :max_results
3992
4005
  # The maximum number of results to return per page.
3993
4006
  #
4007
+ # @option params [Array<Types::CurrentMetricSortCriteria>] :sort_criteria
4008
+ # The way to sort the resulting response based on metrics. You can enter
4009
+ # one sort criteria. By default resources are sorted based on
4010
+ # `AGENTS_ONLINE`, `DESCENDING`. The metric collection is sorted based
4011
+ # on the input metrics.
4012
+ #
4013
+ # Note the following:
4014
+ #
4015
+ # * Sorting on `SLOTS_ACTIVE` and `SLOTS_AVAILABLE` is not supported.
4016
+ #
4017
+ # ^
4018
+ #
3994
4019
  # @return [Types::GetCurrentMetricDataResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3995
4020
  #
3996
4021
  # * {Types::GetCurrentMetricDataResponse#next_token #next_token} => String
3997
4022
  # * {Types::GetCurrentMetricDataResponse#metric_results #metric_results} => Array&lt;Types::CurrentMetricResult&gt;
3998
4023
  # * {Types::GetCurrentMetricDataResponse#data_snapshot_time #data_snapshot_time} => Time
4024
+ # * {Types::GetCurrentMetricDataResponse#approximate_total_count #approximate_total_count} => Integer
3999
4025
  #
4000
4026
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4001
4027
  #
@@ -4006,8 +4032,9 @@ module Aws::Connect
4006
4032
  # filters: { # required
4007
4033
  # queues: ["QueueId"],
4008
4034
  # channels: ["VOICE"], # accepts VOICE, CHAT, TASK
4035
+ # routing_profiles: ["RoutingProfileId"],
4009
4036
  # },
4010
- # groupings: ["QUEUE"], # accepts QUEUE, CHANNEL
4037
+ # groupings: ["QUEUE"], # accepts QUEUE, CHANNEL, ROUTING_PROFILE
4011
4038
  # current_metrics: [ # required
4012
4039
  # {
4013
4040
  # name: "AGENTS_ONLINE", # accepts AGENTS_ONLINE, AGENTS_AVAILABLE, AGENTS_ON_CALL, AGENTS_NON_PRODUCTIVE, AGENTS_AFTER_CONTACT_WORK, AGENTS_ERROR, AGENTS_STAFFED, CONTACTS_IN_QUEUE, OLDEST_CONTACT_AGE, CONTACTS_SCHEDULED, AGENTS_ON_CONTACT, SLOTS_ACTIVE, SLOTS_AVAILABLE
@@ -4016,6 +4043,12 @@ module Aws::Connect
4016
4043
  # ],
4017
4044
  # next_token: "NextToken",
4018
4045
  # max_results: 1,
4046
+ # sort_criteria: [
4047
+ # {
4048
+ # sort_by_metric: "AGENTS_ONLINE", # accepts AGENTS_ONLINE, AGENTS_AVAILABLE, AGENTS_ON_CALL, AGENTS_NON_PRODUCTIVE, AGENTS_AFTER_CONTACT_WORK, AGENTS_ERROR, AGENTS_STAFFED, CONTACTS_IN_QUEUE, OLDEST_CONTACT_AGE, CONTACTS_SCHEDULED, AGENTS_ON_CONTACT, SLOTS_ACTIVE, SLOTS_AVAILABLE
4049
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
4050
+ # },
4051
+ # ],
4019
4052
  # })
4020
4053
  #
4021
4054
  # @example Response structure
@@ -4025,11 +4058,14 @@ module Aws::Connect
4025
4058
  # resp.metric_results[0].dimensions.queue.id #=> String
4026
4059
  # resp.metric_results[0].dimensions.queue.arn #=> String
4027
4060
  # resp.metric_results[0].dimensions.channel #=> String, one of "VOICE", "CHAT", "TASK"
4061
+ # resp.metric_results[0].dimensions.routing_profile.id #=> String
4062
+ # resp.metric_results[0].dimensions.routing_profile.arn #=> String
4028
4063
  # resp.metric_results[0].collections #=> Array
4029
4064
  # resp.metric_results[0].collections[0].metric.name #=> String, one of "AGENTS_ONLINE", "AGENTS_AVAILABLE", "AGENTS_ON_CALL", "AGENTS_NON_PRODUCTIVE", "AGENTS_AFTER_CONTACT_WORK", "AGENTS_ERROR", "AGENTS_STAFFED", "CONTACTS_IN_QUEUE", "OLDEST_CONTACT_AGE", "CONTACTS_SCHEDULED", "AGENTS_ON_CONTACT", "SLOTS_ACTIVE", "SLOTS_AVAILABLE"
4030
4065
  # resp.metric_results[0].collections[0].metric.unit #=> String, one of "SECONDS", "COUNT", "PERCENT"
4031
4066
  # resp.metric_results[0].collections[0].value #=> Float
4032
4067
  # resp.data_snapshot_time #=> Time
4068
+ # resp.approximate_total_count #=> Integer
4033
4069
  #
4034
4070
  # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetCurrentMetricData AWS API Documentation
4035
4071
  #
@@ -4048,9 +4084,25 @@ module Aws::Connect
4048
4084
  # instanceId in the ARN of the instance.
4049
4085
  #
4050
4086
  # @option params [required, Types::UserDataFilters] :filters
4051
- # Filters up to 100 `Queues`, or up to 9 `ContactStates`. The user data
4052
- # is retrieved only for those users who are associated with the queues
4053
- # and have contacts that are in the specified `ContactState`.
4087
+ # The filters to apply to returned user data. You can filter up to the
4088
+ # following limits:
4089
+ #
4090
+ # * Queues: 100
4091
+ #
4092
+ # * Routing profiles: 100
4093
+ #
4094
+ # * Agents: 100
4095
+ #
4096
+ # * Contact states: 9
4097
+ #
4098
+ # * User hierarchy groups: 1
4099
+ #
4100
+ # The user data is retrieved for only the specified values/resources in
4101
+ # the filter. A maximum of one filter can be passed from queues, routing
4102
+ # profiles, agents, and user hierarchy groups.
4103
+ #
4104
+ # Currently tagging is only supported on the resources that are passed
4105
+ # in the filter.
4054
4106
  #
4055
4107
  # @option params [String] :next_token
4056
4108
  # The token for the next set of results. Use the value returned in the
@@ -4064,6 +4116,7 @@ module Aws::Connect
4064
4116
  #
4065
4117
  # * {Types::GetCurrentUserDataResponse#next_token #next_token} => String
4066
4118
  # * {Types::GetCurrentUserDataResponse#user_data_list #user_data_list} => Array&lt;Types::UserData&gt;
4119
+ # * {Types::GetCurrentUserDataResponse#approximate_total_count #approximate_total_count} => Integer
4067
4120
  #
4068
4121
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4069
4122
  #
@@ -4076,6 +4129,9 @@ module Aws::Connect
4076
4129
  # contact_filter: {
4077
4130
  # contact_states: ["INCOMING"], # accepts INCOMING, PENDING, CONNECTING, CONNECTED, CONNECTED_ONHOLD, MISSED, ERROR, ENDED, REJECTED
4078
4131
  # },
4132
+ # routing_profiles: ["RoutingProfileId"],
4133
+ # agents: ["UserId"],
4134
+ # user_hierarchy_groups: ["HierarchyGroupId"],
4079
4135
  # },
4080
4136
  # next_token: "NextToken",
4081
4137
  # max_results: 1,
@@ -4101,6 +4157,7 @@ module Aws::Connect
4101
4157
  # resp.user_data_list[0].hierarchy_path.level_five.arn #=> String
4102
4158
  # resp.user_data_list[0].status.status_start_timestamp #=> Time
4103
4159
  # resp.user_data_list[0].status.status_arn #=> String
4160
+ # resp.user_data_list[0].status.status_name #=> String
4104
4161
  # resp.user_data_list[0].available_slots_by_channel #=> Hash
4105
4162
  # resp.user_data_list[0].available_slots_by_channel["Channel"] #=> Integer
4106
4163
  # resp.user_data_list[0].max_slots_by_channel #=> Hash
@@ -4116,6 +4173,8 @@ module Aws::Connect
4116
4173
  # resp.user_data_list[0].contacts[0].connected_to_agent_timestamp #=> Time
4117
4174
  # resp.user_data_list[0].contacts[0].queue.id #=> String
4118
4175
  # resp.user_data_list[0].contacts[0].queue.arn #=> String
4176
+ # resp.user_data_list[0].next_status #=> String
4177
+ # resp.approximate_total_count #=> Integer
4119
4178
  #
4120
4179
  # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetCurrentUserData AWS API Documentation
4121
4180
  #
@@ -4421,8 +4480,9 @@ module Aws::Connect
4421
4480
  # filters: { # required
4422
4481
  # queues: ["QueueId"],
4423
4482
  # channels: ["VOICE"], # accepts VOICE, CHAT, TASK
4483
+ # routing_profiles: ["RoutingProfileId"],
4424
4484
  # },
4425
- # groupings: ["QUEUE"], # accepts QUEUE, CHANNEL
4485
+ # groupings: ["QUEUE"], # accepts QUEUE, CHANNEL, ROUTING_PROFILE
4426
4486
  # historical_metrics: [ # required
4427
4487
  # {
4428
4488
  # name: "CONTACTS_QUEUED", # accepts CONTACTS_QUEUED, CONTACTS_HANDLED, CONTACTS_ABANDONED, CONTACTS_CONSULTED, CONTACTS_AGENT_HUNG_UP_FIRST, CONTACTS_HANDLED_INCOMING, CONTACTS_HANDLED_OUTBOUND, CONTACTS_HOLD_ABANDONS, CONTACTS_TRANSFERRED_IN, CONTACTS_TRANSFERRED_OUT, CONTACTS_TRANSFERRED_IN_FROM_QUEUE, CONTACTS_TRANSFERRED_OUT_FROM_QUEUE, CONTACTS_MISSED, CALLBACK_CONTACTS_HANDLED, API_CONTACTS_HANDLED, OCCUPANCY, HANDLE_TIME, AFTER_CONTACT_WORK_TIME, QUEUED_TIME, ABANDON_TIME, QUEUE_ANSWER_TIME, HOLD_TIME, INTERACTION_TIME, INTERACTION_AND_HOLD_TIME, SERVICE_LEVEL
@@ -4445,6 +4505,8 @@ module Aws::Connect
4445
4505
  # resp.metric_results[0].dimensions.queue.id #=> String
4446
4506
  # resp.metric_results[0].dimensions.queue.arn #=> String
4447
4507
  # resp.metric_results[0].dimensions.channel #=> String, one of "VOICE", "CHAT", "TASK"
4508
+ # resp.metric_results[0].dimensions.routing_profile.id #=> String
4509
+ # resp.metric_results[0].dimensions.routing_profile.arn #=> String
4448
4510
  # resp.metric_results[0].collections #=> Array
4449
4511
  # resp.metric_results[0].collections[0].metric.name #=> String, one of "CONTACTS_QUEUED", "CONTACTS_HANDLED", "CONTACTS_ABANDONED", "CONTACTS_CONSULTED", "CONTACTS_AGENT_HUNG_UP_FIRST", "CONTACTS_HANDLED_INCOMING", "CONTACTS_HANDLED_OUTBOUND", "CONTACTS_HOLD_ABANDONS", "CONTACTS_TRANSFERRED_IN", "CONTACTS_TRANSFERRED_OUT", "CONTACTS_TRANSFERRED_IN_FROM_QUEUE", "CONTACTS_TRANSFERRED_OUT_FROM_QUEUE", "CONTACTS_MISSED", "CALLBACK_CONTACTS_HANDLED", "API_CONTACTS_HANDLED", "OCCUPANCY", "HANDLE_TIME", "AFTER_CONTACT_WORK_TIME", "QUEUED_TIME", "ABANDON_TIME", "QUEUE_ANSWER_TIME", "HOLD_TIME", "INTERACTION_TIME", "INTERACTION_AND_HOLD_TIME", "SERVICE_LEVEL"
4450
4512
  # resp.metric_results[0].collections[0].metric.threshold.comparison #=> String, one of "LT"
@@ -7276,8 +7338,12 @@ module Aws::Connect
7276
7338
  # 10,080 minutes (7 days).
7277
7339
  #
7278
7340
  # @option params [Array<String>] :supported_messaging_content_types
7279
- # The supported chat message content types. Content types can be
7280
- # text/plain or both text/plain and text/markdown.
7341
+ # The supported chat message content types. Content types must always
7342
+ # contain `text/plain`. You can then put any other supported type in the
7343
+ # list. For example, all the following lists are valid because they
7344
+ # contain `text/plain`\: `[text/plain, text/markdown,
7345
+ # application/json]`, `[text/markdown, text/plain]`, `[text/plain,
7346
+ # application/json]`.
7281
7347
  #
7282
7348
  # @return [Types::StartChatContactResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7283
7349
  #
@@ -8532,6 +8598,67 @@ module Aws::Connect
8532
8598
  req.send_request(options)
8533
8599
  end
8534
8600
 
8601
+ # Updates timeouts for when human chat participants are to be considered
8602
+ # idle, and when agents are automatically disconnected from a chat due
8603
+ # to idleness. You can set four timers:
8604
+ #
8605
+ # * Customer idle timeout
8606
+ #
8607
+ # * Customer auto-disconnect timeout
8608
+ #
8609
+ # * Agent idle timeout
8610
+ #
8611
+ # * Agent auto-disconnect timeout
8612
+ #
8613
+ # For more information about how chat timeouts work, see [Set up chat
8614
+ # timeouts for human participants][1].
8615
+ #
8616
+ #
8617
+ #
8618
+ # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/setup-chat-timeouts.html
8619
+ #
8620
+ # @option params [required, String] :instance_id
8621
+ # The identifier of the Amazon Connect instance. You can find the
8622
+ # instanceId in the ARN of the instance.
8623
+ #
8624
+ # @option params [required, String] :contact_id
8625
+ # The identifier of the contact in this instance of Amazon Connect.
8626
+ #
8627
+ # @option params [required, Types::UpdateParticipantRoleConfigChannelInfo] :channel_configuration
8628
+ # The Amazon Connect channel you want to configure.
8629
+ #
8630
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8631
+ #
8632
+ # @example Request syntax with placeholder values
8633
+ #
8634
+ # resp = client.update_participant_role_config({
8635
+ # instance_id: "InstanceId", # required
8636
+ # contact_id: "ContactId", # required
8637
+ # channel_configuration: { # required
8638
+ # chat: {
8639
+ # participant_timer_config_list: [ # required
8640
+ # {
8641
+ # participant_role: "CUSTOMER", # required, accepts CUSTOMER, AGENT
8642
+ # timer_type: "IDLE", # required, accepts IDLE, DISCONNECT_NONCUSTOMER
8643
+ # timer_value: { # required
8644
+ # participant_timer_action: "Unset", # accepts Unset
8645
+ # participant_timer_duration_in_minutes: 1,
8646
+ # },
8647
+ # },
8648
+ # ],
8649
+ # },
8650
+ # },
8651
+ # })
8652
+ #
8653
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateParticipantRoleConfig AWS API Documentation
8654
+ #
8655
+ # @overload update_participant_role_config(params = {})
8656
+ # @param [Hash] params ({})
8657
+ def update_participant_role_config(params = {}, options = {})
8658
+ req = build_request(:update_participant_role_config, params)
8659
+ req.send_request(options)
8660
+ end
8661
+
8535
8662
  # Updates your claimed phone number from its current Amazon Connect
8536
8663
  # instance or traffic distribution group to another Amazon Connect
8537
8664
  # instance or traffic distribution group in the same Amazon Web Services
@@ -9613,7 +9740,7 @@ module Aws::Connect
9613
9740
  params: params,
9614
9741
  config: config)
9615
9742
  context[:gem_name] = 'aws-sdk-connect'
9616
- context[:gem_version] = '1.88.0'
9743
+ context[:gem_version] = '1.90.0'
9617
9744
  Seahorse::Client::Request.new(handlers, context)
9618
9745
  end
9619
9746
 
@@ -37,6 +37,7 @@ module Aws::Connect
37
37
  AgentStatusType = Shapes::StringShape.new(name: 'AgentStatusType')
38
38
  AgentStatusTypes = Shapes::ListShape.new(name: 'AgentStatusTypes')
39
39
  AgentUsername = Shapes::StringShape.new(name: 'AgentUsername')
40
+ AgentsMinOneMaxHundred = Shapes::ListShape.new(name: 'AgentsMinOneMaxHundred')
40
41
  AliasArn = Shapes::StringShape.new(name: 'AliasArn')
41
42
  AllowedAccessControlTags = Shapes::MapShape.new(name: 'AllowedAccessControlTags')
42
43
  AllowedMonitorCapabilities = Shapes::ListShape.new(name: 'AllowedMonitorCapabilities')
@@ -78,6 +79,7 @@ module Aws::Connect
78
79
  ChatContentType = Shapes::StringShape.new(name: 'ChatContentType')
79
80
  ChatDurationInMinutes = Shapes::IntegerShape.new(name: 'ChatDurationInMinutes')
80
81
  ChatMessage = Shapes::StructureShape.new(name: 'ChatMessage')
82
+ ChatParticipantRoleConfig = Shapes::StructureShape.new(name: 'ChatParticipantRoleConfig')
81
83
  ChatStreamingConfiguration = Shapes::StructureShape.new(name: 'ChatStreamingConfiguration')
82
84
  ChatStreamingEndpointARN = Shapes::StringShape.new(name: 'ChatStreamingEndpointARN')
83
85
  ClaimPhoneNumberRequest = Shapes::StructureShape.new(name: 'ClaimPhoneNumberRequest')
@@ -159,6 +161,8 @@ module Aws::Connect
159
161
  CurrentMetricName = Shapes::StringShape.new(name: 'CurrentMetricName')
160
162
  CurrentMetricResult = Shapes::StructureShape.new(name: 'CurrentMetricResult')
161
163
  CurrentMetricResults = Shapes::ListShape.new(name: 'CurrentMetricResults')
164
+ CurrentMetricSortCriteria = Shapes::StructureShape.new(name: 'CurrentMetricSortCriteria')
165
+ CurrentMetricSortCriteriaMaxOne = Shapes::ListShape.new(name: 'CurrentMetricSortCriteriaMaxOne')
162
166
  CurrentMetrics = Shapes::ListShape.new(name: 'CurrentMetrics')
163
167
  DateReference = Shapes::StructureShape.new(name: 'DateReference')
164
168
  DefaultVocabulary = Shapes::StructureShape.new(name: 'DefaultVocabulary')
@@ -442,6 +446,12 @@ module Aws::Connect
442
446
  PEM = Shapes::StringShape.new(name: 'PEM')
443
447
  ParticipantDetails = Shapes::StructureShape.new(name: 'ParticipantDetails')
444
448
  ParticipantId = Shapes::StringShape.new(name: 'ParticipantId')
449
+ ParticipantTimerAction = Shapes::StringShape.new(name: 'ParticipantTimerAction')
450
+ ParticipantTimerConfigList = Shapes::ListShape.new(name: 'ParticipantTimerConfigList')
451
+ ParticipantTimerConfiguration = Shapes::StructureShape.new(name: 'ParticipantTimerConfiguration')
452
+ ParticipantTimerDurationInMinutes = Shapes::IntegerShape.new(name: 'ParticipantTimerDurationInMinutes')
453
+ ParticipantTimerType = Shapes::StringShape.new(name: 'ParticipantTimerType')
454
+ ParticipantTimerValue = Shapes::UnionShape.new(name: 'ParticipantTimerValue')
445
455
  ParticipantToken = Shapes::StringShape.new(name: 'ParticipantToken')
446
456
  Password = Shapes::StringShape.new(name: 'Password')
447
457
  Percentage = Shapes::IntegerShape.new(name: 'Percentage')
@@ -543,6 +553,7 @@ module Aws::Connect
543
553
  RoutingProfileSearchFilter = Shapes::StructureShape.new(name: 'RoutingProfileSearchFilter')
544
554
  RoutingProfileSummary = Shapes::StructureShape.new(name: 'RoutingProfileSummary')
545
555
  RoutingProfileSummaryList = Shapes::ListShape.new(name: 'RoutingProfileSummaryList')
556
+ RoutingProfiles = Shapes::ListShape.new(name: 'RoutingProfiles')
546
557
  Rule = Shapes::StructureShape.new(name: 'Rule')
547
558
  RuleAction = Shapes::StructureShape.new(name: 'RuleAction')
548
559
  RuleActions = Shapes::ListShape.new(name: 'RuleActions')
@@ -589,6 +600,7 @@ module Aws::Connect
589
600
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
590
601
  SingleSelectOptions = Shapes::ListShape.new(name: 'SingleSelectOptions')
591
602
  SnapshotVersion = Shapes::StringShape.new(name: 'SnapshotVersion')
603
+ SortOrder = Shapes::StringShape.new(name: 'SortOrder')
592
604
  SourceApplicationName = Shapes::StringShape.new(name: 'SourceApplicationName')
593
605
  SourceType = Shapes::StringShape.new(name: 'SourceType')
594
606
  StartChatContactRequest = Shapes::StructureShape.new(name: 'StartChatContactRequest')
@@ -656,6 +668,7 @@ module Aws::Connect
656
668
  ThresholdValue = Shapes::FloatShape.new(name: 'ThresholdValue')
657
669
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
658
670
  TimeZone = Shapes::StringShape.new(name: 'TimeZone')
671
+ TimerEligibleParticipantRoles = Shapes::StringShape.new(name: 'TimerEligibleParticipantRoles')
659
672
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
660
673
  TrafficDistributionGroup = Shapes::StructureShape.new(name: 'TrafficDistributionGroup')
661
674
  TrafficDistributionGroupArn = Shapes::StringShape.new(name: 'TrafficDistributionGroupArn')
@@ -689,6 +702,9 @@ module Aws::Connect
689
702
  UpdateHoursOfOperationRequest = Shapes::StructureShape.new(name: 'UpdateHoursOfOperationRequest')
690
703
  UpdateInstanceAttributeRequest = Shapes::StructureShape.new(name: 'UpdateInstanceAttributeRequest')
691
704
  UpdateInstanceStorageConfigRequest = Shapes::StructureShape.new(name: 'UpdateInstanceStorageConfigRequest')
705
+ UpdateParticipantRoleConfigChannelInfo = Shapes::UnionShape.new(name: 'UpdateParticipantRoleConfigChannelInfo')
706
+ UpdateParticipantRoleConfigRequest = Shapes::StructureShape.new(name: 'UpdateParticipantRoleConfigRequest')
707
+ UpdateParticipantRoleConfigResponse = Shapes::StructureShape.new(name: 'UpdateParticipantRoleConfigResponse')
692
708
  UpdatePhoneNumberRequest = Shapes::StructureShape.new(name: 'UpdatePhoneNumberRequest')
693
709
  UpdatePhoneNumberResponse = Shapes::StructureShape.new(name: 'UpdatePhoneNumberResponse')
694
710
  UpdateQueueHoursOfOperationRequest = Shapes::StructureShape.new(name: 'UpdateQueueHoursOfOperationRequest')
@@ -725,6 +741,7 @@ module Aws::Connect
725
741
  User = Shapes::StructureShape.new(name: 'User')
726
742
  UserData = Shapes::StructureShape.new(name: 'UserData')
727
743
  UserDataFilters = Shapes::StructureShape.new(name: 'UserDataFilters')
744
+ UserDataHierarchyGroups = Shapes::ListShape.new(name: 'UserDataHierarchyGroups')
728
745
  UserDataList = Shapes::ListShape.new(name: 'UserDataList')
729
746
  UserId = Shapes::StringShape.new(name: 'UserId')
730
747
  UserIdList = Shapes::ListShape.new(name: 'UserIdList')
@@ -793,6 +810,7 @@ module Aws::Connect
793
810
 
794
811
  AgentStatusReference.add_member(:status_start_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "StatusStartTimestamp"))
795
812
  AgentStatusReference.add_member(:status_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "StatusArn"))
813
+ AgentStatusReference.add_member(:status_name, Shapes::ShapeRef.new(shape: AgentStatusName, location_name: "StatusName"))
796
814
  AgentStatusReference.struct_class = Types::AgentStatusReference
797
815
 
798
816
  AgentStatusSummary.add_member(:id, Shapes::ShapeRef.new(shape: AgentStatusId, location_name: "Id"))
@@ -805,6 +823,8 @@ module Aws::Connect
805
823
 
806
824
  AgentStatusTypes.member = Shapes::ShapeRef.new(shape: AgentStatusType)
807
825
 
826
+ AgentsMinOneMaxHundred.member = Shapes::ShapeRef.new(shape: UserId)
827
+
808
828
  AllowedAccessControlTags.key = Shapes::ShapeRef.new(shape: SecurityProfilePolicyKey)
809
829
  AllowedAccessControlTags.value = Shapes::ShapeRef.new(shape: SecurityProfilePolicyValue)
810
830
 
@@ -900,6 +920,9 @@ module Aws::Connect
900
920
  ChatMessage.add_member(:content, Shapes::ShapeRef.new(shape: ChatContent, required: true, location_name: "Content"))
901
921
  ChatMessage.struct_class = Types::ChatMessage
902
922
 
923
+ ChatParticipantRoleConfig.add_member(:participant_timer_config_list, Shapes::ShapeRef.new(shape: ParticipantTimerConfigList, required: true, location_name: "ParticipantTimerConfigList"))
924
+ ChatParticipantRoleConfig.struct_class = Types::ChatParticipantRoleConfig
925
+
903
926
  ChatStreamingConfiguration.add_member(:streaming_endpoint_arn, Shapes::ShapeRef.new(shape: ChatStreamingEndpointARN, required: true, location_name: "StreamingEndpointArn"))
904
927
  ChatStreamingConfiguration.struct_class = Types::ChatStreamingConfiguration
905
928
 
@@ -1233,6 +1256,12 @@ module Aws::Connect
1233
1256
 
1234
1257
  CurrentMetricResults.member = Shapes::ShapeRef.new(shape: CurrentMetricResult)
1235
1258
 
1259
+ CurrentMetricSortCriteria.add_member(:sort_by_metric, Shapes::ShapeRef.new(shape: CurrentMetricName, location_name: "SortByMetric"))
1260
+ CurrentMetricSortCriteria.add_member(:sort_order, Shapes::ShapeRef.new(shape: SortOrder, location_name: "SortOrder"))
1261
+ CurrentMetricSortCriteria.struct_class = Types::CurrentMetricSortCriteria
1262
+
1263
+ CurrentMetricSortCriteriaMaxOne.member = Shapes::ShapeRef.new(shape: CurrentMetricSortCriteria)
1264
+
1236
1265
  CurrentMetrics.member = Shapes::ShapeRef.new(shape: CurrentMetric)
1237
1266
 
1238
1267
  DateReference.add_member(:name, Shapes::ShapeRef.new(shape: ReferenceKey, location_name: "Name"))
@@ -1448,6 +1477,7 @@ module Aws::Connect
1448
1477
 
1449
1478
  Dimensions.add_member(:queue, Shapes::ShapeRef.new(shape: QueueReference, location_name: "Queue"))
1450
1479
  Dimensions.add_member(:channel, Shapes::ShapeRef.new(shape: Channel, location_name: "Channel"))
1480
+ Dimensions.add_member(:routing_profile, Shapes::ShapeRef.new(shape: RoutingProfileReference, location_name: "RoutingProfile"))
1451
1481
  Dimensions.struct_class = Types::Dimensions
1452
1482
 
1453
1483
  DisassociateApprovedOriginRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location: "uri", location_name: "InstanceId"))
@@ -1520,6 +1550,7 @@ module Aws::Connect
1520
1550
 
1521
1551
  Filters.add_member(:queues, Shapes::ShapeRef.new(shape: Queues, location_name: "Queues"))
1522
1552
  Filters.add_member(:channels, Shapes::ShapeRef.new(shape: Channels, location_name: "Channels"))
1553
+ Filters.add_member(:routing_profiles, Shapes::ShapeRef.new(shape: RoutingProfiles, location_name: "RoutingProfiles"))
1523
1554
  Filters.struct_class = Types::Filters
1524
1555
 
1525
1556
  FunctionArnsList.member = Shapes::ShapeRef.new(shape: FunctionArn)
@@ -1537,11 +1568,13 @@ module Aws::Connect
1537
1568
  GetCurrentMetricDataRequest.add_member(:current_metrics, Shapes::ShapeRef.new(shape: CurrentMetrics, required: true, location_name: "CurrentMetrics"))
1538
1569
  GetCurrentMetricDataRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
1539
1570
  GetCurrentMetricDataRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResult100, location_name: "MaxResults", metadata: {"box"=>true}))
1571
+ GetCurrentMetricDataRequest.add_member(:sort_criteria, Shapes::ShapeRef.new(shape: CurrentMetricSortCriteriaMaxOne, location_name: "SortCriteria"))
1540
1572
  GetCurrentMetricDataRequest.struct_class = Types::GetCurrentMetricDataRequest
1541
1573
 
1542
1574
  GetCurrentMetricDataResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
1543
1575
  GetCurrentMetricDataResponse.add_member(:metric_results, Shapes::ShapeRef.new(shape: CurrentMetricResults, location_name: "MetricResults"))
1544
1576
  GetCurrentMetricDataResponse.add_member(:data_snapshot_time, Shapes::ShapeRef.new(shape: timestamp, location_name: "DataSnapshotTime"))
1577
+ GetCurrentMetricDataResponse.add_member(:approximate_total_count, Shapes::ShapeRef.new(shape: ApproximateTotalCount, location_name: "ApproximateTotalCount"))
1545
1578
  GetCurrentMetricDataResponse.struct_class = Types::GetCurrentMetricDataResponse
1546
1579
 
1547
1580
  GetCurrentUserDataRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location: "uri", location_name: "InstanceId"))
@@ -1552,6 +1585,7 @@ module Aws::Connect
1552
1585
 
1553
1586
  GetCurrentUserDataResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
1554
1587
  GetCurrentUserDataResponse.add_member(:user_data_list, Shapes::ShapeRef.new(shape: UserDataList, location_name: "UserDataList"))
1588
+ GetCurrentUserDataResponse.add_member(:approximate_total_count, Shapes::ShapeRef.new(shape: ApproximateTotalCount, location_name: "ApproximateTotalCount"))
1555
1589
  GetCurrentUserDataResponse.struct_class = Types::GetCurrentUserDataResponse
1556
1590
 
1557
1591
  GetFederationTokenRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location: "uri", location_name: "InstanceId"))
@@ -2170,6 +2204,21 @@ module Aws::Connect
2170
2204
  ParticipantDetails.add_member(:display_name, Shapes::ShapeRef.new(shape: DisplayName, required: true, location_name: "DisplayName"))
2171
2205
  ParticipantDetails.struct_class = Types::ParticipantDetails
2172
2206
 
2207
+ ParticipantTimerConfigList.member = Shapes::ShapeRef.new(shape: ParticipantTimerConfiguration)
2208
+
2209
+ ParticipantTimerConfiguration.add_member(:participant_role, Shapes::ShapeRef.new(shape: TimerEligibleParticipantRoles, required: true, location_name: "ParticipantRole"))
2210
+ ParticipantTimerConfiguration.add_member(:timer_type, Shapes::ShapeRef.new(shape: ParticipantTimerType, required: true, location_name: "TimerType"))
2211
+ ParticipantTimerConfiguration.add_member(:timer_value, Shapes::ShapeRef.new(shape: ParticipantTimerValue, required: true, location_name: "TimerValue"))
2212
+ ParticipantTimerConfiguration.struct_class = Types::ParticipantTimerConfiguration
2213
+
2214
+ ParticipantTimerValue.add_member(:participant_timer_action, Shapes::ShapeRef.new(shape: ParticipantTimerAction, location_name: "ParticipantTimerAction"))
2215
+ ParticipantTimerValue.add_member(:participant_timer_duration_in_minutes, Shapes::ShapeRef.new(shape: ParticipantTimerDurationInMinutes, location_name: "ParticipantTimerDurationInMinutes"))
2216
+ ParticipantTimerValue.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
2217
+ ParticipantTimerValue.add_member_subclass(:participant_timer_action, Types::ParticipantTimerValue::ParticipantTimerAction)
2218
+ ParticipantTimerValue.add_member_subclass(:participant_timer_duration_in_minutes, Types::ParticipantTimerValue::ParticipantTimerDurationInMinutes)
2219
+ ParticipantTimerValue.add_member_subclass(:unknown, Types::ParticipantTimerValue::Unknown)
2220
+ ParticipantTimerValue.struct_class = Types::ParticipantTimerValue
2221
+
2173
2222
  PermissionsList.member = Shapes::ShapeRef.new(shape: SecurityProfilePermission)
2174
2223
 
2175
2224
  PhoneNumberCountryCodes.member = Shapes::ShapeRef.new(shape: PhoneNumberCountryCode)
@@ -2423,6 +2472,8 @@ module Aws::Connect
2423
2472
 
2424
2473
  RoutingProfileSummaryList.member = Shapes::ShapeRef.new(shape: RoutingProfileSummary)
2425
2474
 
2475
+ RoutingProfiles.member = Shapes::ShapeRef.new(shape: RoutingProfileId)
2476
+
2426
2477
  Rule.add_member(:name, Shapes::ShapeRef.new(shape: RuleName, required: true, location_name: "Name"))
2427
2478
  Rule.add_member(:rule_id, Shapes::ShapeRef.new(shape: RuleId, required: true, location_name: "RuleId"))
2428
2479
  Rule.add_member(:rule_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "RuleArn"))
@@ -2887,6 +2938,19 @@ module Aws::Connect
2887
2938
  UpdateInstanceStorageConfigRequest.add_member(:storage_config, Shapes::ShapeRef.new(shape: InstanceStorageConfig, required: true, location_name: "StorageConfig"))
2888
2939
  UpdateInstanceStorageConfigRequest.struct_class = Types::UpdateInstanceStorageConfigRequest
2889
2940
 
2941
+ UpdateParticipantRoleConfigChannelInfo.add_member(:chat, Shapes::ShapeRef.new(shape: ChatParticipantRoleConfig, location_name: "Chat"))
2942
+ UpdateParticipantRoleConfigChannelInfo.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
2943
+ UpdateParticipantRoleConfigChannelInfo.add_member_subclass(:chat, Types::UpdateParticipantRoleConfigChannelInfo::Chat)
2944
+ UpdateParticipantRoleConfigChannelInfo.add_member_subclass(:unknown, Types::UpdateParticipantRoleConfigChannelInfo::Unknown)
2945
+ UpdateParticipantRoleConfigChannelInfo.struct_class = Types::UpdateParticipantRoleConfigChannelInfo
2946
+
2947
+ UpdateParticipantRoleConfigRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location: "uri", location_name: "InstanceId"))
2948
+ UpdateParticipantRoleConfigRequest.add_member(:contact_id, Shapes::ShapeRef.new(shape: ContactId, required: true, location: "uri", location_name: "ContactId"))
2949
+ UpdateParticipantRoleConfigRequest.add_member(:channel_configuration, Shapes::ShapeRef.new(shape: UpdateParticipantRoleConfigChannelInfo, required: true, location_name: "ChannelConfiguration"))
2950
+ UpdateParticipantRoleConfigRequest.struct_class = Types::UpdateParticipantRoleConfigRequest
2951
+
2952
+ UpdateParticipantRoleConfigResponse.struct_class = Types::UpdateParticipantRoleConfigResponse
2953
+
2890
2954
  UpdatePhoneNumberRequest.add_member(:phone_number_id, Shapes::ShapeRef.new(shape: PhoneNumberId, required: true, location: "uri", location_name: "PhoneNumberId"))
2891
2955
  UpdatePhoneNumberRequest.add_member(:target_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "TargetArn"))
2892
2956
  UpdatePhoneNumberRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
@@ -3066,12 +3130,18 @@ module Aws::Connect
3066
3130
  UserData.add_member(:max_slots_by_channel, Shapes::ShapeRef.new(shape: ChannelToCountMap, location_name: "MaxSlotsByChannel"))
3067
3131
  UserData.add_member(:active_slots_by_channel, Shapes::ShapeRef.new(shape: ChannelToCountMap, location_name: "ActiveSlotsByChannel"))
3068
3132
  UserData.add_member(:contacts, Shapes::ShapeRef.new(shape: AgentContactReferenceList, location_name: "Contacts"))
3133
+ UserData.add_member(:next_status, Shapes::ShapeRef.new(shape: AgentStatusName, location_name: "NextStatus"))
3069
3134
  UserData.struct_class = Types::UserData
3070
3135
 
3071
3136
  UserDataFilters.add_member(:queues, Shapes::ShapeRef.new(shape: Queues, location_name: "Queues"))
3072
3137
  UserDataFilters.add_member(:contact_filter, Shapes::ShapeRef.new(shape: ContactFilter, location_name: "ContactFilter"))
3138
+ UserDataFilters.add_member(:routing_profiles, Shapes::ShapeRef.new(shape: RoutingProfiles, location_name: "RoutingProfiles"))
3139
+ UserDataFilters.add_member(:agents, Shapes::ShapeRef.new(shape: AgentsMinOneMaxHundred, location_name: "Agents"))
3140
+ UserDataFilters.add_member(:user_hierarchy_groups, Shapes::ShapeRef.new(shape: UserDataHierarchyGroups, location_name: "UserHierarchyGroups"))
3073
3141
  UserDataFilters.struct_class = Types::UserDataFilters
3074
3142
 
3143
+ UserDataHierarchyGroups.member = Shapes::ShapeRef.new(shape: HierarchyGroupId)
3144
+
3075
3145
  UserDataList.member = Shapes::ShapeRef.new(shape: UserData)
3076
3146
 
3077
3147
  UserIdList.member = Shapes::ShapeRef.new(shape: UserId)
@@ -5358,6 +5428,20 @@ module Aws::Connect
5358
5428
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5359
5429
  end)
5360
5430
 
5431
+ api.add_operation(:update_participant_role_config, Seahorse::Model::Operation.new.tap do |o|
5432
+ o.name = "UpdateParticipantRoleConfig"
5433
+ o.http_method = "PUT"
5434
+ o.http_request_uri = "/contact/participant-role-config/{InstanceId}/{ContactId}"
5435
+ o.input = Shapes::ShapeRef.new(shape: UpdateParticipantRoleConfigRequest)
5436
+ o.output = Shapes::ShapeRef.new(shape: UpdateParticipantRoleConfigResponse)
5437
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
5438
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
5439
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
5440
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
5441
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
5442
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
5443
+ end)
5444
+
5361
5445
  api.add_operation(:update_phone_number, Seahorse::Model::Operation.new.tap do |o|
5362
5446
  o.name = "UpdatePhoneNumber"
5363
5447
  o.http_method = "PUT"
@@ -2041,6 +2041,20 @@ module Aws::Connect
2041
2041
  end
2042
2042
  end
2043
2043
 
2044
+ class UpdateParticipantRoleConfig
2045
+ def self.build(context)
2046
+ unless context.config.regional_endpoint
2047
+ endpoint = context.config.endpoint.to_s
2048
+ end
2049
+ Aws::Connect::EndpointParameters.new(
2050
+ region: context.config.region,
2051
+ use_dual_stack: context.config.use_dualstack_endpoint,
2052
+ use_fips: context.config.use_fips_endpoint,
2053
+ endpoint: endpoint,
2054
+ )
2055
+ end
2056
+ end
2057
+
2044
2058
  class UpdatePhoneNumber
2045
2059
  def self.build(context)
2046
2060
  unless context.config.regional_endpoint
@@ -346,6 +346,8 @@ module Aws::Connect
346
346
  Aws::Connect::Endpoints::UpdateInstanceAttribute.build(context)
347
347
  when :update_instance_storage_config
348
348
  Aws::Connect::Endpoints::UpdateInstanceStorageConfig.build(context)
349
+ when :update_participant_role_config
350
+ Aws::Connect::Endpoints::UpdateParticipantRoleConfig.build(context)
349
351
  when :update_phone_number
350
352
  Aws::Connect::Endpoints::UpdatePhoneNumber.build(context)
351
353
  when :update_queue_hours_of_operation
@@ -170,11 +170,16 @@ module Aws::Connect
170
170
  # The Amazon Resource Name (ARN) of the agent's status.
171
171
  # @return [String]
172
172
  #
173
+ # @!attribute [rw] status_name
174
+ # The name of the agent status.
175
+ # @return [String]
176
+ #
173
177
  # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AgentStatusReference AWS API Documentation
174
178
  #
175
179
  class AgentStatusReference < Struct.new(
176
180
  :status_start_timestamp,
177
- :status_arn)
181
+ :status_arn,
182
+ :status_name)
178
183
  SENSITIVE = []
179
184
  include Aws::Structure
180
185
  end
@@ -562,11 +567,18 @@ module Aws::Connect
562
567
  # A chat message.
563
568
  #
564
569
  # @!attribute [rw] content_type
565
- # The type of the content. Supported types are `text/plain`.
570
+ # The type of the content. Supported types are `text/plain`,
571
+ # `text/markdown`, and `application/json`.
566
572
  # @return [String]
567
573
  #
568
574
  # @!attribute [rw] content
569
575
  # The content of the chat message.
576
+ #
577
+ # * For `text/plain` and `text/markdown`, the Length Constraints are
578
+ # Minimum of 1, Maximum of 1024.
579
+ #
580
+ # * For `application/json`, the Length Constraints are Minimum of 1,
581
+ # Maximum of 12000.
570
582
  # @return [String]
571
583
  #
572
584
  # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ChatMessage AWS API Documentation
@@ -578,6 +590,22 @@ module Aws::Connect
578
590
  include Aws::Structure
579
591
  end
580
592
 
593
+ # Configuration information for the chat participant role.
594
+ #
595
+ # @!attribute [rw] participant_timer_config_list
596
+ # A list of participant timers. You can specify any unique combination
597
+ # of role and timer type. Duplicate entries error out the request with
598
+ # a 400.
599
+ # @return [Array<Types::ParticipantTimerConfiguration>]
600
+ #
601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ChatParticipantRoleConfig AWS API Documentation
602
+ #
603
+ class ChatParticipantRoleConfig < Struct.new(
604
+ :participant_timer_config_list)
605
+ SENSITIVE = []
606
+ include Aws::Structure
607
+ end
608
+
581
609
  # The streaming configuration, such as the Amazon SNS streaming
582
610
  # endpoint.
583
611
  #
@@ -2321,6 +2349,27 @@ module Aws::Connect
2321
2349
  include Aws::Structure
2322
2350
  end
2323
2351
 
2352
+ # The way to sort the resulting response based on metrics. By default
2353
+ # resources are sorted based on `AGENTS_ONLINE`, `DESCENDING`. The
2354
+ # metric collection is sorted based on the input metrics.
2355
+ #
2356
+ # @!attribute [rw] sort_by_metric
2357
+ # The current metric names.
2358
+ # @return [String]
2359
+ #
2360
+ # @!attribute [rw] sort_order
2361
+ # The way to sort.
2362
+ # @return [String]
2363
+ #
2364
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CurrentMetricSortCriteria AWS API Documentation
2365
+ #
2366
+ class CurrentMetricSortCriteria < Struct.new(
2367
+ :sort_by_metric,
2368
+ :sort_order)
2369
+ SENSITIVE = []
2370
+ include Aws::Structure
2371
+ end
2372
+
2324
2373
  # Information about a reference when the `referenceType` is `DATE`.
2325
2374
  # Otherwise, null.
2326
2375
  #
@@ -3244,11 +3293,16 @@ module Aws::Connect
3244
3293
  # The channel used for grouping and filters.
3245
3294
  # @return [String]
3246
3295
  #
3296
+ # @!attribute [rw] routing_profile
3297
+ # Information about the routing profile assigned to the user.
3298
+ # @return [Types::RoutingProfileReference]
3299
+ #
3247
3300
  # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/Dimensions AWS API Documentation
3248
3301
  #
3249
3302
  class Dimensions < Struct.new(
3250
3303
  :queue,
3251
- :channel)
3304
+ :channel,
3305
+ :routing_profile)
3252
3306
  SENSITIVE = []
3253
3307
  include Aws::Structure
3254
3308
  end
@@ -3575,11 +3629,16 @@ module Aws::Connect
3575
3629
  # The channel to use to filter the metrics.
3576
3630
  # @return [Array<String>]
3577
3631
  #
3632
+ # @!attribute [rw] routing_profiles
3633
+ # A list of up to 100 routing profile IDs or ARNs.
3634
+ # @return [Array<String>]
3635
+ #
3578
3636
  # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/Filters AWS API Documentation
3579
3637
  #
3580
3638
  class Filters < Struct.new(
3581
3639
  :queues,
3582
- :channels)
3640
+ :channels,
3641
+ :routing_profiles)
3583
3642
  SENSITIVE = []
3584
3643
  include Aws::Structure
3585
3644
  end
@@ -3619,11 +3678,22 @@ module Aws::Connect
3619
3678
  # @return [String]
3620
3679
  #
3621
3680
  # @!attribute [rw] filters
3622
- # The queues, up to 100, or channels, to use to filter the metrics
3623
- # returned. Metric data is retrieved only for the resources associated
3624
- # with the queues or channels included in the filter. You can include
3625
- # both queue IDs and queue ARNs in the same request. VOICE, CHAT, and
3626
- # TASK channels are supported.
3681
+ # The filters to apply to returned metrics. You can filter up to the
3682
+ # following limits:
3683
+ #
3684
+ # * Queues: 100
3685
+ #
3686
+ # * Routing profiles: 100
3687
+ #
3688
+ # * Channels: 3 (VOICE, CHAT, and TASK channels are supported.)
3689
+ #
3690
+ # Metric data is retrieved only for the resources associated with the
3691
+ # queues or routing profiles, and by any channels included in the
3692
+ # filter. (You cannot filter by both queue AND routing profile.) You
3693
+ # can include both resource IDs and resource ARNs in the same request.
3694
+ #
3695
+ # Currently tagging is only supported on the resources that are passed
3696
+ # in the filter.
3627
3697
  # @return [Types::Filters]
3628
3698
  #
3629
3699
  # @!attribute [rw] groupings
@@ -3635,7 +3705,9 @@ module Aws::Connect
3635
3705
  # VOICE, CHAT, and TASK channels are supported.
3636
3706
  #
3637
3707
  # * If you group by `ROUTING_PROFILE`, you must include either a queue
3638
- # or routing profile filter.
3708
+ # or routing profile filter. In addition, a routing profile filter
3709
+ # is required for metrics `CONTACTS_SCHEDULED`, `CONTACTS_IN_QUEUE`,
3710
+ # and ` OLDEST_CONTACT_AGE`.
3639
3711
  #
3640
3712
  # * If no `Grouping` is included in the request, a summary of metrics
3641
3713
  # is returned.
@@ -3768,6 +3840,19 @@ module Aws::Connect
3768
3840
  # The maximum number of results to return per page.
3769
3841
  # @return [Integer]
3770
3842
  #
3843
+ # @!attribute [rw] sort_criteria
3844
+ # The way to sort the resulting response based on metrics. You can
3845
+ # enter one sort criteria. By default resources are sorted based on
3846
+ # `AGENTS_ONLINE`, `DESCENDING`. The metric collection is sorted based
3847
+ # on the input metrics.
3848
+ #
3849
+ # Note the following:
3850
+ #
3851
+ # * Sorting on `SLOTS_ACTIVE` and `SLOTS_AVAILABLE` is not supported.
3852
+ #
3853
+ # ^
3854
+ # @return [Array<Types::CurrentMetricSortCriteria>]
3855
+ #
3771
3856
  # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetCurrentMetricDataRequest AWS API Documentation
3772
3857
  #
3773
3858
  class GetCurrentMetricDataRequest < Struct.new(
@@ -3776,7 +3861,8 @@ module Aws::Connect
3776
3861
  :groupings,
3777
3862
  :current_metrics,
3778
3863
  :next_token,
3779
- :max_results)
3864
+ :max_results,
3865
+ :sort_criteria)
3780
3866
  SENSITIVE = []
3781
3867
  include Aws::Structure
3782
3868
  end
@@ -3799,12 +3885,17 @@ module Aws::Connect
3799
3885
  # pagination.
3800
3886
  # @return [Time]
3801
3887
  #
3888
+ # @!attribute [rw] approximate_total_count
3889
+ # The total count of the result, regardless of the current page size.
3890
+ # @return [Integer]
3891
+ #
3802
3892
  # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetCurrentMetricDataResponse AWS API Documentation
3803
3893
  #
3804
3894
  class GetCurrentMetricDataResponse < Struct.new(
3805
3895
  :next_token,
3806
3896
  :metric_results,
3807
- :data_snapshot_time)
3897
+ :data_snapshot_time,
3898
+ :approximate_total_count)
3808
3899
  SENSITIVE = []
3809
3900
  include Aws::Structure
3810
3901
  end
@@ -3815,9 +3906,25 @@ module Aws::Connect
3815
3906
  # @return [String]
3816
3907
  #
3817
3908
  # @!attribute [rw] filters
3818
- # Filters up to 100 `Queues`, or up to 9 `ContactStates`. The user
3819
- # data is retrieved only for those users who are associated with the
3820
- # queues and have contacts that are in the specified `ContactState`.
3909
+ # The filters to apply to returned user data. You can filter up to the
3910
+ # following limits:
3911
+ #
3912
+ # * Queues: 100
3913
+ #
3914
+ # * Routing profiles: 100
3915
+ #
3916
+ # * Agents: 100
3917
+ #
3918
+ # * Contact states: 9
3919
+ #
3920
+ # * User hierarchy groups: 1
3921
+ #
3922
+ # The user data is retrieved for only the specified values/resources
3923
+ # in the filter. A maximum of one filter can be passed from queues,
3924
+ # routing profiles, agents, and user hierarchy groups.
3925
+ #
3926
+ # Currently tagging is only supported on the resources that are passed
3927
+ # in the filter.
3821
3928
  # @return [Types::UserDataFilters]
3822
3929
  #
3823
3930
  # @!attribute [rw] next_token
@@ -3850,11 +3957,16 @@ module Aws::Connect
3850
3957
  # A list of the user data that is returned.
3851
3958
  # @return [Array<Types::UserData>]
3852
3959
  #
3960
+ # @!attribute [rw] approximate_total_count
3961
+ # The total count of the result, regardless of the current page size.
3962
+ # @return [Integer]
3963
+ #
3853
3964
  # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetCurrentUserDataResponse AWS API Documentation
3854
3965
  #
3855
3966
  class GetCurrentUserDataResponse < Struct.new(
3856
3967
  :next_token,
3857
- :user_data_list)
3968
+ :user_data_list,
3969
+ :approximate_total_count)
3858
3970
  SENSITIVE = []
3859
3971
  include Aws::Structure
3860
3972
  end
@@ -6958,6 +7070,81 @@ module Aws::Connect
6958
7070
  include Aws::Structure
6959
7071
  end
6960
7072
 
7073
+ # Configuration information for the timer. After the timer configuration
7074
+ # is set, it persists for the duration of the chat. It persists across
7075
+ # new contacts in the chain, for example, transfer contacts.
7076
+ #
7077
+ # For more information about how chat timeouts work, see [Set up chat
7078
+ # timeouts for human participants][1].
7079
+ #
7080
+ #
7081
+ #
7082
+ # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/setup-chat-timeouts.html
7083
+ #
7084
+ # @!attribute [rw] participant_role
7085
+ # The role of the participant in the chat conversation.
7086
+ # @return [String]
7087
+ #
7088
+ # @!attribute [rw] timer_type
7089
+ # The type of timer. `IDLE` indicates the timer applies for
7090
+ # considering a human chat participant as idle.
7091
+ # `DISCONNECT_NONCUSTOMER` indicates the timer applies to
7092
+ # automatically disconnecting a chat participant due to idleness.
7093
+ # @return [String]
7094
+ #
7095
+ # @!attribute [rw] timer_value
7096
+ # The value of the timer. Either the timer action (Unset to delete the
7097
+ # timer), or the duration of the timer in minutes. Only one value can
7098
+ # be set.
7099
+ # @return [Types::ParticipantTimerValue]
7100
+ #
7101
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ParticipantTimerConfiguration AWS API Documentation
7102
+ #
7103
+ class ParticipantTimerConfiguration < Struct.new(
7104
+ :participant_role,
7105
+ :timer_type,
7106
+ :timer_value)
7107
+ SENSITIVE = []
7108
+ include Aws::Structure
7109
+ end
7110
+
7111
+ # The value of the timer. Either the timer action (`Unset` to delete the
7112
+ # timer), or the duration of the timer in minutes. Only one value can be
7113
+ # set.
7114
+ #
7115
+ # For more information about how chat timeouts work, see [Set up chat
7116
+ # timeouts for human participants][1].
7117
+ #
7118
+ #
7119
+ #
7120
+ # [1]: https://docs.aws.amazon.com/connect/latest/adminguide/setup-chat-timeouts.html
7121
+ #
7122
+ # @note ParticipantTimerValue is a union - when making an API calls you must set exactly one of the members.
7123
+ #
7124
+ # @!attribute [rw] participant_timer_action
7125
+ # The timer action. Currently only one value is allowed: `Unset`. It
7126
+ # deletes a timer.
7127
+ # @return [String]
7128
+ #
7129
+ # @!attribute [rw] participant_timer_duration_in_minutes
7130
+ # The duration of a timer, in minutes.
7131
+ # @return [Integer]
7132
+ #
7133
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ParticipantTimerValue AWS API Documentation
7134
+ #
7135
+ class ParticipantTimerValue < Struct.new(
7136
+ :participant_timer_action,
7137
+ :participant_timer_duration_in_minutes,
7138
+ :unknown)
7139
+ SENSITIVE = []
7140
+ include Aws::Structure
7141
+ include Aws::Structure::Union
7142
+
7143
+ class ParticipantTimerAction < ParticipantTimerValue; end
7144
+ class ParticipantTimerDurationInMinutes < ParticipantTimerValue; end
7145
+ class Unknown < ParticipantTimerValue; end
7146
+ end
7147
+
6961
7148
  # Contains information about a phone number for a quick connect.
6962
7149
  #
6963
7150
  # @!attribute [rw] phone_number
@@ -8942,8 +9129,12 @@ module Aws::Connect
8942
9129
  # @return [Integer]
8943
9130
  #
8944
9131
  # @!attribute [rw] supported_messaging_content_types
8945
- # The supported chat message content types. Content types can be
8946
- # text/plain or both text/plain and text/markdown.
9132
+ # The supported chat message content types. Content types must always
9133
+ # contain `text/plain`. You can then put any other supported type in
9134
+ # the list. For example, all the following lists are valid because
9135
+ # they contain `text/plain`\: `[text/plain, text/markdown,
9136
+ # application/json]`, `[text/markdown, text/plain]`, `[text/plain,
9137
+ # application/json]`.
8947
9138
  # @return [Array<String>]
8948
9139
  #
8949
9140
  # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartChatContactRequest AWS API Documentation
@@ -10326,6 +10517,54 @@ module Aws::Connect
10326
10517
  include Aws::Structure
10327
10518
  end
10328
10519
 
10520
+ # Configuration information for the chat participant role.
10521
+ #
10522
+ # @note UpdateParticipantRoleConfigChannelInfo is a union - when making an API calls you must set exactly one of the members.
10523
+ #
10524
+ # @!attribute [rw] chat
10525
+ # Configuration information for the chat participant role.
10526
+ # @return [Types::ChatParticipantRoleConfig]
10527
+ #
10528
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateParticipantRoleConfigChannelInfo AWS API Documentation
10529
+ #
10530
+ class UpdateParticipantRoleConfigChannelInfo < Struct.new(
10531
+ :chat,
10532
+ :unknown)
10533
+ SENSITIVE = []
10534
+ include Aws::Structure
10535
+ include Aws::Structure::Union
10536
+
10537
+ class Chat < UpdateParticipantRoleConfigChannelInfo; end
10538
+ class Unknown < UpdateParticipantRoleConfigChannelInfo; end
10539
+ end
10540
+
10541
+ # @!attribute [rw] instance_id
10542
+ # The identifier of the Amazon Connect instance. You can find the
10543
+ # instanceId in the ARN of the instance.
10544
+ # @return [String]
10545
+ #
10546
+ # @!attribute [rw] contact_id
10547
+ # The identifier of the contact in this instance of Amazon Connect.
10548
+ # @return [String]
10549
+ #
10550
+ # @!attribute [rw] channel_configuration
10551
+ # The Amazon Connect channel you want to configure.
10552
+ # @return [Types::UpdateParticipantRoleConfigChannelInfo]
10553
+ #
10554
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateParticipantRoleConfigRequest AWS API Documentation
10555
+ #
10556
+ class UpdateParticipantRoleConfigRequest < Struct.new(
10557
+ :instance_id,
10558
+ :contact_id,
10559
+ :channel_configuration)
10560
+ SENSITIVE = []
10561
+ include Aws::Structure
10562
+ end
10563
+
10564
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateParticipantRoleConfigResponse AWS API Documentation
10565
+ #
10566
+ class UpdateParticipantRoleConfigResponse < Aws::EmptyStructure; end
10567
+
10329
10568
  # @!attribute [rw] phone_number_id
10330
10569
  # A unique identifier for the phone number.
10331
10570
  # @return [String]
@@ -11201,6 +11440,10 @@ module Aws::Connect
11201
11440
  # A list of contact reference information.
11202
11441
  # @return [Array<Types::AgentContactReference>]
11203
11442
  #
11443
+ # @!attribute [rw] next_status
11444
+ # The Next status of the agent.
11445
+ # @return [String]
11446
+ #
11204
11447
  # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UserData AWS API Documentation
11205
11448
  #
11206
11449
  class UserData < Struct.new(
@@ -11211,7 +11454,8 @@ module Aws::Connect
11211
11454
  :available_slots_by_channel,
11212
11455
  :max_slots_by_channel,
11213
11456
  :active_slots_by_channel,
11214
- :contacts)
11457
+ :contacts,
11458
+ :next_status)
11215
11459
  SENSITIVE = []
11216
11460
  include Aws::Structure
11217
11461
  end
@@ -11219,8 +11463,7 @@ module Aws::Connect
11219
11463
  # A filter for the user data.
11220
11464
  #
11221
11465
  # @!attribute [rw] queues
11222
- # Contains information about a queue resource for which metrics are
11223
- # returned.
11466
+ # A list of up to 100 queues or ARNs.
11224
11467
  # @return [Array<String>]
11225
11468
  #
11226
11469
  # @!attribute [rw] contact_filter
@@ -11228,11 +11471,26 @@ module Aws::Connect
11228
11471
  # associated to the user. It contains a list of contact states.
11229
11472
  # @return [Types::ContactFilter]
11230
11473
  #
11474
+ # @!attribute [rw] routing_profiles
11475
+ # A list of up to 100 routing profile IDs or ARNs.
11476
+ # @return [Array<String>]
11477
+ #
11478
+ # @!attribute [rw] agents
11479
+ # A list of up to 100 agent IDs or ARNs.
11480
+ # @return [Array<String>]
11481
+ #
11482
+ # @!attribute [rw] user_hierarchy_groups
11483
+ # A UserHierarchyGroup ID or ARN.
11484
+ # @return [Array<String>]
11485
+ #
11231
11486
  # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UserDataFilters AWS API Documentation
11232
11487
  #
11233
11488
  class UserDataFilters < Struct.new(
11234
11489
  :queues,
11235
- :contact_filter)
11490
+ :contact_filter,
11491
+ :routing_profiles,
11492
+ :agents,
11493
+ :user_hierarchy_groups)
11236
11494
  SENSITIVE = []
11237
11495
  include Aws::Structure
11238
11496
  end
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-connect/customizations'
52
52
  # @!group service
53
53
  module Aws::Connect
54
54
 
55
- GEM_VERSION = '1.88.0'
55
+ GEM_VERSION = '1.90.0'
56
56
 
57
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.88.0
4
+ version: 1.90.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: 2022-12-21 00:00:00.000000000 Z
11
+ date: 2022-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core