aws-sdk-chimesdkmessaging 1.1.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -327,6 +327,45 @@ module Aws::ChimeSDKMessaging
327
327
 
328
328
  # @!group API Operations
329
329
 
330
+ # Associates a channel flow with a channel. Once associated, all
331
+ # messages to that channel go through channel flow processors. To stop
332
+ # processing, use the `DisassociateChannelFlow` API.
333
+ #
334
+ # <note markdown="1"> Only administrators or channel moderators can associate a channel
335
+ # flow. The `x-amz-chime-bearer` request header is mandatory. Use the
336
+ # `AppInstanceUserArn` of the user that makes the API call as the value
337
+ # in the header.
338
+ #
339
+ # </note>
340
+ #
341
+ # @option params [required, String] :channel_arn
342
+ # The ARN of the channel.
343
+ #
344
+ # @option params [required, String] :channel_flow_arn
345
+ # The ARN of the channel flow.
346
+ #
347
+ # @option params [required, String] :chime_bearer
348
+ # The `AppInstanceUserArn` of the user making the API call.
349
+ #
350
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
351
+ #
352
+ # @example Request syntax with placeholder values
353
+ #
354
+ # resp = client.associate_channel_flow({
355
+ # channel_arn: "ChimeArn", # required
356
+ # channel_flow_arn: "ChimeArn", # required
357
+ # chime_bearer: "ChimeArn", # required
358
+ # })
359
+ #
360
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/AssociateChannelFlow AWS API Documentation
361
+ #
362
+ # @overload associate_channel_flow(params = {})
363
+ # @param [Hash] params ({})
364
+ def associate_channel_flow(params = {}, options = {})
365
+ req = build_request(:associate_channel_flow, params)
366
+ req.send_request(options)
367
+ end
368
+
330
369
  # Adds a specified number of users to a channel.
331
370
  #
332
371
  # @option params [required, String] :channel_arn
@@ -340,7 +379,8 @@ module Aws::ChimeSDKMessaging
340
379
  # not returned. This is only supported by moderators.
341
380
  #
342
381
  # @option params [required, Array<String>] :member_arns
343
- # The ARNs of the members you want to add to the channel.
382
+ # The `AppInstanceUserArn`s of the members you want to add to the
383
+ # channel.
344
384
  #
345
385
  # @option params [required, String] :chime_bearer
346
386
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -382,6 +422,67 @@ module Aws::ChimeSDKMessaging
382
422
  req.send_request(options)
383
423
  end
384
424
 
425
+ # Calls back Chime SDK Messaging with a processing response message.
426
+ # This should be invoked from the processor Lambda. This is a developer
427
+ # API.
428
+ #
429
+ # You can return one of the following processing responses:
430
+ #
431
+ # * Update message content or metadata
432
+ #
433
+ # * Deny a message
434
+ #
435
+ # * Make no changes to the message
436
+ #
437
+ # @option params [required, String] :callback_id
438
+ # The identifier passed to the processor by the service when invoked.
439
+ # Use the identifier to call back the service.
440
+ #
441
+ # **A suitable default value is auto-generated.** You should normally
442
+ # not need to pass this option.**
443
+ #
444
+ # @option params [required, String] :channel_arn
445
+ # The ARN of the channel.
446
+ #
447
+ # @option params [Boolean] :delete_resource
448
+ # When a processor determines that a message needs to be `DENIED`, pass
449
+ # this parameter with a value of true.
450
+ #
451
+ # @option params [required, Types::ChannelMessageCallback] :channel_message
452
+ # Stores information about the processed message.
453
+ #
454
+ # @return [Types::ChannelFlowCallbackResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
455
+ #
456
+ # * {Types::ChannelFlowCallbackResponse#channel_arn #channel_arn} => String
457
+ # * {Types::ChannelFlowCallbackResponse#callback_id #callback_id} => String
458
+ #
459
+ # @example Request syntax with placeholder values
460
+ #
461
+ # resp = client.channel_flow_callback({
462
+ # callback_id: "CallbackIdType", # required
463
+ # channel_arn: "ChimeArn", # required
464
+ # delete_resource: false,
465
+ # channel_message: { # required
466
+ # message_id: "MessageId", # required
467
+ # content: "NonEmptyContent",
468
+ # metadata: "Metadata",
469
+ # },
470
+ # })
471
+ #
472
+ # @example Response structure
473
+ #
474
+ # resp.channel_arn #=> String
475
+ # resp.callback_id #=> String
476
+ #
477
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ChannelFlowCallback AWS API Documentation
478
+ #
479
+ # @overload channel_flow_callback(params = {})
480
+ # @param [Hash] params ({})
481
+ def channel_flow_callback(params = {}, options = {})
482
+ req = build_request(:channel_flow_callback, params)
483
+ req.send_request(options)
484
+ end
485
+
385
486
  # Creates a channel to which you can add users and send messages.
386
487
  #
387
488
  # **Restriction**\: You can't change a channel's privacy.
@@ -477,7 +578,7 @@ module Aws::ChimeSDKMessaging
477
578
  # The ARN of the ban request.
478
579
  #
479
580
  # @option params [required, String] :member_arn
480
- # The ARN of the member being banned.
581
+ # The `AppInstanceUserArn` of the member being banned.
481
582
  #
482
583
  # @option params [required, String] :chime_bearer
483
584
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -510,8 +611,91 @@ module Aws::ChimeSDKMessaging
510
611
  req.send_request(options)
511
612
  end
512
613
 
