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

********
get_form
********



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

  

  Returns an existing form for an Amplify app.

  

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


  **Request Syntax**
  ::

    response = client.get_form(
        appId='string',
        environmentName='string',
        id='string'
    )
    
  :type appId: string
  :param appId: **[REQUIRED]** 

    The unique ID of the Amplify app.

    

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

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

    

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

    The unique ID of the form.

    

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

    
    ::

      {
          'form': {
              'appId': 'string',
              'environmentName': 'string',
              'id': 'string',
              'name': 'string',
              'formActionType': 'create'|'update',
              'style': {
                  'horizontalGap': {
                      'tokenReference': 'string',
                      'value': 'string'
                  },
                  'verticalGap': {
                      'tokenReference': 'string',
                      'value': 'string'
                  },
                  'outerPadding': {
                      'tokenReference': 'string',
                      'value': 'string'
                  }
              },
              'dataType': {
                  'dataSourceType': 'DataStore'|'Custom',
                  'dataTypeName': 'string'
              },
              'fields': {
                  'string': {
                      'label': 'string',
                      'position': {
                          'fixed': 'first',
                          'rightOf': 'string',
                          'below': 'string'
                      },
                      'excluded': True|False,
                      'inputType': {
                          'type': 'string',
                          'required': True|False,
                          'readOnly': True|False,
                          'placeholder': 'string',
                          'defaultValue': 'string',
                          'descriptiveText': 'string',
                          'defaultChecked': True|False,
                          'defaultCountryCode': 'string',
                          'valueMappings': {
                              'values': [
                                  {
                                      'displayValue': {
                                          'value': 'string',
                                          'bindingProperties': {
                                              'property': 'string',
                                              'field': 'string'
                                          },
                                          'concat': [
                                              {'... recursive ...'},
                                          ]
                                      },
                                      'value': {
                                          'value': 'string',
                                          'bindingProperties': {
                                              'property': 'string',
                                              'field': 'string'
                                          },
                                          'concat': [
                                              {'... recursive ...'},
                                          ]
                                      }
                                  },
                              ],
                              'bindingProperties': {
                                  'string': {
                                      'type': 'string',
                                      'bindingProperties': {
                                          'model': 'string'
                                      }
                                  }
                              }
                          },
                          'name': 'string',
                          'minValue': ...,
                          'maxValue': ...,
                          'step': ...,
                          'value': 'string',
                          'isArray': True|False,
                          'fileUploaderConfig': {
                              'accessLevel': 'public'|'protected'|'private',
                              'acceptedFileTypes': [
                                  'string',
                              ],
                              'showThumbnails': True|False,
                              'isResumable': True|False,
                              'maxFileCount': 123,
                              'maxSize': 123
                          }
                      },
                      'validations': [
                          {
                              'type': 'string',
                              'strValues': [
                                  'string',
                              ],
                              'numValues': [
                                  123,
                              ],
                              'validationMessage': 'string'
                          },
                      ]
                  }
              },
              'sectionalElements': {
                  'string': {
                      'type': 'string',
                      'position': {
                          'fixed': 'first',
                          'rightOf': 'string',
                          'below': 'string'
                      },
                      'text': 'string',
                      'level': 123,
                      'orientation': 'string',
                      'excluded': True|False
                  }
              },
              'schemaVersion': 'string',
              'tags': {
                  'string': 'string'
              },
              'cta': {
                  'position': 'top'|'bottom'|'top_and_bottom',
                  'clear': {
                      'excluded': True|False,
                      'children': 'string',
                      'position': {
                          'fixed': 'first',
                          'rightOf': 'string',
                          'below': 'string'
                      }
                  },
                  'cancel': {
                      'excluded': True|False,
                      'children': 'string',
                      'position': {
                          'fixed': 'first',
                          'rightOf': 'string',
                          'below': 'string'
                      }
                  },
                  'submit': {
                      'excluded': True|False,
                      'children': 'string',
                      'position': {
                          'fixed': 'first',
                          'rightOf': 'string',
                          'below': 'string'
                      }
                  }
              },
              'labelDecorator': 'required'|'optional'|'none'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **form** *(dict) --* 

        Represents the configuration settings for the form.

        
        

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

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

          
        

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

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

          
        

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

          The unique ID of the form.

          
        

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

          The name of the form.

          
        

        - **formActionType** *(string) --* 

          The operation to perform on the specified form.

          
        

        - **style** *(dict) --* 

          Stores the configuration for the form's style.

          
          

          - **horizontalGap** *(dict) --* 

            The spacing for the horizontal gap.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``tokenReference``, ``value``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


          
            

            - **tokenReference** *(string) --* 

              A reference to a design token to use to bind the form's style properties to an existing theme.

              
            

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

              The value of the style setting.

              
        
          

          - **verticalGap** *(dict) --* 

            The spacing for the vertical gap.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``tokenReference``, ``value``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


          
            

            - **tokenReference** *(string) --* 

              A reference to a design token to use to bind the form's style properties to an existing theme.

              
            

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

              The value of the style setting.

              
        
          

          - **outerPadding** *(dict) --* 

            The size of the outer padding for the form.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``tokenReference``, ``value``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


          
            

            - **tokenReference** *(string) --* 

              A reference to a design token to use to bind the form's style properties to an existing theme.

              
            

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

              The value of the style setting.

              
        
      
        

        - **dataType** *(dict) --* 

          The type of data source to use to create the form.

          
          

          - **dataSourceType** *(string) --* 

            The data source type, either an Amplify DataStore model or a custom data type.

            
          

          - **dataTypeName** *(string) --* 

            The unique name of the data type you are using as the data source for the form.

            
      
        

        - **fields** *(dict) --* 

          Stores the information about the form's fields.

          
          

          - *(string) --* 
            

            - *(dict) --* 

              Describes the configuration information for a field in a table.

              
              

              - **label** *(string) --* 

                The label for the field.

                
              

              - **position** *(dict) --* 

                Specifies the field position.

                .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``fixed``, ``rightOf``, ``below``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                                'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


              
                

                - **fixed** *(string) --* 

                  The field position is fixed and doesn't change in relation to other fields.

                  
                

                - **rightOf** *(string) --* 

                  The field position is to the right of the field specified by the string.

                  
                

                - **below** *(string) --* 

                  The field position is below the field specified by the string.

                  
            
              

              - **excluded** *(boolean) --* 

                Specifies whether to hide a field.

                
              

              - **inputType** *(dict) --* 

                Describes the configuration for the default input value to display for a field.

                
                

                - **type** *(string) --* 

                  The input type for the field.

                  
                

                - **required** *(boolean) --* 

                  Specifies a field that requires input.

                  
                

                - **readOnly** *(boolean) --* 

                  Specifies a read only field.

                  
                

                - **placeholder** *(string) --* 

                  The text to display as a placeholder for the field.

                  
                

                - **defaultValue** *(string) --* 

                  The default value for the field.

                  
                

                - **descriptiveText** *(string) --* 

                  The text to display to describe the field.

                  
                

                - **defaultChecked** *(boolean) --* 

                  Specifies whether a field has a default value.

                  
                

                - **defaultCountryCode** *(string) --* 

                  The default country code for a phone number.

                  
                

                - **valueMappings** *(dict) --* 

                  The information to use to customize the input fields with data at runtime.

                  
                  

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

                    The value and display value pairs.

                    
                    

                    - *(dict) --* 

                      Associates a complex object with a display value. Use ``ValueMapping`` to store how to represent complex objects when they are displayed.

                      
                      

                      - **displayValue** *(dict) --* 

                        The value to display for the complex object.

                        
                        

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

                          The value to assign to the input field.

                          
                        

                        - **bindingProperties** *(dict) --* 

                          The information to bind fields to data at runtime.

                          
                          

                          - **property** *(string) --* 

                            The form property to bind to the data field.

                            
                          

                          - **field** *(string) --* 

                            The data field to bind the property to.

                            
                      
                        

                        - **concat** *(list) --* 

                          A list of form properties to concatenate to create the value to assign to this field property.

                          
                          

                          - *(dict) --* 

                            Describes the configuration for an input field on a form. Use ``FormInputValueProperty`` to specify the values to render or bind by default.

                            
                      
                    
                      

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

                        The complex object.

                        
                        

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

                          The value to assign to the input field.

                          
                        

                        - **bindingProperties** *(dict) --* 

                          The information to bind fields to data at runtime.

                          
                          

                          - **property** *(string) --* 

                            The form property to bind to the data field.

                            
                          

                          - **field** *(string) --* 

                            The data field to bind the property to.

                            
                      
                        

                        - **concat** *(list) --* 

                          A list of form properties to concatenate to create the value to assign to this field property.

                          
                          

                          - *(dict) --* 

                            Describes the configuration for an input field on a form. Use ``FormInputValueProperty`` to specify the values to render or bind by default.

                            
                      
                    
                  
                
                  

                  - **bindingProperties** *(dict) --* 

                    The information to bind fields to data at runtime.

                    
                    

                    - *(string) --* 
                      

                      - *(dict) --* 

                        Represents the data binding configuration for a form's input fields at runtime.You can use ``FormInputBindingPropertiesValue`` to add exposed properties to a form to allow different values to be entered when a form is reused in different places in an app.

                        
                        

                        - **type** *(string) --* 

                          The property type.

                          
                        

                        - **bindingProperties** *(dict) --* 

                          Describes the properties to customize with data at runtime.

                          
                          

                          - **model** *(string) --* 

                            An Amplify DataStore model.

                            
                      
                    
                
              
              
                

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

                  The name of the field.

                  
                

                - **minValue** *(float) --* 

                  The minimum value to display for the field.

                  
                

                - **maxValue** *(float) --* 

                  The maximum value to display for the field.

                  
                

                - **step** *(float) --* 

                  The stepping increment for a numeric value in a field.

                  
                

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

                  The value for the field.

                  
                

                - **isArray** *(boolean) --* 

                  Specifies whether to render the field as an array. This property is ignored if the ``dataSourceType`` for the form is a Data Store.

                  
                

                - **fileUploaderConfig** *(dict) --* 

                  The configuration for the file uploader field.

                  
                  

                  - **accessLevel** *(string) --* 

                    The access level to assign to the uploaded files in the Amazon S3 bucket where they are stored. The valid values for this property are ``private``, ``protected``, or ``public``. For detailed information about the permissions associated with each access level, see `File access levels <https://docs.amplify.aws/lib/storage/configureaccess/q/platform/js/>`__ in the *Amplify documentation*.

                    
                  

                  - **acceptedFileTypes** *(list) --* 

                    The file types that are allowed to be uploaded by the file uploader. Provide this information in an array of strings specifying the valid file extensions.

                    
                    

                    - *(string) --* 
                
                  

                  - **showThumbnails** *(boolean) --* 

                    Specifies whether to display or hide the image preview after selecting a file for upload. The default value is ``true`` to display the image preview.

                    
                  

                  - **isResumable** *(boolean) --* 

                    Allows the file upload operation to be paused and resumed. The default value is ``false``.

                     

                    When ``isResumable`` is set to ``true``, the file uploader uses a multipart upload to break the files into chunks before upload. The progress of the upload isn't continuous, because the file uploader uploads a chunk at a time.

                    
                  

                  - **maxFileCount** *(integer) --* 

                    Specifies the maximum number of files that can be selected to upload. The default value is an unlimited number of files.

                    
                  

                  - **maxSize** *(integer) --* 

                    The maximum file size in bytes that the file uploader will accept. The default value is an unlimited file size.

                    
              
            
              

              - **validations** *(list) --* 

                The validations to perform on the value in the field.

                
                

                - *(dict) --* 

                  Describes the validation configuration for a field.

                  
                  

                  - **type** *(string) --* 

                    The validation to perform on an object type.

                    
                  

                  - **strValues** *(list) --* 

                    The validation to perform on a string value.

                    
                    

                    - *(string) --* 
                
                  

                  - **numValues** *(list) --* 

                    The validation to perform on a number value.

                    
                    

                    - *(integer) --* 
                
                  

                  - **validationMessage** *(string) --* 

                    The validation message to display.

                    
              
            
          
      
    
        

        - **sectionalElements** *(dict) --* 

          Stores the visual helper elements for the form that are not associated with any data.

          
          

          - *(string) --* 
            

            - *(dict) --* 

              Stores the configuration information for a visual helper element for a form. A sectional element can be a header, a text block, or a divider. These elements are static and not associated with any data.

              
              

              - **type** *(string) --* 

                The type of sectional element. Valid values are ``Heading``, ``Text``, and ``Divider``.

                
              

              - **position** *(dict) --* 

                Specifies the position of the text in a field for a ``Text`` sectional element.

                .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``fixed``, ``rightOf``, ``below``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                                'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


              
                

                - **fixed** *(string) --* 

                  The field position is fixed and doesn't change in relation to other fields.

                  
                

                - **rightOf** *(string) --* 

                  The field position is to the right of the field specified by the string.

                  
                

                - **below** *(string) --* 

                  The field position is below the field specified by the string.

                  
            
              

              - **text** *(string) --* 

                The text for a ``Text`` sectional element.

                
              

              - **level** *(integer) --* 

                Specifies the size of the font for a ``Heading`` sectional element. Valid values are ``1 | 2 | 3 | 4 | 5 | 6``.

                
              

              - **orientation** *(string) --* 

                Specifies the orientation for a ``Divider`` sectional element. Valid values are ``horizontal`` or ``vertical``.

                
              

              - **excluded** *(boolean) --* 

                Excludes a sectional element that was generated by default for a specified data model.

                
          
      
    
        

        - **schemaVersion** *(string) --* 

          The schema version of the form when it was imported.

          
        

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

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

          
          

          - *(string) --* 
            

            - *(string) --* 
      
    
        

        - **cta** *(dict) --* 

          Stores the call to action configuration for the form.

          
          

          - **position** *(string) --* 

            The position of the button.

            
          

          - **clear** *(dict) --* 

            Displays a clear button.

            
            

            - **excluded** *(boolean) --* 

              Specifies whether the button is visible on the form.

              
            

            - **children** *(string) --* 

              Describes the button's properties.

              
            

            - **position** *(dict) --* 

              The position of the button.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``fixed``, ``rightOf``, ``below``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                            'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


            
              

              - **fixed** *(string) --* 

                The field position is fixed and doesn't change in relation to other fields.

                
              

              - **rightOf** *(string) --* 

                The field position is to the right of the field specified by the string.

                
              

              - **below** *(string) --* 

                The field position is below the field specified by the string.

                
          
        
          

          - **cancel** *(dict) --* 

            Displays a cancel button.

            
            

            - **excluded** *(boolean) --* 

              Specifies whether the button is visible on the form.

              
            

            - **children** *(string) --* 

              Describes the button's properties.

              
            

            - **position** *(dict) --* 

              The position of the button.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``fixed``, ``rightOf``, ``below``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                            'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


            
              

              - **fixed** *(string) --* 

                The field position is fixed and doesn't change in relation to other fields.

                
              

              - **rightOf** *(string) --* 

                The field position is to the right of the field specified by the string.

                
              

              - **below** *(string) --* 

                The field position is below the field specified by the string.

                
          
        
          

          - **submit** *(dict) --* 

            Displays a submit button.

            
            

            - **excluded** *(boolean) --* 

              Specifies whether the button is visible on the form.

              
            

            - **children** *(string) --* 

              Describes the button's properties.

              
            

            - **position** *(dict) --* 

              The position of the button.

              .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``fixed``, ``rightOf``, ``below``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                            'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


            
              

              - **fixed** *(string) --* 

                The field position is fixed and doesn't change in relation to other fields.

                
              

              - **rightOf** *(string) --* 

                The field position is to the right of the field specified by the string.

                
              

              - **below** *(string) --* 

                The field position is below the field specified by the string.

                
          
        
      
        

        - **labelDecorator** *(string) --* 

          Specifies an icon or decoration to display on the form.

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

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

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

  