aws-sdk-chimesdkmessaging 1.3.0 → 1.4.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
@@ -382,6 +421,67 @@ module Aws::ChimeSDKMessaging
382
421
  req.send_request(options)
383
422
  end
384
423
 
424
+ # Calls back Chime SDK Messaging with a processing response message.
425
+ # This should be invoked from the processor Lambda. This is a developer
426
+ # API.
427
+ #
428
+ # You can return one of the following processing responses:
429
+ #
430
+ # * Update message content or metadata
431
+ #
432
+ # * Deny a message
433
+ #
434
+ # * Make no changes to the message
435
+ #
436
+ # @option params [required, String] :callback_id
437
+ # The identifier passed to the processor by the service when invoked.
438
+ # Use the identifier to call back the service.
439
+ #
440
+ # **A suitable default value is auto-generated.** You should normally
441
+ # not need to pass this option.**
442
+ #
443
+ # @option params [required, String] :channel_arn
444
+ # The ARN of the channel.
445
+ #
446
+ # @option params [Boolean] :delete_resource
447
+ # When a processor determines that a message needs to be `DENIED`, pass
448
+ # this parameter with a value of true.
449
+ #
450
+ # @option params [required, Types::ChannelMessageCallback] :channel_message
451
+ # Stores information about the processed message.
452
+ #
453
+ # @return [Types::ChannelFlowCallbackResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
454
+ #
455
+ # * {Types::ChannelFlowCallbackResponse#channel_arn #channel_arn} => String
456
+ # * {Types::ChannelFlowCallbackResponse#callback_id #callback_id} => String
457
+ #
458
+ # @example Request syntax with placeholder values
459
+ #
460
+ # resp = client.channel_flow_callback({
461
+ # callback_id: "CallbackIdType", # required
462
+ # channel_arn: "ChimeArn", # required
463
+ # delete_resource: false,
464
+ # channel_message: { # required
465
+ # message_id: "MessageId", # required
466
+ # content: "NonEmptyContent",
467
+ # metadata: "Metadata",
468
+ # },
469
+ # })
470
+ #
471
+ # @example Response structure
472
+ #
473
+ # resp.channel_arn #=> String
474
+ # resp.callback_id #=> String
475
+ #
476
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ChannelFlowCallback AWS API Documentation
477
+ #
478
+ # @overload channel_flow_callback(params = {})
479
+ # @param [Hash] params ({})
480
+ def channel_flow_callback(params = {}, options = {})
481
+ req = build_request(:channel_flow_callback, params)
482
+ req.send_request(options)
483
+ end
484
+
385
485
  # Creates a channel to which you can add users and send messages.
386
486
  #
387
487
  # **Restriction**\: You can't change a channel's privacy.
@@ -510,6 +610,89 @@ module Aws::ChimeSDKMessaging
510
610
  req.send_request(options)
511
611
  end
512
612
 
