aws-sdk-connect 1.20.0 → 1.25.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.
@@ -22,6 +22,9 @@ module Aws::Connect
22
22
  AutoAccept = Shapes::BooleanShape.new(name: 'AutoAccept')
23
23
  Channel = Shapes::StringShape.new(name: 'Channel')
24
24
  Channels = Shapes::ListShape.new(name: 'Channels')
25
+ ChatContent = Shapes::StringShape.new(name: 'ChatContent')
26
+ ChatContentType = Shapes::StringShape.new(name: 'ChatContentType')
27
+ ChatMessage = Shapes::StructureShape.new(name: 'ChatMessage')
25
28
  ClientToken = Shapes::StringShape.new(name: 'ClientToken')
26
29
  Comparison = Shapes::StringShape.new(name: 'Comparison')
27
30
  ContactFlowId = Shapes::StringShape.new(name: 'ContactFlowId')
@@ -52,6 +55,7 @@ module Aws::Connect
52
55
  DestinationNotAllowedException = Shapes::StructureShape.new(name: 'DestinationNotAllowedException')
53
56
  Dimensions = Shapes::StructureShape.new(name: 'Dimensions')
54
57
  DirectoryUserId = Shapes::StringShape.new(name: 'DirectoryUserId')
58
+ DisplayName = Shapes::StringShape.new(name: 'DisplayName')
55
59
  DuplicateResourceException = Shapes::StructureShape.new(name: 'DuplicateResourceException')
56
60
  Email = Shapes::StringShape.new(name: 'Email')
57
61
  Filters = Shapes::StructureShape.new(name: 'Filters')
@@ -103,6 +107,8 @@ module Aws::Connect
103
107
  ListRoutingProfilesResponse = Shapes::StructureShape.new(name: 'ListRoutingProfilesResponse')
104
108
  ListSecurityProfilesRequest = Shapes::StructureShape.new(name: 'ListSecurityProfilesRequest')
105
109
  ListSecurityProfilesResponse = Shapes::StructureShape.new(name: 'ListSecurityProfilesResponse')
110
+ ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
111
+ ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
106
112
  ListUserHierarchyGroupsRequest = Shapes::StructureShape.new(name: 'ListUserHierarchyGroupsRequest')
107
113
  ListUserHierarchyGroupsResponse = Shapes::StructureShape.new(name: 'ListUserHierarchyGroupsResponse')
108
114
  ListUsersRequest = Shapes::StructureShape.new(name: 'ListUsersRequest')
@@ -112,6 +118,9 @@ module Aws::Connect
112
118
  Message = Shapes::StringShape.new(name: 'Message')
113
119
  NextToken = Shapes::StringShape.new(name: 'NextToken')
114
120
  OutboundContactNotPermittedException = Shapes::StructureShape.new(name: 'OutboundContactNotPermittedException')
121
+ ParticipantDetails = Shapes::StructureShape.new(name: 'ParticipantDetails')
122
+ ParticipantId = Shapes::StringShape.new(name: 'ParticipantId')
123
+ ParticipantToken = Shapes::StringShape.new(name: 'ParticipantToken')
115
124
  Password = Shapes::StringShape.new(name: 'Password')
116
125
  PhoneNumber = Shapes::StringShape.new(name: 'PhoneNumber')
117
126
  PhoneNumberCountryCode = Shapes::StringShape.new(name: 'PhoneNumberCountryCode')
@@ -141,15 +150,23 @@ module Aws::Connect
141
150
  SecurityProfileSummary = Shapes::StructureShape.new(name: 'SecurityProfileSummary')
142
151
  SecurityProfileSummaryList = Shapes::ListShape.new(name: 'SecurityProfileSummaryList')
143
152
  SecurityToken = Shapes::StringShape.new(name: 'SecurityToken')
153
+ StartChatContactRequest = Shapes::StructureShape.new(name: 'StartChatContactRequest')
154
+ StartChatContactResponse = Shapes::StructureShape.new(name: 'StartChatContactResponse')
144
155
  StartOutboundVoiceContactRequest = Shapes::StructureShape.new(name: 'StartOutboundVoiceContactRequest')