513
- # Adds a user to a channel. The `InvitedBy` response field is derived
514
- # from the request header. A channel member can:
614
+ # Creates a channel flow, a container for processors. Processors are AWS
615
+ # Lambda functions that perform actions on chat messages, such as
616
+ # stripping out profanity. You can associate channel flows with
617
+ # channels, and the processors in the channel flow then take action on
618
+ # all messages sent to that channel. This is a developer API.
619
+ #
620
+ # Channel flows process the following items:
621
+ #
622
+ # 1. New and updated messages
623
+ #
624
+ # 2. Persistent and non-persistent messages
625
+ #
626
+ # 3. The Standard message type
627
+ #
628
+ # <note markdown="1"> Channel flows don't process Control or System messages. For more
629
+ # information about the message types provided by Chime SDK Messaging,
630
+ # refer to [Message types][1] in the *Amazon Chime developer guide*.
631
+ #
632
+ # </note>
633
+ #
634
+ #
635
+ #
636
+ # [1]: https://docs.aws.amazon.com/chime/latest/dg/using-the-messaging-sdk.html#msg-types
637
+ #
638
+ # @option params [required, String] :app_instance_arn
639
+ # The ARN of the channel flow request.
640
+ #
641
+ # @option params [required, Array<Types::Processor>] :processors
642
+ # Information about the processor Lambda functions.
643
+ #
644
+ # @option params [required, String] :name
645
+ # The name of the channel flow.
646
+ #
647
+ # @option params [Array<Types::Tag>] :tags
648
+ # The tags for the creation request.
649
+ #
650
+ # @option params [required, String] :client_request_token
651
+ # The client token for the request. An Idempotency token.
652
+ #
653
+ # @return [Types::CreateChannelFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
654
+ #
655
+ # * {Types::CreateChannelFlowResponse#channel_flow_arn #channel_flow_arn} => String
656
+ #
657
+ # @example Request syntax with placeholder values
658
+ #
659
+ # resp = client.create_channel_flow({
660
+ # app_instance_arn: "ChimeArn", # required
661
+ # processors: [ # required
662
+ # {
663
+ # name: "NonEmptyResourceName", # required
664
+ # configuration: { # required
665
+ # lambda: { # required
666
+ # resource_arn: "LambdaFunctionArn", # required
667
+ # invocation_type: "ASYNC", # required, accepts ASYNC
668
+ # },
669
+ # },
670
+ # execution_order: 1, # required
671
+ # fallback_action: "CONTINUE", # required, accepts CONTINUE, ABORT
672
+ # },
673
+ # ],
674
+ # name: "NonEmptyResourceName", # required
675
+ # tags: [
676
+ # {
677
+ # key: "TagKey", # required
678
+ # value: "TagValue", # required
679
+ # },
680
+ # ],
681
+ # client_request_token: "ClientRequestToken", # required
682
+ # })
683
+ #
684
+ # @example Response structure
685
+ #
686
+ # resp.channel_flow_arn #=> String
687
+ #
688
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/CreateChannelFlow AWS API Documentation
689
+ #
690
+ # @overload create_channel_flow(params = {})
691
+ # @param [Hash] params ({})
692
+ def create_channel_flow(params = {}, options = {})
693
+ req = build_request(:create_channel_flow, params)
694
+ req.send_request(options)
695
+ end
696
+
697
+ # Adds a user to a channel. The `InvitedBy` field in `ChannelMembership`
698
+ # is derived from the request header. A channel member can:
515
699
  #
516
700
  # * List messages
517
701
  #
@@ -540,7 +724,7 @@ module Aws::ChimeSDKMessaging
540
724
  # The ARN of the channel to which you're adding users.
541
725
  #
542
726
  # @option params [required, String] :member_arn
543
- # The ARN of the member you want to add to the channel.
727
+ # The `AppInstanceUserArn` of the member you want to add to the channel.
544
728
  #
545
729
  # @option params [required, String] :type
546
730
  # The membership type of a user, `DEFAULT` or `HIDDEN`. Default members
@@ -603,7 +787,7 @@ module Aws::ChimeSDKMessaging
603
787
  # The ARN of the channel.
604
788
  #
605
789
  # @option params [required, String] :channel_moderator_arn
606
- # The ARN of the moderator.
790
+ # The `AppInstanceUserArn` of the moderator.
607
791
  #
608
792
  # @option params [required, String] :chime_bearer
609
793
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -705,6 +889,37 @@ module Aws::ChimeSDKMessaging
705
889
  req.send_request(options)
706
890
  end
707
891
 
892
+ # Deletes a channel flow, an irreversible process. This is a developer
893
+ # API.
894
+ #
895
+ # <note markdown="1"> This API works only when the channel flow is not associated with any
896
+ # channel. To get a list of all channels that a channel flow is
897
+ # associated with, use the `ListChannelsAssociatedWithChannelFlow` API.
898
+ # Use the `DisassociateChannelFlow` API to disassociate a channel flow
899
+ # from all channels.
900
+ #
901
+ # </note>
902
+ #
903
+ # @option params [required, String] :channel_flow_arn
904
+ # The ARN of the channel flow.
905
+ #
906
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
907
+ #
908
+ # @example Request syntax with placeholder values
909
+ #
910
+ # resp = client.delete_channel_flow({
911
+ # channel_flow_arn: "ChimeArn", # required
912
+ # })
913
+ #
914
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DeleteChannelFlow AWS API Documentation
915
+ #
916
+ # @overload delete_channel_flow(params = {})
917
+ # @param [Hash] params ({})
918
+ def delete_channel_flow(params = {}, options = {})
919
+ req = build_request(:delete_channel_flow, params)
920
+ req.send_request(options)
921
+ end
922
+
708
923
  # Removes a member from a channel.
