The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Paws::CloudDirectory::CreateFacet - Arguments for method CreateFacet on Paws::CloudDirectory

DESCRIPTION

This class represents the parameters used for calling the method CreateFacet on the Amazon CloudDirectory service. Use the attributes of this class as arguments to method CreateFacet.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateFacet.

SYNOPSIS

    my $clouddirectory = Paws->service('CloudDirectory');
    my $CreateFacetResponse = $clouddirectory->CreateFacet(
      Name       => 'MyFacetName',
      SchemaArn  => 'MyArn',
      Attributes => [
        {
          Name                => 'MyAttributeName',    # min: 1, max: 230
          AttributeDefinition => {
            Type => 'STRING'
            ,    # values: STRING, BINARY, BOOLEAN, NUMBER, DATETIME, VARIANT
            DefaultValue => {
              BinaryValue   => 'BlobBinaryAttributeValue',    # OPTIONAL
              BooleanValue  => 1,                             # OPTIONAL
              DatetimeValue => '1970-01-01T01:00:00',         # OPTIONAL
              NumberValue   => 'MyNumberAttributeValue',      # OPTIONAL
              StringValue   => 'MyStringAttributeValue',      # OPTIONAL
            },    # OPTIONAL
            IsImmutable => 1,    # OPTIONAL
            Rules       => {
              'MyRuleKey' => {
                Parameters =>
                  { 'MyRuleParameterKey' => 'MyRuleParameterValue', }
                ,    # OPTIONAL
                Type => 'BINARY_LENGTH'
                , # values: BINARY_LENGTH, NUMBER_COMPARISON, STRING_FROM_SET, STRING_LENGTH; OPTIONAL
              },    # key: min: 1, max: 64
            },    # OPTIONAL
          },    # OPTIONAL
          AttributeReference => {
            TargetAttributeName => 'MyAttributeName',    # min: 1, max: 230
            TargetFacetName     => 'MyFacetName',        # min: 1, max: 64

          },    # OPTIONAL
          RequiredBehavior =>
            'REQUIRED_ALWAYS', # values: REQUIRED_ALWAYS, NOT_REQUIRED; OPTIONAL
        },
        ...
      ],    # OPTIONAL
      FacetStyle => 'STATIC',    # OPTIONAL
      ObjectType => 'NODE',      # OPTIONAL
    );

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/clouddirectory/CreateFacet

ATTRIBUTES

Attributes => ArrayRef[Paws::CloudDirectory::FacetAttribute]

The attributes that are associated with the Facet.

FacetStyle => Str

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.

Valid values are: "STATIC", "DYNAMIC"

REQUIRED Name => Str

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

ObjectType => Str

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 (https://docs.aws.amazon.com/clouddirectory/latest/developerguide/key_concepts_directory.html#key_concepts_policies).

  • Index: Can be created with the Index API.

Valid values are: "NODE", "LEAF_NODE", "POLICY", "INDEX"

REQUIRED SchemaArn => Str

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

SEE ALSO

This class forms part of Paws, documenting arguments for method CreateFacet in Paws::CloudDirectory

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues