:doc:`OpenSearchService <../../opensearch>` / Client / create_application

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



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

  

  Creates an OpenSearch UI application. For more information, see `Using the OpenSearch user interface in Amazon OpenSearch Service <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/application.html>`__.

  

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


  **Request Syntax**
  ::

    response = client.create_application(
        clientToken='string',
        name='string',
        dataSources=[
            {
                'dataSourceArn': 'string',
                'dataSourceDescription': 'string'
            },
        ],
        iamIdentityCenterOptions={
            'enabled': True|False,
            'iamIdentityCenterInstanceArn': 'string',
            'iamRoleForIdentityCenterApplicationArn': 'string'
        },
        appConfigs=[
            {
                'key': 'opensearchDashboards.dashboardAdmin.users'|'opensearchDashboards.dashboardAdmin.groups',
                'value': 'string'
            },
        ],
        tagList=[
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        kmsKeyArn='string'
    )
    
  :type clientToken: string
  :param clientToken: 

    Unique, case-sensitive identifier to ensure idempotency of the request.

    This field is autopopulated if not provided.

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

    The unique name of the OpenSearch application. Names must be unique within an Amazon Web Services Region for each account.

    

  
  :type dataSources: list
  :param dataSources: 

    The data sources to link to the OpenSearch application.

    

  
    - *(dict) --* 

      Data sources that are associated with an OpenSearch application.

      

    
      - **dataSourceArn** *(string) --* 

        The Amazon Resource Name (ARN) of the domain. See `Identifiers for IAM Entities <https://docs.aws.amazon.com/IAM/latest/UserGuide/index.html>`__ in *Using Amazon Web Services Identity and Access Management* for more information.

        

      
      - **dataSourceDescription** *(string) --* 

        Detailed description of a data source.

        

      
    

  :type iamIdentityCenterOptions: dict
  :param iamIdentityCenterOptions: 

    Configuration settings for integrating Amazon Web Services IAM Identity Center with the OpenSearch application.

    

  
    - **enabled** *(boolean) --* 

      Specifies whether IAM Identity Center is enabled or disabled.

      

    
    - **iamIdentityCenterInstanceArn** *(string) --* 

      The Amazon Resource Name (ARN) of the domain. See `Identifiers for IAM Entities <https://docs.aws.amazon.com/IAM/latest/UserGuide/index.html>`__ in *Using Amazon Web Services Identity and Access Management* for more information.

      

    
    - **iamRoleForIdentityCenterApplicationArn** *(string) --* 

      The ARN of the IAM role associated with the IAM Identity Center application.

      

    
  
  :type appConfigs: list
  :param appConfigs: 

    Configuration settings for the OpenSearch application, including administrative options.

    

  
    - *(dict) --* 

      Configuration settings for an OpenSearch application. For more information, see `Using the OpenSearch user interface in Amazon OpenSearch Service <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/application.html>`__.

      

    
      - **key** *(string) --* 

        The configuration item to set, such as the admin role for the OpenSearch application.

        

      
      - **value** *(string) --* 

        The value assigned to the configuration key, such as an IAM user ARN.

        

      
    

  :type tagList: list
  :param tagList: 

    A list of tags attached to a domain.

    

  
    - *(dict) --* 

      A tag (key-value pair) for an Amazon OpenSearch Service resource.

      

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

        The tag key. Tag keys must be unique for the domain to which they are attached.

        

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

        The value assigned to the corresponding tag key. Tag values can be null and don't have to be unique in a tag set. For example, you can have a key value pair in a tag set of ``project : Trinity`` and ``cost-center : Trinity``

        

      
    

  :type kmsKeyArn: string
  :param kmsKeyArn: 

    The Amazon Resource Name (ARN) of the KMS key used to encrypt the application's data at rest. If provided, the application uses your customer-managed key for encryption. If omitted, the application uses an AWS-managed key. The KMS key must be in the same region as the application.

    

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

    
    ::

      {
          'id': 'string',
          'name': 'string',
          'arn': 'string',
          'dataSources': [
              {
                  'dataSourceArn': 'string',
                  'dataSourceDescription': 'string'
              },
          ],
          'iamIdentityCenterOptions': {
              'enabled': True|False,
              'iamIdentityCenterInstanceArn': 'string',
              'iamRoleForIdentityCenterApplicationArn': 'string',
              'iamIdentityCenterApplicationArn': 'string'
          },
          'appConfigs': [
              {
                  'key': 'opensearchDashboards.dashboardAdmin.users'|'opensearchDashboards.dashboardAdmin.groups',
                  'value': 'string'
              },
          ],
          'tagList': [
              {
                  'Key': 'string',
                  'Value': 'string'
              },
          ],
          'createdAt': datetime(2015, 1, 1),
          'kmsKeyArn': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

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

        The unique identifier assigned to the OpenSearch application.

        
      

      - **name** *(string) --* 

        The name of the OpenSearch application.

        
      

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

        The Amazon Resource Name (ARN) of the domain. See `Identifiers for IAM Entities <https://docs.aws.amazon.com/IAM/latest/UserGuide/index.html>`__ in *Using Amazon Web Services Identity and Access Management* for more information.

        
      

      - **dataSources** *(list) --* 

        The data sources linked to the OpenSearch application.

        
        

        - *(dict) --* 

          Data sources that are associated with an OpenSearch application.

          
          

          - **dataSourceArn** *(string) --* 

            The Amazon Resource Name (ARN) of the domain. See `Identifiers for IAM Entities <https://docs.aws.amazon.com/IAM/latest/UserGuide/index.html>`__ in *Using Amazon Web Services Identity and Access Management* for more information.

            
          

          - **dataSourceDescription** *(string) --* 

            Detailed description of a data source.

            
      
    
      

      - **iamIdentityCenterOptions** *(dict) --* 

        The IAM Identity Center settings configured for the OpenSearch application.

        
        

        - **enabled** *(boolean) --* 

          Indicates whether IAM Identity Center is enabled for the OpenSearch application.

          
        

        - **iamIdentityCenterInstanceArn** *(string) --* 

          The Amazon Resource Name (ARN) of the domain. See `Identifiers for IAM Entities <https://docs.aws.amazon.com/IAM/latest/UserGuide/index.html>`__ in *Using Amazon Web Services Identity and Access Management* for more information.

          
        

        - **iamRoleForIdentityCenterApplicationArn** *(string) --* 

          The Amazon Resource Name (ARN) of the IAM role assigned to the IAM Identity Center application for the OpenSearch application.

          
        

        - **iamIdentityCenterApplicationArn** *(string) --* 

          The Amazon Resource Name (ARN) of the domain. See `Identifiers for IAM Entities <https://docs.aws.amazon.com/IAM/latest/UserGuide/index.html>`__ in *Using Amazon Web Services Identity and Access Management* for more information.

          
    
      

      - **appConfigs** *(list) --* 

        Configuration settings for the OpenSearch application, including administrative options.

        
        

        - *(dict) --* 

          Configuration settings for an OpenSearch application. For more information, see `Using the OpenSearch user interface in Amazon OpenSearch Service <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/application.html>`__.

          
          

          - **key** *(string) --* 

            The configuration item to set, such as the admin role for the OpenSearch application.

            
          

          - **value** *(string) --* 

            The value assigned to the configuration key, such as an IAM user ARN.

            
      
    
      

      - **tagList** *(list) --* 

        A list of tags attached to a domain.

        
        

        - *(dict) --* 

          A tag (key-value pair) for an Amazon OpenSearch Service resource.

          
          

          - **Key** *(string) --* 

            The tag key. Tag keys must be unique for the domain to which they are attached.

            
          

          - **Value** *(string) --* 

            The value assigned to the corresponding tag key. Tag values can be null and don't have to be unique in a tag set. For example, you can have a key value pair in a tag set of ``project : Trinity`` and ``cost-center : Trinity``

            
      
    
      

      - **createdAt** *(datetime) --* 

        The timestamp indicating when the OpenSearch application was created.

        
      

      - **kmsKeyArn** *(string) --* 

        The Amazon Resource Name (ARN) of the KMS key used to encrypt the application's data at rest.

        
  
  **Exceptions**
  
  *   :py:class:`OpenSearchService.Client.exceptions.BaseException`

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

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

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

  
  *   :py:class:`OpenSearchService.Client.exceptions.InternalException`

  
  *   :py:class:`OpenSearchService.Client.exceptions.DisabledOperationException`

  