:doc:`MultipartyApproval <../../mpa>` / Client / create_approval_team

********************
create_approval_team
********************



.. py:method:: MultipartyApproval.Client.create_approval_team(**kwargs)

  

  Creates a new approval team. For more information, see `Approval team <https://docs.aws.amazon.com/mpa/latest/userguide/mpa-concepts.html>`__ in the *Multi-party approval User Guide*.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/mpa-2022-07-26/CreateApprovalTeam>`_  


  **Request Syntax**
  ::

    response = client.create_approval_team(
        ClientToken='string',
        ApprovalStrategy={
            'MofN': {
                'MinApprovalsRequired': 123
            }
        },
        Approvers=[
            {
                'PrimaryIdentityId': 'string',
                'PrimaryIdentitySourceArn': 'string'
            },
        ],
        Description='string',
        Policies=[
            {
                'PolicyArn': 'string'
            },
        ],
        Name='string',
        Tags={
            'string': 'string'
        }
    )
    
  :type ClientToken: string
  :param ClientToken: 

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services populates this field.

     

    .. note::

      

      **What is idempotency?**

       

      When you make a mutating API request, the request typically returns a result before the operation's asynchronous workflows have completed. Operations might also time out or encounter other server issues before they complete, even though the request has already returned a result. This could make it difficult to determine whether the request succeeded or not, and could lead to multiple retries to ensure that the operation completes successfully. However, if the original request and the subsequent retries are successful, the operation is completed multiple times. This means that you might create more resources than you intended.

       

      *Idempotency* ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

      

    This field is autopopulated if not provided.

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

    An ``ApprovalStrategy`` object. Contains details for how the team grants approval.

    .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``MofN``. 

  
    - **MofN** *(dict) --* 

      Minimum number of approvals (M) required for a total number of approvers (N).

      

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

        Minimum number of approvals (M) required for a total number of approvers (N).

        

      
    
  
  :type Approvers: list
  :param Approvers: **[REQUIRED]** 

    An array of ``ApprovalTeamRequesterApprovers`` objects. Contains details for the approvers in the team.

    

  
    - *(dict) --* 

      Contains details for an approver.

      

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

        ID for the user.

        

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

        Amazon Resource Name (ARN) for the identity source. The identity source manages the user authentication for approvers.

        

      
    

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

    Description for the team.

    

  
  :type Policies: list
  :param Policies: **[REQUIRED]** 

    An array of ``PolicyReference`` objects. Contains a list of policies that define the permissions for team resources.

    

  
    - *(dict) --* 

      Contains the Amazon Resource Name (ARN) for a policy. Policies define what operations a team that define the permissions for team resources.

      

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

        Amazon Resource Name (ARN) for the policy.

        

      
    

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

    Name of the team.

    

  
  :type Tags: dict
  :param Tags: 

    Tags you want to attach to the team.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


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

    
    ::

      {
          'CreationTime': datetime(2015, 1, 1),
          'Arn': 'string',
          'Name': 'string',
          'VersionId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **CreationTime** *(datetime) --* 

        Timestamp when the team was created.

        
      

      - **Arn** *(string) --* 

        Amazon Resource Name (ARN) for the team that was created.

        
      

      - **Name** *(string) --* 

        Name of the team that was created.

        
      

      - **VersionId** *(string) --* 

        Version ID for the team that was created. When a team is updated, the version ID changes.

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

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

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

  
  *   :py:class:`MultipartyApproval.Client.exceptions.ServiceQuotaExceededException`

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

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

  