aws-sdk-repostspace 1.22.0 → 1.24.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.
@@ -95,7 +95,7 @@ module Aws::Repostspace
95
95
  # class name or an instance of a plugin class.
96
96
  #
97
97
  # @option options [required, Aws::CredentialProvider] :credentials
98
- # Your AWS credentials. This can be an instance of any one of the
98
+ # Your AWS credentials used for authentication. This can be an instance of any one of the
99
99
  # following classes:
100
100
  #
101
101
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
@@ -128,18 +128,23 @@ module Aws::Repostspace
128
128
  # locations will be searched for credentials:
129
129
  #
130
130
  # * `Aws.config[:credentials]`
131
+ #
131
132
  # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
133
  # `:account_id` options.
133
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
- # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
134
+ #
135
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
136
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
137
+ #
135
138
  # * `~/.aws/credentials`
139
+ #
136
140
  # * `~/.aws/config`
141
+ #
137
142
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
138
143
  # are very aggressive. Construct and pass an instance of
139
144
  # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
140
145
  # enable retries and extended timeouts. Instance profile credential
141
- # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
142
- # to true.
146
+ # fetching can be disabled by setting `ENV['AWS_EC2_METADATA_DISABLED']`
147
+ # to `true`.
143
148
  #
144
149
  # @option options [required, String] :region
145
150
  # The AWS region to connect to. The configured `:region` is
@@ -167,6 +172,11 @@ module Aws::Repostspace
167
172
  # When false, the request will raise a `RetryCapacityNotAvailableError` and will
168
173
  # not retry instead of sleeping.
169
174
  #
175
+ # @option options [Array<String>] :auth_scheme_preference
176
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
177
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
178
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
179
+ #
170
180
  # @option options [Boolean] :client_side_monitoring (false)
171
181
  # When `true`, client-side metrics will be collected for all API requests from
172
182
  # this client.
@@ -253,8 +263,8 @@ module Aws::Repostspace
253
263
  # 4 times. Used in `standard` and `adaptive` retry modes.
254
264
  #
255
265
  # @option options [String] :profile ("default")
256
- # Used when loading credentials from the shared credentials file
257
- # at HOME/.aws/credentials. When not specified, 'default' is used.
266
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
267
+ # When not specified, 'default' is used.
258
268
  #
259
269
  # @option options [String] :request_checksum_calculation ("when_supported")
260
270
  # Determines when a checksum will be calculated for request payloads. Values are:
@@ -367,7 +377,7 @@ module Aws::Repostspace
367
377
  # `Aws::Telemetry::OTelProvider` for telemetry provider.
368
378
  #
369
379
  # @option options [Aws::TokenProvider] :token_provider
370
- # A Bearer Token Provider. This can be an instance of any one of the
380
+ # Your Bearer token used for authentication. This can be an instance of any one of the
371
381
  # following classes:
372
382
  #
373
383
  # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
@@ -469,28 +479,115 @@ module Aws::Repostspace
469
479
 
470
480
  # @!group API Operations
471
481
 
472
- # Add role to multiple users or groups in a private re:Post.
482
+ # Add role to multiple users or groups in a private re:Post channel.
483
+ #
484
+ # @option params [required, String] :space_id
485
+ # The unique ID of the private re:Post.
486
+ #
487
+ # @option params [required, String] :channel_id
488
+ # The unique ID of the private re:Post channel.
473
489
  #
474
490
  # @option params [required, Array<String>] :accessor_ids
475
- # The user or group accessor identifiers to add the role to.
491
+ # The user or group identifiers to add the role to.
476
492
  #
477
- # @option params [required, String] :role
478
- # The role to add to the users or groups.
493
+ # @option params [required, String] :channel_role
494
+ # The channel role to add to the users or groups.
495
+ #
496
+ # @return [Types::BatchAddChannelRoleToAccessorsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
497
+ #
498
+ # * {Types::BatchAddChannelRoleToAccessorsOutput#added_accessor_ids #added_accessor_ids} => Array&lt;String&gt;
499
+ # * {Types::BatchAddChannelRoleToAccessorsOutput#errors #errors} => Array&lt;Types::BatchError&gt;
500
+ #
501
+ #
502
+ # @example Example: BatchAddChannelRoleToAccessors
503
+ #
504
+ # resp = client.batch_add_channel_role_to_accessors({
505
+ # accessor_ids: [
506
+ # "12345678-1234-1234-1234-1234567890ab",
507
+ # ],
508
+ # channel_id: "WS1234567890abcdefghijkl",
509
+ # channel_role: "MODERATOR",
510
+ # space_id: "SP1234567890abcdefghijkl",
511
+ # })
512
+ #
513
+ # resp.to_h outputs the following:
514
+ # {
515
+ # errors: [
516
+ # ],
517
+ # added_accessor_ids: [
518
+ # "12345678-1234-1234-1234-1234567890ab",
519
+ # ],
520
+ # }
521
+ #
522
+ # @example Request syntax with placeholder values
523
+ #
524
+ # resp = client.batch_add_channel_role_to_accessors({
525
+ # space_id: "SpaceId", # required
526
+ # channel_id: "ChannelId", # required
527
+ # accessor_ids: ["AccessorId"], # required
528
+ # channel_role: "ASKER", # required, accepts ASKER, EXPERT, MODERATOR, SUPPORTREQUESTOR
529
+ # })
530
+ #
531
+ # @example Response structure
532
+ #
533
+ # resp.added_accessor_ids #=> Array
534
+ # resp.added_accessor_ids[0] #=> String
535
+ # resp.errors #=> Array
536
+ # resp.errors[0].accessor_id #=> String
537
+ # resp.errors[0].error #=> Integer
538
+ # resp.errors[0].message #=> String
539
+ #
540
+ # @see http://docs.aws.amazon.com/goto/WebAPI/repostspace-2022-05-13/BatchAddChannelRoleToAccessors AWS API Documentation
541
+ #
542
+ # @overload batch_add_channel_role_to_accessors(params = {})
543
+ # @param [Hash] params ({})
544
+ def batch_add_channel_role_to_accessors(params = {}, options = {})
545
+ req = build_request(:batch_add_channel_role_to_accessors, params)
546
+ req.send_request(options)
547
+ end
548
+
549
+ # Add a role to multiple users or groups in a private re:Post.
479
550
  #
