def create_facet(SchemaArn=None, Name=None, Attributes=None, ObjectType=None):
    """
    Creates a new  Facet in a schema. Facet creation is allowed only in development or applied schemas.
    See also: AWS API Documentation
    
    
    :example: response = client.create_facet(
        SchemaArn='string',
        Name='string',
        Attributes=[
            {
                'Name': 'string',
                'AttributeDefinition': {
                    'Type': 'STRING'|'BINARY'|'BOOLEAN'|'NUMBER'|'DATETIME',
                    'DefaultValue': {
                        'StringValue': 'string',
                        'BinaryValue': b'bytes',
                        'BooleanValue': True|False,
                        'NumberValue': 'string',
                        'DatetimeValue': datetime(2015, 1, 1)
                    },
                    'IsImmutable': True|False,
                    'Rules': {
                        'string': {
                            'Type': 'BINARY_LENGTH'|'NUMBER_COMPARISON'|'STRING_FROM_SET'|'STRING_LENGTH',
                            'Parameters': {
                                'string': 'string'
                            }
                        }
                    }
                },
                'AttributeReference': {
                    'TargetFacetName': 'string',
                    'TargetAttributeName': 'string'
                },
                'RequiredBehavior': 'REQUIRED_ALWAYS'|'NOT_REQUIRED'
            },
        ],
        ObjectType='NODE'|'LEAF_NODE'|'POLICY'|'INDEX'
    )
    
    
    :type SchemaArn: string
    :param SchemaArn: [REQUIRED]
            The schema ARN in which the new Facet will be created. For more information, see arns .
            

    :type Name: string
    :param Name: [REQUIRED]
            The name of the Facet , which is unique for a given schema.
            

    :type Attributes: list
    :param Attributes: The attributes that are associated with the Facet .
            (dict) --An attribute that is associated with the Facet .
            Name (string) -- [REQUIRED]The name of the facet attribute.
            AttributeDefinition (dict) --A facet attribute consists of either a definition or a reference. This structure contains the attribute definition. See Attribute References for more information.
            Type (string) -- [REQUIRED]The type of the attribute.
            DefaultValue (dict) --The default value of the attribute (if configured).
            StringValue (string) --A string data value.
            BinaryValue (bytes) --A binary data value.
            BooleanValue (boolean) --A Boolean data value.
            NumberValue (string) --A number data value.
            DatetimeValue (datetime) --A date and time value.
            IsImmutable (boolean) --Whether the attribute is mutable or not.
            Rules (dict) --Validation rules attached to the attribute definition.
            (string) --
            (dict) --Contains an Amazon Resource Name (ARN) and parameters that are associated with the rule.
            Type (string) --The type of attribute validation rule.
            Parameters (dict) --The minimum and maximum parameters that are associated with the rule.
            (string) --
            (string) --
            
            
            
            AttributeReference (dict) --An attribute reference that is associated with the attribute. See Attribute References for more information.
            TargetFacetName (string) -- [REQUIRED]The target facet name that is associated with the facet reference. See Attribute References for more information.
            TargetAttributeName (string) -- [REQUIRED]The target attribute name that is associated with the facet reference. See Attribute References for more information.
            RequiredBehavior (string) --The required behavior of the FacetAttribute .
            
            

    :type ObjectType: string
    :param ObjectType: [REQUIRED]
            Specifies whether a given object created from this facet is of type node, leaf node, policy or index.
            Node: Can have multiple children but one parent.
            Leaf node: Cannot have children but can have multiple parents.
            Policy: Allows you to store a policy document and policy type. For more information, see Policies .
            Index: Can be created with the Index API.
            

    :rtype: dict
    :return: {}
    
    
    :returns: 
    (dict) --
    
    """
    pass
