aws-sdk-chimesdkmessaging 1.3.0 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -119,7 +119,9 @@ module Aws::ChimeSDKMessaging
119
119
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
120
  # are very aggressive. Construct and pass an instance of
121
121
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
122
+ # enable retries and extended timeouts. Instance profile credential
123
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
124
+ # to true.
123
125
  #
124
126
  # @option options [required, String] :region
125
127
  # The AWS region to connect to. The configured `:region` is
@@ -275,6 +277,15 @@ module Aws::ChimeSDKMessaging
275
277
  # ** Please note ** When response stubbing is enabled, no HTTP
276
278
  # requests are made, and retries are disabled.
277
279
  #
280
+ # @option options [Boolean] :use_dualstack_endpoint
281
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
+ # will be used if available.
283
+ #
284
+ # @option options [Boolean] :use_fips_endpoint
285
+ # When set to `true`, fips compatible endpoints will be used if available.
286
+ # When a `fips` region is used, the region is normalized and this config
287
+ # is set to `true`.
288
+ #
278
289
  # @option options [Boolean] :validate_params (true)
279
290
  # When `true`, request parameters are validated before
280
291
  # sending the request.
@@ -327,6 +338,45 @@ module Aws::ChimeSDKMessaging
327
338
 
328
339
  # @!group API Operations
329
340
 
341
+ # Associates a channel flow with a channel. Once associated, all
342
+ # messages to that channel go through channel flow processors. To stop
343
+ # processing, use the `DisassociateChannelFlow` API.
344
+ #
345
+ # <note markdown="1"> Only administrators or channel moderators can associate a channel
346
+ # flow. The `x-amz-chime-bearer` request header is mandatory. Use the
347
+ # `AppInstanceUserArn` of the user that makes the API call as the value
348
+ # in the header.
349
+ #
350
+ # </note>
351
+ #
352
+ # @option params [required, String] :channel_arn
353
+ # The ARN of the channel.
354
+ #
355
+ # @option params [required, String] :channel_flow_arn
356
+ # The ARN of the channel flow.
357
+ #
358
+ # @option params [required, String] :chime_bearer
359
+ # The `AppInstanceUserArn` of the user making the API call.
360
+ #
361
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
362
+ #
363
+ # @example Request syntax with placeholder values
364
+ #
365
+ # resp = client.associate_channel_flow({
366
+ # channel_arn: "ChimeArn", # required
367
+ # channel_flow_arn: "ChimeArn", # required
368
+ # chime_bearer: "ChimeArn", # required
369
+ # })
370
+ #
371
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/AssociateChannelFlow AWS API Documentation
372
+ #
373
+ # @overload associate_channel_flow(params = {})
374
+ # @param [Hash] params ({})
375
+ def associate_channel_flow(params = {}, options = {})
376
+ req = build_request(:associate_channel_flow, params)
377
+ req.send_request(options)
378
+ end
379
+
330
380
  # Adds a specified number of users to a channel.
331
381
  #
332
382
  # @option params [required, String] :channel_arn
@@ -340,7 +390,8 @@ module Aws::ChimeSDKMessaging
340
390
  # not returned. This is only supported by moderators.
341
391
  #
342
392
  # @option params [required, Array<String>] :member_arns
343
- # The ARNs of the members you want to add to the channel.
393
+ # The `AppInstanceUserArn`s of the members you want to add to the
394
+ # channel.
344
395
  #
345
396
  # @option params [required, String] :chime_bearer
346
397
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -382,6 +433,67 @@ module Aws::ChimeSDKMessaging
382
433
  req.send_request(options)
383
434
  end
384
435
 
436
+ # Calls back Chime SDK Messaging with a processing response message.
437
+ # This should be invoked from the processor Lambda. This is a developer
438
+ # API.
439
+ #
440
+ # You can return one of the following processing responses:
441
+ #
442
+ # * Update message content or metadata
443
+ #
444
+ # * Deny a message
445
+ #
446
+ # * Make no changes to the message
447
+ #
448
+ # @option params [required, String] :callback_id
449
+ # The identifier passed to the processor by the service when invoked.
450
+ # Use the identifier to call back the service.
451
+ #
452
+ # **A suitable default value is auto-generated.** You should normally
453
+ # not need to pass this option.**
454
+ #
455
+ # @option params [required, String] :channel_arn
456
+ # The ARN of the channel.
457
+ #
458
+ # @option params [Boolean] :delete_resource
459
+ # When a processor determines that a message needs to be `DENIED`, pass
460
+ # this parameter with a value of true.
461
+ #
462
+ # @option params [required, Types::ChannelMessageCallback] :channel_message
463
+ # Stores information about the processed message.
464
+ #
465
+ # @return [Types::ChannelFlowCallbackResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
466
+ #
467
+ # * {Types::ChannelFlowCallbackResponse#channel_arn #channel_arn} => String
468
+ # * {Types::ChannelFlowCallbackResponse#callback_id #callback_id} => String
469
+ #
470
+ # @example Request syntax with placeholder values
471
+ #
472
+ # resp = client.channel_flow_callback({
473
+ # callback_id: "CallbackIdType", # required
474
+ # channel_arn: "ChimeArn", # required
475
+ # delete_resource: false,
476
+ # channel_message: { # required
477
+ # message_id: "MessageId", # required
478
+ # content: "NonEmptyContent",
479
+ # metadata: "Metadata",
480
+ # },
481
+ # })
482
+ #
483
+ # @example Response structure
484
+ #
485
+ # resp.channel_arn #=> String
486
+ # resp.callback_id #=> String
487
+ #
488
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ChannelFlowCallback AWS API Documentation
489
+ #
490
+ # @overload channel_flow_callback(params = {})
491
+ # @param [Hash] params ({})
492
+ def channel_flow_callback(params = {}, options = {})
493
+ req = build_request(:channel_flow_callback, params)
494
+ req.send_request(options)
495
+ end
496
+
385
497
  # Creates a channel to which you can add users and send messages.