480
551
  # @option params [required, String] :space_id
481
552
  # The unique ID of the private re:Post.
482
553
  #
554
+ # @option params [required, Array<String>] :accessor_ids
555
+ # The user or group accessor identifiers to add the role to.
556
+ #
557
+ # @option params [required, String] :role
558
+ # The role to add to the users or groups.
559
+ #
483
560
  # @return [Types::BatchAddRoleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
484
561
  #
485
562
  # * {Types::BatchAddRoleOutput#added_accessor_ids #added_accessor_ids} => Array&lt;String&gt;
486
563
  # * {Types::BatchAddRoleOutput#errors #errors} => Array&lt;Types::BatchError&gt;
487
564
  #
565
+ #
566
+ # @example Example: BatchAddRole
567
+ #
568
+ # resp = client.batch_add_role({
569
+ # accessor_ids: [
570
+ # "12345678-1234-1234-1234-1234567890ab",
571
+ # ],
572
+ # role: "EXPERT",
573
+ # space_id: "SP1234567890abcdefghijkl",
574
+ # })
575
+ #
576
+ # resp.to_h outputs the following:
577
+ # {
578
+ # errors: [
579
+ # ],
580
+ # added_accessor_ids: [
581
+ # "12345678-1234-1234-1234-1234567890ab",
582
+ # ],
583
+ # }
584
+ #
488
585
  # @example Request syntax with placeholder values
489
586
  #
490
587
  # resp = client.batch_add_role({
588
+ # space_id: "SpaceId", # required
491
589
  # accessor_ids: ["AccessorId"], # required
492
590
  # role: "EXPERT", # required, accepts EXPERT, MODERATOR, ADMINISTRATOR, SUPPORTREQUESTOR
493
- # space_id: "SpaceId", # required
494
591
  # })
495
592
  #
496
593
  # @example Response structure
@@ -511,38 +608,126 @@ module Aws::Repostspace
511
608
  req.send_request(options)
512
609
  end
513
610
 
514
- # Remove role from multiple users or groups in a private re:Post.
611
+ # Remove a role from multiple users or groups in a private re:Post
612
+ # channel.
613
+ #
614
+ # @option params [required, String] :space_id
615
+ # The unique ID of the private re:Post.
616
+ #
617
+ # @option params [required, String] :channel_id
618
+ # The unique ID of the private re:Post channel.
515
619
  #
516
620
  # @option params [required, Array<String>] :accessor_ids
517
- # The user or group accessor identifiers to remove the role from.
621
+ # The users or groups identifiers to remove the role from.
518
622
  #
519
- # @option params [required, String] :role
520
- # The role to remove from the users or groups.
623
+ # @option params [required, String] :channel_role
624
+ # The channel role to remove from the users or groups.
625
+ #
626
+ # @return [Types::BatchRemoveChannelRoleFromAccessorsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
627
+ #
628
+ # * {Types::BatchRemoveChannelRoleFromAccessorsOutput#removed_accessor_ids #removed_accessor_ids} => Array&lt;String&gt;
629
+ # * {Types::BatchRemoveChannelRoleFromAccessorsOutput#errors #errors} => Array&lt;Types::BatchError&gt;
630
+ #
631
+ #
632
+ # @example Example: BatchRemoveChannelRoleFromAccessors
633
+ #
634
+ # resp = client.batch_remove_channel_role_from_accessors({
635
+ # accessor_ids: [
636
+ # "12345678-1234-1234-1234-1234567890ab",
637
+ # ],
638
+ # channel_id: "WS1234567890abcdefghijkl",
639
+ # channel_role: "MODERATOR",
640
+ # space_id: "SP1234567890abcdefghijkl",
641
+ # })
642
+ #
643
+ # resp.to_h outputs the following:
644
+ # {
645
+ # errors: [
646
+ # ],
647
+ # removed_accessor_ids: [
648
+ # "12345678-1234-1234-1234-1234567890ab",
649
+ # ],
650
+ # }
651
+ #
652
+ # @example Request syntax with placeholder values
653
+ #
654
+ # resp = client.batch_remove_channel_role_from_accessors({
655
+ # space_id: "SpaceId", # required
656
+ # channel_id: "ChannelId", # required
657
+ # accessor_ids: ["AccessorId"], # required
658
+ # channel_role: "ASKER", # required, accepts ASKER, EXPERT, MODERATOR, SUPPORTREQUESTOR
659
+ # })
660
+ #
661
+ # @example Response structure
662
+ #
663
+ # resp.removed_accessor_ids #=> Array
664
+ # resp.removed_accessor_ids[0] #=> String
665
+ # resp.errors #=> Array
666
+ # resp.errors[0].accessor_id #=> String
667
+ # resp.errors[0].error #=> Integer
668
+ # resp.errors[0].message #=> String
669
+ #
670
+ # @see http://docs.aws.amazon.com/goto/WebAPI/repostspace-2022-05-13/BatchRemoveChannelRoleFromAccessors AWS API Documentation
671
+ #
672
+ # @overload batch_remove_channel_role_from_accessors(params = {})
673
+ # @param [Hash] params ({})
674
+ def batch_remove_channel_role_from_accessors(params = {}, options = {})
675
+ req = build_request(:batch_remove_channel_role_from_accessors, params)
676
+ req.send_request(options)
677
+ end
678
+
679
+ # Remove a role from multiple users or groups in a private re:Post.
521
680
  #
522
681
  # @option params [required, String] :space_id
523
682
  # The unique ID of the private re:Post.
524
683
  #
684
+ # @option params [required, Array<String>] :accessor_ids
685
+ # The user or group accessor identifiers to remove the role from.
686
+ #
687
+ # @option params [required, String] :role
688
+ # The role to remove from the users or groups.
689
+ #
525
690
  # @return [Types::BatchRemoveRoleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
526
691
  #
527
- # * {Types::BatchRemoveRoleOutput#errors #errors} => Array&lt;Types::BatchError&gt;
528
692
  # * {Types::BatchRemoveRoleOutput#removed_accessor_ids #removed_accessor_ids} => Array&lt;String&gt;