145
156
  StartOutboundVoiceContactResponse = Shapes::StructureShape.new(name: 'StartOutboundVoiceContactResponse')
146
157
  Statistic = Shapes::StringShape.new(name: 'Statistic')
147
158
  StopContactRequest = Shapes::StructureShape.new(name: 'StopContactRequest')
148
159
  StopContactResponse = Shapes::StructureShape.new(name: 'StopContactResponse')
160
+ TagKey = Shapes::StringShape.new(name: 'TagKey')
161
+ TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
162
+ TagMap = Shapes::MapShape.new(name: 'TagMap')
163
+ TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
164
+ TagValue = Shapes::StringShape.new(name: 'TagValue')
149
165
  Threshold = Shapes::StructureShape.new(name: 'Threshold')
150
166
  ThresholdValue = Shapes::FloatShape.new(name: 'ThresholdValue')
151
167
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
152
168
  Unit = Shapes::StringShape.new(name: 'Unit')
169
+ UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
153
170
  UpdateContactAttributesRequest = Shapes::StructureShape.new(name: 'UpdateContactAttributesRequest')
154
171
  UpdateContactAttributesResponse = Shapes::StructureShape.new(name: 'UpdateContactAttributesResponse')
155
172
  UpdateUserHierarchyRequest = Shapes::StructureShape.new(name: 'UpdateUserHierarchyRequest')
@@ -172,6 +189,10 @@ module Aws::Connect
172
189
 
173
190
  Channels.member = Shapes::ShapeRef.new(shape: Channel)
174
191
 
192
+ ChatMessage.add_member(:content_type, Shapes::ShapeRef.new(shape: ChatContentType, required: true, location_name: "ContentType"))
193
+ ChatMessage.add_member(:content, Shapes::ShapeRef.new(shape: ChatContent, required: true, location_name: "Content"))
194
+ ChatMessage.struct_class = Types::ChatMessage
195
+
175
196
  ContactFlowSummary.add_member(:id, Shapes::ShapeRef.new(shape: ContactFlowId, location_name: "Id"))
176
197
  ContactFlowSummary.add_member(:arn, Shapes::ShapeRef.new(shape: ARN, location_name: "Arn"))
177
198
  ContactFlowSummary.add_member(:name, Shapes::ShapeRef.new(shape: ContactFlowName, location_name: "Name"))
@@ -194,6 +215,7 @@ module Aws::Connect
194
215
  CreateUserRequest.add_member(:routing_profile_id, Shapes::ShapeRef.new(shape: RoutingProfileId, required: true, location_name: "RoutingProfileId"))
195
216
  CreateUserRequest.add_member(:hierarchy_group_id, Shapes::ShapeRef.new(shape: HierarchyGroupId, location_name: "HierarchyGroupId"))
196
217
  CreateUserRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location: "uri", location_name: "InstanceId"))
218
+ CreateUserRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
197
219
  CreateUserRequest.struct_class = Types::CreateUserRequest
198
220
 
199
221
  CreateUserResponse.add_member(:user_id, Shapes::ShapeRef.new(shape: UserId, location_name: "UserId"))
@@ -434,6 +456,12 @@ module Aws::Connect
434
456
  ListSecurityProfilesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
435
457
  ListSecurityProfilesResponse.struct_class = Types::ListSecurityProfilesResponse
436
458
 
459
+ ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "uri", location_name: "resourceArn"))
460
+ ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
461
+
462
+ ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
463
+ ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
464
+
437
465
  ListUserHierarchyGroupsRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location: "uri", location_name: "InstanceId"))
438
466
  ListUserHierarchyGroupsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
439
467
  ListUserHierarchyGroupsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResult1000, location: "querystring", location_name: "maxResults", metadata: {"box"=>true}))
@@ -455,6 +483,9 @@ module Aws::Connect
455
483
  OutboundContactNotPermittedException.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "Message"))
456
484
  OutboundContactNotPermittedException.struct_class = Types::OutboundContactNotPermittedException
457
485
 
486
+ ParticipantDetails.add_member(:display_name, Shapes::ShapeRef.new(shape: DisplayName, required: true, location_name: "DisplayName"))
487
+ ParticipantDetails.struct_class = Types::ParticipantDetails
488
+
458
489
  PhoneNumberCountryCodes.member = Shapes::ShapeRef.new(shape: PhoneNumberCountryCode)