386
498
  #
387
499
  # **Restriction**\: You can't change a channel's privacy.
@@ -477,7 +589,7 @@ module Aws::ChimeSDKMessaging
477
589
  # The ARN of the ban request.
478
590
  #
479
591
  # @option params [required, String] :member_arn
480
- # The ARN of the member being banned.
592
+ # The `AppInstanceUserArn` of the member being banned.
481
593
  #
482
594
  # @option params [required, String] :chime_bearer
483
595
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -510,8 +622,91 @@ module Aws::ChimeSDKMessaging
510
622
  req.send_request(options)
511
623
  end
512
624
 
513
- # Adds a user to a channel. The `InvitedBy` response field is derived
514
- # from the request header. A channel member can:
625
+ # Creates a channel flow, a container for processors. Processors are AWS
626
+ # Lambda functions that perform actions on chat messages, such as
627
+ # stripping out profanity. You can associate channel flows with
628
+ # channels, and the processors in the channel flow then take action on
629
+ # all messages sent to that channel. This is a developer API.
630
+ #
631
+ # Channel flows process the following items:
632
+ #
633
+ # 1. New and updated messages
634
+ #
635
+ # 2. Persistent and non-persistent messages
636
+ #
637
+ # 3. The Standard message type
638
+ #
639
+ # <note markdown="1"> Channel flows don't process Control or System messages. For more
640
+ # information about the message types provided by Chime SDK Messaging,
641
+ # refer to [Message types][1] in the *Amazon Chime developer guide*.
642
+ #
643
+ # </note>
644
+ #
645
+ #
646
+ #
647
+ # [1]: https://docs.aws.amazon.com/chime/latest/dg/using-the-messaging-sdk.html#msg-types
648
+ #
649
+ # @option params [required, String] :app_instance_arn
650
+ # The ARN of the channel flow request.
651
+ #
652
+ # @option params [required, Array<Types::Processor>] :processors
653
+ # Information about the processor Lambda functions.
654
+ #
655
+ # @option params [required, String] :name
656
+ # The name of the channel flow.
657
+ #
658
+ # @option params [Array<Types::Tag>] :tags
659
+ # The tags for the creation request.
660
+ #
661
+ # @option params [required, String] :client_request_token
662
+ # The client token for the request. An Idempotency token.
663
+ #
664
+ # @return [Types::CreateChannelFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
665
+ #
666
+ # * {Types::CreateChannelFlowResponse#channel_flow_arn #channel_flow_arn} => String
667
+ #
668
+ # @example Request syntax with placeholder values
669
+ #
670
+ # resp = client.create_channel_flow({
671
+ # app_instance_arn: "ChimeArn", # required
672
+ # processors: [ # required
673
+ # {
674
+ # name: "NonEmptyResourceName", # required
675
+ # configuration: { # required
676
+ # lambda: { # required
677
+ # resource_arn: "LambdaFunctionArn", # required
678
+ # invocation_type: "ASYNC", # required, accepts ASYNC
679
+ # },
680
+ # },
681
+ # execution_order: 1, # required
682
+ # fallback_action: "CONTINUE", # required, accepts CONTINUE, ABORT
683
+ # },
684
+ # ],
685
+ # name: "NonEmptyResourceName", # required
686
+ # tags: [
687
+ # {
688
+ # key: "TagKey", # required
689
+ # value: "TagValue", # required
690
+ # },
691
+ # ],
692
+ # client_request_token: "ClientRequestToken", # required
693
+ # })
694
+ #
695
+ # @example Response structure
696
+ #
697
+ # resp.channel_flow_arn #=> String
698
+ #
699
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/CreateChannelFlow AWS API Documentation
700
+ #
701
+ # @overload create_channel_flow(params = {})
702
+ # @param [Hash] params ({})
703
+ def create_channel_flow(params = {}, options = {})
704
+ req = build_request(:create_channel_flow, params)
705
+ req.send_request(options)
706
+ end
707
+
708
+ # Adds a user to a channel. The `InvitedBy` field in `ChannelMembership`
709
+ # is derived from the request header. A channel member can:
515
710
  #
516
711
  # * List messages
517
712
  #
@@ -540,7 +735,7 @@ module Aws::ChimeSDKMessaging
540
735
  # The ARN of the channel to which you're adding users.
541
736
  #
542
737
  # @option params [required, String] :member_arn
543
- # The ARN of the member you want to add to the channel.
738
+ # The `AppInstanceUserArn` of the member you want to add to the channel.
544
739
  #
545
740
  # @option params [required, String] :type
546
741
  # The membership type of a user, `DEFAULT` or `HIDDEN`. Default members
@@ -603,7 +798,7 @@ module Aws::ChimeSDKMessaging
603
798
  # The ARN of the channel.
604
799
  #
605
800
  # @option params [required, String] :channel_moderator_arn
606
- # The ARN of the moderator.
801
+ # The `AppInstanceUserArn` of the moderator.
607
802
  #
608
803
  # @option params [required, String] :chime_bearer
609
804
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -705,6 +900,37 @@ module Aws::ChimeSDKMessaging
705
900
  req.send_request(options)
706
901
  end
707
902
 
