aws-sdk-ssmcontacts 1.16.0 → 1.18.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -275,6 +275,11 @@ module Aws::SSMContacts
275
275
  # in the future.
276
276
  #
277
277
  #
278
+ # @option options [String] :sdk_ua_app_id
279
+ # A unique and opaque application ID that is appended to the
280
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
281
+ # maximum length of 50.
282
+ #
278
283
  # @option options [String] :secret_access_key
279
284
  #
280
285
  # @option options [String] :session_token
@@ -394,7 +399,7 @@ module Aws::SSMContacts
394
399
  # Information provided by the user when the user acknowledges the page.
395
400
  #
396
401
  # @option params [required, String] :accept_code
397
- # The accept code is a 6-digit code used to acknowledge the page.
402
+ # A 6-digit code used to acknowledge the page.
398
403
  #
399
404
  # @option params [String] :accept_code_validation
400
405
  # An optional field that Incident Manager uses to `ENFORCE` `AcceptCode`
@@ -410,21 +415,6 @@ module Aws::SSMContacts
410
415
  #
411
416
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
412
417
  #
413
- #
414
- # @example Example: To accept a page during and engagement
415
- #
416
- # # The following accept-page operation uses an accept code sent to the contact channel to accept a page.
417
- #
418
- # resp = client.accept_page({
419
- # accept_code: "425440",
420
- # accept_type: "READ",
421
- # page_id: "arn:aws:ssm-contacts:us-east-2:682428703967:page/akuam/94ea0c7b-56d9-46c3-b84a-a37c8b067ad3",
422
- # })
423
- #
424
- # resp.to_h outputs the following:
425
- # {
426
- # }
427
- #
428
418
  # @example Request syntax with placeholder values
429
419
  #
430
420
  # resp = client.accept_page({
@@ -457,20 +447,6 @@ module Aws::SSMContacts
457
447
  #
458
448
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
459
449
  #
460
- #
461
- # @example Example: Activate a contact's contact channel
462
- #
463
- # # The following activate-contact-channel example activates a contact channel and makes it usable as part of an incident.
464
- #
465
- # resp = client.activate_contact_channel({
466
- # activation_code: "466136",
467
- # contact_channel_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d",
468
- # })
469
- #
470
- # resp.to_h outputs the following:
471
- # {
472
- # }
473
- #
474
450
  # @example Request syntax with placeholder values
475
451
  #
476
452
  # resp = client.activate_contact_channel({
@@ -522,36 +498,14 @@ module Aws::SSMContacts
522
498
  #
523
499
  # * {Types::CreateContactResult#contact_arn #contact_arn} => String
524
500
  #
525
- #
526
- # @example Example: To create a contact
527
- #
528
- # # The following create-contact example creates a contact in your environment with a blank plan. The plan can be updated
529
- # # after creating contact channels. Use the create-contact-channel operation with the output ARN of this command. After you
530
- # # have created contact channels for this contact use update-contact to update the plan.
531
- #
532
- # resp = client.create_contact({
533
- # alias: "akuam",
534
- # display_name: "Akua Mansa",
535
- # plan: {
536
- # stages: [
537
- # ],
538
- # },
539
- # type: "PERSONAL",
540
- # })
541
- #
542
- # resp.to_h outputs the following:
543
- # {
544
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
545
- # }
546
- #
547
501
  # @example Request syntax with placeholder values
548
502
  #
549
503
  # resp = client.create_contact({
550
504
  # alias: "ContactAlias", # required
551
505
  # display_name: "ContactName",
552
- # type: "PERSONAL", # required, accepts PERSONAL, ESCALATION
506
+ # type: "PERSONAL", # required, accepts PERSONAL, ESCALATION, ONCALL_SCHEDULE
553
507
  # plan: { # required
554
- # stages: [ # required
508
+ # stages: [
555
509
  # {
556
510
  # duration_in_minutes: 1, # required
557
511
  # targets: [ # required
@@ -568,6 +522,7 @@ module Aws::SSMContacts
568
522
  # ],
569
523
  # },
570
524
  # ],
525
+ # rotation_ids: ["SsmContactsArn"],
571
526
  # },
572
527
  # tags: [
573
528
  # {
@@ -637,26 +592,6 @@ module Aws::SSMContacts
637
592
  #
638
593
  # * {Types::CreateContactChannelResult#contact_channel_arn #contact_channel_arn} => String
639
594
  #
640
- #
641
- # @example Example: To create a contact channel
642
- #
643
- # # Creates a contact channel of type SMS for the contact Akua Mansa. Contact channels can be created of type SMS, EMAIL, or
644
- # # VOICE.
645
- #
646
- # resp = client.create_contact_channel({
647
- # contact_id: "arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam",
648
- # delivery_address: {
649
- # simple_address: "+15005550199",
650
- # },
651
- # name: "akuas sms-test",
652
- # type: "SMS",
653
- # })
654
- #
655
- # resp.to_h outputs the following:
656
- # {
657
- # contact_channel_arn: "arn:aws:ssm-contacts:us-east-1:111122223333:contact-channel/akuam/02f506b9-ea5d-4764-af89-2daa793ff024",
658
- # }
659
- #
660
595
  # @example Request syntax with placeholder values
661
596
  #
662
597
  # resp = client.create_contact_channel({
@@ -683,29 +618,189 @@ module Aws::SSMContacts
683
618
  req.send_request(options)
684
619
  end
685
620
 
686
- # To no longer receive Incident Manager engagements to a contact
687
- # channel, you can deactivate the channel.
621
+ # Creates a rotation in an on-call schedule.
688
622
  #
689
- # @option params [required, String] :contact_channel_id
690
- # The Amazon Resource Name (ARN) of the contact channel you're
691
- # deactivating.
623
+ # @option params [required, String] :name
624
+ # The name of the rotation.
692
625
  #
693
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
626
+ # @option params [required, Array<String>] :contact_ids
627
+ # The Amazon Resource Names (ARNs) of the contacts to add to the
628
+ # rotation.
694
629
  #
630
+ # The order that you list the contacts in is their shift order in the
631
+ # rotation schedule. To change the order of the contact's shifts, use
632
+ # the UpdateRotation operation.
695
633
  #
696
- # @example Example: To deactivate a contact channel
634
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
635
+ # The date and time that the rotation goes into effect.
697
636
  #
698
- # # The following ``deactivate-contact-channel`` example deactivates a contact channel. Deactivating a contact channel means
699
- # # the contact channel will no longer be paged during an incident. You can also reactivate a contact channel at any time
700
- # # using the activate-contact-channel operation.
637
+ # @option params [required, String] :time_zone_id
638
+ # The time zone to base the rotation’s activity on in Internet Assigned
639
+ # Numbers Authority (IANA) format. For example:
640
+ # "America/Los\_Angeles", "UTC", or "Asia/Seoul". For more
641
+ # information, see the [Time Zone Database][1] on the IANA website.
701
642
  #
702
- # resp = client.deactivate_contact_channel({
703
- # contact_channel_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d",
643
+ # <note markdown="1"> Designators for time zones that don’t support Daylight Savings Time
644
+ # rules, such as Pacific Standard Time (PST) and Pacific Daylight Time
645
+ # (PDT), are not supported.
646
+ #
647
+ # </note>
648
+ #
649
+ #
650
+ #
651
+ # [1]: https://www.iana.org/time-zones
652
+ #
653
+ # @option params [required, Types::RecurrenceSettings] :recurrence
654
+ # Information about the rule that specifies when a shift's team members
655
+ # rotate.
656
+ #
657
+ # @option params [Array<Types::Tag>] :tags
658
+ # Optional metadata to assign to the rotation. Tags enable you to
659
+ # categorize a resource in different ways, such as by purpose, owner, or
660
+ # environment. For more information, see [Tagging Incident Manager
661
+ # resources][1] in the *Incident Manager User Guide*.
662
+ #
663
+ #
664
+ #
665
+ # [1]: https://docs.aws.amazon.com/incident-manager/latest/userguide/tagging.html
666
+ #
667
+ # @option params [String] :idempotency_token
668
+ # A token that ensures that the operation is called only once with the
669
+ # specified details.
670
+ #
671
+ # @return [Types::CreateRotationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
672
+ #
673
+ # * {Types::CreateRotationResult#rotation_arn #rotation_arn} => String
674
+ #
675
+ # @example Request syntax with placeholder values
676
+ #
677
+ # resp = client.create_rotation({
678
+ # name: "RotationName", # required
679
+ # contact_ids: ["SsmContactsArn"], # required
680
+ # start_time: Time.now,
681
+ # time_zone_id: "TimeZoneId", # required
682
+ # recurrence: { # required
683
+ # monthly_settings: [
684
+ # {
685
+ # day_of_month: 1, # required
686
+ # hand_off_time: { # required
687
+ # hour_of_day: 1, # required
688
+ # minute_of_hour: 1, # required
689
+ # },
690
+ # },
691
+ # ],
692
+ # weekly_settings: [
693
+ # {
694
+ # day_of_week: "MON", # required, accepts MON, TUE, WED, THU, FRI, SAT, SUN
695
+ # hand_off_time: { # required
696
+ # hour_of_day: 1, # required
697
+ # minute_of_hour: 1, # required
698
+ # },
699
+ # },
700
+ # ],
701
+ # daily_settings: [
702
+ # {
703
+ # hour_of_day: 1, # required
704
+ # minute_of_hour: 1, # required
705
+ # },
706
+ # ],
707
+ # number_of_on_calls: 1, # required
708
+ # shift_coverages: {
709
+ # "MON" => [
710
+ # {
711
+ # start: {
712
+ # hour_of_day: 1, # required
713
+ # minute_of_hour: 1, # required
714
+ # },
715
+ # end: {
716
+ # hour_of_day: 1, # required
717
+ # minute_of_hour: 1, # required
718
+ # },
719
+ # },
720
+ # ],
721
+ # },
722
+ # recurrence_multiplier: 1, # required
723
+ # },
724
+ # tags: [
725
+ # {
726
+ # key: "TagKey",
727
+ # value: "TagValue",
728
+ # },
729
+ # ],
730
+ # idempotency_token: "IdempotencyToken",
731
+ # })
732
+ #
733
+ # @example Response structure
734
+ #
735
+ # resp.rotation_arn #=> String
736
+ #
737
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/CreateRotation AWS API Documentation
738
+ #
739
+ # @overload create_rotation(params = {})
740
+ # @param [Hash] params ({})
741
+ def create_rotation(params = {}, options = {})
742
+ req = build_request(:create_rotation, params)
743
+ req.send_request(options)
744
+ end
745
+
746
+ # Creates an override for a rotation in an on-call schedule.
747
+ #
748
+ # @option params [required, String] :rotation_id
749
+ # The Amazon Resource Name (ARN) of the rotation to create an override
750
+ # for.
751
+ #
752
+ # @option params [required, Array<String>] :new_contact_ids
753
+ # The Amazon Resource Names (ARNs) of the contacts to replace those in
754
+ # the current on-call rotation with.
755
+ #
756
+ # If you want to include any current team members in the override shift,
757
+ # you must include their ARNs in the new contact ID list.
758
+ #
759
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
760
+ # The date and time when the override goes into effect.
761
+ #
762
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
763
+ # The date and time when the override ends.
764
+ #
765
+ # @option params [String] :idempotency_token
766
+ # A token that ensures that the operation is called only once with the
767
+ # specified details.
768
+ #
769
+ # @return [Types::CreateRotationOverrideResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
770
+ #
771
+ # * {Types::CreateRotationOverrideResult#rotation_override_id #rotation_override_id} => String
772
+ #
773
+ # @example Request syntax with placeholder values
774
+ #
775
+ # resp = client.create_rotation_override({
776
+ # rotation_id: "SsmContactsArn", # required
777
+ # new_contact_ids: ["SsmContactsArn"], # required
778
+ # start_time: Time.now, # required
779
+ # end_time: Time.now, # required
780
+ # idempotency_token: "IdempotencyToken",
704
781
  # })
