:doc:`MainframeModernization <../../m2>` / Client / create_application

******************
create_application
******************



.. py:method:: MainframeModernization.Client.create_application(**kwargs)

  

  Creates a new application with given parameters. Requires an existing runtime environment and application definition file.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/m2-2021-04-28/CreateApplication>`_  


  **Request Syntax**
  ::

    response = client.create_application(
        clientToken='string',
        definition={
            'content': 'string',
            's3Location': 'string'
        },
        description='string',
        engineType='microfocus'|'bluage',
        kmsKeyId='string',
        name='string',
        roleArn='string',
        tags={
            'string': 'string'
        }
    )
    
  :type clientToken: string
  :param clientToken: 

    A client token is a unique, case-sensitive string of up to 128 ASCII characters with ASCII values of 33-126 inclusive. It's generated by the client to ensure idempotent operations, allowing for safe retries without unintended side effects.

    This field is autopopulated if not provided.

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

    The application definition for this application. You can specify either inline JSON or an S3 bucket location.

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

  
    - **content** *(string) --* 

      The content of the application definition. This is a JSON object that contains the resource configuration/definitions that identify an application.

      

    
    - **s3Location** *(string) --* 

      The S3 bucket that contains the application definition.

      

    
  
  :type description: string
  :param description: 

    The description of the application.

    

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

    The type of the target platform for this application.

    

  
  :type kmsKeyId: string
  :param kmsKeyId: 

    The identifier of a customer managed key.

    

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

    The unique identifier of the application.

    

  
  :type roleArn: string
  :param roleArn: 

    The Amazon Resource Name (ARN) that identifies a role that the application uses to access Amazon Web Services resources that are not part of the application or are in a different Amazon Web Services account.

    

  
  :type tags: dict
  :param tags: 

    A list of tags to apply to the application.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


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

    
    ::

      {
          'applicationArn': 'string',
          'applicationId': 'string',
          'applicationVersion': 123
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **applicationArn** *(string) --* 

        The Amazon Resource Name (ARN) of the application.

        
      

      - **applicationId** *(string) --* 

        The unique application identifier.

        
      

      - **applicationVersion** *(integer) --* 

        The version number of the application.

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

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

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

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

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

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

  