709
924
  #
710
925
  # <note markdown="1"> The `x-amz-chime-bearer` request header is mandatory. Use the
@@ -717,7 +932,8 @@ module Aws::ChimeSDKMessaging
717
932
  # The ARN of the channel from which you want to remove the user.
718
933
  #
719
934
  # @option params [required, String] :member_arn
720
- # The ARN of the member that you're removing from the channel.
935
+ # The `AppInstanceUserArn` of the member that you're removing from the
936
+ # channel.
721
937
  #
722
938
  # @option params [required, String] :chime_bearer
723
939
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -791,7 +1007,7 @@ module Aws::ChimeSDKMessaging
791
1007
  # The ARN of the channel.
792
1008
  #
793
1009
  # @option params [required, String] :channel_moderator_arn
794
- # The ARN of the moderator being deleted.
1010
+ # The `AppInstanceUserArn` of the moderator being deleted.
795
1011
  #
796
1012
  # @option params [required, String] :chime_bearer
797
1013
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -853,6 +1069,7 @@ module Aws::ChimeSDKMessaging
853
1069
  # resp.channel.created_timestamp #=> Time
854
1070
  # resp.channel.last_message_timestamp #=> Time
855
1071
  # resp.channel.last_updated_timestamp #=> Time
1072
+ # resp.channel.channel_flow_arn #=> String
856
1073
  #
857
1074
  # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannel AWS API Documentation
858
1075
  #
@@ -875,7 +1092,7 @@ module Aws::ChimeSDKMessaging
875
1092
  # The ARN of the channel from which the user is banned.
876
1093
  #
877
1094
  # @option params [required, String] :member_arn
878
- # The ARN of the member being banned.
1095
+ # The `AppInstanceUserArn` of the member being banned.
879
1096
  #
880
1097
  # @option params [required, String] :chime_bearer
881
1098
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -910,6 +1127,44 @@ module Aws::ChimeSDKMessaging
910
1127
  req.send_request(options)
911
1128
  end
912
1129
 
1130
+ # Returns the full details of a channel flow in an Amazon Chime
1131
+ # `AppInstance`. This is a developer API.
1132
+ #
1133
+ # @option params [required, String] :channel_flow_arn
1134
+ # The ARN of the channel flow.
1135
+ #
1136
+ # @return [Types::DescribeChannelFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1137
+ #
1138
+ # * {Types::DescribeChannelFlowResponse#channel_flow #channel_flow} => Types::ChannelFlow
1139
+ #
1140
+ # @example Request syntax with placeholder values
1141
+ #
1142
+ # resp = client.describe_channel_flow({
1143
+ # channel_flow_arn: "ChimeArn", # required
1144
+ # })
1145
+ #
1146
+ # @example Response structure
1147
+ #
1148
+ # resp.channel_flow.channel_flow_arn #=> String
1149
+ # resp.channel_flow.processors #=> Array
1150
+ # resp.channel_flow.processors[0].name #=> String
1151
+ # resp.channel_flow.processors[0].configuration.lambda.resource_arn #=> String
1152
+ # resp.channel_flow.processors[0].configuration.lambda.invocation_type #=> String, one of "ASYNC"
1153
+ # resp.channel_flow.processors[0].execution_order #=> Integer
1154
+ # resp.channel_flow.processors[0].fallback_action #=> String, one of "CONTINUE", "ABORT"
1155
+ # resp.channel_flow.name #=> String
1156
+ # resp.channel_flow.created_timestamp #=> Time
1157
+ # resp.channel_flow.last_updated_timestamp #=> Time
1158
+ #
1159
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelFlow AWS API Documentation
1160
+ #
1161
+ # @overload describe_channel_flow(params = {})
1162
+ # @param [Hash] params ({})
1163
+ def describe_channel_flow(params = {}, options = {})
1164
+ req = build_request(:describe_channel_flow, params)
1165
+ req.send_request(options)
1166
+ end
1167
+
913
1168
  # Returns the full details of a user's channel membership.
914
1169
  #
915
1170
  # <note markdown="1"> The `x-amz-chime-bearer` request header is mandatory. Use the
@@ -922,7 +1177,7 @@ module Aws::ChimeSDKMessaging
922
1177
  # The ARN of the channel.
923
1178
  #
924
1179
  # @option params [required, String] :member_arn
925
- # The ARN of the member.
1180
+ # The `AppInstanceUserArn` of the member.
926
1181
  #
927
1182
  # @option params [required, String] :chime_bearer
928
1183
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -1069,7 +1324,7 @@ module Aws::ChimeSDKMessaging
1069
1324
  # The ARN of the channel.
1070
1325
  #
1071
1326
  # @option params [required, String] :channel_moderator_arn
1072
- # The ARN of the channel moderator.
1327
+ # The `AppInstanceUserArn` of the channel moderator.
1073
1328
  #
1074
1329
  # @option params [required, String] :chime_bearer
1075
1330
  # The `AppInstanceUserArn` of the user that makes the API call.
@@ -1104,6 +1359,93 @@ module Aws::ChimeSDKMessaging
1104
1359
  req.send_request(options)
1105
1360
  end
1106
1361
 
