class Aws::CloudDirectory::Types::BatchWriteRequest

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

data as a hash:

    {
      directory_arn: "Arn", # required
      operations: [ # required
        {
          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] directory_arn

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

@!attribute [rw] operations

A list of operations that are part of the batch.
@return [Array<Types::BatchWriteOperation>]

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

Constants

SENSITIVE