705
782
  #
706
- # resp.to_h outputs the following:
707
- # {
708
- # }
783
+ # @example Response structure
784
+ #
785
+ # resp.rotation_override_id #=> String
786
+ #
787
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/CreateRotationOverride AWS API Documentation
788
+ #
789
+ # @overload create_rotation_override(params = {})
790
+ # @param [Hash] params ({})
791
+ def create_rotation_override(params = {}, options = {})
792
+ req = build_request(:create_rotation_override, params)
793
+ req.send_request(options)
794
+ end
795
+
796
+ # To no longer receive Incident Manager engagements to a contact
797
+ # channel, you can deactivate the channel.
798
+ #
799
+ # @option params [required, String] :contact_channel_id
800
+ # The Amazon Resource Name (ARN) of the contact channel you're
801
+ # deactivating.
802
+ #
803
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
709
804
  #
710
805
  # @example Request syntax with placeholder values
711
806
  #
@@ -733,20 +828,6 @@ module Aws::SSMContacts
733
828
  #
734
829
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
735
830
  #
736
- #
737
- # @example Example: To delete a contact
738
- #
739
- # # The following delete-contact example deletes a contact. The contact will no longer be reachable from any escalation plan
740
- # # that refers to them.
741
- #
742
- # resp = client.delete_contact({
743
- # contact_id: "arn:aws:ssm-contacts:us-east-1:111122223333:contact/alejr",
744
- # })
745
- #
746
- # resp.to_h outputs the following:
747
- # {
748
- # }
749
- #
750
831
  # @example Request syntax with placeholder values
751
832
  #
752
833
  # resp = client.delete_contact({
@@ -773,20 +854,6 @@ module Aws::SSMContacts
773
854
  #
774
855
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
775
856
  #
776
- #
777
- # @example Example: To delete a contact channel
778
- #
779
- # # The following delete-contact-channel example deletes a contact channel. Deleting a contact channel ensures the contact
780
- # # channel will not be paged during an incident.
781
- #
782
- # resp = client.delete_contact_channel({
783
- # contact_channel_id: "arn:aws:ssm-contacts:us-east-1:111122223333:contact-channel/akuam/13149bad-52ee-45ea-ae1e-45857f78f9b2",
784
- # })
785
- #
786
- # resp.to_h outputs the following:
787
- # {
788
- # }
789
- #
790
857
  # @example Request syntax with placeholder values
791
858
  #
792
859
  # resp = client.delete_contact_channel({
@@ -802,6 +869,56 @@ module Aws::SSMContacts
802
869
  req.send_request(options)
803
870
  end
804
871
 
872
+ # Deletes a rotation from the system. If a rotation belongs to more than
873
+ # one on-call schedule, this operation deletes it from all of them.
874
+ #
875
+ # @option params [required, String] :rotation_id
876
+ # The Amazon Resource Name (ARN) of the on-call rotation to delete.
877
+ #
878
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
879
+ #
880
+ # @example Request syntax with placeholder values
881
+ #
882
+ # resp = client.delete_rotation({
883
+ # rotation_id: "SsmContactsArn", # required
884
+ # })
885
+ #
886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DeleteRotation AWS API Documentation
887
+ #
888
+ # @overload delete_rotation(params = {})
889
+ # @param [Hash] params ({})
890
+ def delete_rotation(params = {}, options = {})
891
+ req = build_request(:delete_rotation, params)
892
+ req.send_request(options)
893
+ end
894
+
895
+ # Deletes an existing override for an on-call rotation.
896
+ #
897
+ # @option params [required, String] :rotation_id
898
+ # The Amazon Resource Name (ARN) of the rotation that was overridden.
899
+ #
900
+ # @option params [required, String] :rotation_override_id
901
+ # The Amazon Resource Name (ARN) of the on-call rotation override to
902
+ # delete.
903
+ #
904
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
905
+ #
906
+ # @example Request syntax with placeholder values
907
+ #
908
+ # resp = client.delete_rotation_override({
909
+ # rotation_id: "SsmContactsArn", # required
910
+ # rotation_override_id: "Uuid", # required
911
+ # })
912
+ #
913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/DeleteRotationOverride AWS API Documentation
914
+ #
915
+ # @overload delete_rotation_override(params = {})
916
+ # @param [Hash] params ({})
917
+ def delete_rotation_override(params = {}, options = {})
918
+ req = build_request(:delete_rotation_override, params)
919
+ req.send_request(options)
920
+ end
921
+
805
922
  # Incident Manager uses engagements to engage contacts and escalation
806
923
  # plans during an incident. Use this command to describe the engagement
807
924
  # that occurred during an incident.
@@ -823,28 +940,6 @@ module Aws::SSMContacts
823
940
  # * {Types::DescribeEngagementResult#start_time #start_time} => Time
824
941
  # * {Types::DescribeEngagementResult#stop_time #stop_time} => Time
825
942
  #
826
- #
827
- # @example Example: To describe the details of an engagement
828
- #
829
- # # The following describe-engagement example lists the details of an engagement to a contact or escalation plan. The
830
- # # subject and content are sent to the contact channels.
831
- #
832
- # resp = client.describe_engagement({
833
- # engagement_id: "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356",
834
- # })
835
- #
836
- # resp.to_h outputs the following:
837
- # {
838
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation",
839
- # content: "Testing engagements",
840
- # engagement_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356",
841
- # public_content: "Testing engagements",
842
- # public_subject: "test",
843
- # sender: "tester",
844
- # start_time: Time.parse("2021-05-18T18:25:41.151000+00:00"),
845
- # subject: "test",
846
- # }
847
- #
848
943
  # @example Request syntax with placeholder values
849
944
  #
850
945
  # resp = client.describe_engagement({
@@ -893,31 +988,6 @@ module Aws::SSMContacts
893
988
  # * {Types::DescribePageResult#read_time #read_time} => Time
894
989
  # * {Types::DescribePageResult#delivery_time #delivery_time} => Time
895
990
  #
896
- #
897
- # @example Example: To list the details of a page to a contact channel
898
- #
899
- # # The following describe-page example lists details of a page to a contact channel. The page will include the subject and
900
- # # content provided.
901
- #
902
- # resp = client.describe_page({
903
- # page_id: "arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/ad0052bd-e606-498a-861b-25726292eb93",
904
- # })
905
- #
906
- # resp.to_h outputs the following:
907
- # {
908
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
909
- # content: "Testing engagements",
910
- # delivery_time: Time.parse("2021-05-18T18:43:55.265000+00:00"),
911
- # engagement_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0",
912
- # page_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/ad0052bd-e606-498a-861b-25726292eb93",
913
- # public_content: "Testing engagements",
914
- # public_subject: "test",
915
- # read_time: Time.parse("2021-05-18T18:43:55.708000+00:00"),
916
- # sender: "tester",
917
- # sent_time: Time.parse("2021-05-18T18:43:29.301000+00:00"),
918
- # subject: "test",
919
- # }
920
- #
921
991
  # @example Request syntax with placeholder values
922
992
  #
923
993
  # resp = client.describe_page({
