:doc:`Proton <../../proton>` / Client / create_environment_account_connection

*************************************
create_environment_account_connection
*************************************



.. py:method:: Proton.Client.create_environment_account_connection(**kwargs)

  

  Create an environment account connection in an environment account so that environment infrastructure resources can be provisioned in the environment account from a management account.

   

  An environment account connection is a secure bi-directional connection between a *management account* and an *environment account* that maintains authorization and permissions. For more information, see `Environment account connections <https://docs.aws.amazon.com/proton/latest/userguide/ag-env-account-connections.html>`__ in the *Proton User guide*.

  

  .. danger::

        This operation is deprecated and may not function as expected. This operation should not be used going forward and is only kept for the purpose of backwards compatiblity.


  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/proton-2020-07-20/CreateEnvironmentAccountConnection>`_  


  **Request Syntax**
  ::

    response = client.create_environment_account_connection(
        clientToken='string',
        codebuildRoleArn='string',
        componentRoleArn='string',
        environmentName='string',
        managementAccountId='string',
        roleArn='string',
        tags=[
            {
                'key': 'string',
                'value': 'string'
            },
        ]
    )
    
  :type clientToken: string
  :param clientToken: 

    When included, if two identical requests are made with the same client token, Proton returns the environment account connection that the first request created.

    This field is autopopulated if not provided.

  
  :type codebuildRoleArn: string
  :param codebuildRoleArn: 

    The Amazon Resource Name (ARN) of an IAM service role in the environment account. Proton uses this role to provision infrastructure resources using CodeBuild-based provisioning in the associated environment account.

    

  
  :type componentRoleArn: string
  :param componentRoleArn: 

    The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.

     

    You must specify ``componentRoleArn`` to allow directly defined components to be associated with any environments running in this account.

     

    For more information about components, see `Proton components <https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html>`__ in the *Proton User Guide*.

    

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

    The name of the Proton environment that's created in the associated management account.

    

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

    The ID of the management account that accepts or rejects the environment account connection. You create and manage the Proton environment in this account. If the management account accepts the environment account connection, Proton can use the associated IAM role to provision environment infrastructure resources in the associated environment account.

    

  
  :type roleArn: string
  :param roleArn: 

    The Amazon Resource Name (ARN) of the IAM service role that's created in the environment account. Proton uses this role to provision infrastructure resources in the associated environment account.

    

  
  :type tags: list
  :param tags: 

    An optional list of metadata items that you can associate with the Proton environment account connection. A tag is a key-value pair.

     

    For more information, see `Proton resources and tagging <https://docs.aws.amazon.com/proton/latest/userguide/resources.html>`__ in the *Proton User Guide*.

    

  
    - *(dict) --* 

      A description of a resource tag.

      

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

        The key of the resource tag.

        

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

        The value of the resource tag.

        

      
    

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

    
    ::

      {
          'environmentAccountConnection': {
              'arn': 'string',
              'codebuildRoleArn': 'string',
              'componentRoleArn': 'string',
              'environmentAccountId': 'string',
              'environmentName': 'string',
              'id': 'string',
              'lastModifiedAt': datetime(2015, 1, 1),
              'managementAccountId': 'string',
              'requestedAt': datetime(2015, 1, 1),
              'roleArn': 'string',
              'status': 'PENDING'|'CONNECTED'|'REJECTED'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **environmentAccountConnection** *(dict) --* 

        The environment account connection detail data that's returned by Proton.

        
        

        - **arn** *(string) --* 

          The Amazon Resource Name (ARN) of the environment account connection.

          
        

        - **codebuildRoleArn** *(string) --* 

          The Amazon Resource Name (ARN) of an IAM service role in the environment account. Proton uses this role to provision infrastructure resources using CodeBuild-based provisioning in the associated environment account.

          
        

        - **componentRoleArn** *(string) --* 

          The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.

           

          The environment account connection must have a ``componentRoleArn`` to allow directly defined components to be associated with any environments running in the account.

           

          For more information about components, see `Proton components <https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html>`__ in the *Proton User Guide*.

          
        

        - **environmentAccountId** *(string) --* 

          The environment account that's connected to the environment account connection.

          
        

        - **environmentName** *(string) --* 

          The name of the environment that's associated with the environment account connection.

          
        

        - **id** *(string) --* 

          The ID of the environment account connection.

          
        

        - **lastModifiedAt** *(datetime) --* 

          The time when the environment account connection was last modified.

          
        

        - **managementAccountId** *(string) --* 

          The ID of the management account that's connected to the environment account connection.

          
        

        - **requestedAt** *(datetime) --* 

          The time when the environment account connection request was made.

          
        

        - **roleArn** *(string) --* 

          The IAM service role that's associated with the environment account connection.

          
        

        - **status** *(string) --* 

          The status of the environment account connection.

          
    
  
  **Exceptions**
  
  *   :py:class:`Proton.Client.exceptions.ServiceQuotaExceededException`

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

  
  *   :py:class:`Proton.Client.exceptions.AccessDeniedException`

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

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

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

  