aws-sdk-connect 1.20.0 → 1.25.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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