459
490
 
460
491
  PhoneNumberSummary.add_member(:id, Shapes::ShapeRef.new(shape: PhoneNumberId, location_name: "Id"))
@@ -503,6 +534,19 @@ module Aws::Connect
503
534
 
504
535
  SecurityProfileSummaryList.member = Shapes::ShapeRef.new(shape: SecurityProfileSummary)
505
536
 
537
+ StartChatContactRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "InstanceId"))
538
+ StartChatContactRequest.add_member(:contact_flow_id, Shapes::ShapeRef.new(shape: ContactFlowId, required: true, location_name: "ContactFlowId"))
539
+ StartChatContactRequest.add_member(:attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "Attributes"))
540
+ StartChatContactRequest.add_member(:participant_details, Shapes::ShapeRef.new(shape: ParticipantDetails, required: true, location_name: "ParticipantDetails"))
541
+ StartChatContactRequest.add_member(:initial_message, Shapes::ShapeRef.new(shape: ChatMessage, location_name: "InitialMessage"))
542
+ StartChatContactRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
543
+ StartChatContactRequest.struct_class = Types::StartChatContactRequest
544
+
545
+ StartChatContactResponse.add_member(:contact_id, Shapes::ShapeRef.new(shape: ContactId, location_name: "ContactId"))
546
+ StartChatContactResponse.add_member(:participant_id, Shapes::ShapeRef.new(shape: ParticipantId, location_name: "ParticipantId"))
547
+ StartChatContactResponse.add_member(:participant_token, Shapes::ShapeRef.new(shape: ParticipantToken, location_name: "ParticipantToken"))
548
+ StartChatContactResponse.struct_class = Types::StartChatContactResponse
549
+
506
550
  StartOutboundVoiceContactRequest.add_member(:destination_phone_number, Shapes::ShapeRef.new(shape: PhoneNumber, required: true, location_name: "DestinationPhoneNumber"))
507
551
  StartOutboundVoiceContactRequest.add_member(:contact_flow_id, Shapes::ShapeRef.new(shape: ContactFlowId, required: true, location_name: "ContactFlowId"))
508
552
  StartOutboundVoiceContactRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "InstanceId"))
@@ -521,6 +565,15 @@ module Aws::Connect
521
565
 
522
566
  StopContactResponse.struct_class = Types::StopContactResponse
523
567
 
568
+ TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
569
+
570
+ TagMap.key = Shapes::ShapeRef.new(shape: TagKey)
571
+ TagMap.value = Shapes::ShapeRef.new(shape: TagValue)
572
+
573
+ TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "uri", location_name: "resourceArn"))
574
+ TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, required: true, location_name: "tags"))
575
+ TagResourceRequest.struct_class = Types::TagResourceRequest
576
+
524
577
  Threshold.add_member(:comparison, Shapes::ShapeRef.new(shape: Comparison, location_name: "Comparison"))
525
578
  Threshold.add_member(:threshold_value, Shapes::ShapeRef.new(shape: ThresholdValue, location_name: "ThresholdValue", metadata: {"box"=>true}))
526
579
  Threshold.struct_class = Types::Threshold
@@ -528,6 +581,10 @@ module Aws::Connect
528
581
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "Message"))
529
582
  ThrottlingException.struct_class = Types::ThrottlingException
530
583
 
584
+ UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location: "uri", location_name: "resourceArn"))
585
+ UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location: "querystring", location_name: "tagKeys"))
586
+ UntagResourceRequest.struct_class = Types::UntagResourceRequest
587
+
531
588
  UpdateContactAttributesRequest.add_member(:initial_contact_id, Shapes::ShapeRef.new(shape: ContactId, required: true, location_name: "InitialContactId"))
532
589
  UpdateContactAttributesRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: InstanceId, required: true, location_name: "InstanceId"))
533
590
  UpdateContactAttributesRequest.add_member(:attributes, Shapes::ShapeRef.new(shape: Attributes, required: true, location_name: "Attributes"))