@@ -961,113 +1031,6 @@ module Aws::SSMContacts
961
1031
  # * {Types::GetContactResult#type #type} => String
962
1032
  # * {Types::GetContactResult#plan #plan} => Types::Plan
963
1033
  #
964
- #
965
- # @example Example: Example 1: To describe a contact plan
966
- #
967
- # # The following get-contact example describes a contact.
968
- #
969
- # resp = client.get_contact({
970
- # contact_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
971
- # })
972
- #
973
- # resp.to_h outputs the following:
974
- # {
975
- # alias: "akuam",
976
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
977
- # display_name: "Akua Mansa",
978
- # plan: {
979
- # stages: [
980
- # {
981
- # duration_in_minutes: 5,
982
- # targets: [
983
- # {
984
- # channel_target_info: {
985
- # contact_channel_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/beb25840-5ac8-4644-95cc-7a8de390fa65",
986
- # retry_interval_in_minutes: 1,
987
- # },
988
- # },
989
- # ],
990
- # },
991
- # {
992
- # duration_in_minutes: 5,
993
- # targets: [
994
- # {
995
- # channel_target_info: {
996
- # contact_channel_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/49f3c24d-5f9f-4638-ae25-3f49e04229ad",
997
- # retry_interval_in_minutes: 1,
998
- # },
999
- # },
1000
- # ],
1001
- # },
1002
- # {
1003
- # duration_in_minutes: 5,
1004
- # targets: [
1005
- # {
1006
- # channel_target_info: {
1007
- # contact_channel_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/77d4f447-f619-4954-afff-85551e369c2a",
1008
- # retry_interval_in_minutes: 1,
1009
- # },
1010
- # },
1011
- # ],
1012
- # },
1013
- # ],
1014
- # },
1015
- # type: "PERSONAL",
1016
- # }
1017
- #
1018
- # @example Example: Example 2: To describe an escalation plan
1019
- #
1020
- # # The following get-contact example describes an escalation plan.
1021
- #
1022
- # resp = client.get_contact({
1023
- # contact_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation",
1024
- # })
1025
- #
1026
- # resp.to_h outputs the following:
1027
- # {
1028
- # alias: "example_escalation",
1029
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation",
1030
- # display_name: "Example Escalation Plan",
1031
- # plan: {
1032
- # stages: [
1033
- # {
1034
- # duration_in_minutes: 5,
1035
- # targets: [
1036
- # {
1037
- # contact_target_info: {
1038
- # contact_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
1039
- # is_essential: true,
1040
- # },
1041
- # },
1042
- # ],
1043
- # },
1044
- # {
1045
- # duration_in_minutes: 5,
1046
- # targets: [
1047
- # {
1048
- # contact_target_info: {
1049
- # contact_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/alejr",
1050
- # is_essential: false,
1051
- # },
1052
- # },
1053
- # ],
1054
- # },
1055
- # {
1056
- # duration_in_minutes: 0,
1057
- # targets: [
1058
- # {
1059
- # contact_target_info: {
1060
- # contact_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/anasi",
1061
- # is_essential: false,
1062
- # },
1063
- # },
1064
- # ],
1065
- # },
1066
- # ],
1067
- # },
1068
- # type: "ESCALATION",
1069
- # }
1070
- #
1071
1034
  # @example Request syntax with placeholder values
1072
1035
  #
1073
1036
  # resp = client.get_contact({
@@ -1079,7 +1042,7 @@ module Aws::SSMContacts
1079
1042
  # resp.contact_arn #=> String
1080
1043
  # resp.alias #=> String
1081
1044
  # resp.display_name #=> String
1082
- # resp.type #=> String, one of "PERSONAL", "ESCALATION"
1045
+ # resp.type #=> String, one of "PERSONAL", "ESCALATION", "ONCALL_SCHEDULE"
1083
1046
  # resp.plan.stages #=> Array
1084
1047
  # resp.plan.stages[0].duration_in_minutes #=> Integer
1085
1048
  # resp.plan.stages[0].targets #=> Array
@@ -1087,6 +1050,8 @@ module Aws::SSMContacts
1087
1050
  # resp.plan.stages[0].targets[0].channel_target_info.retry_interval_in_minutes #=> Integer
1088
1051
  # resp.plan.stages[0].targets[0].contact_target_info.contact_id #=> String
1089
1052
  # resp.plan.stages[0].targets[0].contact_target_info.is_essential #=> Boolean
1053
+ # resp.plan.rotation_ids #=> Array
1054
+ # resp.plan.rotation_ids[0] #=> String
1090
1055
  #
1091
1056
  # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetContact AWS API Documentation
1092
1057
  #
@@ -1112,27 +1077,6 @@ module Aws::SSMContacts
1112
1077
  # * {Types::GetContactChannelResult#delivery_address #delivery_address} => Types::ContactChannelAddress
1113
1078
  # * {Types::GetContactChannelResult#activation_status #activation_status} => String
1114
1079
  #
1115
- #
1116
- # @example Example: To list the details of a contact channel
1117
- #
1118
- # # The following get-contact-channel example lists the details of a contact channel.
1119
- #
1120
- # resp = client.get_contact_channel({
1121
- # contact_channel_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d",
1122
- # })
1123
- #
1124
- # resp.to_h outputs the following:
1125
- # {
1126
- # activation_status: "ACTIVATED",
1127
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
1128
- # contact_channel_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d",
1129
- # delivery_address: {
1130
- # simple_address: "+15005550199",
1131
- # },
1132
- # name: "akuas sms",
1133
- # type: "SMS",
1134
- # }
1135
- #
1136
1080
  # @example Request syntax with placeholder values
1137
1081
  #
1138
1082
  # resp = client.get_contact_channel({
@@ -1168,21 +1112,6 @@ module Aws::SSMContacts
1168
1112
  # * {Types::GetContactPolicyResult#contact_arn #contact_arn} => String
1169
1113
  # * {Types::GetContactPolicyResult#policy #policy} => String
1170
1114
  #
1171
- #
1172
- # @example Example: To list the resource policies of a contact
1173
- #
1174
- # # The following get-contact-policy example lists the resource policies associated with the specified contact.
1175
- #
1176
- # resp = client.get_contact_policy({
1177
- # contact_arn: "arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam",
1178
- # })
1179
- #
1180
- # resp.to_h outputs the following:
1181
- # {
1182
- # contact_arn: "arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam",
1183
- # policy: "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"SharePolicyForDocumentationDralia\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"222233334444\"},\"Action\":[\"ssm-contacts:GetContact\",\"ssm-contacts:StartEngagement\",\"ssm-contacts:DescribeEngagement\",\"ssm-contacts:ListPagesByEngagement\",\"ssm-contacts:StopEngagement\"],\"Resource\":[\"arn:aws:ssm-contacts:*:111122223333:contact/akuam\",\"arn:aws:ssm-contacts:*:111122223333:engagement/akuam/*\"]}]}",
1184
- # }
1185
- #
1186
1115
  # @example Request syntax with placeholder values
1187
1116
  #
1188
1117
  # resp = client.get_contact_policy({
@@ -1203,62 +1132,140 @@ module Aws::SSMContacts
1203
1132
  req.send_request(options)
1204
1133
  end
1205
1134
 
1206
- # Lists all contact channels for the specified contact.
1135
+ # Retrieves information about an on-call rotation.
1207
1136
  #
1208
- # @option params [required, String] :contact_id
1209
- # The Amazon Resource Name (ARN) of the contact.
1137
+ # @option params [required, String] :rotation_id
1138
+ # The Amazon Resource Name (ARN) of the on-call rotation to retrieve
1139
+ # information about.
1210
1140
  #
1211
- # @option params [String] :next_token
1212
- # The pagination token to continue to the next page of results.
1141
+ # @return [Types::GetRotationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1213
1142
  #
1214
- # @option params [Integer] :max_results
1215
- # The maximum number of contact channels per page.
1143
+ # * {Types::GetRotationResult#rotation_arn #rotation_arn} => String
1144
+ # * {Types::GetRotationResult#name #name} => String
1145
+ # * {Types::GetRotationResult#contact_ids #contact_ids} => Array&lt;String&gt;
1146
+ # * {Types::GetRotationResult#start_time #start_time} => Time
1147
+ # * {Types::GetRotationResult#time_zone_id #time_zone_id} => String
1148
+ # * {Types::GetRotationResult#recurrence #recurrence} => Types::RecurrenceSettings
1216
1149
  #
1217
- # @return [Types::ListContactChannelsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1150
+ # @example Request syntax with placeholder values
1218
1151
  #
1219
- # * {Types::ListContactChannelsResult#next_token #next_token} => String
1220
- # * {Types::ListContactChannelsResult#contact_channels #contact_channels} => Array&lt;Types::ContactChannel&gt;
1152
+ # resp = client.get_rotation({
1153
+ # rotation_id: "SsmContactsArn", # required
1154
+ # })
1221
1155
  #
1222
- # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1156
+ # @example Response structure
1223
1157
  #