1362
+ # Disassociates a channel flow from all its channels. Once
1363
+ # disassociated, all messages to that channel stop going through the
1364
+ # channel flow processor.
1365
+ #
1366
+ # <note markdown="1"> Only administrators or channel moderators can disassociate a channel
1367
+ # flow. The `x-amz-chime-bearer` request header is mandatory. Use the
1368
+ # `AppInstanceUserArn` of the user that makes the API call as the value
1369
+ # in the header.
1370
+ #
1371
+ # </note>
1372
+ #
1373
+ # @option params [required, String] :channel_arn
1374
+ # The ARN of the channel.
1375
+ #
1376
+ # @option params [required, String] :channel_flow_arn
1377
+ # The ARN of the channel flow.
1378
+ #
1379
+ # @option params [required, String] :chime_bearer
1380
+ # The `AppInstanceUserArn` of the user making the API call.
1381
+ #
1382
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1383
+ #
1384
+ # @example Request syntax with placeholder values
1385
+ #
1386
+ # resp = client.disassociate_channel_flow({
1387
+ # channel_arn: "ChimeArn", # required
1388
+ # channel_flow_arn: "ChimeArn", # required
1389
+ # chime_bearer: "ChimeArn", # required
1390
+ # })
1391
+ #
1392
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DisassociateChannelFlow AWS API Documentation
1393
+ #
1394
+ # @overload disassociate_channel_flow(params = {})
1395
+ # @param [Hash] params ({})
1396
+ def disassociate_channel_flow(params = {}, options = {})
1397
+ req = build_request(:disassociate_channel_flow, params)
1398
+ req.send_request(options)
1399
+ end
1400
+
1401
+ # Gets the membership preferences of an `AppInstanceUser` for the
1402
+ # specified channel. The `AppInstanceUser` must be a member of the
1403
+ # channel. Only the `AppInstanceUser` who owns the membership can
1404
+ # retrieve preferences. Users in the `AppInstanceAdmin` and channel
1405
+ # moderator roles can't retrieve preferences for other users. Banned
1406
+ # users can't retrieve membership preferences for the channel from
1407
+ # which they are banned.
1408
+ #
1409
+ # @option params [required, String] :channel_arn
1410
+ # The ARN of the channel.
1411
+ #
1412
+ # @option params [required, String] :member_arn
1413
+ # The `AppInstanceUserArn` of the member retrieving the preferences.
1414
+ #
1415
+ # @option params [required, String] :chime_bearer
1416
+ # The `AppInstanceUserARN` of the user making the API call.
1417
+ #
1418
+ # @return [Types::GetChannelMembershipPreferencesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1419
+ #
1420
+ # * {Types::GetChannelMembershipPreferencesResponse#channel_arn #channel_arn} => String
1421
+ # * {Types::GetChannelMembershipPreferencesResponse#member #member} => Types::Identity
1422
+ # * {Types::GetChannelMembershipPreferencesResponse#preferences #preferences} => Types::ChannelMembershipPreferences
1423
+ #
1424
+ # @example Request syntax with placeholder values
1425
+ #
1426
+ # resp = client.get_channel_membership_preferences({
1427
+ # channel_arn: "ChimeArn", # required
1428
+ # member_arn: "ChimeArn", # required
1429
+ # chime_bearer: "ChimeArn", # required
1430
+ # })
1431
+ #
1432
+ # @example Response structure
1433
+ #
1434
+ # resp.channel_arn #=> String
1435
+ # resp.member.arn #=> String
1436
+ # resp.member.name #=> String
1437
+ # resp.preferences.push_notifications.allow_notifications #=> String, one of "ALL", "NONE", "FILTERED"
1438
+ # resp.preferences.push_notifications.filter_rule #=> String
1439
+ #
1440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetChannelMembershipPreferences AWS API Documentation
1441
+ #
1442
+ # @overload get_channel_membership_preferences(params = {})
1443
+ # @param [Hash] params ({})
1444
+ def get_channel_membership_preferences(params = {}, options = {})
1445
+ req = build_request(:get_channel_membership_preferences, params)
1446
+ req.send_request(options)
1447
+ end
1448
+
1107
1449
  # Gets the full details of a channel message.
1108
1450
  #
1109
1451
  # <note markdown="1"> The x-amz-chime-bearer request header is mandatory. Use the
@@ -1147,6 +1489,11 @@ module Aws::ChimeSDKMessaging
1147
1489
  # resp.channel_message.sender.name #=> String
1148
1490
  # resp.channel_message.redacted #=> Boolean
1149
1491
  # resp.channel_message.persistence #=> String, one of "PERSISTENT", "NON_PERSISTENT"
1492
+ # resp.channel_message.status.value #=> String, one of "SENT", "PENDING", "FAILED", "DENIED"
1493
+ # resp.channel_message.status.detail #=> String
1494
+ # resp.channel_message.message_attributes #=> Hash
1495
+ # resp.channel_message.message_attributes["MessageAttributeName"].string_values #=> Array
1496
+ # resp.channel_message.message_attributes["MessageAttributeName"].string_values[0] #=> String
1150
1497
  #
1151
1498
  # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetChannelMessage AWS API Documentation
1152
1499
  #
@@ -1157,6 +1504,76 @@ module Aws::ChimeSDKMessaging
1157
1504
  req.send_request(options)
1158
1505
  end
1159
1506
 