903
+ # Deletes a channel flow, an irreversible process. This is a developer
904
+ # API.
905
+ #
906
+ # <note markdown="1"> This API works only when the channel flow is not associated with any
907
+ # channel. To get a list of all channels that a channel flow is
908
+ # associated with, use the `ListChannelsAssociatedWithChannelFlow` API.
909
+ # Use the `DisassociateChannelFlow` API to disassociate a channel flow
910
+ # from all channels.
911
+ #
912
+ # </note>
913
+ #
914
+ # @option params [required, String] :channel_flow_arn
915
+ # The ARN of the channel flow.
916
+ #
917
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
918
+ #
919
+ # @example Request syntax with placeholder values
920
+ #
921
+ # resp = client.delete_channel_flow({
922
+ # channel_flow_arn: "ChimeArn", # required
923
+ # })
924
+ #
925
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DeleteChannelFlow AWS API Documentation
926
+ #
927
+ # @overload delete_channel_flow(params = {})
928
+ # @param [Hash] params ({})
929
+ def delete_channel_flow(params = {}, options = {})
930
+ req = build_request(:delete_channel_flow, params)
931
+ req.send_request(options)
932
+ end
933
+
708
934
  # Removes a member from a channel.
709
935
  #
710
936
  # <note markdown="1"> The `x-amz-chime-bearer` request header is mandatory. Use the
@@ -717,7 +943,8 @@ module Aws::ChimeSDKMessaging
717
943
  # The ARN of the channel from which you want to remove the user.
718
944
  #
719
945
  # @option params [required, String] :member_arn
720
- # The ARN of the member that you're removing from the channel.
946
+ # The `AppInstanceUserArn` of the member that you're removing from the
947
+ # channel.
721
948
  #
722
949
  # @option params [required, String] :chime_bearer
723
950
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -791,7 +1018,7 @@ module Aws::ChimeSDKMessaging
791
1018
  # The ARN of the channel.
792
1019
  #
793
1020
  # @option params [required, String] :channel_moderator_arn
794
- # The ARN of the moderator being deleted.
1021
+ # The `AppInstanceUserArn` of the moderator being deleted.
795
1022
  #
796
1023
  # @option params [required, String] :chime_bearer
797
1024
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -853,6 +1080,7 @@ module Aws::ChimeSDKMessaging
853
1080
  # resp.channel.created_timestamp #=> Time
854
1081
  # resp.channel.last_message_timestamp #=> Time
855
1082
  # resp.channel.last_updated_timestamp #=> Time
1083
+ # resp.channel.channel_flow_arn #=> String
856
1084
  #
857
1085
  # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannel AWS API Documentation
858
1086
  #
@@ -875,7 +1103,7 @@ module Aws::ChimeSDKMessaging
875
1103
  # The ARN of the channel from which the user is banned.
876
1104
  #
877
1105
  # @option params [required, String] :member_arn
878
- # The ARN of the member being banned.
1106
+ # The `AppInstanceUserArn` of the member being banned.
879
1107
  #
880
1108
  # @option params [required, String] :chime_bearer
881
1109
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -910,6 +1138,44 @@ module Aws::ChimeSDKMessaging
910
1138
  req.send_request(options)
911
1139
  end
912
1140
 
1141
+ # Returns the full details of a channel flow in an Amazon Chime
1142
+ # `AppInstance`. This is a developer API.
1143
+ #
1144
+ # @option params [required, String] :channel_flow_arn
1145
+ # The ARN of the channel flow.
1146
+ #
1147
+ # @return [Types::DescribeChannelFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1148
+ #
1149
+ # * {Types::DescribeChannelFlowResponse#channel_flow #channel_flow} => Types::ChannelFlow
1150
+ #
1151
+ # @example Request syntax with placeholder values
1152
+ #
1153
+ # resp = client.describe_channel_flow({
1154
+ # channel_flow_arn: "ChimeArn", # required
1155
+ # })
1156
+ #
1157
+ # @example Response structure
1158
+ #
1159
+ # resp.channel_flow.channel_flow_arn #=> String
1160
+ # resp.channel_flow.processors #=> Array
1161
+ # resp.channel_flow.processors[0].name #=> String
1162
+ # resp.channel_flow.processors[0].configuration.lambda.resource_arn #=> String
1163
+ # resp.channel_flow.processors[0].configuration.lambda.invocation_type #=> String, one of "ASYNC"
1164
+ # resp.channel_flow.processors[0].execution_order #=> Integer
1165
+ # resp.channel_flow.processors[0].fallback_action #=> String, one of "CONTINUE", "ABORT"
1166
+ # resp.channel_flow.name #=> String
1167
+ # resp.channel_flow.created_timestamp #=> Time
1168
+ # resp.channel_flow.last_updated_timestamp #=> Time
1169
+ #
1170
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelFlow AWS API Documentation
1171
+ #
1172
+ # @overload describe_channel_flow(params = {})
1173
+ # @param [Hash] params ({})
1174
+ def describe_channel_flow(params = {}, options = {})
1175
+ req = build_request(:describe_channel_flow, params)
1176
+ req.send_request(options)
1177
+ end
1178
+
913
1179
  # Returns the full details of a user's channel membership.
914
1180
  #
915
1181
  # <note markdown="1"> The `x-amz-chime-bearer` request header is mandatory. Use the
@@ -922,7 +1188,7 @@ module Aws::ChimeSDKMessaging
922
1188
  # The ARN of the channel.
923
1189
  #
924
1190
  # @option params [required, String] :member_arn
925
- # The ARN of the member.
1191
+ # The `AppInstanceUserArn` of the member.
926
1192
  #
927
1193
  # @option params [required, String] :chime_bearer
928
1194
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -1069,7 +1335,7 @@ module Aws::ChimeSDKMessaging
1069
1335
  # The ARN of the channel.
1070
1336
  #