1158
+ # resp.rotation_arn #=> String
1159
+ # resp.name #=> String
1160
+ # resp.contact_ids #=> Array
1161
+ # resp.contact_ids[0] #=> String
1162
+ # resp.start_time #=> Time
1163
+ # resp.time_zone_id #=> String
1164
+ # resp.recurrence.monthly_settings #=> Array
1165
+ # resp.recurrence.monthly_settings[0].day_of_month #=> Integer
1166
+ # resp.recurrence.monthly_settings[0].hand_off_time.hour_of_day #=> Integer
1167
+ # resp.recurrence.monthly_settings[0].hand_off_time.minute_of_hour #=> Integer
1168
+ # resp.recurrence.weekly_settings #=> Array
1169
+ # resp.recurrence.weekly_settings[0].day_of_week #=> String, one of "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"
1170
+ # resp.recurrence.weekly_settings[0].hand_off_time.hour_of_day #=> Integer
1171
+ # resp.recurrence.weekly_settings[0].hand_off_time.minute_of_hour #=> Integer
1172
+ # resp.recurrence.daily_settings #=> Array
1173
+ # resp.recurrence.daily_settings[0].hour_of_day #=> Integer
1174
+ # resp.recurrence.daily_settings[0].minute_of_hour #=> Integer
1175
+ # resp.recurrence.number_of_on_calls #=> Integer
1176
+ # resp.recurrence.shift_coverages #=> Hash
1177
+ # resp.recurrence.shift_coverages["DayOfWeek"] #=> Array
1178
+ # resp.recurrence.shift_coverages["DayOfWeek"][0].start.hour_of_day #=> Integer
1179
+ # resp.recurrence.shift_coverages["DayOfWeek"][0].start.minute_of_hour #=> Integer
1180
+ # resp.recurrence.shift_coverages["DayOfWeek"][0].end.hour_of_day #=> Integer
1181
+ # resp.recurrence.shift_coverages["DayOfWeek"][0].end.minute_of_hour #=> Integer
1182
+ # resp.recurrence.recurrence_multiplier #=> Integer
1183
+ #
1184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetRotation AWS API Documentation
1185
+ #
1186
+ # @overload get_rotation(params = {})
1187
+ # @param [Hash] params ({})
1188
+ def get_rotation(params = {}, options = {})
1189
+ req = build_request(:get_rotation, params)
1190
+ req.send_request(options)
1191
+ end
1192
+
1193
+ # Retrieves information about an override to an on-call rotation.
1224
1194
  #
1225
- # @example Example: To list the contact channels of a contact
1195
+ # @option params [required, String] :rotation_id
1196
+ # The Amazon Resource Name (ARN) of the overridden rotation to retrieve
1197
+ # information about.
1226
1198
  #
1227
- # # The following list-contact-channels example lists the available contact channels of the specified contact.
1199
+ # @option params [required, String] :rotation_override_id
1200
+ # The Amazon Resource Name (ARN) of the on-call rotation override to
1201
+ # retrieve information about.
1228
1202
  #
1229
- # resp = client.list_contact_channels({
1230
- # contact_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
1231
- # })
1203
+ # @return [Types::GetRotationOverrideResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1232
1204
  #
1233
- # resp.to_h outputs the following:
1234
- # {
1235
- # contact_channels: [
1236
- # {
1237
- # activation_status: "ACTIVATED",
1238
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
1239
- # contact_channel_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d",
1240
- # delivery_address: {
1241
- # simple_address: "+15005550100",
1242
- # },
1243
- # name: "akuas sms",
1244
- # type: "SMS",
1245
- # },
1246
- # ],
1247
- # }
1205
+ # * {Types::GetRotationOverrideResult#rotation_override_id #rotation_override_id} => String
1206
+ # * {Types::GetRotationOverrideResult#rotation_arn #rotation_arn} => String
1207
+ # * {Types::GetRotationOverrideResult#new_contact_ids #new_contact_ids} => Array&lt;String&gt;
1208
+ # * {Types::GetRotationOverrideResult#start_time #start_time} => Time
1209
+ # * {Types::GetRotationOverrideResult#end_time #end_time} => Time
1210
+ # * {Types::GetRotationOverrideResult#create_time #create_time} => Time
1248
1211
  #
1249
1212
  # @example Request syntax with placeholder values
1250
1213
  #
1251
- # resp = client.list_contact_channels({
1252
- # contact_id: "SsmContactsArn", # required
1253
- # next_token: "PaginationToken",
1254
- # max_results: 1,
1214
+ # resp = client.get_rotation_override({
1215
+ # rotation_id: "SsmContactsArn", # required
1216
+ # rotation_override_id: "Uuid", # required
1255
1217
  # })
1256
1218
  #
1257
1219
  # @example Response structure
1258
1220
  #
1259
- # resp.next_token #=> String
1260
- # resp.contact_channels #=> Array
1261
- # resp.contact_channels[0].contact_channel_arn #=> String
1221
+ # resp.rotation_override_id #=> String
1222
+ # resp.rotation_arn #=> String
1223
+ # resp.new_contact_ids #=> Array
1224
+ # resp.new_contact_ids[0] #=> String
1225
+ # resp.start_time #=> Time
1226
+ # resp.end_time #=> Time
1227
+ # resp.create_time #=> Time
1228
+ #
1229
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/GetRotationOverride AWS API Documentation
1230
+ #
1231
+ # @overload get_rotation_override(params = {})
1232
+ # @param [Hash] params ({})
1233
+ def get_rotation_override(params = {}, options = {})
1234
+ req = build_request(:get_rotation_override, params)
1235
+ req.send_request(options)
1236
+ end
1237
+
1238
+ # Lists all contact channels for the specified contact.
1239
+ #
1240
+ # @option params [required, String] :contact_id
1241
+ # The Amazon Resource Name (ARN) of the contact.
1242
+ #
1243
+ # @option params [String] :next_token
1244
+ # The pagination token to continue to the next page of results.
1245
+ #
1246
+ # @option params [Integer] :max_results
1247
+ # The maximum number of contact channels per page.
1248
+ #
1249
+ # @return [Types::ListContactChannelsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1250
+ #
1251
+ # * {Types::ListContactChannelsResult#next_token #next_token} => String
1252
+ # * {Types::ListContactChannelsResult#contact_channels #contact_channels} => Array&lt;Types::ContactChannel&gt;
1253
+ #
1254
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1255
+ #
1256
+ # @example Request syntax with placeholder values
1257
+ #
1258
+ # resp = client.list_contact_channels({
1259
+ # contact_id: "SsmContactsArn", # required
1260
+ # next_token: "PaginationToken",
1261
+ # max_results: 1,
1262
+ # })
1263
+ #
1264
+ # @example Response structure
1265
+ #
1266
+ # resp.next_token #=> String
1267
+ # resp.contact_channels #=> Array
1268
+ # resp.contact_channels[0].contact_channel_arn #=> String
1262
1269
  # resp.contact_channels[0].contact_arn #=> String
1263
1270
  # resp.contact_channels[0].name #=> String
1264
1271
  # resp.contact_channels[0].type #=> String, one of "SMS", "VOICE", "EMAIL"
@@ -1298,51 +1305,13 @@ module Aws::SSMContacts
1298
1305
  #
1299
1306
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1300
1307
  #
1301
- #
1302
- # @example Example: To list all escalation plans and contacts
1303
- #
1304
- # # The following list-contacts example lists the contacts and escalation plans in your account.
1305
- #
1306
- # resp = client.list_contacts({
1307
- # })
1308
- #
1309
- # resp.to_h outputs the following:
1310
- # {
1311
- # contacts: [
1312
- # {
1313
- # alias: "akuam",
1314
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
1315
- # display_name: "Akua Mansa",
1316
- # type: "PERSONAL",
1317
- # },
1318
- # {
1319
- # alias: "alejr",
1320
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/alejr",
1321
- # display_name: "Alejandro Rosalez",
1322
- # type: "PERSONAL",
1323
- # },
1324
- # {
1325
- # alias: "anasi",
1326
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/anasi",
1327
- # display_name: "Ana Carolina Silva",
1328
- # type: "PERSONAL",
1329
- # },
1330
- # {
1331
- # alias: "example_escalation",
1332
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation",
1333
- # display_name: "Example Escalation",
1334
- # type: "ESCALATION",
1335
- # },
1336
- # ],
1337
- # }
1338
- #
1339
1308
  # @example Request syntax with placeholder values
1340
1309
  #
1341
1310
  # resp = client.list_contacts({
1342
1311
  # next_token: "PaginationToken",
1343
1312
  # max_results: 1,
1344
1313
  # alias_prefix: "ContactAlias",
1345
- # type: "PERSONAL", # accepts PERSONAL, ESCALATION
1314
+ # type: "PERSONAL", # accepts PERSONAL, ESCALATION, ONCALL_SCHEDULE
1346
1315
  # })
1347
1316
  #
1348
1317
  # @example Response structure
@@ -1352,7 +1321,7 @@ module Aws::SSMContacts
1352
1321
  # resp.contacts[0].contact_arn #=> String
1353
1322
  # resp.contacts[0].alias #=> String
1354
1323
  # resp.contacts[0].display_name #=> String
1355
- # resp.contacts[0].type #=> String, one of "PERSONAL", "ESCALATION"
1324
+ # resp.contacts[0].type #=> String, one of "PERSONAL", "ESCALATION", "ONCALL_SCHEDULE"
1356
1325
  #
1357
1326
  # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListContacts AWS API Documentation
1358
1327
  #
@@ -1385,45 +1354,6 @@ module Aws::SSMContacts
1385
1354
  #
1386
1355
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1387
1356
  #