1507
+ # Gets message status for a specified `messageId`. Use this API to
1508
+ # determine the intermediate status of messages going through channel
1509
+ # flow processing. The API provides an alternative to retrieving message
1510
+ # status if the event was not received because a client wasn't
1511
+ # connected to a websocket.
1512
+ #
1513
+ # Messages can have any one of these statuses.
1514
+ #
1515
+ # SENT
1516
+ #
1517
+ # : Message processed successfully
1518
+ #
1519
+ # PENDING
1520
+ #
1521
+ # : Ongoing processing
1522
+ #
1523
+ # FAILED
1524
+ #
1525
+ # : Processing failed
1526
+ #
1527
+ # DENIED
1528
+ #
1529
+ # : Messasge denied by the processor
1530
+ #
1531
+ # <note markdown="1"> * This API does not return statuses for denied messages, because we
1532
+ # don't store them once the processor denies them.
1533
+ #
1534
+ # * Only the message sender can invoke this API.
1535
+ #
1536
+ # * The `x-amz-chime-bearer` request header is mandatory. Use the
1537
+ # `AppInstanceUserArn` of the user that makes the API call as the
1538
+ # value in the header
1539
+ #
1540
+ # </note>
1541
+ #
1542
+ # @option params [required, String] :channel_arn
1543
+ # The ARN of the channel
1544
+ #
1545
+ # @option params [required, String] :message_id
1546
+ # The ID of the message.
1547
+ #
1548
+ # @option params [required, String] :chime_bearer
1549
+ # The `AppInstanceUserArn` of the user making the API call.
1550
+ #
1551
+ # @return [Types::GetChannelMessageStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1552
+ #
1553
+ # * {Types::GetChannelMessageStatusResponse#status #status} => Types::ChannelMessageStatusStructure
1554
+ #
1555
+ # @example Request syntax with placeholder values
1556
+ #
1557
+ # resp = client.get_channel_message_status({
1558
+ # channel_arn: "ChimeArn", # required
1559
+ # message_id: "MessageId", # required
1560
+ # chime_bearer: "ChimeArn", # required
1561
+ # })
1562
+ #
1563
+ # @example Response structure
1564
+ #
1565
+ # resp.status.value #=> String, one of "SENT", "PENDING", "FAILED", "DENIED"
1566
+ # resp.status.detail #=> String
1567
+ #
1568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetChannelMessageStatus AWS API Documentation
1569
+ #
1570
+ # @overload get_channel_message_status(params = {})
1571
+ # @param [Hash] params ({})
1572
+ def get_channel_message_status(params = {}, options = {})
1573
+ req = build_request(:get_channel_message_status, params)
1574
+ req.send_request(options)
1575
+ end
1576
+
1160
1577
  # The details of the endpoint for the messaging session.
1161
1578
  #
1162
1579
  # @return [Types::GetMessagingSessionEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -1231,6 +1648,56 @@ module Aws::ChimeSDKMessaging
1231
1648
  req.send_request(options)
1232
1649
  end
1233
1650
 
1651
+ # Returns a paginated lists of all the channel flows created under a
1652
+ # single Chime. This is a developer API.
1653
+ #
1654
+ # @option params [required, String] :app_instance_arn
1655
+ # The ARN of the app instance.
1656
+ #
1657
+ # @option params [Integer] :max_results
1658
+ # The maximum number of channel flows that you want to return.
1659
+ #
1660
+ # @option params [String] :next_token
1661
+ # The token passed by previous API calls until all requested channel
1662
+ # flows are returned.
1663
+ #
1664
+ # @return [Types::ListChannelFlowsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1665
+ #
1666
+ # * {Types::ListChannelFlowsResponse#channel_flows #channel_flows} => Array&lt;Types::ChannelFlowSummary&gt;
1667
+ # * {Types::ListChannelFlowsResponse#next_token #next_token} => String
1668
+ #
1669
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1670
+ #
1671
+ # @example Request syntax with placeholder values
1672
+ #
1673
+ # resp = client.list_channel_flows({
1674
+ # app_instance_arn: "ChimeArn", # required
1675
+ # max_results: 1,
1676
+ # next_token: "NextToken",
1677
+ # })
1678
+ #
1679
+ # @example Response structure
1680
+ #
1681
+ # resp.channel_flows #=> Array
1682
+ # resp.channel_flows[0].channel_flow_arn #=> String
1683
+ # resp.channel_flows[0].name #=> String
1684
+ # resp.channel_flows[0].processors #=> Array
1685
+ # resp.channel_flows[0].processors[0].name #=> String
1686
+ # resp.channel_flows[0].processors[0].configuration.lambda.resource_arn #=> String
1687
+ # resp.channel_flows[0].processors[0].configuration.lambda.invocation_type #=> String, one of "ASYNC"
1688
+ # resp.channel_flows[0].processors[0].execution_order #=> Integer
1689
+ # resp.channel_flows[0].processors[0].fallback_action #=> String, one of "CONTINUE", "ABORT"
1690
+ # resp.next_token #=> String
1691
+ #
1692
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelFlows AWS API Documentation
1693
+ #
1694
+ # @overload list_channel_flows(params = {})
1695
+ # @param [Hash] params ({})
1696
+ def list_channel_flows(params = {}, options = {})
1697
+ req = build_request(:list_channel_flows, params)
1698
+ req.send_request(options)
1699
+ end
1700
+
1234
1701
  # Lists all channel memberships in a channel.
1235
1702
  #
1236
1703
  # <note markdown="1"> The `x-amz-chime-bearer` request header is mandatory. Use the
@@ -1239,6 +1706,13 @@ module Aws::ChimeSDKMessaging
1239
1706
  #
1240
1707
  # </note>
1241
1708
  #