613
+ # Creates a channel flow, a container for processors. Processors are AWS
614
+ # Lambda functions that perform actions on chat messages, such as
615
+ # stripping out profanity. You can associate channel flows with
616
+ # channels, and the processors in the channel flow then take action on
617
+ # all messages sent to that channel. This is a developer API.
618
+ #
619
+ # Channel flows process the following items:
620
+ #
621
+ # 1. New and updated messages
622
+ #
623
+ # 2. Persistent and non-persistent messages
624
+ #
625
+ # 3. The Standard message type
626
+ #
627
+ # <note markdown="1"> Channel flows don't process Control or System messages. For more
628
+ # information about the message types provided by Chime SDK Messaging,
629
+ # refer to [Message types][1] in the *Amazon Chime developer guide*.
630
+ #
631
+ # </note>
632
+ #
633
+ #
634
+ #
635
+ # [1]: https://docs.aws.amazon.com/chime/latest/dg/using-the-messaging-sdk.html#msg-types
636
+ #
637
+ # @option params [required, String] :app_instance_arn
638
+ # The ARN of the channel flow request.
639
+ #
640
+ # @option params [required, Array<Types::Processor>] :processors
641
+ # Information about the processor Lambda functions.
642
+ #
643
+ # @option params [required, String] :name
644
+ # The name of the channel flow.
645
+ #
646
+ # @option params [Array<Types::Tag>] :tags
647
+ # The tags for the creation request.
648
+ #
649
+ # @option params [required, String] :client_request_token
650
+ # The client token for the request. An Idempotency token.
651
+ #
652
+ # @return [Types::CreateChannelFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
653
+ #
654
+ # * {Types::CreateChannelFlowResponse#channel_flow_arn #channel_flow_arn} => String
655
+ #
656
+ # @example Request syntax with placeholder values
657
+ #
658
+ # resp = client.create_channel_flow({
659
+ # app_instance_arn: "ChimeArn", # required
660
+ # processors: [ # required
661
+ # {
662
+ # name: "NonEmptyResourceName", # required
663
+ # configuration: { # required
664
+ # lambda: { # required
665
+ # resource_arn: "LambdaFunctionArn", # required
666
+ # invocation_type: "ASYNC", # required, accepts ASYNC
667
+ # },
668
+ # },
669
+ # execution_order: 1, # required
670
+ # fallback_action: "CONTINUE", # required, accepts CONTINUE, ABORT
671
+ # },
672
+ # ],
673
+ # name: "NonEmptyResourceName", # required
674
+ # tags: [
675
+ # {
676
+ # key: "TagKey", # required
677
+ # value: "TagValue", # required
678
+ # },
679
+ # ],
680
+ # client_request_token: "ClientRequestToken", # required
681
+ # })
682
+ #
683
+ # @example Response structure
684
+ #
685
+ # resp.channel_flow_arn #=> String
686
+ #
687
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/CreateChannelFlow AWS API Documentation
688
+ #
689
+ # @overload create_channel_flow(params = {})
690
+ # @param [Hash] params ({})
691
+ def create_channel_flow(params = {}, options = {})
692
+ req = build_request(:create_channel_flow, params)
693
+ req.send_request(options)
694
+ end
695
+
513
696
  # Adds a user to a channel. The `InvitedBy` response field is derived
514
697
  # from the request header. A channel member can:
515
698
  #
@@ -705,6 +888,37 @@ module Aws::ChimeSDKMessaging
705
888
  req.send_request(options)
706
889
  end
707
890
 
891
+ # Deletes a channel flow, an irreversible process. This is a developer
892
+ # API.
893
+ #
894
+ # <note markdown="1"> This API works only when the channel flow is not associated with any
895
+ # channel. To get a list of all channels that a channel flow is
896
+ # associated with, use the `ListChannelsAssociatedWithChannelFlow` API.
897
+ # Use the `DisassociateChannelFlow` API to disassociate a channel flow
898
+ # from all channels.
899
+ #
900
+ # </note>
901
+ #
902
+ # @option params [required, String] :channel_flow_arn
903
+ # The ARN of the channel flow.
904
+ #
905
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
906
+ #
907
+ # @example Request syntax with placeholder values
908
+ #
909
+ # resp = client.delete_channel_flow({
910
+ # channel_flow_arn: "ChimeArn", # required
911
+ # })
912
+ #
913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DeleteChannelFlow AWS API Documentation
914
+ #
915
+ # @overload delete_channel_flow(params = {})
916
+ # @param [Hash] params ({})
917
+ def delete_channel_flow(params = {}, options = {})
918
+ req = build_request(:delete_channel_flow, params)
919
+ req.send_request(options)
920
+ end
921
+
708
922
  # Removes a member from a channel.
709
923
  #
710
924
  # <note markdown="1"> The `x-amz-chime-bearer` request header is mandatory. Use the
@@ -853,6 +1067,7 @@ module Aws::ChimeSDKMessaging
853
1067
  # resp.channel.created_timestamp #=> Time
854
1068
  # resp.channel.last_message_timestamp #=> Time
855
1069
  # resp.channel.last_updated_timestamp #=> Time
1070
+ # resp.channel.channel_flow_arn #=> String
856
1071
  #
857
1072
  # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannel AWS API Documentation
858
1073
  #
@@ -910,6 +1125,44 @@ module Aws::ChimeSDKMessaging
910
1125
  req.send_request(options)
911
1126
  end
912
1127
 