1388
- #
1389
- # @example Example: To list all engagements
1390
- #
1391
- # # The following list-engagements example lists engagements to escalation plans and contacts. You can also list engagements
1392
- # # for a single incident.
1393
- #
1394
- # resp = client.list_engagements({
1395
- # })
1396
- #
1397
- # resp.to_h outputs the following:
1398
- # {
1399
- # engagements: [
1400
- # {
1401
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
1402
- # engagement_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/91792571-0b53-4821-9f73-d25d13d9e529",
1403
- # sender: "cli",
1404
- # start_time: Time.parse("2021-05-18T20:37:50.300000+00:00"),
1405
- # },
1406
- # {
1407
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
1408
- # engagement_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0",
1409
- # sender: "cli",
1410
- # start_time: Time.parse("2021-05-18T18:40:26.666000+00:00"),
1411
- # },
1412
- # {
1413
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation",
1414
- # engagement_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356",
1415
- # sender: "cli",
1416
- # start_time: Time.parse("2021-05-18T18:25:41.151000+00:00"),
1417
- # },
1418
- # {
1419
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
1420
- # engagement_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/607ced0e-e8fa-4ea7-8958-a237b8803f8f",
1421
- # sender: "cli",
1422
- # start_time: Time.parse("2021-05-18T18:20:58.093000+00:00"),
1423
- # },
1424
- # ],
1425
- # }
1426
- #
1427
1357
  # @example Request syntax with placeholder values
1428
1358
  #
1429
1359
  # resp = client.list_engagements({
@@ -1476,39 +1406,6 @@ module Aws::SSMContacts
1476
1406
  #
1477
1407
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1478
1408
  #
1479
- #
1480
- # @example Example: To list page receipts
1481
- #
1482
- # # The following command-name example lists whether a page was received or not by a contact.
1483
- #
1484
- # resp = client.list_page_receipts({
1485
- # page_id: "arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/94ea0c7b-56d9-46c3-b84a-a37c8b067ad3",
1486
- # })
1487
- #
1488
- # resp.to_h outputs the following:
1489
- # {
1490
- # receipts: [
1491
- # {
1492
- # contact_channel_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d",
1493
- # receipt_info: "425440",
1494
- # receipt_time: Time.parse("2021-05-18T20:42:57.485000+00:00"),
1495
- # receipt_type: "DELIVERED",
1496
- # },
1497
- # {
1498
- # contact_channel_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d",
1499
- # receipt_info: "425440",
1500
- # receipt_time: Time.parse("2021-05-18T20:42:57.907000+00:00"),
1501
- # receipt_type: "READ",
1502
- # },
1503
- # {
1504
- # contact_channel_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/fc7405c4-46b2-48b7-87b2-93e2f225b90d",
1505
- # receipt_info: "SM6656c19132f1465f9c9c1123a5dde7c9",
1506
- # receipt_time: Time.parse("2021-05-18T20:40:52.962000+00:00"),
1507
- # receipt_type: "SENT",
1508
- # },
1509
- # ],
1510
- # }
1511
- #
1512
1409
  # @example Request syntax with placeholder values
1513
1410
  #
1514
1411
  # resp = client.list_page_receipts({
@@ -1535,6 +1432,52 @@ module Aws::SSMContacts
1535
1432
  req.send_request(options)
1536
1433
  end
1537
1434
 
1435
+ # Returns the resolution path of an engagement. For example, the
1436
+ # escalation plan engaged in an incident might target an on-call
1437
+ # schedule that includes several contacts in a rotation, but just one
1438
+ # contact on-call when the incident starts. The resolution path
1439
+ # indicates the hierarchy of *escalation plan &gt; on-call schedule &gt;
1440
+ # contact*.
1441
+ #
1442
+ # @option params [String] :next_token
1443
+ # A token to start the list. Use this token to get the next set of
1444
+ # results.
1445
+ #
1446
+ # @option params [required, String] :page_id
1447
+ # The Amazon Resource Name (ARN) of the contact engaged for the
1448
+ # incident.
1449
+ #
1450
+ # @return [Types::ListPageResolutionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1451
+ #
1452
+ # * {Types::ListPageResolutionsResult#next_token #next_token} => String
1453
+ # * {Types::ListPageResolutionsResult#page_resolutions #page_resolutions} => Array&lt;Types::ResolutionContact&gt;
1454
+ #
1455
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1456
+ #
1457
+ # @example Request syntax with placeholder values
1458
+ #
1459
+ # resp = client.list_page_resolutions({
1460
+ # next_token: "PaginationToken",
1461
+ # page_id: "SsmContactsArn", # required
1462
+ # })
1463
+ #
1464
+ # @example Response structure
1465
+ #
1466
+ # resp.next_token #=> String
1467
+ # resp.page_resolutions #=> Array
1468
+ # resp.page_resolutions[0].contact_arn #=> String
1469
+ # resp.page_resolutions[0].type #=> String, one of "PERSONAL", "ESCALATION", "ONCALL_SCHEDULE"
1470
+ # resp.page_resolutions[0].stage_index #=> Integer
1471
+ #
1472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPageResolutions AWS API Documentation
1473
+ #
1474
+ # @overload list_page_resolutions(params = {})
1475
+ # @param [Hash] params ({})
1476
+ def list_page_resolutions(params = {}, options = {})
1477
+ req = build_request(:list_page_resolutions, params)
1478
+ req.send_request(options)
1479
+ end
1480
+
1538
1481
  # Lists the engagements to a contact's contact channels.
1539
1482
  #
1540
1483
  # @option params [required, String] :contact_id
@@ -1555,30 +1498,6 @@ module Aws::SSMContacts
1555
1498
  #
1556
1499
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1557
1500
  #
1558
- #
1559
- # @example Example: To list pages by contact
1560
- #
1561
- # # The following list-pages-by-contact example lists all pages to the specified contact.
1562
- #
1563
- # resp = client.list_pages_by_contact({
1564
- # contact_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
1565
- # })
1566
- #
1567
- # resp.to_h outputs the following:
1568
- # {
1569
- # pages: [
1570
- # {
1571
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
1572
- # delivery_time: Time.parse("2021-05-18T18:43:55.265000+00:00"),
1573
- # engagement_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0",
1574
- # page_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/ad0052bd-e606-498a-861b-25726292eb93",
1575
- # read_time: Time.parse("2021-05-18T18:43:55.708000+00:00"),
1576
- # sender: "cli",
1577
- # sent_time: Time.parse("2021-05-18T18:43:29.301000+00:00"),
1578
- # },
1579
- # ],
1580
- # }
1581
- #
1582
1501
  # @example Request syntax with placeholder values
1583
1502
  #
1584
1503
  # resp = client.list_pages_by_contact({
@@ -1629,28 +1548,6 @@ module Aws::SSMContacts
1629
1548
  #
1630
1549
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1631
1550
  #
1632
- #
1633
- # @example Example: To list pages to contact channels started from an engagement.
1634
- #
1635
- # # The following list-pages-by-engagement example lists the pages that occurred while engaging the defined engagement plan.
1636
- #
1637
- # resp = client.list_pages_by_engagement({
1638
- # engagement_id: "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0",
1639
- # })
1640
- #
1641
- # resp.to_h outputs the following:
1642
- # {
1643
- # pages: [
1644
- # {
1645
- # contact_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
1646
- # engagement_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/78a29753-3674-4ac5-9f83-0468563567f0",
1647
- # page_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:page/akuam/ad0052bd-e606-498a-861b-25726292eb93",
1648
- # sender: "cli",
1649
- # sent_time: Time.parse("2021-05-18T18:40:27.245000+00:00"),
1650
- # },
1651
- # ],
1652
- # }
1653
- #
1654
1551
  # @example Request syntax with placeholder values
1655
1552
  #
1656
1553
  # resp = client.list_pages_by_engagement({
@@ -1681,33 +1578,336 @@ module Aws::SSMContacts
1681
1578
  req.send_request(options)
1682
1579
  end
1683
1580
 
1684
- # Lists the tags of an escalation plan or contact.
1581
+ # Returns a list of shifts based on rotation configuration parameters.
1685
1582
  #
1686
- # @option params [required, String] :resource_arn
1687
- # The Amazon Resource Name (ARN) of the contact or escalation plan.
1583
+ # <note markdown="1"> The Incident Manager primarily uses this operation to populate the
1584
+ # **Preview** calendar. It is not typically run by end users.
1688
1585
  #
1689
- # @return [Types::ListTagsForResourceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1586
+ # </note>
1690
1587
  #
1691
- # * {Types::ListTagsForResourceResult#tags #tags} => Array&lt;Types::Tag&gt;
1588
+ # @option params [Time,DateTime,Date,Integer,String] :rotation_start_time
1589
+ # The date and time a rotation would begin. The first shift is
1590
+ # calculated from this date and time.
1692
1591
  #
1592
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
1593
+ # Used to filter the range of calculated shifts before sending the
1594
+ # response back to the user.
1693
1595
  #
1694
- # @example Example: To list tags for a contact
1596
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
1597
+ # The date and time a rotation shift would end.
1695
1598
  #
1696
- # # The following list-tags-for-resource example lists the tags of the specified contact.
1599
+ # @option params [required, Array<String>] :members
1600
+ # The contacts that would be assigned to a rotation.
1697
1601
  #
1698
- # resp = client.list_tags_for_resource({
1699
- # resource_arn: "arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam",
1700
- # })
1602
+ # @option params [required, String] :time_zone_id
1603
+ # The time zone the rotation’s activity would be based on, in Internet
1604
+ # Assigned Numbers Authority (IANA) format. For example:
1605
+ # "America/Los\_Angeles", "UTC", or "Asia/Seoul".
1701
1606
  #