1709
+ # If you want to list the channels to which a specific app instance user
1710
+ # belongs, see the [ListChannelMembershipsForAppInstanceUser][1] API.
1711
+ #
1712
+ #
1713
+ #
1714
+ # [1]: https://docs.aws.amazon.com/chime/latest/APIReference/API_messaging-chime_ListChannelMembershipsForAppInstanceUser.html
1715
+ #
1242
1716
  # @option params [required, String] :channel_arn
1243
1717
  # The maximum number of channel memberships that you want returned.
1244
1718
  #
@@ -1427,6 +1901,11 @@ module Aws::ChimeSDKMessaging
1427
1901
  # resp.channel_messages[0].sender.arn #=> String
1428
1902
  # resp.channel_messages[0].sender.name #=> String
1429
1903
  # resp.channel_messages[0].redacted #=> Boolean
1904
+ # resp.channel_messages[0].status.value #=> String, one of "SENT", "PENDING", "FAILED", "DENIED"
1905
+ # resp.channel_messages[0].status.detail #=> String
1906
+ # resp.channel_messages[0].message_attributes #=> Hash
1907
+ # resp.channel_messages[0].message_attributes["MessageAttributeName"].string_values #=> Array
1908
+ # resp.channel_messages[0].message_attributes["MessageAttributeName"].string_values[0] #=> String
1430
1909
  #
1431
1910
  # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelMessages AWS API Documentation
1432
1911
  #
@@ -1564,6 +2043,54 @@ module Aws::ChimeSDKMessaging
1564
2043
  req.send_request(options)
1565
2044
  end
1566
2045
 
2046
+ # Lists all channels associated with a specified channel flow. You can
2047
+ # associate a channel flow with multiple channels, but you can only
2048
+ # associate a channel with one channel flow. This is a developer API.
2049
+ #
2050
+ # @option params [required, String] :channel_flow_arn
2051
+ # The ARN of the channel flow.
2052
+ #
2053
+ # @option params [Integer] :max_results
2054
+ # The maximum number of channels that you want to return.
2055
+ #
2056
+ # @option params [String] :next_token
2057
+ # The token passed by previous API calls until all requested channels
2058
+ # are returned.
2059
+ #
2060
+ # @return [Types::ListChannelsAssociatedWithChannelFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2061
+ #
2062
+ # * {Types::ListChannelsAssociatedWithChannelFlowResponse#channels #channels} => Array&lt;Types::ChannelAssociatedWithFlowSummary&gt;
2063
+ # * {Types::ListChannelsAssociatedWithChannelFlowResponse#next_token #next_token} => String
2064
+ #
2065
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2066
+ #
2067
+ # @example Request syntax with placeholder values
2068
+ #
2069
+ # resp = client.list_channels_associated_with_channel_flow({
2070
+ # channel_flow_arn: "ChimeArn", # required
2071
+ # max_results: 1,
2072
+ # next_token: "NextToken",
2073
+ # })
2074
+ #
2075
+ # @example Response structure
2076
+ #
2077
+ # resp.channels #=> Array
2078
+ # resp.channels[0].name #=> String
2079
+ # resp.channels[0].channel_arn #=> String
2080
+ # resp.channels[0].mode #=> String, one of "UNRESTRICTED", "RESTRICTED"
2081
+ # resp.channels[0].privacy #=> String, one of "PUBLIC", "PRIVATE"
2082
+ # resp.channels[0].metadata #=> String
2083
+ # resp.next_token #=> String
2084
+ #
2085
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelsAssociatedWithChannelFlow AWS API Documentation
2086
+ #
2087
+ # @overload list_channels_associated_with_channel_flow(params = {})
2088
+ # @param [Hash] params ({})
2089
+ def list_channels_associated_with_channel_flow(params = {}, options = {})
2090
+ req = build_request(:list_channels_associated_with_channel_flow, params)
2091
+ req.send_request(options)
2092
+ end
2093
+
1567
2094
  # A list of the channels moderated by an `AppInstanceUser`.
1568
2095
  #
1569
2096
  # <note markdown="1"> The `x-amz-chime-bearer` request header is mandatory. Use the
@@ -1621,6 +2148,92 @@ module Aws::ChimeSDKMessaging
1621
2148
  req.send_request(options)
1622
2149
  end
1623
2150
 
