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

************
export_forms
************



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

  

  Exports form configurations to code that is ready to integrate into an Amplify app.

  

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


  **Request Syntax**
  ::

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

    The unique ID of the Amplify app to export forms to.

    

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

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

    

  
  :type nextToken: string
  :param nextToken: 

    The token to request the next page of results.

    

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

    
    ::

      {
          'entities': [
              {
                  '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'
              },
          ],
          'nextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **entities** *(list) --* 

        Represents the configuration of the exported forms.

        
        

        - *(dict) --* 

          Contains the configuration settings for a ``Form`` user interface (UI) element for an Amplify app. A form is a component you can add to your project by specifying a data source as the default configuration 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.

            
      
    
      

      - **nextToken** *(string) --* 

        The pagination token that's included if more results are available.

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

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

  