:doc:`SSM <../../ssm>` / Client / get_calendar_state

******************
get_calendar_state
******************



.. py:method:: SSM.Client.get_calendar_state(**kwargs)

  

  Gets the state of a Amazon Web Services Systems Manager change calendar at the current time or a specified time. If you specify a time, ``GetCalendarState`` returns the state of the calendar at that specific time, and returns the next time that the change calendar state will transition. If you don't specify a time, ``GetCalendarState`` uses the current time. Change Calendar entries have two possible states: ``OPEN`` or ``CLOSED``.

   

  If you specify more than one calendar in a request, the command returns the status of ``OPEN`` only if all calendars in the request are open. If one or more calendars in the request are closed, the status returned is ``CLOSED``.

   

  For more information about Change Calendar, a tool in Amazon Web Services Systems Manager, see `Amazon Web Services Systems Manager Change Calendar <https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar.html>`__ in the *Amazon Web Services Systems Manager User Guide*.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCalendarState>`_  


  **Request Syntax**
  ::

    response = client.get_calendar_state(
        CalendarNames=[
            'string',
        ],
        AtTime='string'
    )
    
  :type CalendarNames: list
  :param CalendarNames: **[REQUIRED]** 

    The names of Amazon Resource Names (ARNs) of the Systems Manager documents (SSM documents) that represent the calendar entries for which you want to get the state.

    

  
    - *(string) --* 

    

  :type AtTime: string
  :param AtTime: 

    (Optional) The specific time for which you want to get calendar state information, in `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`__ format. If you don't specify a value or ``AtTime``, the current time is used.

    

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

    
    ::

      {
          'State': 'OPEN'|'CLOSED',
          'AtTime': 'string',
          'NextTransitionTime': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **State** *(string) --* 

        The state of the calendar. An ``OPEN`` calendar indicates that actions are allowed to proceed, and a ``CLOSED`` calendar indicates that actions aren't allowed to proceed.

        
      

      - **AtTime** *(string) --* 

        The time, as an `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`__ string, that you specified in your command. If you don't specify a time, ``GetCalendarState`` uses the current time.

        
      

      - **NextTransitionTime** *(string) --* 

        The time, as an `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`__ string, that the calendar state will change. If the current calendar state is ``OPEN``, ``NextTransitionTime`` indicates when the calendar state changes to ``CLOSED``, and vice-versa.

        
  
  **Exceptions**
  
  *   :py:class:`SSM.Client.exceptions.InternalServerError`

  
  *   :py:class:`SSM.Client.exceptions.InvalidDocument`

  
  *   :py:class:`SSM.Client.exceptions.InvalidDocumentType`

  
  *   :py:class:`SSM.Client.exceptions.UnsupportedCalendarException`

  