@@ -569,6 +626,7 @@ module Aws::Connect
569
626
  User.add_member(:security_profile_ids, Shapes::ShapeRef.new(shape: SecurityProfileIds, location_name: "SecurityProfileIds"))
570
627
  User.add_member(:routing_profile_id, Shapes::ShapeRef.new(shape: RoutingProfileId, location_name: "RoutingProfileId"))
571
628
  User.add_member(:hierarchy_group_id, Shapes::ShapeRef.new(shape: HierarchyGroupId, location_name: "HierarchyGroupId"))
629
+ User.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
572
630
  User.struct_class = Types::User
573
631
 
574
632
  UserIdentityInfo.add_member(:first_name, Shapes::ShapeRef.new(shape: AgentFirstName, location_name: "FirstName"))
@@ -855,6 +913,19 @@ module Aws::Connect
855
913
  )
856
914
  end)
857
915
 
916
+ api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
917
+ o.name = "ListTagsForResource"
918
+ o.http_method = "GET"
919
+ o.http_request_uri = "/tags/{resourceArn}"
920
+ o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
921
+ o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
922
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
923
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
924
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
925
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
926
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
927
+ end)
928
+
858
929
  api.add_operation(:list_user_hierarchy_groups, Seahorse::Model::Operation.new.tap do |o|
859
930
  o.name = "ListUserHierarchyGroups"
860
931
  o.http_method = "GET"
@@ -893,6 +964,19 @@ module Aws::Connect
893
964
  )
894
965
  end)
895
966
 
967
+ api.add_operation(:start_chat_contact, Seahorse::Model::Operation.new.tap do |o|
968
+ o.name = "StartChatContact"
969
+ o.http_method = "PUT"
970
+ o.http_request_uri = "/contact/chat"
971
+ o.input = Shapes::ShapeRef.new(shape: StartChatContactRequest)
972
+ o.output = Shapes::ShapeRef.new(shape: StartChatContactResponse)
973
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
974
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
975
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
976
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
977
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
978
+ end)
979
+
896
980
  api.add_operation(:start_outbound_voice_contact, Seahorse::Model::Operation.new.tap do |o|
897
981
  o.name = "StartOutboundVoiceContact"
898
982
  o.http_method = "PUT"
@@ -921,6 +1005,32 @@ module Aws::Connect
921
1005
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
922
1006
  end)
923
1007
 