1702
- # resp.to_h outputs the following:
1703
- # {
1704
- # tags: [
1607
+ # @option params [required, Types::RecurrenceSettings] :recurrence
1608
+ # Information about how long a rotation would last before restarting at
1609
+ # the beginning of the shift order.
1610
+ #
1611
+ # @option params [Array<Types::PreviewOverride>] :overrides
1612
+ # Information about changes that would be made in a rotation override.
1613
+ #
1614
+ # @option params [String] :next_token
1615
+ # A token to start the list. This token is used to get the next set of
1616
+ # results.
1617
+ #
1618
+ # @option params [Integer] :max_results
1619
+ # The maximum number of items to return for this call. The call also
1620
+ # returns a token that can be specified in a subsequent call to get the
1621
+ # next set of results.
1622
+ #
1623
+ # @return [Types::ListPreviewRotationShiftsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1624
+ #
1625
+ # * {Types::ListPreviewRotationShiftsResult#rotation_shifts #rotation_shifts} => Array&lt;Types::RotationShift&gt;
1626
+ # * {Types::ListPreviewRotationShiftsResult#next_token #next_token} => String
1627
+ #
1628
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1629
+ #
1630
+ # @example Request syntax with placeholder values
1631
+ #
1632
+ # resp = client.list_preview_rotation_shifts({
1633
+ # rotation_start_time: Time.now,
1634
+ # start_time: Time.now,
1635
+ # end_time: Time.now, # required
1636
+ # members: ["Member"], # required
1637
+ # time_zone_id: "TimeZoneId", # required
1638
+ # recurrence: { # required
1639
+ # monthly_settings: [
1640
+ # {
1641
+ # day_of_month: 1, # required
1642
+ # hand_off_time: { # required
1643
+ # hour_of_day: 1, # required
1644
+ # minute_of_hour: 1, # required
1645
+ # },
1646
+ # },
1647
+ # ],
1648
+ # weekly_settings: [
1649
+ # {
1650
+ # day_of_week: "MON", # required, accepts MON, TUE, WED, THU, FRI, SAT, SUN
1651
+ # hand_off_time: { # required
1652
+ # hour_of_day: 1, # required
1653
+ # minute_of_hour: 1, # required
1654
+ # },
1655
+ # },
1656
+ # ],
1657
+ # daily_settings: [
1658
+ # {
1659
+ # hour_of_day: 1, # required
1660
+ # minute_of_hour: 1, # required
1661
+ # },
1662
+ # ],
1663
+ # number_of_on_calls: 1, # required
1664
+ # shift_coverages: {
1665
+ # "MON" => [
1666
+ # {
1667
+ # start: {
1668
+ # hour_of_day: 1, # required
1669
+ # minute_of_hour: 1, # required
1670
+ # },
1671
+ # end: {
1672
+ # hour_of_day: 1, # required
1673
+ # minute_of_hour: 1, # required
1674
+ # },
1675
+ # },
1676
+ # ],
1677
+ # },
1678
+ # recurrence_multiplier: 1, # required
1679
+ # },
1680
+ # overrides: [
1705
1681
  # {
1706
- # key: "group1",
1707
- # value: "1",
1708
- # },
1709
- # ],
1710
- # }
1682
+ # new_members: ["Member"],
1683
+ # start_time: Time.now,
1684
+ # end_time: Time.now,
1685
+ # },
1686
+ # ],
1687
+ # next_token: "PaginationToken",
1688
+ # max_results: 1,
1689
+ # })
1690
+ #
1691
+ # @example Response structure
1692
+ #
1693
+ # resp.rotation_shifts #=> Array
1694
+ # resp.rotation_shifts[0].contact_ids #=> Array
1695
+ # resp.rotation_shifts[0].contact_ids[0] #=> String
1696
+ # resp.rotation_shifts[0].start_time #=> Time
1697
+ # resp.rotation_shifts[0].end_time #=> Time
1698
+ # resp.rotation_shifts[0].type #=> String, one of "REGULAR", "OVERRIDDEN"
1699
+ # resp.rotation_shifts[0].shift_details.overridden_contact_ids #=> Array
1700
+ # resp.rotation_shifts[0].shift_details.overridden_contact_ids[0] #=> String
1701
+ # resp.next_token #=> String
1702
+ #
1703
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListPreviewRotationShifts AWS API Documentation
1704
+ #
1705
+ # @overload list_preview_rotation_shifts(params = {})
1706
+ # @param [Hash] params ({})
1707
+ def list_preview_rotation_shifts(params = {}, options = {})
1708
+ req = build_request(:list_preview_rotation_shifts, params)
1709
+ req.send_request(options)
1710
+ end
1711
+
1712
+ # Retrieves a list of overrides currently specified for an on-call
1713
+ # rotation.
1714
+ #
1715
+ # @option params [required, String] :rotation_id
1716
+ # The Amazon Resource Name (ARN) of the rotation to retrieve information
1717
+ # about.
1718
+ #
1719
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
1720
+ # The date and time for the beginning of a time range for listing
1721
+ # overrides.
1722
+ #
1723
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
1724
+ # The date and time for the end of a time range for listing overrides.
1725
+ #
1726
+ # @option params [String] :next_token
1727
+ # A token to start the list. Use this token to get the next set of
1728
+ # results.
1729
+ #
1730
+ # @option params [Integer] :max_results
1731
+ # The maximum number of items to return for this call. The call also
1732
+ # returns a token that you can specify in a subsequent call to get the
1733
+ # next set of results.
1734
+ #
1735
+ # @return [Types::ListRotationOverridesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1736
+ #
1737
+ # * {Types::ListRotationOverridesResult#rotation_overrides #rotation_overrides} => Array&lt;Types::RotationOverride&gt;
1738
+ # * {Types::ListRotationOverridesResult#next_token #next_token} => String
1739
+ #
1740
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1741
+ #
1742
+ # @example Request syntax with placeholder values
1743
+ #
1744
+ # resp = client.list_rotation_overrides({
1745
+ # rotation_id: "SsmContactsArn", # required
1746
+ # start_time: Time.now, # required
1747
+ # end_time: Time.now, # required
1748
+ # next_token: "PaginationToken",
1749
+ # max_results: 1,
1750
+ # })
1751
+ #
1752
+ # @example Response structure
1753
+ #
1754
+ # resp.rotation_overrides #=> Array
1755
+ # resp.rotation_overrides[0].rotation_override_id #=> String
1756
+ # resp.rotation_overrides[0].new_contact_ids #=> Array
1757
+ # resp.rotation_overrides[0].new_contact_ids[0] #=> String
1758
+ # resp.rotation_overrides[0].start_time #=> Time
1759
+ # resp.rotation_overrides[0].end_time #=> Time
1760
+ # resp.rotation_overrides[0].create_time #=> Time
1761
+ # resp.next_token #=> String
1762
+ #
1763
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListRotationOverrides AWS API Documentation
1764
+ #
1765
+ # @overload list_rotation_overrides(params = {})
1766
+ # @param [Hash] params ({})
1767
+ def list_rotation_overrides(params = {}, options = {})
1768
+ req = build_request(:list_rotation_overrides, params)
1769
+ req.send_request(options)
1770
+ end
1771
+
1772
+ # Returns a list of shifts generated by an existing rotation in the
1773
+ # system.
1774
+ #
1775
+ # @option params [required, String] :rotation_id
1776
+ # The Amazon Resource Name (ARN) of the rotation to retrieve shift
1777
+ # information about.
1778
+ #
1779
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
1780
+ # The date and time for the beginning of the time range to list shifts
1781
+ # for.
1782
+ #
1783
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
1784
+ # The date and time for the end of the time range to list shifts for.
1785
+ #
1786
+ # @option params [String] :next_token
1787
+ # A token to start the list. Use this token to get the next set of
1788
+ # results.
1789
+ #
1790
+ # @option params [Integer] :max_results
1791
+ # The maximum number of items to return for this call. The call also
1792
+ # returns a token that you can specify in a subsequent call to get the
1793
+ # next set of results.
1794
+ #
1795
+ # @return [Types::ListRotationShiftsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1796
+ #
1797
+ # * {Types::ListRotationShiftsResult#rotation_shifts #rotation_shifts} => Array&lt;Types::RotationShift&gt;
1798
+ # * {Types::ListRotationShiftsResult#next_token #next_token} => String
1799
+ #
1800
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1801
+ #
1802
+ # @example Request syntax with placeholder values
1803
+ #
1804
+ # resp = client.list_rotation_shifts({
1805
+ # rotation_id: "SsmContactsArn", # required
1806
+ # start_time: Time.now,
1807
+ # end_time: Time.now, # required
1808
+ # next_token: "PaginationToken",
1809
+ # max_results: 1,
1810
+ # })
1811
+ #
1812
+ # @example Response structure
1813
+ #
1814
+ # resp.rotation_shifts #=> Array
1815
+ # resp.rotation_shifts[0].contact_ids #=> Array
1816
+ # resp.rotation_shifts[0].contact_ids[0] #=> String
1817
+ # resp.rotation_shifts[0].start_time #=> Time
1818
+ # resp.rotation_shifts[0].end_time #=> Time
1819
+ # resp.rotation_shifts[0].type #=> String, one of "REGULAR", "OVERRIDDEN"
1820
+ # resp.rotation_shifts[0].shift_details.overridden_contact_ids #=> Array
1821
+ # resp.rotation_shifts[0].shift_details.overridden_contact_ids[0] #=> String
1822
+ # resp.next_token #=> String
1823
+ #
1824
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListRotationShifts AWS API Documentation
1825
+ #
1826
+ # @overload list_rotation_shifts(params = {})
1827
+ # @param [Hash] params ({})
1828
+ def list_rotation_shifts(params = {}, options = {})
1829
+ req = build_request(:list_rotation_shifts, params)
1830
+ req.send_request(options)
1831
+ end
1832
+
1833
+ # Retrieves a list of on-call rotations.
1834
+ #
1835
+ # @option params [String] :rotation_name_prefix
1836
+ # A filter to include rotations in list results based on their common
1837
+ # prefix. For example, entering prod returns a list of all rotation
1838
+ # names that begin with `prod`, such as `production` and `prod-1`.
1839
+ #
1840
+ # @option params [String] :next_token
1841
+ # A token to start the list. Use this token to get the next set of
1842
+ # results.
1843
+ #
1844
+ # @option params [Integer] :max_results
1845
+ # The maximum number of items to return for this call. The call also
1846
+ # returns a token that you can specify in a subsequent call to get the
1847
+ # next set of results.
1848
+ #
1849
+ # @return [Types::ListRotationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1850
+ #
1851
+ # * {Types::ListRotationsResult#next_token #next_token} => String
1852
+ # * {Types::ListRotationsResult#rotations #rotations} => Array&lt;Types::Rotation&gt;
1853
+ #
1854
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1855
+ #
1856
+ # @example Request syntax with placeholder values
1857
+ #
1858
+ # resp = client.list_rotations({
1859
+ # rotation_name_prefix: "RotationName",
1860
+ # next_token: "PaginationToken",
1861
+ # max_results: 1,
1862
+ # })
1863
+ #
1864
+ # @example Response structure
1865
+ #
1866
+ # resp.next_token #=> String
1867
+ # resp.rotations #=> Array
1868
+ # resp.rotations[0].rotation_arn #=> String
1869
+ # resp.rotations[0].name #=> String
1870
+ # resp.rotations[0].contact_ids #=> Array
1871
+ # resp.rotations[0].contact_ids[0] #=> String
1872
+ # resp.rotations[0].start_time #=> Time
1873
+ # resp.rotations[0].time_zone_id #=> String
1874
+ # resp.rotations[0].recurrence.monthly_settings #=> Array
1875
+ # resp.rotations[0].recurrence.monthly_settings[0].day_of_month #=> Integer
1876
+ # resp.rotations[0].recurrence.monthly_settings[0].hand_off_time.hour_of_day #=> Integer
1877
+ # resp.rotations[0].recurrence.monthly_settings[0].hand_off_time.minute_of_hour #=> Integer
1878
+ # resp.rotations[0].recurrence.weekly_settings #=> Array
1879
+ # resp.rotations[0].recurrence.weekly_settings[0].day_of_week #=> String, one of "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"
1880
+ # resp.rotations[0].recurrence.weekly_settings[0].hand_off_time.hour_of_day #=> Integer
1881
+ # resp.rotations[0].recurrence.weekly_settings[0].hand_off_time.minute_of_hour #=> Integer
1882
+ # resp.rotations[0].recurrence.daily_settings #=> Array
1883
+ # resp.rotations[0].recurrence.daily_settings[0].hour_of_day #=> Integer
1884
+ # resp.rotations[0].recurrence.daily_settings[0].minute_of_hour #=> Integer
1885
+ # resp.rotations[0].recurrence.number_of_on_calls #=> Integer
1886
+ # resp.rotations[0].recurrence.shift_coverages #=> Hash
1887
+ # resp.rotations[0].recurrence.shift_coverages["DayOfWeek"] #=> Array
1888
+ # resp.rotations[0].recurrence.shift_coverages["DayOfWeek"][0].start.hour_of_day #=> Integer
1889
+ # resp.rotations[0].recurrence.shift_coverages["DayOfWeek"][0].start.minute_of_hour #=> Integer
1890
+ # resp.rotations[0].recurrence.shift_coverages["DayOfWeek"][0].end.hour_of_day #=> Integer
1891
+ # resp.rotations[0].recurrence.shift_coverages["DayOfWeek"][0].end.minute_of_hour #=> Integer
1892
+ # resp.rotations[0].recurrence.recurrence_multiplier #=> Integer
1893
+ #
1894
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ListRotations AWS API Documentation
1895
+ #
1896
+ # @overload list_rotations(params = {})
1897
+ # @param [Hash] params ({})
1898
+ def list_rotations(params = {}, options = {})
1899
+ req = build_request(:list_rotations, params)
1900
+ req.send_request(options)
1901
+ end
1902
+
1903
+ # Lists the tags of an escalation plan or contact.
1904
+ #
1905
+ # @option params [required, String] :resource_arn
1906
+ # The Amazon Resource Name (ARN) of the contact or escalation plan.
1907
+ #
1908
+ # @return [Types::ListTagsForResourceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1909
+ #
1910
+ # * {Types::ListTagsForResourceResult#tags #tags} => Array&lt;Types::Tag&gt;
1711
1911
  #
