:doc:`Greengrass <../../greengrass>` / Client / start_bulk_deployment

*********************
start_bulk_deployment
*********************



.. py:method:: Greengrass.Client.start_bulk_deployment(**kwargs)

  Deploys multiple groups in one operation. This action starts the bulk deployment of a specified set of group versions. Each group version deployment will be triggered with an adaptive rate that has a fixed upper limit. We recommend that you include an ''X-Amzn-Client-Token'' token in every ''StartBulkDeployment'' request. These requests are idempotent with respect to the token and the request parameters.

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/greengrass-2017-06-07/StartBulkDeployment>`_  


  **Request Syntax**
  ::

    response = client.start_bulk_deployment(
        AmznClientToken='string',
        ExecutionRoleArn='string',
        InputFileUri='string',
        tags={
            'string': 'string'
        }
    )
    
  :type AmznClientToken: string
  :param AmznClientToken: A client token used to correlate requests and responses.

  
  :type ExecutionRoleArn: string
  :param ExecutionRoleArn: **[REQUIRED]** The ARN of the execution role to associate with the bulk deployment operation. This IAM role must allow the ''greengrass:CreateDeployment'' action for all group versions that are listed in the input file. This IAM role must have access to the S3 bucket containing the input file.

  
  :type InputFileUri: string
  :param InputFileUri: **[REQUIRED]** The URI of the input file contained in the S3 bucket. The execution role must have ''getObject'' permissions on this bucket to access the input file. The input file is a JSON-serialized, line delimited file with UTF-8 encoding that provides a list of group and version IDs and the deployment type. This file must be less than 100 MB. Currently, AWS IoT Greengrass supports only ''NewDeployment'' deployment types.

  
  :type tags: dict
  :param tags: Tag(s) to add to the new resource.

  
    - *(string) --* 

    
      - *(string) --* 

      


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

    
    ::

      {
          'BulkDeploymentArn': 'string',
          'BulkDeploymentId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* success
      

      - **BulkDeploymentArn** *(string) --* The ARN of the bulk deployment.
      

      - **BulkDeploymentId** *(string) --* The ID of the bulk deployment.
  
  **Exceptions**
  
  *   :py:class:`Greengrass.Client.exceptions.BadRequestException`

  