1071
1337
  # @option params [required, String] :channel_moderator_arn
1072
- # The ARN of the channel moderator.
1338
+ # The `AppInstanceUserArn` of the channel moderator.
1073
1339
  #
1074
1340
  # @option params [required, String] :chime_bearer
1075
1341
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -1104,6 +1370,93 @@ module Aws::ChimeSDKMessaging
1104
1370
  req.send_request(options)
1105
1371
  end
1106
1372
 
1373
+ # Disassociates a channel flow from all its channels. Once
1374
+ # disassociated, all messages to that channel stop going through the
1375
+ # channel flow processor.
1376
+ #
1377
+ # <note markdown="1"> Only administrators or channel moderators can disassociate a channel
1378
+ # flow. The `x-amz-chime-bearer` request header is mandatory. Use the
1379
+ # `AppInstanceUserArn` of the user that makes the API call as the value
1380
+ # in the header.
1381
+ #
1382
+ # </note>
1383
+ #
1384
+ # @option params [required, String] :channel_arn
1385
+ # The ARN of the channel.
1386
+ #
1387
+ # @option params [required, String] :channel_flow_arn
1388
+ # The ARN of the channel flow.
1389
+ #
1390
+ # @option params [required, String] :chime_bearer
1391
+ # The `AppInstanceUserArn` of the user making the API call.
1392
+ #
1393
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1394
+ #
1395
+ # @example Request syntax with placeholder values
1396
+ #
1397
+ # resp = client.disassociate_channel_flow({
1398
+ # channel_arn: "ChimeArn", # required
1399
+ # channel_flow_arn: "ChimeArn", # required
1400
+ # chime_bearer: "ChimeArn", # required
1401
+ # })
1402
+ #
1403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DisassociateChannelFlow AWS API Documentation
1404
+ #
1405
+ # @overload disassociate_channel_flow(params = {})
1406
+ # @param [Hash] params ({})
1407
+ def disassociate_channel_flow(params = {}, options = {})
1408
+ req = build_request(:disassociate_channel_flow, params)
1409
+ req.send_request(options)
1410
+ end
1411
+
1412
+ # Gets the membership preferences of an `AppInstanceUser` for the
1413
+ # specified channel. The `AppInstanceUser` must be a member of the
1414
+ # channel. Only the `AppInstanceUser` who owns the membership can
1415
+ # retrieve preferences. Users in the `AppInstanceAdmin` and channel
1416
+ # moderator roles can't retrieve preferences for other users. Banned
1417
+ # users can't retrieve membership preferences for the channel from
1418
+ # which they are banned.
1419
+ #
1420
+ # @option params [required, String] :channel_arn
1421
+ # The ARN of the channel.
1422
+ #
1423
+ # @option params [required, String] :member_arn
1424
+ # The `AppInstanceUserArn` of the member retrieving the preferences.
1425
+ #
1426
+ # @option params [required, String] :chime_bearer
1427
+ # The `AppInstanceUserARN` of the user making the API call.
1428
+ #
1429
+ # @return [Types::GetChannelMembershipPreferencesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1430
+ #
1431
+ # * {Types::GetChannelMembershipPreferencesResponse#channel_arn #channel_arn} => String
1432
+ # * {Types::GetChannelMembershipPreferencesResponse#member #member} => Types::Identity
1433
+ # * {Types::GetChannelMembershipPreferencesResponse#preferences #preferences} => Types::ChannelMembershipPreferences
1434
+ #
1435
+ # @example Request syntax with placeholder values
1436
+ #
1437
+ # resp = client.get_channel_membership_preferences({
1438
+ # channel_arn: "ChimeArn", # required
1439
+ # member_arn: "ChimeArn", # required
1440
+ # chime_bearer: "ChimeArn", # required
1441
+ # })
1442
+ #
1443
+ # @example Response structure
1444
+ #
1445
+ # resp.channel_arn #=> String
1446
+ # resp.member.arn #=> String
1447
+ # resp.member.name #=> String
1448
+ # resp.preferences.push_notifications.allow_notifications #=> String, one of "ALL", "NONE", "FILTERED"
1449
+ # resp.preferences.push_notifications.filter_rule #=> String
1450
+ #
1451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetChannelMembershipPreferences AWS API Documentation
1452
+ #
1453
+ # @overload get_channel_membership_preferences(params = {})
1454
+ # @param [Hash] params ({})
1455
+ def get_channel_membership_preferences(params = {}, options = {})
1456
+ req = build_request(:get_channel_membership_preferences, params)
1457
+ req.send_request(options)
1458
+ end
1459
+
1107
1460
  # Gets the full details of a channel message.
1108
1461
  #
1109
1462
  # <note markdown="1"> The x-amz-chime-bearer request header is mandatory. Use the
@@ -1147,6 +1500,11 @@ module Aws::ChimeSDKMessaging
1147
1500
  # resp.channel_message.sender.name #=> String
1148
1501
  # resp.channel_message.redacted #=> Boolean
1149
1502
  # resp.channel_message.persistence #=> String, one of "PERSISTENT", "NON_PERSISTENT"
1503
+ # resp.channel_message.status.value #=> String, one of "SENT", "PENDING", "FAILED", "DENIED"
1504
+ # resp.channel_message.status.detail #=> String
1505
+ # resp.channel_message.message_attributes #=> Hash
1506
+ # resp.channel_message.message_attributes["MessageAttributeName"].string_values #=> Array
1507
+ # resp.channel_message.message_attributes["MessageAttributeName"].string_values[0] #=> String
1150
1508
  #
1151
1509
  # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetChannelMessage AWS API Documentation
1152
1510
  #