1128
+ # Returns the full details of a channel flow in an Amazon Chime
1129
+ # `AppInstance`. This is a developer API.
1130
+ #
1131
+ # @option params [required, String] :channel_flow_arn
1132
+ # The ARN of the channel flow.
1133
+ #
1134
+ # @return [Types::DescribeChannelFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1135
+ #
1136
+ # * {Types::DescribeChannelFlowResponse#channel_flow #channel_flow} => Types::ChannelFlow
1137
+ #
1138
+ # @example Request syntax with placeholder values
1139
+ #
1140
+ # resp = client.describe_channel_flow({
1141
+ # channel_flow_arn: "ChimeArn", # required
1142
+ # })
1143
+ #
1144
+ # @example Response structure
1145
+ #
1146
+ # resp.channel_flow.channel_flow_arn #=> String
1147
+ # resp.channel_flow.processors #=> Array
1148
+ # resp.channel_flow.processors[0].name #=> String
1149
+ # resp.channel_flow.processors[0].configuration.lambda.resource_arn #=> String
1150
+ # resp.channel_flow.processors[0].configuration.lambda.invocation_type #=> String, one of "ASYNC"
1151
+ # resp.channel_flow.processors[0].execution_order #=> Integer
1152
+ # resp.channel_flow.processors[0].fallback_action #=> String, one of "CONTINUE", "ABORT"
1153
+ # resp.channel_flow.name #=> String
1154
+ # resp.channel_flow.created_timestamp #=> Time
1155
+ # resp.channel_flow.last_updated_timestamp #=> Time
1156
+ #
1157
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelFlow AWS API Documentation
1158
+ #
1159
+ # @overload describe_channel_flow(params = {})
1160
+ # @param [Hash] params ({})
1161
+ def describe_channel_flow(params = {}, options = {})
1162
+ req = build_request(:describe_channel_flow, params)
1163
+ req.send_request(options)
1164
+ end
1165
+
913
1166
  # Returns the full details of a user's channel membership.
914
1167
  #
915
1168
  # <note markdown="1"> The `x-amz-chime-bearer` request header is mandatory. Use the
@@ -1104,6 +1357,45 @@ module Aws::ChimeSDKMessaging
1104
1357
  req.send_request(options)
1105
1358
  end
1106
1359
 
1360
+ # Disassociates a channel flow from all its channels. Once
1361
+ # disassociated, all messages to that channel stop going through the
1362
+ # channel flow processor.
1363
+ #
1364
+ # <note markdown="1"> Only administrators or channel moderators can disassociate a channel
1365
+ # flow. The `x-amz-chime-bearer` request header is mandatory. Use the
1366
+ # `AppInstanceUserArn` of the user that makes the API call as the value
1367
+ # in the header.
1368
+ #
1369
+ # </note>
1370
+ #
1371
+ # @option params [required, String] :channel_arn
1372
+ # The ARN of the channel.
1373
+ #
1374
+ # @option params [required, String] :channel_flow_arn
1375
+ # The ARN of the channel flow.
1376
+ #
1377
+ # @option params [required, String] :chime_bearer
1378
+ # The `AppInstanceUserArn` of the user making the API call.
1379
+ #
1380
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1381
+ #
1382
+ # @example Request syntax with placeholder values
1383
+ #
1384
+ # resp = client.disassociate_channel_flow({
1385
+ # channel_arn: "ChimeArn", # required
1386
+ # channel_flow_arn: "ChimeArn", # required
1387
+ # chime_bearer: "ChimeArn", # required
1388
+ # })
1389
+ #
1390
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DisassociateChannelFlow AWS API Documentation
1391
+ #
1392
+ # @overload disassociate_channel_flow(params = {})
1393
+ # @param [Hash] params ({})
1394
+ def disassociate_channel_flow(params = {}, options = {})
1395
+ req = build_request(:disassociate_channel_flow, params)
1396
+ req.send_request(options)
1397
+ end
1398
+
1107
1399
  # Gets the full details of a channel message.
1108
1400
  #
1109
1401
  # <note markdown="1"> The x-amz-chime-bearer request header is mandatory. Use the
@@ -1147,6 +1439,8 @@ module Aws::ChimeSDKMessaging
1147
1439
  # resp.channel_message.sender.name #=> String
1148
1440
  # resp.channel_message.redacted #=> Boolean
1149
1441
  # resp.channel_message.persistence #=> String, one of "PERSISTENT", "NON_PERSISTENT"
1442
+ # resp.channel_message.status.value #=> String, one of "SENT", "PENDING", "FAILED", "DENIED"
1443
+ # resp.channel_message.status.detail #=> String
1150
1444
  #
1151
1445
  # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetChannelMessage AWS API Documentation
1152
1446
  #
@@ -1157,6 +1451,76 @@ module Aws::ChimeSDKMessaging
1157
1451
  req.send_request(options)
