:doc:`WellArchitected <../../wellarchitected>` / Client / create_workload

***************
create_workload
***************



.. py:method:: WellArchitected.Client.create_workload(**kwargs)

  

  Create a new workload.

   

  The owner of a workload can share the workload with other Amazon Web Services accounts, users, an organization, and organizational units (OUs) in the same Amazon Web Services Region. Only the owner of a workload can delete it.

   

  For more information, see `Defining a Workload <https://docs.aws.amazon.com/wellarchitected/latest/userguide/define-workload.html>`__ in the *Well-Architected Tool User Guide*.

   

  .. warning::

     

    Either ``AwsRegions``, ``NonAwsRegions``, or both must be specified when creating a workload.

     

    You also must specify ``ReviewOwner``, even though the parameter is listed as not being required in the following section.

     

   

  When creating a workload using a review template, you must have the following IAM permissions:

   

  
  * ``wellarchitected:GetReviewTemplate``
   
  * ``wellarchitected:GetReviewTemplateAnswer``
   
  * ``wellarchitected:ListReviewTemplateAnswers``
   
  * ``wellarchitected:GetReviewTemplateLensReview``
  

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/CreateWorkload>`_  


  **Request Syntax**
  ::

    response = client.create_workload(
        WorkloadName='string',
        Description='string',
        Environment='PRODUCTION'|'PREPRODUCTION',
        AccountIds=[
            'string',
        ],
        AwsRegions=[
            'string',
        ],
        NonAwsRegions=[
            'string',
        ],
        PillarPriorities=[
            'string',
        ],
        ArchitecturalDesign='string',
        ReviewOwner='string',
        IndustryType='string',
        Industry='string',
        Lenses=[
            'string',
        ],
        Notes='string',
        ClientRequestToken='string',
        Tags={
            'string': 'string'
        },
        DiscoveryConfig={
            'TrustedAdvisorIntegrationStatus': 'ENABLED'|'DISABLED',
            'WorkloadResourceDefinition': [
                'WORKLOAD_METADATA'|'APP_REGISTRY',
            ]
        },
        Applications=[
            'string',
        ],
        ProfileArns=[
            'string',
        ],
        ReviewTemplateArns=[
            'string',
        ],
        JiraConfiguration={
            'IssueManagementStatus': 'ENABLED'|'DISABLED'|'INHERIT',
            'IssueManagementType': 'AUTO'|'MANUAL',
            'JiraProjectKey': 'string'
        }
    )
    
  :type WorkloadName: string
  :param WorkloadName: **[REQUIRED]** 

    The name of the workload.

     

    The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.

    

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

    The description for the workload.

    

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

    The environment for the workload.

    

  
  :type AccountIds: list
  :param AccountIds: 

    The list of Amazon Web Services account IDs associated with the workload.

    

  
    - *(string) --* 

      An Amazon Web Services account ID.

      

    

  :type AwsRegions: list
  :param AwsRegions: 

    The list of Amazon Web Services Regions associated with the workload, for example, ``us-east-2``, or ``ca-central-1``.

    

  
    - *(string) --* 

      An Amazon Web Services Region, for example, ``us-west-2`` or ``ap-northeast-1``.

      

    

  :type NonAwsRegions: list
  :param NonAwsRegions: 

    The list of non-Amazon Web Services Regions associated with the workload.

    

  
    - *(string) --* 

    

  :type PillarPriorities: list
  :param PillarPriorities: 

    The priorities of the pillars, which are used to order items in the improvement plan. Each pillar is represented by its  PillarReviewSummary$PillarId.

    

  
    - *(string) --* 

      The ID used to identify a pillar, for example, ``security``.

       

      A pillar is identified by its  PillarReviewSummary$PillarId.

      

    

  :type ArchitecturalDesign: string
  :param ArchitecturalDesign: 

    The URL of the architectural design for the workload.

    

  
  :type ReviewOwner: string
  :param ReviewOwner: 

    The review owner of the workload. The name, email address, or identifier for the primary group or individual that owns the workload review process.

    

  
  :type IndustryType: string
  :param IndustryType: 

    The industry type for the workload.

     

    If specified, must be one of the following:

     

    
    * ``Agriculture``
     
    * ``Automobile``
     
    * ``Defense``
     
    * ``Design and Engineering``
     
    * ``Digital Advertising``
     
    * ``Education``
     
    * ``Environmental Protection``
     
    * ``Financial Services``
     
    * ``Gaming``
     
    * ``General Public Services``
     
    * ``Healthcare``
     
    * ``Hospitality``
     
    * ``InfoTech``
     
    * ``Justice and Public Safety``
     
    * ``Life Sciences``
     
    * ``Manufacturing``
     
    * ``Media & Entertainment``
     
    * ``Mining & Resources``
     
    * ``Oil & Gas``
     
    * ``Power & Utilities``
     
    * ``Professional Services``
     
    * ``Real Estate & Construction``
     
    * ``Retail & Wholesale``
     
    * ``Social Protection``
     
    * ``Telecommunications``
     
    * ``Travel, Transportation & Logistics``
     
    * ``Other``
    

    

  
  :type Industry: string
  :param Industry: 

    The industry for the workload.

    

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

    The list of lenses associated with the workload. Each lens is identified by its  LensSummary$LensAlias.

     

    If a review template that specifies lenses is applied to the workload, those lenses are applied to the workload in addition to these lenses.

    

  
    - *(string) --* 

      The alias of the lens.

       

      For Amazon Web Services official lenses, this is either the lens alias, such as ``serverless``, or the lens ARN, such as ``arn:aws:wellarchitected:us-east-1::lens/serverless``. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.

       

      For custom lenses, this is the lens ARN, such as ``arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef``.

       

      Each lens is identified by its  LensSummary$LensAlias.

      

    

  :type Notes: string
  :param Notes: 

    The notes associated with the workload.

     

    For a review template, these are the notes that will be associated with the workload when the template is applied.

    

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

    A unique case-sensitive string used to ensure that this request is idempotent (executes only once).

     

    You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.

     

    .. warning::

       

      This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.

      

    This field is autopopulated if not provided.

  
  :type Tags: dict
  :param Tags: 

    The tags to be associated with the workload.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type DiscoveryConfig: dict
  :param DiscoveryConfig: 

    Well-Architected discovery configuration settings associated to the workload.

    

  
    - **TrustedAdvisorIntegrationStatus** *(string) --* 

      Discovery integration status in respect to Trusted Advisor for the workload.

      

    
    - **WorkloadResourceDefinition** *(list) --* 

      The mode to use for identifying resources associated with the workload.

       

      You can specify ``WORKLOAD_METADATA``, ``APP_REGISTRY``, or both.

      

    
      - *(string) --* 

      
  
  
  :type Applications: list
  :param Applications: 

    List of AppRegistry application ARNs associated to the workload.

    

  
    - *(string) --* 

    

  :type ProfileArns: list
  :param ProfileArns: 

    The list of profile ARNs associated with the workload.

    

  
    - *(string) --* 

    

  :type ReviewTemplateArns: list
  :param ReviewTemplateArns: 

    The list of review template ARNs to associate with the workload.

    

  
    - *(string) --* 

    

  :type JiraConfiguration: dict
  :param JiraConfiguration: 

    Jira configuration settings when creating a workload.

    

  
    - **IssueManagementStatus** *(string) --* 

      Workload-level: Jira issue management status.

      

    
    - **IssueManagementType** *(string) --* 

      Workload-level: Jira issue management type.

      

    
    - **JiraProjectKey** *(string) --* 

      Workload-level: Jira project key to sync workloads to.

      

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

    
    ::

      {
          'WorkloadId': 'string',
          'WorkloadArn': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Output of a create workload call.

      
      

      - **WorkloadId** *(string) --* 

        The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.

        
      

      - **WorkloadArn** *(string) --* 

        The ARN for the workload.

        
  
  **Exceptions**
  
  *   :py:class:`WellArchitected.Client.exceptions.ValidationException`

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

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

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

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

  
  *   :py:class:`WellArchitected.Client.exceptions.ResourceNotFoundException`

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

  