@@ -1157,6 +1515,76 @@ module Aws::ChimeSDKMessaging
1157
1515
  req.send_request(options)
1158
1516
  end
1159
1517
 
1518
+ # Gets message status for a specified `messageId`. Use this API to
1519
+ # determine the intermediate status of messages going through channel
1520
+ # flow processing. The API provides an alternative to retrieving message
1521
+ # status if the event was not received because a client wasn't
1522
+ # connected to a websocket.
1523
+ #
1524
+ # Messages can have any one of these statuses.
1525
+ #
1526
+ # SENT
1527
+ #
1528
+ # : Message processed successfully
1529
+ #
1530
+ # PENDING
1531
+ #
1532
+ # : Ongoing processing
1533
+ #
1534
+ # FAILED
1535
+ #
1536
+ # : Processing failed
1537
+ #
1538
+ # DENIED
1539
+ #
1540
+ # : Messasge denied by the processor
1541
+ #
1542
+ # <note markdown="1"> * This API does not return statuses for denied messages, because we
1543
+ # don't store them once the processor denies them.
1544
+ #
1545
+ # * Only the message sender can invoke this API.
1546
+ #
1547
+ # * The `x-amz-chime-bearer` request header is mandatory. Use the
1548
+ # `AppInstanceUserArn` of the user that makes the API call as the
1549
+ # value in the header
1550
+ #
1551
+ # </note>
1552
+ #
1553
+ # @option params [required, String] :channel_arn
1554
+ # The ARN of the channel
1555
+ #
1556
+ # @option params [required, String] :message_id
1557
+ # The ID of the message.
1558
+ #
1559
+ # @option params [required, String] :chime_bearer
1560
+ # The `AppInstanceUserArn` of the user making the API call.
1561
+ #
1562
+ # @return [Types::GetChannelMessageStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1563
+ #
1564
+ # * {Types::GetChannelMessageStatusResponse#status #status} => Types::ChannelMessageStatusStructure
1565
+ #
1566
+ # @example Request syntax with placeholder values
1567
+ #
1568
+ # resp = client.get_channel_message_status({
1569
+ # channel_arn: "ChimeArn", # required
1570
+ # message_id: "MessageId", # required
1571
+ # chime_bearer: "ChimeArn", # required
1572
+ # })
1573
+ #
1574
+ # @example Response structure
1575
+ #
1576
+ # resp.status.value #=> String, one of "SENT", "PENDING", "FAILED", "DENIED"
1577
+ # resp.status.detail #=> String
1578
+ #
1579
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetChannelMessageStatus AWS API Documentation
1580
+ #
1581
+ # @overload get_channel_message_status(params = {})
1582
+ # @param [Hash] params ({})
1583
+ def get_channel_message_status(params = {}, options = {})
1584
+ req = build_request(:get_channel_message_status, params)
1585
+ req.send_request(options)
1586
+ end
1587
+
1160
1588
  # The details of the endpoint for the messaging session.
1161
1589
  #
1162
1590
  # @return [Types::GetMessagingSessionEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -1231,6 +1659,56 @@ module Aws::ChimeSDKMessaging
1231
1659
  req.send_request(options)
1232
1660
  end
1233
1661
 
1662
+ # Returns a paginated lists of all the channel flows created under a
1663
+ # single Chime. This is a developer API.
1664
+ #
1665
+ # @option params [required, String] :app_instance_arn
1666
+ # The ARN of the app instance.
1667
+ #
1668
+ # @option params [Integer] :max_results
1669
+ # The maximum number of channel flows that you want to return.
1670
+ #
1671
+ # @option params [String] :next_token
1672
+ # The token passed by previous API calls until all requested channel
1673
+ # flows are returned.
1674
+ #
1675
+ # @return [Types::ListChannelFlowsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1676
+ #
1677
+ # * {Types::ListChannelFlowsResponse#channel_flows #channel_flows} => Array&lt;Types::ChannelFlowSummary&gt;
1678
+ # * {Types::ListChannelFlowsResponse#next_token #next_token} => String
1679
+ #
1680
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1681
+ #
1682
+ # @example Request syntax with placeholder values
1683
+ #
1684
+ # resp = client.list_channel_flows({
1685
+ # app_instance_arn: "ChimeArn", # required
1686
+ # max_results: 1,
1687
+ # next_token: "NextToken",
1688
+ # })
1689
+ #
1690
+ # @example Response structure
1691
+ #
1692
+ # resp.channel_flows #=> Array
1693
+ # resp.channel_flows[0].channel_flow_arn #=> String
1694
+ # resp.channel_flows[0].name #=> String
1695
+ # resp.channel_flows[0].processors #=> Array
1696
+ # resp.channel_flows[0].processors[0].name #=> String
1697
+ # resp.channel_flows[0].processors[0].configuration.lambda.resource_arn #=> String
1698
+ # resp.channel_flows[0].processors[0].configuration.lambda.invocation_type #=> String, one of "ASYNC"
1699
+ # resp.channel_flows[0].processors[0].execution_order #=> Integer
1700
+ # resp.channel_flows[0].processors[0].fallback_action #=> String, one of "CONTINUE", "ABORT"
1701
+ # resp.next_token #=> String
1702
+ #
1703
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelFlows AWS API Documentation
1704
+ #
1705
+ # @overload list_channel_flows(params = {})
1706
+ # @param [Hash] params ({})
1707
+ def list_channel_flows(params = {}, options = {})
1708
+ req = build_request(:list_channel_flows, params)
1709
+ req.send_request(options)
1710
+ end
1711
+
1234
1712
  # Lists all channel memberships in a channel.
1235
1713
  #
1236
1714
  # <note markdown="1"> The `x-amz-chime-bearer` request header is mandatory. Use the