693
+ # * {Types::BatchRemoveRoleOutput#errors #errors} => Array&lt;Types::BatchError&gt;
694
+ #
695
+ #
696
+ # @example Example: BatchRemoveRole
697
+ #
698
+ # resp = client.batch_remove_role({
699
+ # accessor_ids: [
700
+ # "12345678-1234-1234-1234-1234567890ab",
701
+ # ],
702
+ # role: "EXPERT",
703
+ # space_id: "SP1234567890abcdefghijkl",
704
+ # })
705
+ #
706
+ # resp.to_h outputs the following:
707
+ # {
708
+ # errors: [
709
+ # ],
710
+ # removed_accessor_ids: [
711
+ # "12345678-1234-1234-1234-1234567890ab",
712
+ # ],
713
+ # }
529
714
  #
530
715
  # @example Request syntax with placeholder values
531
716
  #
532
717
  # resp = client.batch_remove_role({
718
+ # space_id: "SpaceId", # required
533
719
  # accessor_ids: ["AccessorId"], # required
534
720
  # role: "EXPERT", # required, accepts EXPERT, MODERATOR, ADMINISTRATOR, SUPPORTREQUESTOR
535
- # space_id: "SpaceId", # required
536
721
  # })
537
722
  #
538
723
  # @example Response structure
539
724
  #
725
+ # resp.removed_accessor_ids #=> Array
726
+ # resp.removed_accessor_ids[0] #=> String
540
727
  # resp.errors #=> Array
541
728
  # resp.errors[0].accessor_id #=> String
542
729
  # resp.errors[0].error #=> Integer
543
730
  # resp.errors[0].message #=> String
544
- # resp.removed_accessor_ids #=> Array
545
- # resp.removed_accessor_ids[0] #=> String
546
731
  #
547
732
  # @see http://docs.aws.amazon.com/goto/WebAPI/repostspace-2022-05-13/BatchRemoveRole AWS API Documentation
548
733
  #
@@ -553,36 +738,89 @@ module Aws::Repostspace
553
738
  req.send_request(options)
554
739
  end
555
740
 
556
- # Creates an AWS re:Post Private private re:Post.
741
+ # Creates a channel in an AWS re:Post Private private re:Post.
557
742
  #
558
- # @option params [String] :description
559
- # A description for the private re:Post. This is used only to help you
560
- # identify this private re:Post.
743
+ # @option params [required, String] :space_id
744
+ # The unique ID of the private re:Post.
745
+ #
746
+ # @option params [required, String] :channel_name
747
+ # The name for the channel. This must be unique per private re:Post.
748
+ #
749
+ # @option params [String] :channel_description
750
+ # A description for the channel. This is used only to help you identify
751
+ # this channel.
752
+ #
753
+ # @return [Types::CreateChannelOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
754
+ #
755
+ # * {Types::CreateChannelOutput#channel_id #channel_id} => String
756
+ #
757
+ #
758
+ # @example Example: CreateChannel
759
+ #
760
+ # resp = client.create_channel({
761
+ # channel_description: "Useful channel description",
762
+ # channel_name: "My First Channel",
763
+ # space_id: "SP1234567890abcdefghijkl",
764
+ # })
765
+ #
766
+ # resp.to_h outputs the following:
767
+ # {
768
+ # channel_id: "WS1234567890abcdefghijkl",
769
+ # }
770
+ #
771
+ # @example Request syntax with placeholder values
772
+ #
773
+ # resp = client.create_channel({
774
+ # space_id: "SpaceId", # required
775
+ # channel_name: "ChannelName", # required
776
+ # channel_description: "ChannelDescription",
777
+ # })
778
+ #
779
+ # @example Response structure
780
+ #
781
+ # resp.channel_id #=> String
782
+ #
783
+ # @see http://docs.aws.amazon.com/goto/WebAPI/repostspace-2022-05-13/CreateChannel AWS API Documentation
784
+ #
785
+ # @overload create_channel(params = {})
786
+ # @param [Hash] params ({})
787
+ def create_channel(params = {}, options = {})
788
+ req = build_request(:create_channel, params)
789
+ req.send_request(options)
790
+ end
791
+
792
+ # Creates an AWS re:Post Private private re:Post.
561
793
  #
562
794
  # @option params [required, String] :name
563
795
  # The name for the private re:Post. This must be unique in your account.
564
796
  #
565
- # @option params [String] :role_arn
566
- # The IAM role that grants permissions to the private re:Post to convert
567
- # unanswered questions into AWS support tickets.
568
- #
569
797
  # @option params [required, String] :subdomain
570
798
  # The subdomain that you use to access your AWS re:Post Private private
571
799
  # re:Post. All custom subdomains must be approved by AWS before use. In
572
800
  # addition to your custom subdomain, all private re:Posts are issued an
573
801
  # AWS generated subdomain for immediate use.
574
802
  #
575
- # @option params [Hash<String,String>] :tags
576
- # The list of tags associated with the private re:Post.
577
- #
578
803
  # @option params [required, String] :tier
579
804
  # The pricing tier for the private re:Post.
580
805
  #
806
+ # @option params [String] :description
807
+ # A description for the private re:Post. This is used only to help you
808
+ # identify this private re:Post.
809
+ #
581
810
  # @option params [String] :user_kms_key
582
811
  # The AWS KMS key ARN that’s used for the AWS KMS encryption. If you
583
812
  # don't provide a key, your data is encrypted by default with a key
584
813
  # that AWS owns and manages for you.
585
814
  #
815
+ # @option params [Hash<String,String>] :tags
816
+ # The list of tags associated with the private re:Post.
817
+ #
818
+ # @option params [String] :role_arn
819
+ # The IAM role that grants permissions to the private re:Post to convert
820
+ # unanswered questions into AWS support tickets.
821
+ #
822
+ # @option params [Types::SupportedEmailDomainsParameters] :supported_email_domains
823
+ #
586
824
  # @return [Types::CreateSpaceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
587
825
  #
588
826
  # * {Types::CreateSpaceOutput#space_id #space_id} => String
@@ -590,15 +828,19 @@ module Aws::Repostspace
590
828
  # @example Request syntax with placeholder values
591
829
  #
592
830
  # resp = client.create_space({
593
- # description: "SpaceDescription",
594
831
  # name: "SpaceName", # required
595
- # role_arn: "Arn",
596
832
  # subdomain: "SpaceSubdomain", # required