1008
+ api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
1009
+ o.name = "TagResource"
1010
+ o.http_method = "POST"
1011
+ o.http_request_uri = "/tags/{resourceArn}"
1012
+ o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
1013
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1014
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1015
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1016
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
1017
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1018
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1019
+ end)
1020
+
1021
+ api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
1022
+ o.name = "UntagResource"
1023
+ o.http_method = "DELETE"
1024
+ o.http_request_uri = "/tags/{resourceArn}"
1025
+ o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
1026
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1027
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1028
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1029
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceException)
1030
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1031
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1032
+ end)
1033
+
924
1034
  api.add_operation(:update_contact_attributes, Seahorse::Model::Operation.new.tap do |o|
925
1035
  o.name = "UpdateContactAttributes"
926
1036
  o.http_method = "POST"
@@ -6,6 +6,39 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::Connect
9
+
10
+ # When Connect returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::Connect::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all Connect errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::Connect::Errors::ServiceError
18
+ # # rescues all Connect API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {ContactNotFoundException}
29
+ # * {DestinationNotAllowedException}
30
+ # * {DuplicateResourceException}
31
+ # * {InternalServiceException}
32
+ # * {InvalidParameterException}
33
+ # * {InvalidRequestException}
34
+ # * {LimitExceededException}
35
+ # * {OutboundContactNotPermittedException}
36
+ # * {ResourceNotFoundException}
37
+ # * {ThrottlingException}
38
+ # * {UserNotFoundException}
39
+ #
40
+ # Additionally, error classes are dynamically generated for service errors based on the error code
41
+ # if they are not defined above.
9
42
  module Errors
10
43
 
11
44
  extend Aws::Errors::DynamicErrors
@@ -23,7 +56,6 @@ module Aws::Connect
23
56
  def message
24
57
  @message || @data[:message]
25
58
  end
26
-
27
59
  end
28
60
 
29
61
  class DestinationNotAllowedException < ServiceError
@@ -39,7 +71,6 @@ module Aws::Connect
39
71
  def message
40
72
  @message || @data[:message]
41
73
  end
42
-
43
74
  end
44
75
 
45
76
  class DuplicateResourceException < ServiceError
@@ -55,7 +86,6 @@ module Aws::Connect
55
86
  def message
56
87
  @message || @data[:message]
57
88
  end
58
-
59
89
  end
60
90
 
61
91
  class InternalServiceException < ServiceError
@@ -71,7 +101,6 @@ module Aws::Connect
71
101
  def message
72
102
  @message || @data[:message]
73
103
  end
74
-
75
104
  end
76
105
 
77
106
  class InvalidParameterException < ServiceError
@@ -87,7 +116,6 @@ module Aws::Connect
87
116
  def message
88
117
  @message || @data[:message]
89
118
  end
90
-
91
119
  end
92
120
 
93
121
  class InvalidRequestException < ServiceError
@@ -103,7 +131,6 @@ module Aws::Connect
103
131
  def message
104
132
  @message || @data[:message]
105
133
  end
106
-
107
134
  end
108
135
 
109
136
  class LimitExceededException < ServiceError
@@ -119,7 +146,6 @@ module Aws::Connect
119
146
  def message
120
147
  @message || @data[:message]
121
148
  end
122
-
123
149
  end
124
150
 
125
151
  class OutboundContactNotPermittedException < ServiceError
@@ -135,7 +161,6 @@ module Aws::Connect
135
161
  def message
136
162
  @message || @data[:message]
137
163
  end
138
-
139
164
  end
140
165
 
141
166
  class ResourceNotFoundException < ServiceError
@@ -151,7 +176,6 @@ module Aws::Connect
151
176
  def message
152
177
  @message || @data[:message]
153
178
  end
154
-
155
179
  end
156
180
 
157
181
  class ThrottlingException < ServiceError
@@ -167,7 +191,6 @@ module Aws::Connect
167
191
  def message
168
192
  @message || @data[:message]
169
193
  end
170
-
171
194
  end
172
195
 
173
196
  class UserNotFoundException < ServiceError
@@ -183,7 +206,6 @@ module Aws::Connect
183
206
  def message
184
207
  @message || @data[:message]
185
208
  end
186
-
187
209
  end
188
210
 
189
211
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::Connect
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -8,6 +8,32 @@
8
8
  module Aws::Connect
9
9
  module Types
10
10
 
11
+ # A chat message.
12
+ #
13
+ # @note When making an API call, you may pass ChatMessage
14
+ # data as a hash:
15
+ #
16
+ # {
17
+ # content_type: "ChatContentType", # required
18
+ # content: "ChatContent", # required
19
+ # }
20
+ #
21
+ # @!attribute [rw] content_type
22
+ # The type of the content. Supported types are text/plain.
23
+ # @return [String]
24
+ #
25
+ # @!attribute [rw] content
26
+ # The content of the chat message.
27
+ # @return [String]
28
+ #
29
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ChatMessage AWS API Documentation
30
+ #
31
+ class ChatMessage < Struct.new(
32
+ :content_type,
33
+ :content)
34
+ include Aws::Structure
35
+ end
36
+
11
37
  # Contains summary information about a contact flow.
12
38
  #
13
39
  # @!attribute [rw] id
@@ -71,6 +97,9 @@ module Aws::Connect
71
97
  # routing_profile_id: "RoutingProfileId", # required
72
98
  # hierarchy_group_id: "HierarchyGroupId",
73
99
  # instance_id: "InstanceId", # required
100
+ # tags: {
101
+ # "TagKey" => "TagValue",
102
+ # },
74
103
  # }
75
104
  #
76
105
  # @!attribute [rw] username
@@ -125,6 +154,10 @@ module Aws::Connect
125
154
  # The identifier of the Amazon Connect instance.
126
155
  # @return [String]
127
156
  #
157
+ # @!attribute [rw] tags
158
+ # One or more tags.
159
+ # @return [Hash<String,String>]
160
+ #
128
161
  # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUserRequest AWS API Documentation
129
162
  #
130
163
  class CreateUserRequest < Struct.new(
@@ -136,7 +169,8 @@ module Aws::Connect
136
169
  :security_profile_ids,
137
170
  :routing_profile_id,
138
171
  :hierarchy_group_id,
139
- :instance_id)
172
+ :instance_id,
173
+ :tags)
140
174
  include Aws::Structure
141
175
  end
142
176
 
@@ -193,7 +227,7 @@ module Aws::Connect
193
227
  # data as a hash:
194
228
  #
195
229
  # {
196
- # 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
230
+ # 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
197
231
  # unit: "SECONDS", # accepts SECONDS, COUNT, PERCENT
198
232
  # }
199
233
  #
@@ -422,7 +456,7 @@ module Aws::Connect
422
456
  #
423
457
  # {
424
458
  # queues: ["QueueId"],
425
- # channels: ["VOICE"], # accepts VOICE
459
+ # channels: ["VOICE"], # accepts VOICE, CHAT
426
460
  # }
427
461
  #
428
462
  # @!attribute [rw] queues
@@ -484,12 +518,12 @@ module Aws::Connect
484
518
  # instance_id: "InstanceId", # required
485
519
  # filters: { # required
486
520
  # queues: ["QueueId"],
487
- # channels: ["VOICE"], # accepts VOICE
521
+ # channels: ["VOICE"], # accepts VOICE, CHAT
488
522
  # },
489
523
  # groupings: ["QUEUE"], # accepts QUEUE, CHANNEL
490
524
  # current_metrics: [ # required
491
525
  # {
492
- # 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
526
+ # 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
493
527
  # unit: "SECONDS", # accepts SECONDS, COUNT, PERCENT
494
528
  # },
495
529
  # ],
@@ -544,6 +578,10 @@ module Aws::Connect
544
578
  #
545
579
  # : Unit: COUNT
546
580
  #
581
+ # AGENTS\_ON\_CONTACT
582
+ #
583
+ # : Unit: COUNT
584
+ #
547
585
  # AGENTS\_ONLINE
548
586
  #
549
587
  # : Unit: COUNT
@@ -563,6 +601,14 @@ module Aws::Connect
563
601
  # OLDEST\_CONTACT\_AGE
564
602
  #
565
603
  # : Unit: SECONDS
604
+ #
605
+ # SLOTS\_ACTIVE
606
+ #
607
+ # : Unit: COUNT
608
+ #
609
+ # SLOTS\_AVAILABLE
610
+ #
611
+ # : Unit: COUNT
566
612
  # @return [Array<Types::CurrentMetric>]
567
613
  #
568
614
  # @!attribute [rw] next_token
@@ -656,7 +702,7 @@ module Aws::Connect
656
702
  # end_time: Time.now, # required
657
703
  # filters: { # required
658
704
  # queues: ["QueueId"],
659
- # channels: ["VOICE"], # accepts VOICE
705
+ # channels: ["VOICE"], # accepts VOICE, CHAT
660
706
  # },
661
707
  # groupings: ["QUEUE"], # accepts QUEUE, CHANNEL
662
708
  # historical_metrics: [ # required
@@ -1541,6 +1587,35 @@ module Aws::Connect
1541
1587
  include Aws::Structure
1542
1588
  end
1543
1589
 
1590
+ # @note When making an API call, you may pass ListTagsForResourceRequest
1591
+ # data as a hash:
1592
+ #
1593
+ # {
1594
+ # resource_arn: "ARN", # required
1595
+ # }
1596
+ #
1597
+ # @!attribute [rw] resource_arn
1598
+ # The Amazon Resource Name (ARN) of the resource.
1599
+ # @return [String]
1600
+ #
1601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListTagsForResourceRequest AWS API Documentation
1602
+ #
1603
+ class ListTagsForResourceRequest < Struct.new(
1604
+ :resource_arn)
1605
+ include Aws::Structure
1606
+ end
1607
+
1608
+ # @!attribute [rw] tags
1609
+ # Information about the tags.
1610
+ # @return [Hash<String,String>]
1611
+ #
1612
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListTagsForResourceResponse AWS API Documentation
1613
+ #
1614
+ class ListTagsForResourceResponse < Struct.new(
1615
+ :tags)
1616
+ include Aws::Structure
1617
+ end
1618
+
1544
1619
  # @note When making an API call, you may pass ListUserHierarchyGroupsRequest