@@ -1239,6 +1717,13 @@ module Aws::ChimeSDKMessaging
1239
1717
  #
1240
1718
  # </note>
1241
1719
  #
1720
+ # If you want to list the channels to which a specific app instance user
1721
+ # belongs, see the [ListChannelMembershipsForAppInstanceUser][1] API.
1722
+ #
1723
+ #
1724
+ #
1725
+ # [1]: https://docs.aws.amazon.com/chime/latest/APIReference/API_messaging-chime_ListChannelMembershipsForAppInstanceUser.html
1726
+ #
1242
1727
  # @option params [required, String] :channel_arn
1243
1728
  # The maximum number of channel memberships that you want returned.
1244
1729
  #
@@ -1427,6 +1912,11 @@ module Aws::ChimeSDKMessaging
1427
1912
  # resp.channel_messages[0].sender.arn #=> String
1428
1913
  # resp.channel_messages[0].sender.name #=> String
1429
1914
  # resp.channel_messages[0].redacted #=> Boolean
1915
+ # resp.channel_messages[0].status.value #=> String, one of "SENT", "PENDING", "FAILED", "DENIED"
1916
+ # resp.channel_messages[0].status.detail #=> String
1917
+ # resp.channel_messages[0].message_attributes #=> Hash
1918
+ # resp.channel_messages[0].message_attributes["MessageAttributeName"].string_values #=> Array
1919
+ # resp.channel_messages[0].message_attributes["MessageAttributeName"].string_values[0] #=> String
1430
1920
  #
1431
1921
  # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelMessages AWS API Documentation
1432
1922
  #
@@ -1564,6 +2054,54 @@ module Aws::ChimeSDKMessaging
1564
2054
  req.send_request(options)
1565
2055
  end
1566
2056
 
2057
+ # Lists all channels associated with a specified channel flow. You can
2058
+ # associate a channel flow with multiple channels, but you can only
2059
+ # associate a channel with one channel flow. This is a developer API.
2060
+ #
2061
+ # @option params [required, String] :channel_flow_arn
2062
+ # The ARN of the channel flow.
2063
+ #
2064
+ # @option params [Integer] :max_results
2065
+ # The maximum number of channels that you want to return.
2066
+ #
2067
+ # @option params [String] :next_token
2068
+ # The token passed by previous API calls until all requested channels
2069
+ # are returned.
2070
+ #
2071
+ # @return [Types::ListChannelsAssociatedWithChannelFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2072
+ #
2073
+ # * {Types::ListChannelsAssociatedWithChannelFlowResponse#channels #channels} => Array&lt;Types::ChannelAssociatedWithFlowSummary&gt;
2074
+ # * {Types::ListChannelsAssociatedWithChannelFlowResponse#next_token #next_token} => String
2075
+ #
2076
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2077
+ #
2078
+ # @example Request syntax with placeholder values
2079
+ #
2080
+ # resp = client.list_channels_associated_with_channel_flow({
2081
+ # channel_flow_arn: "ChimeArn", # required
2082
+ # max_results: 1,
2083
+ # next_token: "NextToken",
2084
+ # })
2085
+ #
2086
+ # @example Response structure
2087
+ #
2088
+ # resp.channels #=> Array
2089
+ # resp.channels[0].name #=> String
2090
+ # resp.channels[0].channel_arn #=> String
2091
+ # resp.channels[0].mode #=> String, one of "UNRESTRICTED", "RESTRICTED"
2092
+ # resp.channels[0].privacy #=> String, one of "PUBLIC", "PRIVATE"
2093
+ # resp.channels[0].metadata #=> String
2094
+ # resp.next_token #=> String
2095
+ #
2096
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelsAssociatedWithChannelFlow AWS API Documentation
2097
+ #
2098
+ # @overload list_channels_associated_with_channel_flow(params = {})
2099
+ # @param [Hash] params ({})
2100
+ def list_channels_associated_with_channel_flow(params = {}, options = {})
2101
+ req = build_request(:list_channels_associated_with_channel_flow, params)
2102
+ req.send_request(options)
2103
+ end
2104
+
1567
2105
  # A list of the channels moderated by an `AppInstanceUser`.
1568
2106
  #
1569
2107
  # <note markdown="1"> The `x-amz-chime-bearer` request header is mandatory. Use the
@@ -1621,6 +2159,92 @@ module Aws::ChimeSDKMessaging
1621
2159
  req.send_request(options)
1622
2160
  end
1623
2161
 