833
+ # tier: "BASIC", # required, accepts BASIC, STANDARD
834
+ # description: "SpaceDescription",
835
+ # user_kms_key: "KMSKey",
597
836
  # tags: {
598
837
  # "TagKey" => "TagValue",
599
838
  # },
600
- # tier: "BASIC", # required, accepts BASIC, STANDARD
601
- # user_kms_key: "KMSKey",
839
+ # role_arn: "Arn",
840
+ # supported_email_domains: {
841
+ # enabled: "ENABLED", # accepts ENABLED, DISABLED
842
+ # allowed_domains: ["EmailDomain"],
843
+ # },
602
844
  # })
603
845
  #
604
846
  # @example Response structure
@@ -639,19 +881,19 @@ module Aws::Repostspace
639
881
  # Removes the user or group from the list of administrators of the
640
882
  # private re:Post.
641
883
  #
642
- # @option params [required, String] :admin_id
643
- # The ID of the admin to remove.
644
- #
645
884
  # @option params [required, String] :space_id
646
885
  # The ID of the private re:Post to remove the admin from.
647
886
  #
887
+ # @option params [required, String] :admin_id
888
+ # The ID of the admin to remove.
889
+ #
648
890
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
649
891
  #
650
892
  # @example Request syntax with placeholder values
651
893
  #
652
894
  # resp = client.deregister_admin({
653
- # admin_id: "AdminId", # required
654
895
  # space_id: "SpaceId", # required
896
+ # admin_id: "AdminId", # required
655
897
  # })
656
898
  #
657
899
  # @see http://docs.aws.amazon.com/goto/WebAPI/repostspace-2022-05-13/DeregisterAdmin AWS API Documentation
@@ -663,6 +905,83 @@ module Aws::Repostspace
663
905
  req.send_request(options)
664
906
  end
665
907
 
908
+ # Displays information about a channel in a private re:Post.
909
+ #
910
+ # @option params [required, String] :space_id
911
+ # The unique ID of the private re:Post.
912
+ #
913
+ # @option params [required, String] :channel_id
914
+ # The unique ID of the private re:Post channel.
915
+ #
916
+ # @return [Types::GetChannelOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
917
+ #
918
+ # * {Types::GetChannelOutput#space_id #space_id} => String
919
+ # * {Types::GetChannelOutput#channel_id #channel_id} => String
920
+ # * {Types::GetChannelOutput#channel_name #channel_name} => String
921
+ # * {Types::GetChannelOutput#channel_description #channel_description} => String
922
+ # * {Types::GetChannelOutput#create_date_time #create_date_time} => Time
923
+ # * {Types::GetChannelOutput#delete_date_time #delete_date_time} => Time
924
+ # * {Types::GetChannelOutput#channel_roles #channel_roles} => Hash&lt;String,Array&lt;String&gt;&gt;
925
+ # * {Types::GetChannelOutput#channel_status #channel_status} => String
926
+ #
927
+ #
928
+ # @example Example: GetChannel
929
+ #
930
+ # resp = client.get_channel({
931
+ # channel_id: "WS1234567890abcdefghijkl",
932
+ # space_id: "SP1234567890abcdefghijkl",
933
+ # })
934
+ #
935
+ # resp.to_h outputs the following:
936
+ # {
937
+ # channel_description: "Useful channel description",
938
+ # channel_id: "WS1234567890abcdefghijkl",
939
+ # channel_name: "My First Channel",
940
+ # channel_roles: {
941
+ # "12345678-1234-1234-1234-1234567890ab" => [
942
+ # "ASKER",
943
+ # ],
944
+ # },
945
+ # channel_status: "CREATED",
946
+ # create_date_time: Time.parse("2025-02-13T18:49:13.713Z"),
947
+ # space_id: "SP1234567890abcdefghijkl",
948
+ # }
949
+ #
950
+ # @example Request syntax with placeholder values
951
+ #
952
+ # resp = client.get_channel({
953
+ # space_id: "SpaceId", # required
954
+ # channel_id: "ChannelId", # required
955
+ # })
956
+ #
957
+ # @example Response structure
958
+ #
959
+ # resp.space_id #=> String
960
+ # resp.channel_id #=> String
961
+ # resp.channel_name #=> String
962
+ # resp.channel_description #=> String
963
+ # resp.create_date_time #=> Time
964
+ # resp.delete_date_time #=> Time
965
+ # resp.channel_roles #=> Hash
966
+ # resp.channel_roles["AccessorId"] #=> Array
967
+ # resp.channel_roles["AccessorId"][0] #=> String, one of "ASKER", "EXPERT", "MODERATOR", "SUPPORTREQUESTOR"
968
+ # resp.channel_status #=> String, one of "CREATED", "CREATING", "CREATE_FAILED", "DELETED", "DELETING", "DELETE_FAILED"
969
+ #
970
+ #
971
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
972
+ #
973
+ # * channel_created
974
+ # * channel_deleted
975
+ #
976
+ # @see http://docs.aws.amazon.com/goto/WebAPI/repostspace-2022-05-13/GetChannel AWS API Documentation
977
+ #
978
+ # @overload get_channel(params = {})
979
+ # @param [Hash] params ({})
980
+ def get_channel(params = {}, options = {})
981
+ req = build_request(:get_channel, params)
982
+ req.send_request(options)
983
+ end
984
+
666
985
  # Displays information about the AWS re:Post Private private re:Post.
667
986
  #
668
987
  # @option params [required, String] :space_id
@@ -670,27 +989,30 @@ module Aws::Repostspace
670
989
  #
671
990
  # @return [Types::GetSpaceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
672
991
  #
992
+ # * {Types::GetSpaceOutput#space_id #space_id} => String
673
993
  # * {Types::GetSpaceOutput#arn #arn} => String
674
- # * {Types::GetSpaceOutput#client_id #client_id} => String
994
+ # * {Types::GetSpaceOutput#name #name} => String
995
+ # * {Types::GetSpaceOutput#status #status} => String
675
996
  # * {Types::GetSpaceOutput#configuration_status #configuration_status} => String