1545
1620
  # data as a hash:
1546
1621
  #
@@ -1652,6 +1727,26 @@ module Aws::Connect
1652
1727
  include Aws::Structure
1653
1728
  end
1654
1729
 
1730
+ # The customer's details.
1731
+ #
1732
+ # @note When making an API call, you may pass ParticipantDetails
1733
+ # data as a hash:
1734
+ #
1735
+ # {
1736
+ # display_name: "DisplayName", # required
1737
+ # }
1738
+ #
1739
+ # @!attribute [rw] display_name
1740
+ # Display name of the participant.
1741
+ # @return [String]
1742
+ #
1743
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ParticipantDetails AWS API Documentation
1744
+ #
1745
+ class ParticipantDetails < Struct.new(
1746
+ :display_name)
1747
+ include Aws::Structure
1748
+ end
1749
+
1655
1750
  # Contains summary information about a phone number for a contact
1656
1751
  # center.
1657
1752
  #
@@ -1792,6 +1887,99 @@ module Aws::Connect
1792
1887
  include Aws::Structure
1793
1888
  end
1794
1889
 
1890
+ # @note When making an API call, you may pass StartChatContactRequest
1891
+ # data as a hash:
1892
+ #
1893
+ # {
1894
+ # instance_id: "InstanceId", # required
1895
+ # contact_flow_id: "ContactFlowId", # required
1896
+ # attributes: {
1897
+ # "AttributeName" => "AttributeValue",
1898
+ # },
1899
+ # participant_details: { # required
1900
+ # display_name: "DisplayName", # required
1901
+ # },
1902
+ # initial_message: {
1903
+ # content_type: "ChatContentType", # required
1904
+ # content: "ChatContent", # required
1905
+ # },
1906
+ # client_token: "ClientToken",
1907
+ # }
1908
+ #
1909
+ # @!attribute [rw] instance_id
1910
+ # The identifier of the Amazon Connect instance.
1911
+ # @return [String]
1912
+ #
1913
+ # @!attribute [rw] contact_flow_id
1914
+ # The identifier of the contact flow for the chat.
1915
+ # @return [String]
1916
+ #
1917
+ # @!attribute [rw] attributes
1918
+ # A custom key-value pair using an attribute map. The attributes are
1919
+ # standard Amazon Connect attributes, and can be accessed in contact
1920
+ # flows just like any other contact attributes.
1921
+ #
1922
+ # There can be up to 32,768 UTF-8 bytes across all key-value pairs per
1923
+ # contact. Attribute keys can include only alphanumeric, dash, and
1924
+ # underscore characters.
1925
+ # @return [Hash<String,String>]
1926
+ #
1927
+ # @!attribute [rw] participant_details
1928
+ # Information identifying the participant.
1929
+ # @return [Types::ParticipantDetails]
1930
+ #
1931
+ # @!attribute [rw] initial_message
1932
+ # The initial message to be sent to the newly created chat.
1933
+ # @return [Types::ChatMessage]
1934
+ #
1935
+ # @!attribute [rw] client_token
1936
+ # A unique, case-sensitive identifier that you provide to ensure the
1937
+ # idempotency of the request.
1938
+ #
1939
+ # **A suitable default value is auto-generated.** You should normally
1940
+ # not need to pass this option.
1941
+ # @return [String]
1942
+ #
1943
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartChatContactRequest AWS API Documentation
1944
+ #
1945
+ class StartChatContactRequest < Struct.new(
1946
+ :instance_id,
1947
+ :contact_flow_id,
1948
+ :attributes,
1949
+ :participant_details,
1950
+ :initial_message,
1951
+ :client_token)
1952
+ include Aws::Structure
1953
+ end
1954
+
1955
+ # @!attribute [rw] contact_id
1956
+ # The identifier of this contact within the Amazon Connect instance.
1957
+ # @return [String]
1958
+ #
1959
+ # @!attribute [rw] participant_id
1960
+ # The identifier for a chat participant. The participantId for a chat
1961
+ # participant is the same throughout the chat lifecycle.
1962
+ # @return [String]
1963
+ #
1964
+ # @!attribute [rw] participant_token
1965
+ # The token used by the chat participant to call
1966
+ # [CreateParticipantConnection][1]. The participant token is valid for
1967
+ # the lifetime of a chat participant.
1968
+ #
1969
+ #
1970
+ #
1971
+ # [1]: https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html
1972
+ # @return [String]
1973
+ #
1974
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartChatContactResponse AWS API Documentation
1975
+ #
1976
+ class StartChatContactResponse < Struct.new(
1977
+ :contact_id,
1978
+ :participant_id,
1979
+ :participant_token)
1980
+ include Aws::Structure
1981
+ end
1982
+
1795
1983
  # @note When making an API call, you may pass StartOutboundVoiceContactRequest