1158
1452
  end
1159
1453
 
1454
+ # Gets message status for a specified `messageId`. Use this API to
1455
+ # determine the intermediate status of messages going through channel
1456
+ # flow processing. The API provides an alternative to retrieving message
1457
+ # status if the event was not received because a client wasn't
1458
+ # connected to a websocket.
1459
+ #
1460
+ # Messages can have any one of these statuses.
1461
+ #
1462
+ # SENT
1463
+ #
1464
+ # : Message processed successfully
1465
+ #
1466
+ # PENDING
1467
+ #
1468
+ # : Ongoing processing
1469
+ #
1470
+ # FAILED
1471
+ #
1472
+ # : Processing failed
1473
+ #
1474
+ # DENIED
1475
+ #
1476
+ # : Messasge denied by the processor
1477
+ #
1478
+ # <note markdown="1"> * This API does not return statuses for denied messages, because we
1479
+ # don't store them once the processor denies them.
1480
+ #
1481
+ # * Only the message sender can invoke this API.
1482
+ #
1483
+ # * The `x-amz-chime-bearer` request header is mandatory. Use the
1484
+ # `AppInstanceUserArn` of the user that makes the API call as the
1485
+ # value in the header
1486
+ #
1487
+ # </note>
1488
+ #
1489
+ # @option params [required, String] :channel_arn
1490
+ # The ARN of the channel
1491
+ #
1492
+ # @option params [required, String] :message_id
1493
+ # The ID of the message.
1494
+ #
1495
+ # @option params [required, String] :chime_bearer
1496
+ # The `AppInstanceUserArn` of the user making the API call.
1497
+ #
1498
+ # @return [Types::GetChannelMessageStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1499
+ #
1500
+ # * {Types::GetChannelMessageStatusResponse#status #status} => Types::ChannelMessageStatusStructure
1501
+ #
1502
+ # @example Request syntax with placeholder values
1503
+ #
1504
+ # resp = client.get_channel_message_status({
1505
+ # channel_arn: "ChimeArn", # required
1506
+ # message_id: "MessageId", # required
1507
+ # chime_bearer: "ChimeArn", # required
1508
+ # })
1509
+ #
1510
+ # @example Response structure
1511
+ #
1512
+ # resp.status.value #=> String, one of "SENT", "PENDING", "FAILED", "DENIED"
1513
+ # resp.status.detail #=> String
1514
+ #
1515
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetChannelMessageStatus AWS API Documentation
1516
+ #
1517
+ # @overload get_channel_message_status(params = {})
1518
+ # @param [Hash] params ({})
1519
+ def get_channel_message_status(params = {}, options = {})
1520
+ req = build_request(:get_channel_message_status, params)
1521
+ req.send_request(options)
1522
+ end
1523
+
1160
1524
  # The details of the endpoint for the messaging session.
1161
1525
  #
1162
1526
  # @return [Types::GetMessagingSessionEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -1231,6 +1595,56 @@ module Aws::ChimeSDKMessaging
1231
1595
  req.send_request(options)
1232
1596
  end
1233
1597
 
1598
+ # Returns a paginated lists of all the channel flows created under a
1599
+ # single Chime. This is a developer API.
1600
+ #
1601
+ # @option params [required, String] :app_instance_arn
1602
+ # The ARN of the app instance.
1603
+ #
1604
+ # @option params [Integer] :max_results
1605
+ # The maximum number of channel flows that you want to return.
1606
+ #
1607
+ # @option params [String] :next_token
1608
+ # The token passed by previous API calls until all requested channel
1609
+ # flows are returned.
1610
+ #
1611
+ # @return [Types::ListChannelFlowsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1612
+ #
1613
+ # * {Types::ListChannelFlowsResponse#channel_flows #channel_flows} => Array&lt;Types::ChannelFlowSummary&gt;
1614
+ # * {Types::ListChannelFlowsResponse#next_token #next_token} => String
1615
+ #
1616
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1617
+ #
1618
+ # @example Request syntax with placeholder values
1619
+ #
1620
+ # resp = client.list_channel_flows({
1621
+ # app_instance_arn: "ChimeArn", # required
1622
+ # max_results: 1,
1623
+ # next_token: "NextToken",
1624
+ # })
1625
+ #
1626
+ # @example Response structure
1627
+ #
1628
+ # resp.channel_flows #=> Array
1629
+ # resp.channel_flows[0].channel_flow_arn #=> String
1630
+ # resp.channel_flows[0].name #=> String
1631
+ # resp.channel_flows[0].processors #=> Array
1632
+ # resp.channel_flows[0].processors[0].name #=> String
1633
+ # resp.channel_flows[0].processors[0].configuration.lambda.resource_arn #=> String
1634
+ # resp.channel_flows[0].processors[0].configuration.lambda.invocation_type #=> String, one of "ASYNC"
1635
+ # resp.channel_flows[0].processors[0].execution_order #=> Integer
1636
+ # resp.channel_flows[0].processors[0].fallback_action #=> String, one of "CONTINUE", "ABORT"
1637
+ # resp.next_token #=> String
1638
+ #
1639
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelFlows AWS API Documentation
1640
+ #
1641
+ # @overload list_channel_flows(params = {})
1642
+ # @param [Hash] params ({})
1643
+ def list_channel_flows(params = {}, options = {})
1644
+ req = build_request(:list_channel_flows, params)
1645
+ req.send_request(options)
1646
+ end
1647
+
1234
1648
  # Lists all channel memberships in a channel.