676
- # * {Types::GetSpaceOutput#content_size #content_size} => Integer
677
- # * {Types::GetSpaceOutput#create_date_time #create_date_time} => Time
678
- # * {Types::GetSpaceOutput#customer_role_arn #customer_role_arn} => String
679
- # * {Types::GetSpaceOutput#delete_date_time #delete_date_time} => Time
997
+ # * {Types::GetSpaceOutput#client_id #client_id} => String
998
+ # * {Types::GetSpaceOutput#identity_store_id #identity_store_id} => String
999
+ # * {Types::GetSpaceOutput#application_arn #application_arn} => String
680
1000
  # * {Types::GetSpaceOutput#description #description} => String
681
- # * {Types::GetSpaceOutput#group_admins #group_admins} => Array&lt;String&gt;
682
- # * {Types::GetSpaceOutput#name #name} => String
1001
+ # * {Types::GetSpaceOutput#vanity_domain_status #vanity_domain_status} => String
1002
+ # * {Types::GetSpaceOutput#vanity_domain #vanity_domain} => String
683
1003
  # * {Types::GetSpaceOutput#random_domain #random_domain} => String
684
- # * {Types::GetSpaceOutput#roles #roles} => Hash&lt;String,Array&lt;String&gt;&gt;
685
- # * {Types::GetSpaceOutput#space_id #space_id} => String
686
- # * {Types::GetSpaceOutput#status #status} => String
687
- # * {Types::GetSpaceOutput#storage_limit #storage_limit} => Integer
1004
+ # * {Types::GetSpaceOutput#customer_role_arn #customer_role_arn} => String
1005
+ # * {Types::GetSpaceOutput#create_date_time #create_date_time} => Time
1006
+ # * {Types::GetSpaceOutput#delete_date_time #delete_date_time} => Time
688
1007
  # * {Types::GetSpaceOutput#tier #tier} => String
1008
+ # * {Types::GetSpaceOutput#storage_limit #storage_limit} => Integer
689
1009
  # * {Types::GetSpaceOutput#user_admins #user_admins} => Array&lt;String&gt;
690
- # * {Types::GetSpaceOutput#user_count #user_count} => Integer
1010
+ # * {Types::GetSpaceOutput#group_admins #group_admins} => Array&lt;String&gt;
1011
+ # * {Types::GetSpaceOutput#roles #roles} => Hash&lt;String,Array&lt;String&gt;&gt;
691
1012
  # * {Types::GetSpaceOutput#user_kms_key #user_kms_key} => String
692
- # * {Types::GetSpaceOutput#vanity_domain #vanity_domain} => String
693
- # * {Types::GetSpaceOutput#vanity_domain_status #vanity_domain_status} => String
1013
+ # * {Types::GetSpaceOutput#user_count #user_count} => Integer
1014
+ # * {Types::GetSpaceOutput#content_size #content_size} => Integer
1015
+ # * {Types::GetSpaceOutput#supported_email_domains #supported_email_domains} => Types::SupportedEmailDomainsStatus
694
1016
  #
695
1017
  # @example Request syntax with placeholder values
696
1018
  #
@@ -700,31 +1022,42 @@ module Aws::Repostspace
700
1022
  #
701
1023
  # @example Response structure
702
1024
  #
1025
+ # resp.space_id #=> String
703
1026
  # resp.arn #=> String
704
- # resp.client_id #=> String
1027
+ # resp.name #=> String
1028
+ # resp.status #=> String
705
1029
  # resp.configuration_status #=> String, one of "CONFIGURED", "UNCONFIGURED"
706
- # resp.content_size #=> Integer
707
- # resp.create_date_time #=> Time
1030
+ # resp.client_id #=> String
1031
+ # resp.identity_store_id #=> String
1032
+ # resp.application_arn #=> String
1033
+ # resp.description #=> String
1034
+ # resp.vanity_domain_status #=> String, one of "PENDING", "APPROVED", "UNAPPROVED"
1035
+ # resp.vanity_domain #=> String
1036
+ # resp.random_domain #=> String
708
1037
  # resp.customer_role_arn #=> String
1038
+ # resp.create_date_time #=> Time
709
1039
  # resp.delete_date_time #=> Time
710
- # resp.description #=> String
1040
+ # resp.tier #=> String, one of "BASIC", "STANDARD"
1041
+ # resp.storage_limit #=> Integer
1042
+ # resp.user_admins #=> Array
1043
+ # resp.user_admins[0] #=> String
711
1044
  # resp.group_admins #=> Array
712
1045
  # resp.group_admins[0] #=> String
713
- # resp.name #=> String
714
- # resp.random_domain #=> String
715
1046
  # resp.roles #=> Hash
716
1047
  # resp.roles["AccessorId"] #=> Array
717
1048
  # resp.roles["AccessorId"][0] #=> String, one of "EXPERT", "MODERATOR", "ADMINISTRATOR", "SUPPORTREQUESTOR"
718
- # resp.space_id #=> String
719
- # resp.status #=> String
720
- # resp.storage_limit #=> Integer
721
- # resp.tier #=> String, one of "BASIC", "STANDARD"
722
- # resp.user_admins #=> Array
723
- # resp.user_admins[0] #=> String
724
- # resp.user_count #=> Integer
725
1049
  # resp.user_kms_key #=> String
726
- # resp.vanity_domain #=> String
727
- # resp.vanity_domain_status #=> String, one of "PENDING", "APPROVED", "UNAPPROVED"
1050
+ # resp.user_count #=> Integer
1051
+ # resp.content_size #=> Integer
1052
+ # resp.supported_email_domains.enabled #=> String, one of "ENABLED", "DISABLED", "NOT_ALLOWED"
1053
+ # resp.supported_email_domains.allowed_domains #=> Array
1054
+ # resp.supported_email_domains.allowed_domains[0] #=> String
1055
+ #
1056
+ #
1057
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1058
+ #
1059
+ # * space_created
1060
+ # * space_deleted
728
1061
  #
729
1062
  # @see http://docs.aws.amazon.com/goto/WebAPI/repostspace-2022-05-13/GetSpace AWS API Documentation
730
1063
  #
@@ -735,50 +1068,137 @@ module Aws::Repostspace
735
1068
  req.send_request(options)
736
1069
  end
737
1070
 