1712
1912
  # @example Request syntax with placeholder values
1713
1913
  #
@@ -1748,21 +1948,6 @@ module Aws::SSMContacts
1748
1948
  #
1749
1949
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1750
1950
  #
1751
- #
1752
- # @example Example: To share a contact and engagements
1753
- #
1754
- # # The following put-contact-policy example adds a resource policy to the contact Akua that shares the contact and related
1755
- # # engagements with the principal.
1756
- #
1757
- # resp = client.put_contact_policy({
1758
- # contact_arn: "arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam",
1759
- # policy: "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"ExampleResourcePolicy\",\"Action\":[\"ssm-contacts:GetContact\",\"ssm-contacts:StartEngagement\",\"ssm-contacts:DescribeEngagement\",\"ssm-contacts:ListPagesByEngagement\",\"ssm-contacts:StopEngagement\"],\"Principal\":{\"AWS\":\"222233334444\"},\"Effect\":\"Allow\",\"Resource\":[\"arn:aws:ssm-contacts:*:111122223333:contact/akuam\",\"arn:aws:ssm-contacts:*:111122223333:engagement/akuam/*\"]}]}",
1760
- # })
1761
- #
1762
- # resp.to_h outputs the following:
1763
- # {
1764
- # }
1765
- #
1766
1951
  # @example Request syntax with placeholder values
1767
1952
  #
1768
1953
  # resp = client.put_contact_policy({
@@ -1789,19 +1974,6 @@ module Aws::SSMContacts
1789
1974
  #
1790
1975
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1791
1976
  #
1792
- #
1793
- # @example Example: To send an activation code
1794
- #
1795
- # # The following send-activation-code example sends an activation code and message to the specified contact channel.
1796
- #
1797
- # resp = client.send_activation_code({
1798
- # contact_channel_id: "arn:aws:ssm-contacts:us-east-1:111122223333:contact-channel/akuam/8ddae2d1-12c8-4e45-b852-c8587266c400",
1799
- # })
1800
- #
1801
- # resp.to_h outputs the following:
1802
- # {
1803
- # }
1804
- #
1805
1977
  # @example Request syntax with placeholder values
1806
1978
  #
1807
1979
  # resp = client.send_activation_code({
@@ -1856,47 +2028,6 @@ module Aws::SSMContacts
1856
2028
  #
1857
2029
  # * {Types::StartEngagementResult#engagement_arn #engagement_arn} => String
1858
2030
  #
1859
- #
1860
- # @example Example: Example 1: To page a contact's contact channels
1861
- #
1862
- # # The following start-engagement pages contact's contact channels. Sender, subject, public-subject, and public-content are
1863
- # # all free from fields. Incident Manager sends the subject and content to the provided VOICE or EMAIL contact channels.
1864
- # # Incident Manager sends the public-subject and public-content to the provided SMS contact channels. Sender is used to
1865
- # # track who started the engagement.
1866
- #
1867
- # resp = client.start_engagement({
1868
- # contact_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
1869
- # content: "Testing engagements",
1870
- # public_content: "Testing engagements",
1871
- # public_subject: "test",
1872
- # sender: "tester",
1873
- # subject: "test",
1874
- # })
1875
- #
1876
- # resp.to_h outputs the following:
1877
- # {
1878
- # engagement_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/akuam/607ced0e-e8fa-4ea7-8958-a237b8803f8f",
1879
- # }
1880
- #
1881
- # @example Example: Example 2: To page a contact in the provided escalation plan.
1882
- #
1883
- # # The following start-engagement engages contact's through an escalation plan. Each contact is paged according to their
1884
- # # engagement plan.
1885
- #
1886
- # resp = client.start_engagement({
1887
- # contact_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/example_escalation",
1888
- # content: "Testing engagements",
1889
- # public_content: "Testing engagements",
1890
- # public_subject: "test",
1891
- # sender: "tester",
1892
- # subject: "test",
1893
- # })
1894
- #
1895
- # resp.to_h outputs the following:
1896
- # {
1897
- # engagement_arn: "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356",
1898
- # }
1899
- #
1900
2031
  # @example Request syntax with placeholder values
1901
2032
  #
1902
2033
  # resp = client.start_engagement({
@@ -1934,19 +2065,6 @@ module Aws::SSMContacts
1934
2065
  #
1935
2066
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1936
2067
  #
1937
- #
1938
- # @example Example: To stop an engagement
1939
- #
1940
- # # The following stop-engagement example stops an engagement from paging further contacts and contact channels.
1941
- #
1942
- # resp = client.stop_engagement({
1943
- # engagement_id: "arn:aws:ssm-contacts:us-east-2:111122223333:engagement/example_escalation/69e40ce1-8dbb-4d57-8962-5fbe7fc53356",
1944
- # })
1945
- #
1946
- # resp.to_h outputs the following:
1947
- # {
1948
- # }
1949
- #
1950
2068
  # @example Request syntax with placeholder values