1235
1649
  #
1236
1650
  # <note markdown="1"> The `x-amz-chime-bearer` request header is mandatory. Use the
@@ -1427,6 +1841,8 @@ module Aws::ChimeSDKMessaging
1427
1841
  # resp.channel_messages[0].sender.arn #=> String
1428
1842
  # resp.channel_messages[0].sender.name #=> String
1429
1843
  # resp.channel_messages[0].redacted #=> Boolean
1844
+ # resp.channel_messages[0].status.value #=> String, one of "SENT", "PENDING", "FAILED", "DENIED"
1845
+ # resp.channel_messages[0].status.detail #=> String
1430
1846
  #
1431
1847
  # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelMessages AWS API Documentation
1432
1848
  #
@@ -1564,6 +1980,54 @@ module Aws::ChimeSDKMessaging
1564
1980
  req.send_request(options)
1565
1981
  end
1566
1982
 
1983
+ # Lists all channels associated with a specified channel flow. You can
1984
+ # associate a channel flow with multiple channels, but you can only
1985
+ # associate a channel with one channel flow. This is a developer API.
1986
+ #
1987
+ # @option params [required, String] :channel_flow_arn
1988
+ # The ARN of the channel flow.
1989
+ #
1990
+ # @option params [Integer] :max_results
1991
+ # The maximum number of channels that you want to return.
1992
+ #
1993
+ # @option params [String] :next_token
1994
+ # The token passed by previous API calls until all requested channels
1995
+ # are returned.
1996
+ #
1997
+ # @return [Types::ListChannelsAssociatedWithChannelFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1998
+ #
1999
+ # * {Types::ListChannelsAssociatedWithChannelFlowResponse#channels #channels} => Array&lt;Types::ChannelAssociatedWithFlowSummary&gt;
2000
+ # * {Types::ListChannelsAssociatedWithChannelFlowResponse#next_token #next_token} => String
2001
+ #
2002
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2003
+ #
2004
+ # @example Request syntax with placeholder values
2005
+ #
2006
+ # resp = client.list_channels_associated_with_channel_flow({
2007
+ # channel_flow_arn: "ChimeArn", # required
2008
+ # max_results: 1,
2009
+ # next_token: "NextToken",
2010
+ # })
2011
+ #
2012
+ # @example Response structure
2013
+ #
2014
+ # resp.channels #=> Array
2015
+ # resp.channels[0].name #=> String
2016
+ # resp.channels[0].channel_arn #=> String
2017
+ # resp.channels[0].mode #=> String, one of "UNRESTRICTED", "RESTRICTED"
2018
+ # resp.channels[0].privacy #=> String, one of "PUBLIC", "PRIVATE"
2019
+ # resp.channels[0].metadata #=> String
2020
+ # resp.next_token #=> String
2021
+ #
2022
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelsAssociatedWithChannelFlow AWS API Documentation
2023
+ #
2024
+ # @overload list_channels_associated_with_channel_flow(params = {})
2025
+ # @param [Hash] params ({})
2026
+ def list_channels_associated_with_channel_flow(params = {}, options = {})
2027
+ req = build_request(:list_channels_associated_with_channel_flow, params)
2028
+ req.send_request(options)
2029
+ end
2030
+
1567
2031
  # A list of the channels moderated by an `AppInstanceUser`.
