class Aws::CloudDirectory::Types::BatchWriteOperation

Represents the output of a `BatchWrite` operation.

@note When making an API call, you may pass BatchWriteOperation

data as a hash:

    {
      create_object: {
        schema_facet: [ # required
          {
            schema_arn: "Arn",
            facet_name: "FacetName",
          },
        ],
        object_attribute_list: [ # required
          {
            key: { # required
              schema_arn: "Arn", # required
              facet_name: "FacetName", # required
              name: "AttributeName", # required
            },
            value: { # required
              string_value: "StringAttributeValue",
              binary_value: "data",
              boolean_value: false,
              number_value: "NumberAttributeValue",
              datetime_value: Time.now,
            },
          },
        ],
        parent_reference: {
          selector: "SelectorObjectReference",
        },
        link_name: "LinkName",
        batch_reference_name: "BatchReferenceName",
      },
      attach_object: {
        parent_reference: { # required
          selector: "SelectorObjectReference",
        },
        child_reference: { # required
          selector: "SelectorObjectReference",
        },
        link_name: "LinkName", # required
      },
      detach_object: {
        parent_reference: { # required
          selector: "SelectorObjectReference",
        },
        link_name: "LinkName", # required
        batch_reference_name: "BatchReferenceName",
      },
      update_object_attributes: {
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
        attribute_updates: [ # required
          {
            object_attribute_key: {
              schema_arn: "Arn", # required
              facet_name: "FacetName", # required
              name: "AttributeName", # required
            },
            object_attribute_action: {
              object_attribute_action_type: "CREATE_OR_UPDATE", # accepts CREATE_OR_UPDATE, DELETE
              object_attribute_update_value: {
                string_value: "StringAttributeValue",
                binary_value: "data",
                boolean_value: false,
                number_value: "NumberAttributeValue",
                datetime_value: Time.now,
              },
            },
          },
        ],
      },
      delete_object: {
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
      },
      add_facet_to_object: {
        schema_facet: { # required
          schema_arn: "Arn",
          facet_name: "FacetName",
        },
        object_attribute_list: [ # required
          {
            key: { # required
              schema_arn: "Arn", # required
              facet_name: "FacetName", # required
              name: "AttributeName", # required
            },
            value: { # required
              string_value: "StringAttributeValue",
              binary_value: "data",
              boolean_value: false,
              number_value: "NumberAttributeValue",
              datetime_value: Time.now,
            },
          },
        ],
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
      },
      remove_facet_from_object: {
        schema_facet: { # required
          schema_arn: "Arn",
          facet_name: "FacetName",
        },
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
      },
      attach_policy: {
        policy_reference: { # required
          selector: "SelectorObjectReference",
        },
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
      },
      detach_policy: {
        policy_reference: { # required
          selector: "SelectorObjectReference",
        },
        object_reference: { # required
          selector: "SelectorObjectReference",
        },
      },
      create_index: {
        ordered_indexed_attribute_list: [ # required
          {
            schema_arn: "Arn", # required
            facet_name: "FacetName", # required
            name: "AttributeName", # required
          },
        ],
        is_unique: false, # required
        parent_reference: {
          selector: "SelectorObjectReference",
        },
        link_name: "LinkName",
        batch_reference_name: "BatchReferenceName",
      },
      attach_to_index: {
        index_reference: { # required
          selector: "SelectorObjectReference",
        },
        target_reference: { # required
          selector: "SelectorObjectReference",
        },
      },
      detach_from_index: {
        index_reference: { # required
          selector: "SelectorObjectReference",
        },
        target_reference: { # required
          selector: "SelectorObjectReference",
        },
      },
      attach_typed_link: {
        source_object_reference: { # required
          selector: "SelectorObjectReference",
        },
        target_object_reference: { # required
          selector: "SelectorObjectReference",
        },
        typed_link_facet: { # required
          schema_arn: "Arn", # required
          typed_link_name: "TypedLinkName", # required
        },
        attributes: [ # required
          {
            attribute_name: "AttributeName", # required
            value: { # required
              string_value: "StringAttributeValue",
              binary_value: "data",
              boolean_value: false,
              number_value: "NumberAttributeValue",
              datetime_value: Time.now,
            },
          },
        ],
      },
      detach_typed_link: {
        typed_link_specifier: { # required
          typed_link_facet: { # required
            schema_arn: "Arn", # required
            typed_link_name: "TypedLinkName", # required
          },
          source_object_reference: { # required
            selector: "SelectorObjectReference",
          },
          target_object_reference: { # required
            selector: "SelectorObjectReference",
          },
          identity_attribute_values: [ # required
            {
              attribute_name: "AttributeName", # required
              value: { # required
                string_value: "StringAttributeValue",
                binary_value: "data",
                boolean_value: false,
                number_value: "NumberAttributeValue",
                datetime_value: Time.now,
              },
            },
          ],
        },
      },
      update_link_attributes: {
        typed_link_specifier: { # required
          typed_link_facet: { # required
            schema_arn: "Arn", # required
            typed_link_name: "TypedLinkName", # required
          },
          source_object_reference: { # required
            selector: "SelectorObjectReference",
          },
          target_object_reference: { # required
            selector: "SelectorObjectReference",
          },
          identity_attribute_values: [ # required
            {
              attribute_name: "AttributeName", # required
              value: { # required
                string_value: "StringAttributeValue",
                binary_value: "data",
                boolean_value: false,
                number_value: "NumberAttributeValue",
                datetime_value: Time.now,
              },
            },
          ],
        },
        attribute_updates: [ # required
          {
            attribute_key: {
              schema_arn: "Arn", # required
              facet_name: "FacetName", # required
              name: "AttributeName", # required
            },
            attribute_action: {
              attribute_action_type: "CREATE_OR_UPDATE", # accepts CREATE_OR_UPDATE, DELETE
              attribute_update_value: {
                string_value: "StringAttributeValue",
                binary_value: "data",
                boolean_value: false,
                number_value: "NumberAttributeValue",
                datetime_value: Time.now,
              },
            },
          },
        ],
      },
    }