738
- # Returns a list of AWS re:Post Private private re:Posts in the account
739
- # with some information about each private re:Post.
1071
+ # Returns the list of channel within a private re:Post with some
1072
+ # information about each channel.
1073
+ #
1074
+ # @option params [required, String] :space_id
1075
+ # The unique ID of the private re:Post.
1076
+ #
1077
+ # @option params [String] :next_token
1078
+ # The token for the next set of channel to return. You receive this
1079
+ # token from a previous ListChannels operation.
740
1080
  #
741
1081
  # @option params [Integer] :max_results
742
- # The maximum number of private re:Posts to include in the results.
1082
+ # The maximum number of channels to include in the results.
1083
+ #
1084
+ # @return [Types::ListChannelsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1085
+ #
1086
+ # * {Types::ListChannelsOutput#channels #channels} => Array&lt;Types::ChannelData&gt;
1087
+ # * {Types::ListChannelsOutput#next_token #next_token} => String
1088
+ #
1089
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1090
+ #
1091
+ #
1092
+ # @example Example: ListChannels
1093
+ #
1094
+ # resp = client.list_channels({
1095
+ # space_id: "SP1234567890abcdefghijkl",
1096
+ # })
1097
+ #
1098
+ # resp.to_h outputs the following:
1099
+ # {
1100
+ # channels: [
1101
+ # {
1102
+ # channel_description: "Useful channel description",
1103
+ # channel_id: "WS1234567890abcdefghijkl",
1104
+ # channel_name: "My First Channel",
1105
+ # channel_status: "CREATED",
1106
+ # create_date_time: Time.parse("2020-02-20T20:20:20.420Z"),
1107
+ # group_count: 1,
1108
+ # space_id: "SP1234567890abcdefghijkl",
1109
+ # user_count: 5,
1110
+ # },
1111
+ # {
1112
+ # channel_description: "Better channel description",
1113
+ # channel_id: "WSabcdefghijkl1234567890",
1114
+ # channel_name: "Better Channel",
1115
+ # channel_status: "CREATED",
1116
+ # create_date_time: Time.parse("2025-06-20T14:43:34.201Z"),
1117
+ # group_count: 0,
1118
+ # space_id: "SP1234567890abcdefghijkl",
1119
+ # user_count: 1,
1120
+ # },
1121
+ # ],
1122
+ # }
1123
+ #
1124
+ # @example Request syntax with placeholder values
1125
+ #
1126
+ # resp = client.list_channels({
1127
+ # space_id: "SpaceId", # required
1128
+ # next_token: "String",
1129
+ # max_results: 1,
1130
+ # })
1131
+ #
1132
+ # @example Response structure
1133
+ #
1134
+ # resp.channels #=> Array
1135
+ # resp.channels[0].space_id #=> String
1136
+ # resp.channels[0].channel_id #=> String
1137
+ # resp.channels[0].channel_name #=> String
1138
+ # resp.channels[0].channel_description #=> String
1139
+ # resp.channels[0].create_date_time #=> Time
1140
+ # resp.channels[0].delete_date_time #=> Time
1141
+ # resp.channels[0].channel_status #=> String, one of "CREATED", "CREATING", "CREATE_FAILED", "DELETED", "DELETING", "DELETE_FAILED"
1142
+ # resp.channels[0].user_count #=> Integer
1143
+ # resp.channels[0].group_count #=> Integer
1144
+ # resp.next_token #=> String
1145
+ #
1146
+ # @see http://docs.aws.amazon.com/goto/WebAPI/repostspace-2022-05-13/ListChannels AWS API Documentation
1147
+ #
1148
+ # @overload list_channels(params = {})
1149
+ # @param [Hash] params ({})
1150
+ def list_channels(params = {}, options = {})
1151
+ req = build_request(:list_channels, params)
1152
+ req.send_request(options)
1153
+ end
1154
+
1155
+ # Returns a list of AWS re:Post Private private re:Posts in the account
1156
+ # with some information about each private re:Post.
743
1157
  #
744
1158
  # @option params [String] :next_token
745
1159
  # The token for the next set of private re:Posts to return. You receive
746
1160
  # this token from a previous ListSpaces operation.
747
1161
  #
1162
+ # @option params [Integer] :max_results
1163
+ # The maximum number of private re:Posts to include in the results.
1164
+ #
748
1165
  # @return [Types::ListSpacesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
749
1166
  #
750
- # * {Types::ListSpacesOutput#next_token #next_token} => String
751
1167
  # * {Types::ListSpacesOutput#spaces #spaces} => Array&lt;Types::SpaceData&gt;
1168
+ # * {Types::ListSpacesOutput#next_token #next_token} => String
752
1169
  #
753
1170
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
754
1171
  #
755
1172
  # @example Request syntax with placeholder values
756
1173
  #
757
1174
  # resp = client.list_spaces({
758
- # max_results: 1,
759
1175
  # next_token: "String",
1176
+ # max_results: 1,
760
1177
  # })
761
1178
  #
762
1179
  # @example Response structure
763
1180
  #
764
- # resp.next_token #=> String
765
1181
  # resp.spaces #=> Array
1182
+ # resp.spaces[0].space_id #=> String
766
1183
  # resp.spaces[0].arn #=> String
767
- # resp.spaces[0].configuration_status #=> String, one of "CONFIGURED", "UNCONFIGURED"
768
- # resp.spaces[0].content_size #=> Integer
769
- # resp.spaces[0].create_date_time #=> Time
770
- # resp.spaces[0].delete_date_time #=> Time
771
- # resp.spaces[0].description #=> String
772
1184
  # resp.spaces[0].name #=> String
773
- # resp.spaces[0].random_domain #=> String
774
- # resp.spaces[0].space_id #=> String
1185
+ # resp.spaces[0].description #=> String
775
1186
  # resp.spaces[0].status #=> String
776
- # resp.spaces[0].storage_limit #=> Integer
1187
+ # resp.spaces[0].configuration_status #=> String, one of "CONFIGURED", "UNCONFIGURED"
1188
+ # resp.spaces[0].vanity_domain_status #=> String, one of "PENDING", "APPROVED", "UNAPPROVED"
1189
+ # resp.spaces[0].vanity_domain #=> String
1190
+ # resp.spaces[0].random_domain #=> String
777
1191
  # resp.spaces[0].tier #=> String, one of "BASIC", "STANDARD"