2162
+ # Lists the tags applied to an Amazon Chime SDK messaging resource.
2163
+ #
2164
+ # @option params [required, String] :resource_arn
2165
+ # The ARN of the resource.
2166
+ #
2167
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2168
+ #
2169
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
2170
+ #
2171
+ # @example Request syntax with placeholder values
2172
+ #
2173
+ # resp = client.list_tags_for_resource({
2174
+ # resource_arn: "ChimeArn", # required
2175
+ # })
2176
+ #
2177
+ # @example Response structure
2178
+ #
2179
+ # resp.tags #=> Array
2180
+ # resp.tags[0].key #=> String
2181
+ # resp.tags[0].value #=> String
2182
+ #
2183
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListTagsForResource AWS API Documentation
2184
+ #
2185
+ # @overload list_tags_for_resource(params = {})
2186
+ # @param [Hash] params ({})
2187
+ def list_tags_for_resource(params = {}, options = {})
2188
+ req = build_request(:list_tags_for_resource, params)
2189
+ req.send_request(options)
2190
+ end
2191
+
2192
+ # Sets the membership preferences of an `AppInstanceUser` for the
2193
+ # specified channel. The `AppInstanceUser` must be a member of the
2194
+ # channel. Only the `AppInstanceUser` who owns the membership can set
2195
+ # preferences. Users in the `AppInstanceAdmin` and channel moderator
2196
+ # roles can't set preferences for other users. Banned users can't set
2197
+ # membership preferences for the channel from which they are banned.
2198
+ #
2199
+ # @option params [required, String] :channel_arn
2200
+ # The ARN of the channel.
2201
+ #
2202
+ # @option params [required, String] :member_arn
2203
+ # The `AppInstanceUserArn` of the member setting the preferences.
2204
+ #
2205
+ # @option params [required, String] :chime_bearer
2206
+ # The `AppInstanceUserARN` of the user making the API call.
2207
+ #
2208
+ # @option params [required, Types::ChannelMembershipPreferences] :preferences
2209
+ # The channel membership preferences of an `AppInstanceUser` .
2210
+ #
2211
+ # @return [Types::PutChannelMembershipPreferencesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2212
+ #
2213
+ # * {Types::PutChannelMembershipPreferencesResponse#channel_arn #channel_arn} => String
2214
+ # * {Types::PutChannelMembershipPreferencesResponse#member #member} => Types::Identity
2215
+ # * {Types::PutChannelMembershipPreferencesResponse#preferences #preferences} => Types::ChannelMembershipPreferences
2216
+ #
2217
+ # @example Request syntax with placeholder values
2218
+ #
2219
+ # resp = client.put_channel_membership_preferences({
2220
+ # channel_arn: "ChimeArn", # required
2221
+ # member_arn: "ChimeArn", # required
2222
+ # chime_bearer: "ChimeArn", # required
2223
+ # preferences: { # required
2224
+ # push_notifications: {
2225
+ # allow_notifications: "ALL", # required, accepts ALL, NONE, FILTERED
2226
+ # filter_rule: "FilterRule",
2227
+ # },
2228
+ # },
2229
+ # })
2230
+ #
2231
+ # @example Response structure
2232
+ #
2233
+ # resp.channel_arn #=> String
2234
+ # resp.member.arn #=> String
2235
+ # resp.member.name #=> String
2236
+ # resp.preferences.push_notifications.allow_notifications #=> String, one of "ALL", "NONE", "FILTERED"
2237
+ # resp.preferences.push_notifications.filter_rule #=> String
2238
+ #
2239
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/PutChannelMembershipPreferences AWS API Documentation
2240
+ #
2241
+ # @overload put_channel_membership_preferences(params = {})
2242
+ # @param [Hash] params ({})
2243
+ def put_channel_membership_preferences(params = {}, options = {})
2244
+ req = build_request(:put_channel_membership_preferences, params)
2245
+ req.send_request(options)
2246
+ end
2247
+
1624
2248
  # Redacts message content, but not metadata. The message exists in the
1625
2249
  # back end, but the action returns null content, and the state shows as
1626
2250
  # redacted.
@@ -1705,10 +2329,18 @@ module Aws::ChimeSDKMessaging
1705
2329
  # @option params [required, String] :chime_bearer
1706
2330
  # The `AppInstanceUserArn` of the user that makes the API call.
1707
2331
  #
2332
+ # @option params [Types::PushNotificationConfiguration] :push_notification
2333
+ # The push notification configuration of the message.
2334
+ #
2335
+ # @option params [Hash<String,Types::MessageAttributeValue>] :message_attributes
2336
+ # The attributes for the message, used for message filtering along with
2337
+ # a `FilterRule` defined in the `PushNotificationPreferences`.
2338
+ #
1708
2339
  # @return [Types::SendChannelMessageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1709
2340
  #
1710
2341
  # * {Types::SendChannelMessageResponse#channel_arn #channel_arn} => String
1711
2342
  # * {Types::SendChannelMessageResponse#message_id #message_id} => String
2343
+ # * {Types::SendChannelMessageResponse#status #status} => Types::ChannelMessageStatusStructure
1712
2344
  #
1713
2345
  # @example Request syntax with placeholder values
1714
2346
  #
@@ -1720,12 +2352,24 @@ module Aws::ChimeSDKMessaging
1720
2352
  # metadata: "Metadata",
1721
2353
  # client_request_token: "ClientRequestToken", # required
1722
2354
  # chime_bearer: "ChimeArn", # required
2355
+ # push_notification: {
2356
+ # title: "PushNotificationTitle", # required
2357
+ # body: "PushNotificationBody", # required
2358
+ # type: "DEFAULT", # required, accepts DEFAULT, VOIP
2359
+ # },
2360
+ # message_attributes: {
2361
+ # "MessageAttributeName" => {
2362
+ # string_values: ["MessageAttributeStringValue"],
2363
+ # },
2364
+ # },
1723
2365
  # })
1724
2366
  #
1725
2367
  # @example Response structure
1726
2368
  #
1727
2369
  # resp.channel_arn #=> String
1728
2370
  # resp.message_id #=> String
2371
+ # resp.status.value #=> String, one of "SENT", "PENDING", "FAILED", "DENIED"
2372
+ # resp.status.detail #=> String
1729
2373
  #
1730
2374
  # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/SendChannelMessage AWS API Documentation
1731
2375
  #
@@ -1736,6 +2380,65 @@ module Aws::ChimeSDKMessaging
1736
2380
  req.send_request(options)
1737
2381
  end
1738
2382
 
