:doc:`AmplifyUIBuilder <../../amplifyuibuilder>` / Client / create_theme

************
create_theme
************



.. py:method:: AmplifyUIBuilder.Client.create_theme(**kwargs)

  

  Creates a theme to apply to the components in an Amplify app.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/amplifyuibuilder-2021-08-11/CreateTheme>`_  


  **Request Syntax**
  ::

    response = client.create_theme(
        appId='string',
        environmentName='string',
        clientToken='string',
        themeToCreate={
            'name': 'string',
            'values': [
                {
                    'key': 'string',
                    'value': {
                        'value': 'string',
                        'children': {'... recursive ...'}
                    }
                },
            ],
            'overrides': [
                {
                    'key': 'string',
                    'value': {
                        'value': 'string',
                        'children': {'... recursive ...'}
                    }
                },
            ],
            'tags': {
                'string': 'string'
            }
        }
    )
    
  :type appId: string
  :param appId: **[REQUIRED]** 

    The unique ID of the Amplify app associated with the theme.

    

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

    The name of the backend environment that is a part of the Amplify app.

    

  
  :type clientToken: string
  :param clientToken: 

    The unique client token.

    This field is autopopulated if not provided.

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

    Represents the configuration of the theme to create.

    

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

      The name of the theme.

      

    
    - **values** *(list) --* **[REQUIRED]** 

      A list of key-value pairs that deﬁnes the properties of the theme.

      

    
      - *(dict) --* 

        A key-value pair that defines a property of a theme.

        

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

          The name of the property.

          

        
        - **value** *(dict) --* 

          The value of the property.

          

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

            The value of a theme property.

            

          
          - **children** *(list) --* 

            A list of key-value pairs that define the theme's properties.

            

          
        
      
  
    - **overrides** *(list) --* 

      Describes the properties that can be overriden to customize an instance of the theme.

      

    
      - *(dict) --* 

        A key-value pair that defines a property of a theme.

        

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

          The name of the property.

          

        
        - **value** *(dict) --* 

          The value of the property.

          

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

            The value of a theme property.

            

          
          - **children** *(list) --* 

            A list of key-value pairs that define the theme's properties.

            

          
        
      
  
    - **tags** *(dict) --* 

      One or more key-value pairs to use when tagging the theme data.

      

    
      - *(string) --* 

      
        - *(string) --* 

        
  

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

    
    ::

      {
          'entity': {
              'appId': 'string',
              'environmentName': 'string',
              'id': 'string',
              'name': 'string',
              'createdAt': datetime(2015, 1, 1),
              'modifiedAt': datetime(2015, 1, 1),
              'values': [
                  {
                      'key': 'string',
                      'value': {
                          'value': 'string',
                          'children': {'... recursive ...'}
                      }
                  },
              ],
              'overrides': [
                  {
                      'key': 'string',
                      'value': {
                          'value': 'string',
                          'children': {'... recursive ...'}
                      }
                  },
              ],
              'tags': {
                  'string': 'string'
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **entity** *(dict) --* 

        Describes the configuration of the new theme.

        
        

        - **appId** *(string) --* 

          The unique ID for the Amplify app associated with the theme.

          
        

        - **environmentName** *(string) --* 

          The name of the backend environment that is a part of the Amplify app.

          
        

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

          The ID for the theme.

          
        

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

          The name of the theme.

          
        

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

          The time that the theme was created.

          
        

        - **modifiedAt** *(datetime) --* 

          The time that the theme was modified.

          
        

        - **values** *(list) --* 

          A list of key-value pairs that defines the properties of the theme.

          
          

          - *(dict) --* 

            A key-value pair that defines a property of a theme.

            
            

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

              The name of the property.

              
            

            - **value** *(dict) --* 

              The value of the property.

              
              

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

                The value of a theme property.

                
              

              - **children** *(list) --* 

                A list of key-value pairs that define the theme's properties.

                
          
        
      
        

        - **overrides** *(list) --* 

          Describes the properties that can be overriden to customize a theme.

          
          

          - *(dict) --* 

            A key-value pair that defines a property of a theme.

            
            

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

              The name of the property.

              
            

            - **value** *(dict) --* 

              The value of the property.

              
              

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

                The value of a theme property.

                
              

              - **children** *(list) --* 

                A list of key-value pairs that define the theme's properties.

                
          
        
      
        

        - **tags** *(dict) --* 

          One or more key-value pairs to use when tagging the theme.

          
          

          - *(string) --* 
            

            - *(string) --* 
      
    
    
  
  **Exceptions**
  
  *   :py:class:`AmplifyUIBuilder.Client.exceptions.ServiceQuotaExceededException`

  
  *   :py:class:`AmplifyUIBuilder.Client.exceptions.ResourceConflictException`

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

  
  *   :py:class:`AmplifyUIBuilder.Client.exceptions.InvalidParameterException`

  