NAME

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

DESCRIPTION

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

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

SYNOPSIS

my $clouddirectory = Paws->service('CloudDirectory');
my $BatchWriteResponse = $clouddirectory->BatchWrite(
  DirectoryArn => 'MyArn',
  Operations   => [
    {
      AddFacetToObject => {
        ObjectAttributeList => [
          {
            Key => {
              FacetName => 'MyFacetName',        # min: 1, max: 64
              Name      => 'MyAttributeName',    # min: 1, max: 230
              SchemaArn => 'MyArn',

            },
            Value => {
              BinaryValue   => 'BlobBinaryAttributeValue',    # OPTIONAL
              BooleanValue  => 1,                             # OPTIONAL
              DatetimeValue => '1970-01-01T01:00:00',         # OPTIONAL
              NumberValue   => 'MyNumberAttributeValue',      # OPTIONAL
              StringValue   => 'MyStringAttributeValue',      # OPTIONAL
            },

          },
          ...
        ],
        ObjectReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },
        SchemaFacet => {
          FacetName => 'MyFacetName',                 # min: 1, max: 64
          SchemaArn => 'MyArn',
        },

      },    # OPTIONAL
      AttachObject => {
        ChildReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },
        LinkName        => 'MyLinkName',              # min: 1, max: 64
        ParentReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },

      },    # OPTIONAL
      AttachPolicy => {
        ObjectReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },
        PolicyReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },

      },    # OPTIONAL
      AttachToIndex => {
        IndexReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },
        TargetReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },

      },    # OPTIONAL
      AttachTypedLink => {
        Attributes => [
          {
            AttributeName => 'MyAttributeName',    # min: 1, max: 230
            Value         => {
              BinaryValue   => 'BlobBinaryAttributeValue',    # OPTIONAL
              BooleanValue  => 1,                             # OPTIONAL
              DatetimeValue => '1970-01-01T01:00:00',         # OPTIONAL
              NumberValue   => 'MyNumberAttributeValue',      # OPTIONAL
              StringValue   => 'MyStringAttributeValue',      # OPTIONAL
            },

          },
          ...
        ],
        SourceObjectReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },
        TargetObjectReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },
        TypedLinkFacet => {
          SchemaArn     => 'MyArn',
          TypedLinkName => 'MyTypedLinkName',

        },

      },    # OPTIONAL
      CreateIndex => {
        IsUnique                    => 1,
        OrderedIndexedAttributeList => [
          {
            FacetName => 'MyFacetName',        # min: 1, max: 64
            Name      => 'MyAttributeName',    # min: 1, max: 230
            SchemaArn => 'MyArn',

          },
          ...
        ],
        BatchReferenceName => 'MyBatchReferenceName',    # OPTIONAL
        LinkName           => 'MyLinkName',              # min: 1, max: 64
        ParentReference    => {
          Selector => 'MySelectorObjectReference',       # OPTIONAL
        },
      },    # OPTIONAL
      CreateObject => {
        ObjectAttributeList => [
          {
            Key => {
              FacetName => 'MyFacetName',        # min: 1, max: 64
              Name      => 'MyAttributeName',    # min: 1, max: 230
              SchemaArn => 'MyArn',

            },
            Value => {
              BinaryValue   => 'BlobBinaryAttributeValue',    # OPTIONAL
              BooleanValue  => 1,                             # OPTIONAL
              DatetimeValue => '1970-01-01T01:00:00',         # OPTIONAL
              NumberValue   => 'MyNumberAttributeValue',      # OPTIONAL
              StringValue   => 'MyStringAttributeValue',      # OPTIONAL
            },

          },
          ...
        ],
        SchemaFacet => [
          {
            FacetName => 'MyFacetName',    # min: 1, max: 64
            SchemaArn => 'MyArn',
          },
          ...
        ],
        BatchReferenceName => 'MyBatchReferenceName',    # OPTIONAL
        LinkName           => 'MyLinkName',              # min: 1, max: 64
        ParentReference    => {
          Selector => 'MySelectorObjectReference',       # OPTIONAL
        },
      },    # OPTIONAL
      DeleteObject => {
        ObjectReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },

      },    # OPTIONAL
      DetachFromIndex => {
        IndexReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },
        TargetReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },

      },    # OPTIONAL
      DetachObject => {
        LinkName        => 'MyLinkName',    # min: 1, max: 64
        ParentReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },
        BatchReferenceName => 'MyBatchReferenceName',    # OPTIONAL
      },    # OPTIONAL
      DetachPolicy => {
        ObjectReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },
        PolicyReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },

      },    # OPTIONAL
      DetachTypedLink => {
        TypedLinkSpecifier => {
          IdentityAttributeValues => [
            {
              AttributeName => 'MyAttributeName',    # min: 1, max: 230
              Value         => {
                BinaryValue   => 'BlobBinaryAttributeValue',    # OPTIONAL
                BooleanValue  => 1,                             # OPTIONAL
                DatetimeValue => '1970-01-01T01:00:00',         # OPTIONAL
                NumberValue   => 'MyNumberAttributeValue',      # OPTIONAL
                StringValue   => 'MyStringAttributeValue',      # OPTIONAL
              },

            },
            ...
          ],
          SourceObjectReference => {
            Selector => 'MySelectorObjectReference',    # OPTIONAL
          },
          TargetObjectReference => {
            Selector => 'MySelectorObjectReference',    # OPTIONAL
          },
          TypedLinkFacet => {
            SchemaArn     => 'MyArn',
            TypedLinkName => 'MyTypedLinkName',

          },

        },

      },    # OPTIONAL
      RemoveFacetFromObject => {
        ObjectReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },
        SchemaFacet => {
          FacetName => 'MyFacetName',                 # min: 1, max: 64
          SchemaArn => 'MyArn',
        },

      },    # OPTIONAL
      UpdateLinkAttributes => {
        AttributeUpdates => [
          {
            AttributeAction => {
              AttributeActionType => 'CREATE_OR_UPDATE'
              ,    # values: CREATE_OR_UPDATE, DELETE; OPTIONAL
              AttributeUpdateValue => {
                BinaryValue   => 'BlobBinaryAttributeValue',    # OPTIONAL
                BooleanValue  => 1,                             # OPTIONAL
                DatetimeValue => '1970-01-01T01:00:00',         # OPTIONAL
                NumberValue   => 'MyNumberAttributeValue',      # OPTIONAL
                StringValue   => 'MyStringAttributeValue',      # OPTIONAL
              },
            },    # OPTIONAL
            AttributeKey => {
              FacetName => 'MyFacetName',        # min: 1, max: 64
              Name      => 'MyAttributeName',    # min: 1, max: 230
              SchemaArn => 'MyArn',

            },
          },
          ...
        ],
        TypedLinkSpecifier => {
          IdentityAttributeValues => [
            {
              AttributeName => 'MyAttributeName',    # min: 1, max: 230
              Value         => {
                BinaryValue   => 'BlobBinaryAttributeValue',    # OPTIONAL
                BooleanValue  => 1,                             # OPTIONAL
                DatetimeValue => '1970-01-01T01:00:00',         # OPTIONAL
                NumberValue   => 'MyNumberAttributeValue',      # OPTIONAL
                StringValue   => 'MyStringAttributeValue',      # OPTIONAL
              },

            },
            ...
          ],
          SourceObjectReference => {
            Selector => 'MySelectorObjectReference',    # OPTIONAL
          },
          TargetObjectReference => {
            Selector => 'MySelectorObjectReference',    # OPTIONAL
          },
          TypedLinkFacet => {
            SchemaArn     => 'MyArn',
            TypedLinkName => 'MyTypedLinkName',

          },

        },

      },    # OPTIONAL
      UpdateObjectAttributes => {
        AttributeUpdates => [
          {
            ObjectAttributeAction => {
              ObjectAttributeActionType => 'CREATE_OR_UPDATE'
              ,    # values: CREATE_OR_UPDATE, DELETE; OPTIONAL
              ObjectAttributeUpdateValue => {
                BinaryValue   => 'BlobBinaryAttributeValue',    # OPTIONAL
                BooleanValue  => 1,                             # OPTIONAL
                DatetimeValue => '1970-01-01T01:00:00',         # OPTIONAL
                NumberValue   => 'MyNumberAttributeValue',      # OPTIONAL
                StringValue   => 'MyStringAttributeValue',      # OPTIONAL
              },
            },    # OPTIONAL
            ObjectAttributeKey => {
              FacetName => 'MyFacetName',        # min: 1, max: 64
              Name      => 'MyAttributeName',    # min: 1, max: 230
              SchemaArn => 'MyArn',

            },
          },
          ...
        ],
        ObjectReference => {
          Selector => 'MySelectorObjectReference',    # OPTIONAL
        },

      },    # OPTIONAL
    },
    ...
  ],

);

# Results:
my $Responses = $BatchWriteResponse->Responses;

# Returns a L<Paws::CloudDirectory::BatchWriteResponse> object.

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/BatchWrite

ATTRIBUTES

REQUIRED DirectoryArn => Str

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

REQUIRED Operations => ArrayRef[Paws::CloudDirectory::BatchWriteOperation]

A list of operations that are part of the batch.

SEE ALSO

This class forms part of Paws, documenting arguments for method BatchWrite 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