aws-sdk-chimesdkmessaging 1.2.0 → 1.6.0

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