:doc:`CodeConnections <../../codeconnections>` / Client / create_sync_configuration

*************************
create_sync_configuration
*************************



.. py:method:: CodeConnections.Client.create_sync_configuration(**kwargs)

  

  Creates a sync configuration which allows Amazon Web Services to sync content from a Git repository to update a specified Amazon Web Services resource. Parameters for the sync configuration are determined by the sync type.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/codeconnections-2023-12-01/CreateSyncConfiguration>`_  


  **Request Syntax**
  ::

    response = client.create_sync_configuration(
        Branch='string',
        ConfigFile='string',
        RepositoryLinkId='string',
        ResourceName='string',
        RoleArn='string',
        SyncType='CFN_STACK_SYNC',
        PublishDeploymentStatus='ENABLED'|'DISABLED',
        TriggerResourceUpdateOn='ANY_CHANGE'|'FILE_CHANGE',
        PullRequestComment='ENABLED'|'DISABLED'
    )
    
  :type Branch: string
  :param Branch: **[REQUIRED]** 

    The branch in the repository from which changes will be synced.

    

  
  :type ConfigFile: string
  :param ConfigFile: **[REQUIRED]** 

    The file name of the configuration file that manages syncing between the connection and the repository. This configuration file is stored in the repository.

    

  
  :type RepositoryLinkId: string
  :param RepositoryLinkId: **[REQUIRED]** 

    The ID of the repository link created for the connection. A repository link allows Git sync to monitor and sync changes to files in a specified Git repository.

    

  
  :type ResourceName: string
  :param ResourceName: **[REQUIRED]** 

    The name of the Amazon Web Services resource (for example, a CloudFormation stack in the case of CFN_STACK_SYNC) that will be synchronized from the linked repository.

    

  
  :type RoleArn: string
  :param RoleArn: **[REQUIRED]** 

    The ARN of the IAM role that grants permission for Amazon Web Services to use Git sync to update a given Amazon Web Services resource on your behalf.

    

  
  :type SyncType: string
  :param SyncType: **[REQUIRED]** 

    The type of sync configuration.

    

  
  :type PublishDeploymentStatus: string
  :param PublishDeploymentStatus: 

    Whether to enable or disable publishing of deployment status to source providers.

    

  
  :type TriggerResourceUpdateOn: string
  :param TriggerResourceUpdateOn: 

    When to trigger Git sync to begin the stack update.

    

  
  :type PullRequestComment: string
  :param PullRequestComment: 

    A toggle that specifies whether to enable or disable pull request comments for the sync configuration to be created.

    

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

    
    ::

      {
          'SyncConfiguration': {
              'Branch': 'string',
              'ConfigFile': 'string',
              'OwnerId': 'string',
              'ProviderType': 'Bitbucket'|'GitHub'|'GitHubEnterpriseServer'|'GitLab'|'GitLabSelfManaged'|'AzureDevOps',
              'RepositoryLinkId': 'string',
              'RepositoryName': 'string',
              'ResourceName': 'string',
              'RoleArn': 'string',
              'SyncType': 'CFN_STACK_SYNC',
              'PublishDeploymentStatus': 'ENABLED'|'DISABLED',
              'TriggerResourceUpdateOn': 'ANY_CHANGE'|'FILE_CHANGE',
              'PullRequestComment': 'ENABLED'|'DISABLED'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **SyncConfiguration** *(dict) --* 

        The created sync configuration for the connection. A sync configuration allows Amazon Web Services to sync content from a Git repository to update a specified Amazon Web Services resource.

        
        

        - **Branch** *(string) --* 

          The branch associated with a specific sync configuration.

          
        

        - **ConfigFile** *(string) --* 

          The file path to the configuration file associated with a specific sync configuration. The path should point to an actual file in the sync configurations linked repository.

          
        

        - **OwnerId** *(string) --* 

          The owner ID for the repository associated with a specific sync configuration, such as the owner ID in GitHub.

          
        

        - **ProviderType** *(string) --* 

          The connection provider type associated with a specific sync configuration, such as GitHub.

          
        

        - **RepositoryLinkId** *(string) --* 

          The ID of the repository link associated with a specific sync configuration.

          
        

        - **RepositoryName** *(string) --* 

          The name of the repository associated with a specific sync configuration.

          
        

        - **ResourceName** *(string) --* 

          The name of the connection resource associated with a specific sync configuration.

          
        

        - **RoleArn** *(string) --* 

          The Amazon Resource Name (ARN) of the IAM role associated with a specific sync configuration.

          
        

        - **SyncType** *(string) --* 

          The type of sync for a specific sync configuration.

          
        

        - **PublishDeploymentStatus** *(string) --* 

          Whether to enable or disable publishing of deployment status to source providers.

          
        

        - **TriggerResourceUpdateOn** *(string) --* 

          When to trigger Git sync to begin the stack update.

          
        

        - **PullRequestComment** *(string) --* 

          A toggle that specifies whether to enable or disable pull request comments for the sync configuration to be created.

          
    
  
  **Exceptions**
  
  *   :py:class:`CodeConnections.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`CodeConnections.Client.exceptions.ConcurrentModificationException`

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

  
  *   :py:class:`CodeConnections.Client.exceptions.InvalidInputException`

  
  *   :py:class:`CodeConnections.Client.exceptions.LimitExceededException`

  
  *   :py:class:`CodeConnections.Client.exceptions.ResourceAlreadyExistsException`

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

  