:doc:`SSMContacts <../../ssm-contacts>` / Client / update_rotation

***************
update_rotation
***************



.. py:method:: SSMContacts.Client.update_rotation(**kwargs)

  

  Updates the information specified for an on-call rotation.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/UpdateRotation>`_  


  **Request Syntax**
  ::

    response = client.update_rotation(
        RotationId='string',
        ContactIds=[
            'string',
        ],
        StartTime=datetime(2015, 1, 1),
        TimeZoneId='string',
        Recurrence={
            'MonthlySettings': [
                {
                    'DayOfMonth': 123,
                    'HandOffTime': {
                        'HourOfDay': 123,
                        'MinuteOfHour': 123
                    }
                },
            ],
            'WeeklySettings': [
                {
                    'DayOfWeek': 'MON'|'TUE'|'WED'|'THU'|'FRI'|'SAT'|'SUN',
                    'HandOffTime': {
                        'HourOfDay': 123,
                        'MinuteOfHour': 123
                    }
                },
            ],
            'DailySettings': [
                {
                    'HourOfDay': 123,
                    'MinuteOfHour': 123
                },
            ],
            'NumberOfOnCalls': 123,
            'ShiftCoverages': {
                'string': [
                    {
                        'Start': {
                            'HourOfDay': 123,
                            'MinuteOfHour': 123
                        },
                        'End': {
                            'HourOfDay': 123,
                            'MinuteOfHour': 123
                        }
                    },
                ]
            },
            'RecurrenceMultiplier': 123
        }
    )
    
  :type RotationId: string
  :param RotationId: **[REQUIRED]** 

    The Amazon Resource Name (ARN) of the rotation to update.

    

  
  :type ContactIds: list
  :param ContactIds: 

    The Amazon Resource Names (ARNs) of the contacts to include in the updated rotation.

     

    .. note::

      

      Only the ``PERSONAL`` contact type is supported. The contact types ``ESCALATION`` and ``ONCALL_SCHEDULE`` are not supported for this operation.

      

     

    The order in which you list the contacts is their shift order in the rotation schedule.

    

  
    - *(string) --* 

    

  :type StartTime: datetime
  :param StartTime: 

    The date and time the rotation goes into effect.

    

  
  :type TimeZoneId: string
  :param TimeZoneId: 

    The time zone to base the updated rotation’s activity on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the `Time Zone Database <https://www.iana.org/time-zones>`__ on the IANA website.

     

    .. note::

      

      Designators for time zones that don’t support Daylight Savings Time Rules, such as Pacific Standard Time (PST), aren't supported.

      

    

  
  :type Recurrence: dict
  :param Recurrence: **[REQUIRED]** 

    Information about how long the updated rotation lasts before restarting at the beginning of the shift order.

    

  
    - **MonthlySettings** *(list) --* 

      Information about on-call rotations that recur monthly.

      

    
      - *(dict) --* 

        Information about on-call rotations that recur monthly.

        

      
        - **DayOfMonth** *(integer) --* **[REQUIRED]** 

          The day of the month when monthly recurring on-call rotations begin.

          

        
        - **HandOffTime** *(dict) --* **[REQUIRED]** 

          The time of day when a monthly recurring on-call shift rotation begins.

          

        
          - **HourOfDay** *(integer) --* **[REQUIRED]** 

            The hour when an on-call rotation shift begins or ends.

            

          
          - **MinuteOfHour** *(integer) --* **[REQUIRED]** 

            The minute when an on-call rotation shift begins or ends.

            

          
        
      
  
    - **WeeklySettings** *(list) --* 

      Information about on-call rotations that recur weekly.

      

    
      - *(dict) --* 

        Information about rotations that recur weekly.

        

      
        - **DayOfWeek** *(string) --* **[REQUIRED]** 

          The day of the week when weekly recurring on-call shift rotations begins.

          

        
        - **HandOffTime** *(dict) --* **[REQUIRED]** 

          The time of day when a weekly recurring on-call shift rotation begins.

          

        
          - **HourOfDay** *(integer) --* **[REQUIRED]** 

            The hour when an on-call rotation shift begins or ends.

            

          
          - **MinuteOfHour** *(integer) --* **[REQUIRED]** 

            The minute when an on-call rotation shift begins or ends.

            

          
        
      
  
    - **DailySettings** *(list) --* 

      Information about on-call rotations that recur daily.

      

    
      - *(dict) --* 

        Details about when an on-call rotation shift begins or ends.

        

      
        - **HourOfDay** *(integer) --* **[REQUIRED]** 

          The hour when an on-call rotation shift begins or ends.

          

        
        - **MinuteOfHour** *(integer) --* **[REQUIRED]** 

          The minute when an on-call rotation shift begins or ends.

          

        
      
  
    - **NumberOfOnCalls** *(integer) --* **[REQUIRED]** 

      The number of contacts, or shift team members designated to be on call concurrently during a shift. For example, in an on-call schedule that contains ten contacts, a value of ``2`` designates that two of them are on call at any given time.

      

    
    - **ShiftCoverages** *(dict) --* 

      Information about the days of the week that the on-call rotation coverage includes.

      

    
      - *(string) --* 

      
        - *(list) --* 

        
          - *(dict) --* 

            Information about when an on-call shift begins and ends.

            

          
            - **Start** *(dict) --* 

              Information about when the on-call rotation shift begins.

              

            
              - **HourOfDay** *(integer) --* **[REQUIRED]** 

                The hour when an on-call rotation shift begins or ends.

                

              
              - **MinuteOfHour** *(integer) --* **[REQUIRED]** 

                The minute when an on-call rotation shift begins or ends.

                

              
            
            - **End** *(dict) --* 

              Information about when the on-call rotation shift ends.

              

            
              - **HourOfDay** *(integer) --* **[REQUIRED]** 

                The hour when an on-call rotation shift begins or ends.

                

              
              - **MinuteOfHour** *(integer) --* **[REQUIRED]** 

                The minute when an on-call rotation shift begins or ends.

                

              
            
          
      
  

    - **RecurrenceMultiplier** *(integer) --* **[REQUIRED]** 

      The number of days, weeks, or months a single rotation lasts.

      

    
  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`SSMContacts.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`SSMContacts.Client.exceptions.ConflictException`

  
  *   :py:class:`SSMContacts.Client.exceptions.InternalServerException`

  
  *   :py:class:`SSMContacts.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`SSMContacts.Client.exceptions.ThrottlingException`

  
  *   :py:class:`SSMContacts.Client.exceptions.ValidationException`

  