778
- # resp.spaces[0].user_count #=> Integer
1192
+ # resp.spaces[0].storage_limit #=> Integer
1193
+ # resp.spaces[0].create_date_time #=> Time
1194
+ # resp.spaces[0].delete_date_time #=> Time
779
1195
  # resp.spaces[0].user_kms_key #=> String
780
- # resp.spaces[0].vanity_domain #=> String
781
- # resp.spaces[0].vanity_domain_status #=> String, one of "PENDING", "APPROVED", "UNAPPROVED"
1196
+ # resp.spaces[0].user_count #=> Integer
1197
+ # resp.spaces[0].content_size #=> Integer
1198
+ # resp.spaces[0].supported_email_domains.enabled #=> String, one of "ENABLED", "DISABLED", "NOT_ALLOWED"
1199
+ # resp.spaces[0].supported_email_domains.allowed_domains #=> Array
1200
+ # resp.spaces[0].supported_email_domains.allowed_domains[0] #=> String
1201
+ # resp.next_token #=> String
782
1202
  #
783
1203
  # @see http://docs.aws.amazon.com/goto/WebAPI/repostspace-2022-05-13/ListSpaces AWS API Documentation
784
1204
  #
@@ -823,19 +1243,19 @@ module Aws::Repostspace
823
1243
  # Adds a user or group to the list of administrators of the private
824
1244
  # re:Post.
825
1245
  #
826
- # @option params [required, String] :admin_id
827
- # The ID of the administrator.
828
- #
829
1246
  # @option params [required, String] :space_id
830
1247
  # The ID of the private re:Post.
831
1248
  #
1249
+ # @option params [required, String] :admin_id
1250
+ # The ID of the administrator.
1251
+ #
832
1252
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
833
1253
  #
834
1254
  # @example Request syntax with placeholder values
835
1255
  #
836
1256
  # resp = client.register_admin({
837
- # admin_id: "AdminId", # required
838
1257
  # space_id: "SpaceId", # required
1258
+ # admin_id: "AdminId", # required
839
1259
  # })
840
1260
  #
841
1261
  # @see http://docs.aws.amazon.com/goto/WebAPI/repostspace-2022-05-13/RegisterAdmin AWS API Documentation
@@ -849,27 +1269,27 @@ module Aws::Repostspace
849
1269
 
850
1270
  # Sends an invitation email to selected users and groups.
851
1271
  #
852
- # @option params [required, Array<String>] :accessor_ids
853
- # The array of identifiers for the users and groups.
854
- #
855
- # @option params [required, String] :body
856
- # The body of the invite.
857
- #
858
1272
  # @option params [required, String] :space_id
859
1273
  # The ID of the private re:Post.
860
1274
  #
1275
+ # @option params [required, Array<String>] :accessor_ids
1276
+ # The array of identifiers for the users and groups.
1277
+ #
861
1278
  # @option params [required, String] :title
862
1279
  # The title of the invite.
863
1280
  #
1281
+ # @option params [required, String] :body
1282
+ # The body of the invite.
1283
+ #
864
1284
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
865
1285
  #
866
1286
  # @example Request syntax with placeholder values
867
1287
  #
868
1288
  # resp = client.send_invites({
869
- # accessor_ids: ["AccessorId"], # required
870
- # body: "InviteBody", # required
871
1289
  # space_id: "SpaceId", # required
1290
+ # accessor_ids: ["AccessorId"], # required
872
1291
  # title: "InviteTitle", # required
1292
+ # body: "InviteBody", # required
873
1293
  # })
874
1294
  #
875
1295
  # @see http://docs.aws.amazon.com/goto/WebAPI/repostspace-2022-05-13/SendInvites AWS API Documentation
@@ -943,31 +1363,82 @@ module Aws::Repostspace
943
1363
  req.send_request(options)
944
1364
  end
945
1365
 
1366
+ # Modifies an existing channel.
1367
+ #
1368
+ # @option params [required, String] :space_id
1369
+ # The unique ID of the private re:Post.
1370
+ #
1371
+ # @option params [required, String] :channel_id
1372
+ # The unique ID of the private re:Post channel.
1373
+ #
1374
+ # @option params [required, String] :channel_name
1375
+ # The name for the channel. This must be unique per private re:Post.
1376
+ #
1377
+ # @option params [String] :channel_description
1378
+ # A description for the channel. This is used only to help you identify
1379
+ # this channel.
1380
+ #
1381
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1382
+ #
1383
+ #
1384
+ # @example Example: UpdateChannel
1385
+ #
1386
+ # resp = client.update_channel({
1387
+ # channel_description: "Better channel description",
1388
+ # channel_id: "WS1234567890abcdefghijkl",
1389
+ # channel_name: "Better Channel",
1390
+ # space_id: "SP1234567890abcdefghijkl",
1391
+ # })
1392
+ #
1393
+ # @example Request syntax with placeholder values
1394
+ #
1395
+ # resp = client.update_channel({
1396
+ # space_id: "SpaceId", # required
1397
+ # channel_id: "ChannelId", # required
1398
+ # channel_name: "ChannelName", # required
1399
+ # channel_description: "ChannelDescription",
1400
+ # })
1401
+ #
1402
+ # @see http://docs.aws.amazon.com/goto/WebAPI/repostspace-2022-05-13/UpdateChannel AWS API Documentation
1403
+ #
1404
+ # @overload update_channel(params = {})
1405
+ # @param [Hash] params ({})
1406
+ def update_channel(params = {}, options = {})
1407
+ req = build_request(:update_channel, params)
1408
+ req.send_request(options)
1409
+ end
1410
+
946
1411
  # Modifies an existing AWS re:Post Private private re:Post.
947
1412
  #
1413
+ # @option params [required, String] :space_id
1414
+ # The unique ID of this private re:Post.
1415
+ #
948
1416
  # @option params [String] :description
949
1417
  # A description for the private re:Post. This is used only to help you
950
1418
  # identify this private re:Post.
951
1419
  #
1420
+ # @option params [String] :tier
1421
+ # The pricing tier of this private re:Post.
1422
+ #
952
1423
  # @option params [String] :role_arn
953
1424
  # The IAM role that grants permissions to the private re:Post to convert
954
1425
  # unanswered questions into AWS support tickets.
955
1426
  #