@!attribute [rw] create_object

Creates an object.
@return [Types::BatchCreateObject]

@!attribute [rw] attach_object

Attaches an object to a Directory.
@return [Types::BatchAttachObject]

@!attribute [rw] detach_object

Detaches an object from a Directory.
@return [Types::BatchDetachObject]

@!attribute [rw] update_object_attributes

Updates a given object's attributes.
@return [Types::BatchUpdateObjectAttributes]

@!attribute [rw] delete_object

Deletes an object in a Directory.
@return [Types::BatchDeleteObject]

@!attribute [rw] add_facet_to_object

A batch operation that adds a facet to an object.
@return [Types::BatchAddFacetToObject]

@!attribute [rw] remove_facet_from_object

A batch operation that removes a facet from an object.
@return [Types::BatchRemoveFacetFromObject]

@!attribute [rw] attach_policy

Attaches a policy object to a regular object. An object can have a
limited number of attached policies.
@return [Types::BatchAttachPolicy]

@!attribute [rw] detach_policy

Detaches a policy from a Directory.
@return [Types::BatchDetachPolicy]

@!attribute [rw] create_index

Creates an index object. See [Indexing and search][1] for more
information.

[1]: https://docs.aws.amazon.com/clouddirectory/latest/developerguide/indexing_search.htm
@return [Types::BatchCreateIndex]

@!attribute [rw] attach_to_index

Attaches the specified object to the specified index.
@return [Types::BatchAttachToIndex]

@!attribute [rw] detach_from_index

Detaches the specified object from the specified index.
@return [Types::BatchDetachFromIndex]

@!attribute [rw] attach_typed_link

Attaches a typed link to a specified source and target object. For
more information, see [Typed Links][1].

[1]: https://docs.aws.amazon.com/clouddirectory/latest/developerguide/directory_objects_links.html#directory_objects_links_typedlink
@return [Types::BatchAttachTypedLink]

@!attribute [rw] detach_typed_link

Detaches a typed link from a specified source and target object. For
more information, see [Typed Links][1].

[1]: https://docs.aws.amazon.com/clouddirectory/latest/developerguide/directory_objects_links.html#directory_objects_links_typedlink
@return [Types::BatchDetachTypedLink]

@!attribute [rw] update_link_attributes

Updates a given object's attributes.
@return [Types::BatchUpdateLinkAttributes]

@see docs.aws.amazon.com/goto/WebAPI/clouddirectory-2017-01-11/BatchWriteOperation AWS API Documentation

Constants

SENSITIVE