:doc:`Redshift <../../redshift>` / Client / create_snapshot_schedule

************************
create_snapshot_schedule
************************



.. py:method:: Redshift.Client.create_snapshot_schedule(**kwargs)

  

  Create a snapshot schedule that can be associated to a cluster and which overrides the default system backup schedule.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateSnapshotSchedule>`_  


  **Request Syntax**
  ::

    response = client.create_snapshot_schedule(
        ScheduleDefinitions=[
            'string',
        ],
        ScheduleIdentifier='string',
        ScheduleDescription='string',
        Tags=[
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        DryRun=True|False,
        NextInvocations=123
    )
    
  :type ScheduleDefinitions: list
  :param ScheduleDefinitions: 

    The definition of the snapshot schedule. The definition is made up of schedule expressions, for example "cron(30 12 *)" or "rate(12 hours)".

    

  
    - *(string) --* 

    

  :type ScheduleIdentifier: string
  :param ScheduleIdentifier: 

    A unique identifier for a snapshot schedule. Only alphanumeric characters are allowed for the identifier.

    

  
  :type ScheduleDescription: string
  :param ScheduleDescription: 

    The description of the snapshot schedule.

    

  
  :type Tags: list
  :param Tags: 

    An optional set of tags you can use to search for the schedule.

    

  
    - *(dict) --* 

      A tag consisting of a name/value pair for a resource.

      

    
      - **Key** *(string) --* 

        The key, or name, for the resource tag.

        

      
      - **Value** *(string) --* 

        The value for the resource tag.

        

      
    

  :type DryRun: boolean
  :param DryRun: 

  
  :type NextInvocations: integer
  :param NextInvocations: 

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

    
    ::

      {
          'ScheduleDefinitions': [
              'string',
          ],
          'ScheduleIdentifier': 'string',
          'ScheduleDescription': 'string',
          'Tags': [
              {
                  'Key': 'string',
                  'Value': 'string'
              },
          ],
          'NextInvocations': [
              datetime(2015, 1, 1),
          ],
          'AssociatedClusterCount': 123,
          'AssociatedClusters': [
              {
                  'ClusterIdentifier': 'string',
                  'ScheduleAssociationState': 'MODIFYING'|'ACTIVE'|'FAILED'
              },
          ]
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Describes a snapshot schedule. You can set a regular interval for creating snapshots of a cluster. You can also schedule snapshots for specific dates.

      
      

      - **ScheduleDefinitions** *(list) --* 

        A list of ScheduleDefinitions.

        
        

        - *(string) --* 
    
      

      - **ScheduleIdentifier** *(string) --* 

        A unique identifier for the schedule.

        
      

      - **ScheduleDescription** *(string) --* 

        The description of the schedule.

        
      

      - **Tags** *(list) --* 

        An optional set of tags describing the schedule.

        
        

        - *(dict) --* 

          A tag consisting of a name/value pair for a resource.

          
          

          - **Key** *(string) --* 

            The key, or name, for the resource tag.

            
          

          - **Value** *(string) --* 

            The value for the resource tag.

            
      
    
      

      - **NextInvocations** *(list) --* 
        

        - *(datetime) --* 
    
      

      - **AssociatedClusterCount** *(integer) --* 

        The number of clusters associated with the schedule.

        
      

      - **AssociatedClusters** *(list) --* 

        A list of clusters associated with the schedule. A maximum of 100 clusters is returned.

        
        

        - *(dict) --* 
          

          - **ClusterIdentifier** *(string) --* 
          

          - **ScheduleAssociationState** *(string) --* 
      
    
  
  **Exceptions**
  
  *   :py:class:`Redshift.Client.exceptions.SnapshotScheduleAlreadyExistsFault`

  
  *   :py:class:`Redshift.Client.exceptions.InvalidScheduleFault`

  
  *   :py:class:`Redshift.Client.exceptions.SnapshotScheduleQuotaExceededFault`

  
  *   :py:class:`Redshift.Client.exceptions.TagLimitExceededFault`

  
  *   :py:class:`Redshift.Client.exceptions.ScheduleDefinitionTypeUnsupportedFault`

  
  *   :py:class:`Redshift.Client.exceptions.InvalidTagFault`

  