2383
+ # Applies the specified tags to the specified Amazon Chime SDK messaging
2384
+ # resource.
2385
+ #
2386
+ # @option params [required, String] :resource_arn
2387
+ # The resource ARN.
2388
+ #
2389
+ # @option params [required, Array<Types::Tag>] :tags
2390
+ # The tag key-value pairs.
2391
+ #
2392
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2393
+ #
2394
+ # @example Request syntax with placeholder values
2395
+ #
2396
+ # resp = client.tag_resource({
2397
+ # resource_arn: "ChimeArn", # required
2398
+ # tags: [ # required
2399
+ # {
2400
+ # key: "TagKey", # required
2401
+ # value: "TagValue", # required
2402
+ # },
2403
+ # ],
2404
+ # })
2405
+ #
2406
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/TagResource AWS API Documentation
2407
+ #
2408
+ # @overload tag_resource(params = {})
2409
+ # @param [Hash] params ({})
2410
+ def tag_resource(params = {}, options = {})
2411
+ req = build_request(:tag_resource, params)
2412
+ req.send_request(options)
2413
+ end
2414
+
2415
+ # Removes the specified tags from the specified Amazon Chime SDK
2416
+ # messaging resource.
2417
+ #
2418
+ # @option params [required, String] :resource_arn
2419
+ # The resource ARN.
2420
+ #
2421
+ # @option params [required, Array<String>] :tag_keys
2422
+ # The tag keys.
2423
+ #
2424
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2425
+ #
2426
+ # @example Request syntax with placeholder values
2427
+ #
2428
+ # resp = client.untag_resource({
2429
+ # resource_arn: "ChimeArn", # required
2430
+ # tag_keys: ["TagKey"], # required
2431
+ # })
2432
+ #
2433
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UntagResource AWS API Documentation
2434
+ #
2435
+ # @overload untag_resource(params = {})
2436
+ # @param [Hash] params ({})
2437
+ def untag_resource(params = {}, options = {})
2438
+ req = build_request(:untag_resource, params)
2439
+ req.send_request(options)
2440
+ end
2441
+
1739
2442
  # Update a channel's attributes.
1740
2443
  #
1741
2444
  # **Restriction**\: You can't change a channel's privacy.
@@ -1788,6 +2491,54 @@ module Aws::ChimeSDKMessaging
1788
2491
  req.send_request(options)
1789
2492
  end
1790
2493
 
2494
+ # Updates channel flow attributes. This is a developer API.
2495
+ #
2496
+ # @option params [required, String] :channel_flow_arn
2497
+ # The ARN of the channel flow.
2498
+ #
2499
+ # @option params [required, Array<Types::Processor>] :processors
2500
+ # Information about the processor Lambda functions
2501
+ #
2502
+ # @option params [required, String] :name
2503
+ # The name of the channel flow.
2504
+ #
2505
+ # @return [Types::UpdateChannelFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2506
+ #
2507
+ # * {Types::UpdateChannelFlowResponse#channel_flow_arn #channel_flow_arn} => String
2508
+ #
2509
+ # @example Request syntax with placeholder values
2510
+ #
2511
+ # resp = client.update_channel_flow({
2512
+ # channel_flow_arn: "ChimeArn", # required
2513
+ # processors: [ # required
2514
+ # {
2515
+ # name: "NonEmptyResourceName", # required
2516
+ # configuration: { # required
2517
+ # lambda: { # required
2518
+ # resource_arn: "LambdaFunctionArn", # required
2519
+ # invocation_type: "ASYNC", # required, accepts ASYNC
2520
+ # },
2521
+ # },
2522
+ # execution_order: 1, # required
2523
+ # fallback_action: "CONTINUE", # required, accepts CONTINUE, ABORT
2524
+ # },
2525
+ # ],
2526
+ # name: "NonEmptyResourceName", # required
2527
+ # })
2528
+ #
2529
+ # @example Response structure
2530
+ #
2531
+ # resp.channel_flow_arn #=> String
2532
+ #
2533
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UpdateChannelFlow AWS API Documentation
2534
+ #
2535
+ # @overload update_channel_flow(params = {})
2536
+ # @param [Hash] params ({})
2537
+ def update_channel_flow(params = {}, options = {})
2538
+ req = build_request(:update_channel_flow, params)
2539
+ req.send_request(options)
2540
+ end
2541
+
1791
2542
  # Updates the content of a message.
1792
2543
  #
1793
2544
  # <note markdown="1"> The `x-amz-chime-bearer` request header is mandatory. Use the
@@ -1815,6 +2566,7 @@ module Aws::ChimeSDKMessaging
1815
2566
  #
1816
2567
  # * {Types::UpdateChannelMessageResponse#channel_arn #channel_arn} => String
1817
2568
  # * {Types::UpdateChannelMessageResponse#message_id #message_id} => String
2569
+ # * {Types::UpdateChannelMessageResponse#status #status} => Types::ChannelMessageStatusStructure
1818
2570
  #
1819
2571
  # @example Request syntax with placeholder values
1820
2572
  #
@@ -1830,6 +2582,8 @@ module Aws::ChimeSDKMessaging
1830
2582
  #
1831
2583
  # resp.channel_arn #=> String
1832
2584
  # resp.message_id #=> String
2585
+ # resp.status.value #=> String, one of "SENT", "PENDING", "FAILED", "DENIED"
2586
+ # resp.status.detail #=> String
1833
2587
  #
1834
2588
  # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UpdateChannelMessage AWS API Documentation
1835
2589
  #
@@ -1891,7 +2645,7 @@ module Aws::ChimeSDKMessaging
1891
2645
  params: params,
1892
2646
  config: config)
1893
2647
  context[:gem_name] = 'aws-sdk-chimesdkmessaging'
1894
- context[:gem_version] = '1.3.0'
2648
+ context[:gem_version] = '1.7.0'
1895
2649
  Seahorse::Client::Request.new(handlers, context)
1896
2650
  end
1897
2651