956
- # @option params [required, String] :space_id
957
- # The unique ID of this private re:Post.
958
- #
959
- # @option params [String] :tier
960
- # The pricing tier of this private re:Post.
1427
+ # @option params [Types::SupportedEmailDomainsParameters] :supported_email_domains
961
1428
  #
962
1429
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
963
1430
  #
964
1431
  # @example Request syntax with placeholder values
965
1432
  #
966
1433
  # resp = client.update_space({
967
- # description: "SpaceDescription",
968
- # role_arn: "Arn",
969
1434
  # space_id: "SpaceId", # required
1435
+ # description: "SpaceDescription",
970
1436
  # tier: "BASIC", # accepts BASIC, STANDARD
1437
+ # role_arn: "Arn",
1438
+ # supported_email_domains: {
1439
+ # enabled: "ENABLED", # accepts ENABLED, DISABLED
1440
+ # allowed_domains: ["EmailDomain"],
1441
+ # },
971
1442
  # })
972
1443
  #
973
1444
  # @see http://docs.aws.amazon.com/goto/WebAPI/repostspace-2022-05-13/UpdateSpace AWS API Documentation
@@ -997,14 +1468,133 @@ module Aws::Repostspace
997
1468
  tracer: tracer
998
1469
  )
999
1470
  context[:gem_name] = 'aws-sdk-repostspace'
1000
- context[:gem_version] = '1.22.0'
1471
+ context[:gem_version] = '1.24.0'
1001
1472
  Seahorse::Client::Request.new(handlers, context)
1002
1473
  end
1003
1474
 
1475
+ # Polls an API operation until a resource enters a desired state.
1476
+ #
1477
+ # ## Basic Usage
1478
+ #
1479
+ # A waiter will call an API operation until:
1480
+ #
1481
+ # * It is successful
1482
+ # * It enters a terminal state
1483
+ # * It makes the maximum number of attempts
1484
+ #
1485
+ # In between attempts, the waiter will sleep.
1486
+ #
1487
+ # # polls in a loop, sleeping between attempts
1488
+ # client.wait_until(waiter_name, params)
1489
+ #
1490
+ # ## Configuration
1491
+ #
1492
+ # You can configure the maximum number of polling attempts, and the
1493
+ # delay (in seconds) between each polling attempt. You can pass
1494
+ # configuration as the final arguments hash.
1495
+ #
1496
+ # # poll for ~25 seconds
1497
+ # client.wait_until(waiter_name, params, {
1498
+ # max_attempts: 5,
1499
+ # delay: 5,
1500
+ # })
1501
+ #
1502
+ # ## Callbacks
1503
+ #
1504
+ # You can be notified before each polling attempt and before each
1505
+ # delay. If you throw `:success` or `:failure` from these callbacks,
1506
+ # it will terminate the waiter.
1507
+ #
1508
+ # started_at = Time.now
1509
+ # client.wait_until(waiter_name, params, {
1510
+ #
1511
+ # # disable max attempts
1512
+ # max_attempts: nil,
1513
+ #
1514
+ # # poll for 1 hour, instead of a number of attempts
1515
+ # before_wait: -> (attempts, response) do
1516
+ # throw :failure if Time.now - started_at > 3600
1517
+ # end
1518
+ # })
1519
+ #
1520
+ # ## Handling Errors
1521
+ #
1522
+ # When a waiter is unsuccessful, it will raise an error.
1523
+ # All of the failure errors extend from
1524
+ # {Aws::Waiters::Errors::WaiterFailed}.
1525
+ #
1526
+ # begin
1527
+ # client.wait_until(...)
1528
+ # rescue Aws::Waiters::Errors::WaiterFailed
1529
+ # # resource did not enter the desired state in time
1530
+ # end
1531
+ #
1532
+ # ## Valid Waiters
1533
+ #
1534
+ # The following table lists the valid waiter names, the operations they call,
1535
+ # and the default `:delay` and `:max_attempts` values.
1536
+ #
1537
+ # | waiter_name | params | :delay | :max_attempts |
1538
+ # | --------------- | -------------------- | -------- | ------------- |
1539
+ # | channel_created | {Client#get_channel} | 2 | 60 |
1540
+ # | channel_deleted | {Client#get_channel} | 2 | 60 |
1541
+ # | space_created | {Client#get_space} | 300 | 24 |
1542
+ # | space_deleted | {Client#get_space} | 300 | 24 |
1543
+ #
1544
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
1545
+ # because the waiter has entered a state that it will not transition
1546
+ # out of, preventing success.
1547
+ #
1548
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
1549
+ # maximum number of attempts have been made, and the waiter is not
1550
+ # yet successful.
1551
+ #
1552
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
1553
+ # while polling for a resource that is not expected.
1554
+ #
1555
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
1556
+ # for an unknown state.
1557
+ #
1558
+ # @return [Boolean] Returns `true` if the waiter was successful.
1559
+ # @param [Symbol] waiter_name
1560
+ # @param [Hash] params ({})
1561
+ # @param [Hash] options ({})
1562
+ # @option options [Integer] :max_attempts
1563
+ # @option options [Integer] :delay
1564
+ # @option options [Proc] :before_attempt
1565
+ # @option options [Proc] :before_wait
1566
+ def wait_until(waiter_name, params = {}, options = {})
1567
+ w = waiter(waiter_name, options)
1568
+ yield(w.waiter) if block_given? # deprecated
1569
+ w.wait(params)
1570
+ end
1571
+
1004
1572
  # @api private
1005
1573
  # @deprecated
1006
1574
  def waiter_names
1007
- []
1575
+ waiters.keys
1576
+ end
1577
+
1578
+ private
1579
+
1580
+ # @param [Symbol] waiter_name
1581
+ # @param [Hash] options ({})
1582
+ def waiter(waiter_name, options = {})
1583
+ waiter_class = waiters[waiter_name]
1584
+ if waiter_class
1585
+ waiter_class.new(options.merge(client: self))
1586
+ else
1587
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
1588
+ end
1589
+ end
1590
+
1591
+ def waiters
1592
+ {
1593
+ channel_created: Waiters::ChannelCreated,
1594
+ channel_deleted: Waiters::ChannelDeleted,
1595
+ space_created: Waiters::SpaceCreated,
1596
+ space_deleted: Waiters::SpaceDeleted
1597
+ }
1008
1598
  end
1009
1599
 
1010
1600
  class << self