aws-sdk-chimesdkmessaging 1.3.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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