2151
+ # Lists the tags applied to an Amazon Chime SDK messaging resource.
2152
+ #
2153
+ # @option params [required, String] :resource_arn
2154
+ # The ARN of the resource.
2155
+ #
2156
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2157
+ #
2158
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
2159
+ #
2160
+ # @example Request syntax with placeholder values
2161
+ #
2162
+ # resp = client.list_tags_for_resource({
2163
+ # resource_arn: "ChimeArn", # required
2164
+ # })
2165
+ #
2166
+ # @example Response structure
2167
+ #
2168
+ # resp.tags #=> Array
2169
+ # resp.tags[0].key #=> String
2170
+ # resp.tags[0].value #=> String
2171
+ #
2172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListTagsForResource AWS API Documentation
2173
+ #
2174
+ # @overload list_tags_for_resource(params = {})
2175
+ # @param [Hash] params ({})
2176
+ def list_tags_for_resource(params = {}, options = {})
2177
+ req = build_request(:list_tags_for_resource, params)
2178
+ req.send_request(options)
2179
+ end
2180
+
2181
+ # Sets the membership preferences of an `AppInstanceUser` for the
2182
+ # specified channel. The `AppInstanceUser` must be a member of the
2183
+ # channel. Only the `AppInstanceUser` who owns the membership can set
2184
+ # preferences. Users in the `AppInstanceAdmin` and channel moderator
2185
+ # roles can't set preferences for other users. Banned users can't set
2186
+ # membership preferences for the channel from which they are banned.
2187
+ #
2188
+ # @option params [required, String] :channel_arn
2189
+ # The ARN of the channel.
2190
+ #
2191
+ # @option params [required, String] :member_arn
2192
+ # The `AppInstanceUserArn` of the member setting the preferences.
2193
+ #
2194
+ # @option params [required, String] :chime_bearer
2195
+ # The `AppInstanceUserARN` of the user making the API call.
2196
+ #
2197
+ # @option params [required, Types::ChannelMembershipPreferences] :preferences
2198
+ # The channel membership preferences of an `AppInstanceUser` .
2199
+ #
2200
+ # @return [Types::PutChannelMembershipPreferencesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2201
+ #
2202
+ # * {Types::PutChannelMembershipPreferencesResponse#channel_arn #channel_arn} => String
2203
+ # * {Types::PutChannelMembershipPreferencesResponse#member #member} => Types::Identity
2204
+ # * {Types::PutChannelMembershipPreferencesResponse#preferences #preferences} => Types::ChannelMembershipPreferences
2205
+ #
2206
+ # @example Request syntax with placeholder values
2207
+ #
2208
+ # resp = client.put_channel_membership_preferences({
2209
+ # channel_arn: "ChimeArn", # required
2210
+ # member_arn: "ChimeArn", # required
2211
+ # chime_bearer: "ChimeArn", # required
2212
+ # preferences: { # required
2213
+ # push_notifications: {
2214
+ # allow_notifications: "ALL", # required, accepts ALL, NONE, FILTERED
2215
+ # filter_rule: "FilterRule",
2216
+ # },
2217
+ # },
2218
+ # })
2219
+ #
2220
+ # @example Response structure
2221
+ #
2222
+ # resp.channel_arn #=> String
2223
+ # resp.member.arn #=> String
2224
+ # resp.member.name #=> String
2225
+ # resp.preferences.push_notifications.allow_notifications #=> String, one of "ALL", "NONE", "FILTERED"
2226
+ # resp.preferences.push_notifications.filter_rule #=> String
2227
+ #
2228
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/PutChannelMembershipPreferences AWS API Documentation
2229
+ #
2230
+ # @overload put_channel_membership_preferences(params = {})
2231
+ # @param [Hash] params ({})
2232
+ def put_channel_membership_preferences(params = {}, options = {})
2233
+ req = build_request(:put_channel_membership_preferences, params)
2234
+ req.send_request(options)
2235
+ end
2236
+
1624
2237
  # Redacts message content, but not metadata. The message exists in the
1625
2238
  # back end, but the action returns null content, and the state shows as
1626
2239
  # redacted.
@@ -1705,10 +2318,18 @@ module Aws::ChimeSDKMessaging
1705
2318
  # @option params [required, String] :chime_bearer
1706
2319
  # The `AppInstanceUserArn` of the user that makes the API call.
1707
2320
  #
2321
+ # @option params [Types::PushNotificationConfiguration] :push_notification
2322
+ # The push notification configuration of the message.
2323
+ #
2324
+ # @option params [Hash<String,Types::MessageAttributeValue>] :message_attributes
2325
+ # The attributes for the message, used for message filtering along with
2326
+ # a `FilterRule` defined in the `PushNotificationPreferences`.
2327
+ #
1708
2328
  # @return [Types::SendChannelMessageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1709
2329
  #
1710
2330
  # * {Types::SendChannelMessageResponse#channel_arn #channel_arn} => String
1711
2331
  # * {Types::SendChannelMessageResponse#message_id #message_id} => String
2332
+ # * {Types::SendChannelMessageResponse#status #status} => Types::ChannelMessageStatusStructure
1712
2333
  #
1713
2334
  # @example Request syntax with placeholder values
1714
2335
  #
@@ -1720,12 +2341,24 @@ module Aws::ChimeSDKMessaging
1720
2341
  # metadata: "Metadata",
1721
2342
  # client_request_token: "ClientRequestToken", # required
1722
2343
  # chime_bearer: "ChimeArn", # required
2344
+ # push_notification: {
2345
+ # title: "PushNotificationTitle", # required
2346
+ # body: "PushNotificationBody", # required
2347
+ # type: "DEFAULT", # required, accepts DEFAULT, VOIP
2348
+ # },
2349
+ # message_attributes: {
2350
+ # "MessageAttributeName" => {
2351
+ # string_values: ["MessageAttributeStringValue"],
2352
+ # },
2353
+ # },
1723
2354
  # })
1724
2355
  #
1725
2356
  # @example Response structure
1726
2357
  #
1727
2358
  # resp.channel_arn #=> String
1728
2359
  # resp.message_id #=> String
2360
+ # resp.status.value #=> String, one of "SENT", "PENDING", "FAILED", "DENIED"
2361
+ # resp.status.detail #=> String
1729
2362
  #
1730
2363
  # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/SendChannelMessage AWS API Documentation
1731
2364
  #
@@ -1736,6 +2369,65 @@ module Aws::ChimeSDKMessaging
1736
2369
  req.send_request(options)
1737
2370
  end
1738
2371
 