1568
2032
  #
1569
2033
  # <note markdown="1"> The `x-amz-chime-bearer` request header is mandatory. Use the
@@ -1621,6 +2085,36 @@ module Aws::ChimeSDKMessaging
1621
2085
  req.send_request(options)
1622
2086
  end
1623
2087
 
2088
+ # Lists the tags applied to an Amazon Chime SDK messaging resource.
2089
+ #
2090
+ # @option params [required, String] :resource_arn
2091
+ # The ARN of the resource.
2092
+ #
2093
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2094
+ #
2095
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
2096
+ #
2097
+ # @example Request syntax with placeholder values
2098
+ #
2099
+ # resp = client.list_tags_for_resource({
2100
+ # resource_arn: "ChimeArn", # required
2101
+ # })
2102
+ #
2103
+ # @example Response structure
2104
+ #
2105
+ # resp.tags #=> Array
2106
+ # resp.tags[0].key #=> String
2107
+ # resp.tags[0].value #=> String
2108
+ #
2109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListTagsForResource AWS API Documentation
2110
+ #
2111
+ # @overload list_tags_for_resource(params = {})
2112
+ # @param [Hash] params ({})
2113
+ def list_tags_for_resource(params = {}, options = {})
2114
+ req = build_request(:list_tags_for_resource, params)
2115
+ req.send_request(options)
2116
+ end
2117
+
1624
2118
  # Redacts message content, but not metadata. The message exists in the
1625
2119
  # back end, but the action returns null content, and the state shows as
1626
2120
  # redacted.
@@ -1709,6 +2203,7 @@ module Aws::ChimeSDKMessaging
1709
2203
  #
1710
2204
  # * {Types::SendChannelMessageResponse#channel_arn #channel_arn} => String
1711
2205
  # * {Types::SendChannelMessageResponse#message_id #message_id} => String
2206
+ # * {Types::SendChannelMessageResponse#status #status} => Types::ChannelMessageStatusStructure
1712
2207
  #
1713
2208
  # @example Request syntax with placeholder values
1714
2209
  #
@@ -1726,6 +2221,8 @@ module Aws::ChimeSDKMessaging
1726
2221
  #
1727
2222
  # resp.channel_arn #=> String
1728
2223
  # resp.message_id #=> String
2224
+ # resp.status.value #=> String, one of "SENT", "PENDING", "FAILED", "DENIED"
2225
+ # resp.status.detail #=> String
1729
2226
  #
1730
2227
  # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/SendChannelMessage AWS API Documentation
1731
2228
  #
@@ -1736,6 +2233,65 @@ module Aws::ChimeSDKMessaging
1736
2233
  req.send_request(options)
1737
2234
  end
1738
2235
 
2236
+ # Applies the specified tags to the specified Amazon Chime SDK messaging
2237
+ # resource.
2238
+ #
2239
+ # @option params [required, String] :resource_arn
2240
+ # The resource ARN.
2241
+ #
2242
+ # @option params [required, Array<Types::Tag>] :tags
2243
+ # The tag key-value pairs.
2244
+ #
2245
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2246
+ #
2247
+ # @example Request syntax with placeholder values
2248
+ #
2249
+ # resp = client.tag_resource({
2250
+ # resource_arn: "ChimeArn", # required
2251
+ # tags: [ # required
2252
+ # {
2253
+ # key: "TagKey", # required
2254
+ # value: "TagValue", # required
2255
+ # },
2256
+ # ],
2257
+ # })
2258
+ #
2259
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/TagResource AWS API Documentation
2260
+ #
2261
+ # @overload tag_resource(params = {})
2262
+ # @param [Hash] params ({})
2263
+ def tag_resource(params = {}, options = {})
2264
+ req = build_request(:tag_resource, params)
2265
+ req.send_request(options)
2266
+ end
2267
+
2268
+ # Removes the specified tags from the specified Amazon Chime SDK
2269
+ # messaging resource.
2270
+ #
2271
+ # @option params [required, String] :resource_arn
2272
+ # The resource ARN.
2273
+ #
2274
+ # @option params [required, Array<String>] :tag_keys
2275
+ # The tag keys.
2276
+ #
2277
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2278
+ #
2279
+ # @example Request syntax with placeholder values
2280
+ #
2281
+ # resp = client.untag_resource({
2282
+ # resource_arn: "ChimeArn", # required
2283
+ # tag_keys: ["TagKey"], # required
2284
+ # })
2285
+ #
2286
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UntagResource AWS API Documentation
2287
+ #
2288
+ # @overload untag_resource(params = {})
2289
+ # @param [Hash] params ({})
2290
+ def untag_resource(params = {}, options = {})
2291
+ req = build_request(:untag_resource, params)
2292
+ req.send_request(options)
2293
+ end
2294
+
1739
2295
  # Update a channel's attributes.
