CloudDirectory / Client / create_facet



Creates a new Facet in a schema. Facet creation is allowed only in development or applied schemas.

See also: AWS API Documentation

Request Syntax

response = client.create_facet(
            'Name': 'string',
            'AttributeDefinition': {
                'Type': 'STRING'|'BINARY'|'BOOLEAN'|'NUMBER'|'DATETIME'|'VARIANT',
                'DefaultValue': {
                    'StringValue': 'string',
                    'BinaryValue': b'bytes',
                    'BooleanValue': True|False,
                    'NumberValue': 'string',
                    'DatetimeValue': datetime(2015, 1, 1)
                'IsImmutable': True|False,
                'Rules': {
                    'string': {
                        'Parameters': {
                            'string': 'string'
            'AttributeReference': {
                'TargetFacetName': 'string',
                'TargetAttributeName': 'string'
            'RequiredBehavior': 'REQUIRED_ALWAYS'|'NOT_REQUIRED'
  • SchemaArn (string) –


    The schema ARN in which the new Facet will be created. For more information, see arns.

  • Name (string) –


    The name of the Facet, which is unique for a given schema.

  • Attributes (list) –

    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.

  • ObjectType (string) –

    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.

  • FacetStyle (string) – There are two different styles that you can define on any given facet, Static and Dynamic. For static facets, all attributes must be defined in the schema. For dynamic facets, attributes can be defined during data plane operations.

Return type:



Response Syntax


Response Structure

  • (dict) –


  • CloudDirectory.Client.exceptions.InternalServiceException

  • CloudDirectory.Client.exceptions.InvalidArnException

  • CloudDirectory.Client.exceptions.RetryableConflictException

  • CloudDirectory.Client.exceptions.ValidationException

  • CloudDirectory.Client.exceptions.LimitExceededException

  • CloudDirectory.Client.exceptions.AccessDeniedException

  • CloudDirectory.Client.exceptions.ResourceNotFoundException

  • CloudDirectory.Client.exceptions.FacetAlreadyExistsException

  • CloudDirectory.Client.exceptions.InvalidRuleException

  • CloudDirectory.Client.exceptions.FacetValidationException