1951
2069
  #
1952
2070
  # resp = client.stop_engagement({
@@ -1974,25 +2092,6 @@ module Aws::SSMContacts
1974
2092
  #
1975
2093
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1976
2094
  #
1977
- #
1978
- # @example Example: To tag a contact
1979
- #
1980
- # # The following tag-resource example tags a specified contact with the provided tag key value pair.
1981
- #
1982
- # resp = client.tag_resource({
1983
- # resource_arn: "arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam",
1984
- # tags: [
1985
- # {
1986
- # key: "group1",
1987
- # value: "1",
1988
- # },
1989
- # ],
1990
- # })
1991
- #
1992
- # resp.to_h outputs the following:
1993
- # {
1994
- # }
1995
- #
1996
2095
  # @example Request syntax with placeholder values
1997
2096
  #
1998
2097
  # resp = client.tag_resource({
@@ -2024,22 +2123,6 @@ module Aws::SSMContacts
2024
2123
  #
2025
2124
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2026
2125
  #
2027
- #
2028
- # @example Example: To remove tags from a contact
2029
- #
2030
- # # The following untag-resource example removes the group1 tag from the specified contact.
2031
- #
2032
- # resp = client.untag_resource({
2033
- # resource_arn: "arn:aws:ssm-contacts:us-east-1:111122223333:contact/akuam",
2034
- # tag_keys: [
2035
- # "group1",
2036
- # ],
2037
- # })
2038
- #
2039
- # resp.to_h outputs the following:
2040
- # {
2041
- # }
2042
- #
2043
2126
  # @example Request syntax with placeholder values
2044
2127
  #
2045
2128
  # resp = client.untag_resource({
@@ -2072,64 +2155,13 @@ module Aws::SSMContacts
2072
2155
  #
2073
2156
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2074
2157
  #
2075
- #
2076
- # @example Example: To update the engagement plan of contact
2077
- #
2078
- # # The following update-contact example updates the engagement plan of the contact Akua to include the three types of
2079
- # # contacts channels. This is done after creating contact channels for Akua.
2080
- #
2081
- # resp = client.update_contact({
2082
- # contact_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact/akuam",
2083
- # plan: {
2084
- # stages: [
2085
- # {
2086
- # duration_in_minutes: 5,
2087
- # targets: [
2088
- # {
2089
- # channel_target_info: {
2090
- # contact_channel_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/beb25840-5ac8-4644-95cc-7a8de390fa65",
2091
- # retry_interval_in_minutes: 1,
2092
- # },
2093
- # },
2094
- # ],
2095
- # },
2096
- # {
2097
- # duration_in_minutes: 5,
2098
- # targets: [
2099
- # {
2100
- # channel_target_info: {
2101
- # contact_channel_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/49f3c24d-5f9f-4638-ae25-3f49e04229ad",
2102
- # retry_interval_in_minutes: 1,
2103
- # },
2104
- # },
2105
- # ],
2106
- # },
2107
- # {
2108
- # duration_in_minutes: 5,
2109
- # targets: [
2110
- # {
2111
- # channel_target_info: {
2112
- # contact_channel_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/77d4f447-f619-4954-afff-85551e369c2a",
2113
- # retry_interval_in_minutes: 1,
2114
- # },
2115
- # },
2116
- # ],
2117
- # },
2118
- # ],
2119
- # },
2120
- # })
2121
- #
2122
- # resp.to_h outputs the following:
2123
- # {
2124
- # }
2125
- #
2126
2158
  # @example Request syntax with placeholder values
2127
2159
  #
2128
2160
  # resp = client.update_contact({
2129
2161
  # contact_id: "SsmContactsArn", # required
2130
2162
  # display_name: "ContactName",
2131
2163
  # plan: {
2132
- # stages: [ # required
2164
+ # stages: [
2133
2165
  # {
2134
2166
  # duration_in_minutes: 1, # required
2135
2167
  # targets: [ # required
@@ -2146,6 +2178,7 @@ module Aws::SSMContacts
2146
2178
  # ],
2147
2179
  # },
2148
2180
  # ],
2181
+ # rotation_ids: ["SsmContactsArn"],
2149
2182
  # },
2150
2183
  # })
2151
2184
  #
@@ -2173,23 +2206,6 @@ module Aws::SSMContacts
2173
2206
  #
2174
2207
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2175
2208
  #
2176
- #
2177
- # @example Example: To update a contact channel
2178
- #
2179
- # # The following update-contact-channel example updates the name and delivery address of a contact channel.
2180
- #
2181
- # resp = client.update_contact_channel({
2182
- # contact_channel_id: "arn:aws:ssm-contacts:us-east-2:111122223333:contact-channel/akuam/49f3c24d-5f9f-4638-ae25-3f49e04229ad",
2183
- # delivery_address: {
2184
- # simple_address: "+15005550198",
2185
- # },
2186
- # name: "akuas voice channel",
2187
- # })
2188
- #
2189
- # resp.to_h outputs the following:
2190
- # {
2191
- # }
2192
- #
2193
2209
  # @example Request syntax with placeholder values
2194
2210
  #
2195
2211
  # resp = client.update_contact_channel({
@@ -2209,6 +2225,103 @@ module Aws::SSMContacts
2209
2225
  req.send_request(options)
2210
2226
  end
2211
2227
 
2228
+ # Updates the information specified for an on-call rotation.
2229
+ #
2230
+ # @option params [required, String] :rotation_id
2231
+ # The Amazon Resource Name (ARN) of the rotation to update.
2232
+ #
2233
+ # @option params [Array<String>] :contact_ids
2234
+ # The Amazon Resource Names (ARNs) of the contacts to include in the
2235
+ # updated rotation.
2236
+ #
2237
+ # The order in which you list the contacts is their shift order in the
2238
+ # rotation schedule.
2239
+ #
2240
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
2241
+ # The date and time the rotation goes into effect.
2242
+ #
2243
+ # @option params [String] :time_zone_id
2244
+ # The time zone to base the updated rotation’s activity on, in Internet
2245
+ # Assigned Numbers Authority (IANA) format. For example:
2246
+ # "America/Los\_Angeles", "UTC", or "Asia/Seoul". For more
2247
+ # information, see the [Time Zone Database][1] on the IANA website.
2248
+ #
2249
+ # <note markdown="1"> Designators for time zones that don’t support Daylight Savings Time
2250
+ # Rules, such as Pacific Standard Time (PST) and Pacific Daylight Time
2251
+ # (PDT), aren't supported.
2252
+ #
2253
+ # </note>
2254
+ #
2255
+ #
2256
+ #
2257
+ # [1]: https://www.iana.org/time-zones
2258
+ #
2259
+ # @option params [required, Types::RecurrenceSettings] :recurrence
2260
+ # Information about how long the updated rotation lasts before
2261
+ # restarting at the beginning of the shift order.
2262
+ #
2263
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2264
+ #
2265
+ # @example Request syntax with placeholder values
2266
+ #
2267
+ # resp = client.update_rotation({
2268
+ # rotation_id: "SsmContactsArn", # required
2269
+ # contact_ids: ["SsmContactsArn"],
2270
+ # start_time: Time.now,
2271
+ # time_zone_id: "TimeZoneId",
2272
+ # recurrence: { # required
2273
+ # monthly_settings: [
2274
+ # {
2275
+ # day_of_month: 1, # required
2276
+ # hand_off_time: { # required
2277
+ # hour_of_day: 1, # required
2278
+ # minute_of_hour: 1, # required
2279
+ # },
2280
+ # },
2281
+ # ],
2282
+ # weekly_settings: [
2283
+ # {
2284
+ # day_of_week: "MON", # required, accepts MON, TUE, WED, THU, FRI, SAT, SUN
2285
+ # hand_off_time: { # required
2286
+ # hour_of_day: 1, # required
2287
+ # minute_of_hour: 1, # required
2288
+ # },
2289
+ # },
2290
+ # ],
2291
+ # daily_settings: [
2292
+ # {
2293
+ # hour_of_day: 1, # required
2294
+ # minute_of_hour: 1, # required
2295
+ # },
2296
+ # ],
2297
+ # number_of_on_calls: 1, # required
2298
+ # shift_coverages: {
2299
+ # "MON" => [
2300
+ # {
2301
+ # start: {
2302
+ # hour_of_day: 1, # required
2303
+ # minute_of_hour: 1, # required
2304
+ # },
2305
+ # end: {
2306
+ # hour_of_day: 1, # required
2307
+ # minute_of_hour: 1, # required
2308
+ # },
2309
+ # },
2310
+ # ],
2311
+ # },
2312
+ # recurrence_multiplier: 1, # required
2313
+ # },
2314
+ # })
2315
+ #
2316
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateRotation AWS API Documentation
2317
+ #
2318
+ # @overload update_rotation(params = {})
2319
+ # @param [Hash] params ({})
2320
+ def update_rotation(params = {}, options = {})
2321
+ req = build_request(:update_rotation, params)
2322
+ req.send_request(options)
2323
+ end
2324
+
2212
2325
  # @!endgroup
2213
2326
 
2214
2327
  # @param params ({})
@@ -2222,7 +2335,7 @@ module Aws::SSMContacts
2222
2335
  params: params,
2223
2336
  config: config)
2224
2337
  context[:gem_name] = 'aws-sdk-ssmcontacts'
2225
- context[:gem_version] = '1.16.0'
2338
+ context[:gem_version] = '1.18.0'
2226
2339
  Seahorse::Client::Request.new(handlers, context)
2227
2340
  end
2228
2341