2372
+ # Applies the specified tags to the specified Amazon Chime SDK messaging
2373
+ # resource.
2374
+ #
2375
+ # @option params [required, String] :resource_arn
2376
+ # The resource ARN.
2377
+ #
2378
+ # @option params [required, Array<Types::Tag>] :tags
2379
+ # The tag key-value pairs.
2380
+ #
2381
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2382
+ #
2383
+ # @example Request syntax with placeholder values
2384
+ #
2385
+ # resp = client.tag_resource({
2386
+ # resource_arn: "ChimeArn", # required
2387
+ # tags: [ # required
2388
+ # {
2389
+ # key: "TagKey", # required
2390
+ # value: "TagValue", # required
2391
+ # },
2392
+ # ],
2393
+ # })
2394
+ #
2395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/TagResource AWS API Documentation
2396
+ #
2397
+ # @overload tag_resource(params = {})
2398
+ # @param [Hash] params ({})
2399
+ def tag_resource(params = {}, options = {})
2400
+ req = build_request(:tag_resource, params)
2401
+ req.send_request(options)
2402
+ end
2403
+
2404
+ # Removes the specified tags from the specified Amazon Chime SDK
2405
+ # messaging resource.
2406
+ #
2407
+ # @option params [required, String] :resource_arn
2408
+ # The resource ARN.
2409
+ #
2410
+ # @option params [required, Array<String>] :tag_keys
2411
+ # The tag keys.
2412
+ #
2413
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2414
+ #
2415
+ # @example Request syntax with placeholder values
2416
+ #
2417
+ # resp = client.untag_resource({
2418
+ # resource_arn: "ChimeArn", # required
2419
+ # tag_keys: ["TagKey"], # required
2420
+ # })
2421
+ #
2422
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UntagResource AWS API Documentation
2423
+ #
2424
+ # @overload untag_resource(params = {})
2425
+ # @param [Hash] params ({})
2426
+ def untag_resource(params = {}, options = {})
2427
+ req = build_request(:untag_resource, params)
2428
+ req.send_request(options)
2429
+ end
2430
+
1739
2431
  # Update a channel's attributes.
1740
2432
  #
1741
2433
  # **Restriction**\: You can't change a channel's privacy.
@@ -1788,6 +2480,54 @@ module Aws::ChimeSDKMessaging
1788
2480
  req.send_request(options)
1789
2481
  end
1790
2482
 
2483
+ # Updates channel flow attributes. This is a developer API.
2484
+ #
2485
+ # @option params [required, String] :channel_flow_arn
2486
+ # The ARN of the channel flow.
2487
+ #
2488
+ # @option params [required, Array<Types::Processor>] :processors
2489
+ # Information about the processor Lambda functions
2490
+ #
2491
+ # @option params [required, String] :name
2492
+ # The name of the channel flow.
2493
+ #
2494
+ # @return [Types::UpdateChannelFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2495
+ #
2496
+ # * {Types::UpdateChannelFlowResponse#channel_flow_arn #channel_flow_arn} => String
2497
+ #
2498
+ # @example Request syntax with placeholder values
2499
+ #
2500
+ # resp = client.update_channel_flow({
2501
+ # channel_flow_arn: "ChimeArn", # required
2502
+ # processors: [ # required
2503
+ # {
2504
+ # name: "NonEmptyResourceName", # required
2505
+ # configuration: { # required
2506
+ # lambda: { # required
2507
+ # resource_arn: "LambdaFunctionArn", # required
2508
+ # invocation_type: "ASYNC", # required, accepts ASYNC
2509
+ # },
2510
+ # },
2511
+ # execution_order: 1, # required
2512
+ # fallback_action: "CONTINUE", # required, accepts CONTINUE, ABORT
2513
+ # },
2514
+ # ],
2515
+ # name: "NonEmptyResourceName", # required
2516
+ # })
2517
+ #
2518
+ # @example Response structure
2519
+ #
2520
+ # resp.channel_flow_arn #=> String
2521
+ #
2522
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UpdateChannelFlow AWS API Documentation
2523
+ #
2524
+ # @overload update_channel_flow(params = {})
2525
+ # @param [Hash] params ({})
2526
+ def update_channel_flow(params = {}, options = {})
2527
+ req = build_request(:update_channel_flow, params)
2528
+ req.send_request(options)
2529
+ end
2530
+
1791
2531
  # Updates the content of a message.
1792
2532
  #
1793
2533
  # <note markdown="1"> The `x-amz-chime-bearer` request header is mandatory. Use the
@@ -1815,6 +2555,7 @@ module Aws::ChimeSDKMessaging
1815
2555
  #
1816
2556
  # * {Types::UpdateChannelMessageResponse#channel_arn #channel_arn} => String
1817
2557
  # * {Types::UpdateChannelMessageResponse#message_id #message_id} => String
2558
+ # * {Types::UpdateChannelMessageResponse#status #status} => Types::ChannelMessageStatusStructure
1818
2559
  #
1819
2560
  # @example Request syntax with placeholder values
1820
2561
  #
@@ -1830,6 +2571,8 @@ module Aws::ChimeSDKMessaging
1830
2571
  #
1831
2572
  # resp.channel_arn #=> String
1832
2573
  # resp.message_id #=> String
2574
+ # resp.status.value #=> String, one of "SENT", "PENDING", "FAILED", "DENIED"
2575
+ # resp.status.detail #=> String
1833
2576
  #
1834
2577
  # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UpdateChannelMessage AWS API Documentation
1835
2578
  #
@@ -1891,7 +2634,7 @@ module Aws::ChimeSDKMessaging
1891
2634
  params: params,
1892
2635
  config: config)
1893
2636
  context[:gem_name] = 'aws-sdk-chimesdkmessaging'
1894
- context[:gem_version] = '1.1.0'
2637
+ context[:gem_version] = '1.5.0'
1895
2638
  Seahorse::Client::Request.new(handlers, context)
1896
2639
  end
1897
2640