1740
2296
  #
1741
2297
  # **Restriction**\: You can't change a channel's privacy.
@@ -1788,6 +2344,54 @@ module Aws::ChimeSDKMessaging
1788
2344
  req.send_request(options)
1789
2345
  end
1790
2346
 
2347
+ # Updates channel flow attributes. This is a developer API.
2348
+ #
2349
+ # @option params [required, String] :channel_flow_arn
2350
+ # The ARN of the channel flow.
2351
+ #
2352
+ # @option params [required, Array<Types::Processor>] :processors
2353
+ # Information about the processor Lambda functions
2354
+ #
2355
+ # @option params [required, String] :name
2356
+ # The name of the channel flow.
2357
+ #
2358
+ # @return [Types::UpdateChannelFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2359
+ #
2360
+ # * {Types::UpdateChannelFlowResponse#channel_flow_arn #channel_flow_arn} => String
2361
+ #
2362
+ # @example Request syntax with placeholder values
2363
+ #
2364
+ # resp = client.update_channel_flow({
2365
+ # channel_flow_arn: "ChimeArn", # required
2366
+ # processors: [ # required
2367
+ # {
2368
+ # name: "NonEmptyResourceName", # required
2369
+ # configuration: { # required
2370
+ # lambda: { # required
2371
+ # resource_arn: "LambdaFunctionArn", # required
2372
+ # invocation_type: "ASYNC", # required, accepts ASYNC
2373
+ # },
2374
+ # },
2375
+ # execution_order: 1, # required
2376
+ # fallback_action: "CONTINUE", # required, accepts CONTINUE, ABORT
2377
+ # },
2378
+ # ],
2379
+ # name: "NonEmptyResourceName", # required
2380
+ # })
2381
+ #
2382
+ # @example Response structure
2383
+ #
2384
+ # resp.channel_flow_arn #=> String
2385
+ #
2386
+ # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UpdateChannelFlow AWS API Documentation
2387
+ #
2388
+ # @overload update_channel_flow(params = {})
2389
+ # @param [Hash] params ({})
2390
+ def update_channel_flow(params = {}, options = {})
2391
+ req = build_request(:update_channel_flow, params)
2392
+ req.send_request(options)
2393
+ end
2394
+
1791
2395
  # Updates the content of a message.
1792
2396
  #
1793
2397
  # <note markdown="1"> The `x-amz-chime-bearer` request header is mandatory. Use the
@@ -1815,6 +2419,7 @@ module Aws::ChimeSDKMessaging
1815
2419
  #
1816
2420
  # * {Types::UpdateChannelMessageResponse#channel_arn #channel_arn} => String
1817
2421
  # * {Types::UpdateChannelMessageResponse#message_id #message_id} => String
2422
+ # * {Types::UpdateChannelMessageResponse#status #status} => Types::ChannelMessageStatusStructure
1818
2423
  #
1819
2424
  # @example Request syntax with placeholder values
1820
2425
  #
@@ -1830,6 +2435,8 @@ module Aws::ChimeSDKMessaging
1830
2435
  #
1831
2436
  # resp.channel_arn #=> String
1832
2437
  # resp.message_id #=> String
2438
+ # resp.status.value #=> String, one of "SENT", "PENDING", "FAILED", "DENIED"
2439
+ # resp.status.detail #=> String
1833
2440
  #
1834
2441
  # @see http://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UpdateChannelMessage AWS API Documentation
1835
2442
  #
@@ -1891,7 +2498,7 @@ module Aws::ChimeSDKMessaging
1891
2498
  params: params,
1892
2499
  config: config)
1893
2500
  context[:gem_name] = 'aws-sdk-chimesdkmessaging'
1894
- context[:gem_version] = '1.3.0'
2501
+ context[:gem_version] = '1.4.0'
1895
2502
  Seahorse::Client::Request.new(handlers, context)
1896
2503
  end
1897
2504