1796
1984
  # data as a hash:
1797
1985
  #
@@ -1905,6 +2093,33 @@ module Aws::Connect
1905
2093
  #
1906
2094
  class StopContactResponse < Aws::EmptyStructure; end
1907
2095
 
2096
+ # @note When making an API call, you may pass TagResourceRequest
2097
+ # data as a hash:
2098
+ #
2099
+ # {
2100
+ # resource_arn: "ARN", # required
2101
+ # tags: { # required
2102
+ # "TagKey" => "TagValue",
2103
+ # },
2104
+ # }
2105
+ #
2106
+ # @!attribute [rw] resource_arn
2107
+ # The Amazon Resource Name (ARN) of the resource.
2108
+ # @return [String]
2109
+ #
2110
+ # @!attribute [rw] tags
2111
+ # One or more tags. For example, \\\{ "tags":
2112
+ # \\\{"key1":"value1", "key2":"value2"\\} \\}.
2113
+ # @return [Hash<String,String>]
2114
+ #
2115
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/TagResourceRequest AWS API Documentation
2116
+ #
2117
+ class TagResourceRequest < Struct.new(
2118
+ :resource_arn,
2119
+ :tags)
2120
+ include Aws::Structure
2121
+ end
2122
+
1908
2123
  # Contains information about the threshold for service level metrics.
1909
2124
  #
1910
2125
  # @note When making an API call, you may pass Threshold
@@ -1944,6 +2159,30 @@ module Aws::Connect
1944
2159
  include Aws::Structure
1945
2160
  end
1946
2161
 
2162
+ # @note When making an API call, you may pass UntagResourceRequest
2163
+ # data as a hash:
2164
+ #
2165
+ # {
2166
+ # resource_arn: "ARN", # required
2167
+ # tag_keys: ["TagKey"], # required
2168
+ # }
2169
+ #
2170
+ # @!attribute [rw] resource_arn
2171
+ # The Amazon Resource Name (ARN) of the resource.
2172
+ # @return [String]
2173
+ #
2174
+ # @!attribute [rw] tag_keys
2175
+ # The tag keys.
2176
+ # @return [Array<String>]
2177
+ #
2178
+ # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UntagResourceRequest AWS API Documentation
2179
+ #
2180
+ class UntagResourceRequest < Struct.new(
2181
+ :resource_arn,
2182
+ :tag_keys)
2183
+ include Aws::Structure
2184
+ end
2185
+
1947
2186
  # @note When making an API call, you may pass UpdateContactAttributesRequest
1948
2187
  # data as a hash:
1949
2188
  #
@@ -2185,6 +2424,10 @@ module Aws::Connect
2185
2424
  # The identifier of the hierarchy group for the user.
2186
2425
  # @return [String]
2187
2426
  #
2427
+ # @!attribute [rw] tags
2428
+ # The tags.
2429
+ # @return [Hash<String,String>]
2430
+ #
2188
2431
  # @see http://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/User AWS API Documentation
2189
2432
  #
2190
2433
  class User < Struct.new(
@@ -2196,7 +2439,8 @@ module Aws::Connect
2196
2439
  :directory_user_id,
2197
2440
  :security_profile_ids,
2198
2441
  :routing_profile_id,
2199
- :hierarchy_group_id)
2442
+ :hierarchy_group_id,
2443
+ :tags)
2200
2444
  include Aws::Structure
2201
2445
  end
2202
2446