> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nebius.com/llms.txt
> Use this file to discover all available pages before exploring further.

# nebius_storage_v1alpha1_transfer resource

## Schema

### Required

* `destination` (Attributes) (see [below for nested schema](#nestedatt--destination))
* `overwrite_strategy` (String) :

  Overwrite strategy set logic of overwrite already existed objects in destination bucket.

  #### Supported values

  Possible values:

  * `OVERWRITE_STRATEGY_UNSPECIFIED`

  * `NEVER`:
    Never overwrite objects that exist in the destination.
    If object exists in destination bucket, skip it.
    Safest option to prevent data loss.

  * `IF_NEWER`:
    Overwrite only if source object is newer than destination.
    Comparison based on Last-Modified timestamp.
    Recommended for incremental sync scenarios.

  * `ALWAYS`:
    Always overwrite destination objects unconditionally.
    Use with caution - may cause data loss in destination.
    Suitable for full bucket synchronization.
* `parent_id` (String) Identifier of the parent resource to which the resource belongs.
* `source` (Attributes) (see [below for nested schema](#nestedatt--source))

### Optional

* `after_n_empty_iterations` (Attributes) *Cannot be set alongside after\_one\_iteration or infinite.* (see [below for nested schema](#nestedatt--after_n_empty_iterations))
* `after_one_iteration` (Attributes) *Cannot be set alongside after\_n\_empty\_iterations or infinite.* (see [below for nested schema](#nestedatt--after_one_iteration))
* `infinite` (Attributes) :

  Infinite transfers do not stop automatically and can be stopped manually by the user.

  *Cannot be set alongside after\_one\_iteration or after\_n\_empty\_iterations.* (see [below for nested schema](#nestedatt--infinite))
* `inter_iteration_interval` (String) :

  Time to wait between transfer iterations. Default is 15 minutes if not specified.

  Duration as a string: possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as `300ms`, `-1.5h` or `2h45m`. Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`, `d`.
* `labels` (Map of String) Labels associated with the resource.
* `metadata` (Attributes) :

  #### Inner value description

  Common resource metadata. (see [below for nested schema](#nestedatt--metadata))
* `name` (String) Human readable name for the resource.
* `sensitive` (Attributes, Sensitive) This object mirrors the structure of the resource, providing view on the resource's [write-only](https://developer.hashicorp.com/terraform/language/resources/ephemeral/write-only) fields. It is a preferred way to define such fields as they are not stored in the state file. To use any field in write-only mode, do not set it in the main resource, instead set it in the `sensitive` object. Setting the field in the main resource will overwrite the field in the `sensitive` object at merging. (see [below for nested schema](#nestedatt--sensitive))

### Read-Only

* `created_at` (String) :

  Timestamp indicating when the resource was created.

  A string representing a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ` or `YYYY-MM-DDTHH:MM:SS.SSS±HH:MM`
* `id` (String) Identifier for the resource, unique for its resource type.
* `resource_version` (Number) :

  Version of the resource for safe concurrent modifications and consistent reads.
  Positive and monotonically increases on each resource spec change (but *not* on each change of the
  resource's container(s) or status).
  Service allows zero value or current.
* `status` (Attributes) (see [below for nested schema](#nestedatt--status))
* `updated_at` (String) :

  Timestamp indicating when the resource was last updated.

  A string representing a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ` or `YYYY-MM-DDTHH:MM:SS.SSS±HH:MM`

<a id="nestedatt--destination" />

### Nested Schema for `destination`

Required:

* `bucket_name` (String)

Optional:

* `credentials` (Attributes) :

  Credentials for accessing the destination bucket. These credentials must have head and write permissions.
  This parameter must be specified only during create operations. (see [below for nested schema](#nestedatt--destination--credentials))
* `endpoint` (String) :

  The endpoint must be in the form of a URL, starting with the protocol (https),
  followed by the endpoint address without a trailing slash.
  Example: [https://storage.us-central1.nebius.cloud](https://storage.us-central1.nebius.cloud)
* `prefix` (String) :

  Prefix to add to the beginning of each transferred object key in the destination bucket.
  During transfer, the resulting object key in the destination bucket is computed
  by removing source.prefix (if provided) from the original key and then prepending destination.prefix.
  Important: This transformation may result in an empty object key or one that exceeds allowed length limits.
  Use prefixes that guarantee valid resulting object keys for your objects after transformation.
* `region` (String)

<a id="nestedatt--destination--credentials" />

### Nested Schema for `destination.credentials`

Optional:

* `access_key` (Attributes) *Cannot be set alongside anonymous or azure\_access\_key.* (see [below for nested schema](#nestedatt--destination--credentials--access_key))
* `anonymous` (Attributes) *Cannot be set alongside access\_key or azure\_access\_key.* (see [below for nested schema](#nestedatt--destination--credentials--anonymous))
* `azure_access_key` (Attributes) *Cannot be set alongside anonymous or access\_key.* (see [below for nested schema](#nestedatt--destination--credentials--azure_access_key))

<a id="nestedatt--destination--credentials--access_key" />

### Nested Schema for `destination.credentials.access_key`

Optional:

* `access_key_id` (String, Sensitive)
* `secret_access_key` (String, Sensitive)

<a id="nestedatt--destination--credentials--anonymous" />

### Nested Schema for `destination.credentials.anonymous`

<a id="nestedatt--destination--credentials--azure_access_key" />

### Nested Schema for `destination.credentials.azure_access_key`

Optional:

* `access_key` (String, Sensitive)
* `account_name` (String, Sensitive)

<a id="nestedatt--source" />

### Nested Schema for `source`

Required:

* `bucket_name` (String)
* `endpoint` (String) :

  The endpoint must be in the form of a URL, starting with the protocol (https),
  followed by the endpoint address without a trailing slash.
  Example: [https://storage.us-central1.nebius.cloud](https://storage.us-central1.nebius.cloud)
* `region` (String)

Optional:

* `credentials` (Attributes) :

  Credentials for accessing the source bucket. These credentials must have list and get permissions.
  This parameter must be specified only during create operations. (see [below for nested schema](#nestedatt--source--credentials))
* `limiters` (Attributes) :

  Limiters applied to source bucket operations. These limits include all operations
  required for transfer (HeadObject, GetObject, ListObjects). For details about
  which operations are used, see public documentation: [http://docs.nebius.com/object-storage/transfer/quickstart#background](http://docs.nebius.com/object-storage/transfer/quickstart#background).

  Note: Since the service performs comparable request volumes and data transfers
  to both source and destination, these limits will indirectly constrain
  destination operations as well. (see [below for nested schema](#nestedatt--source--limiters))
* `prefix` (String) :

  Prefix to filter objects in the source bucket. Only objects whose keys start with this prefix will be transferred.
  During transfer, the resulting object key in the destination bucket is computed
  by removing source.prefix from the original key and then prepending destination.prefix (if provided).
  Important: This transformation may result in an empty object key or one that exceeds allowed length limits.
  Use prefixes that guarantee valid resulting object keys for your objects after transformation.

<a id="nestedatt--source--credentials" />

### Nested Schema for `source.credentials`

Optional:

* `access_key` (Attributes) *Cannot be set alongside anonymous or azure\_access\_key.* (see [below for nested schema](#nestedatt--source--credentials--access_key))
* `anonymous` (Attributes) *Cannot be set alongside access\_key or azure\_access\_key.* (see [below for nested schema](#nestedatt--source--credentials--anonymous))
* `azure_access_key` (Attributes) *Cannot be set alongside anonymous or access\_key.* (see [below for nested schema](#nestedatt--source--credentials--azure_access_key))

<a id="nestedatt--source--credentials--access_key" />

### Nested Schema for `source.credentials.access_key`

Optional:

* `access_key_id` (String, Sensitive)
* `secret_access_key` (String, Sensitive)

<a id="nestedatt--source--credentials--anonymous" />

### Nested Schema for `source.credentials.anonymous`

<a id="nestedatt--source--credentials--azure_access_key" />

### Nested Schema for `source.credentials.azure_access_key`

Optional:

* `access_key` (String, Sensitive)
* `account_name` (String, Sensitive)

<a id="nestedatt--source--limiters" />

### Nested Schema for `source.limiters`

Optional:

* `bandwidth_bytes_per_second` (Number) Maximum bandwidth in bytes per second. If set to zero, default limit will be applied.
* `requests_per_second` (Number) Maximum number of requests per second. If set to zero, default limit will be applied.

<a id="nestedatt--after_n_empty_iterations" />

### Nested Schema for `after_n_empty_iterations`

Required:

* `empty_iterations_threshold` (Number) Number of consecutive iterations with zero transferred objects required to stop transfer.

<a id="nestedatt--after_one_iteration" />

### Nested Schema for `after_one_iteration`

<a id="nestedatt--infinite" />

### Nested Schema for `infinite`

<a id="nestedatt--metadata" />

### Nested Schema for `metadata`

<a id="nestedatt--sensitive" />

### Nested Schema for `sensitive`

Optional:

* `destination` (Attributes) (see [below for nested schema](#nestedatt--sensitive--destination))
* `source` (Attributes) (see [below for nested schema](#nestedatt--sensitive--source))
* `version` (String) The version of the write-only fields combined. You can use a hash here, some number, or a version of the secret from which you pull the value, or you can concatenate all of that together. This field is not sent to the server, but it is stored in the state, so don't store raw secrets here. Changing this field will trigger an update of the resource even if no other fields are changed. Use of this field is not required, but if you do not use it, changes in write-only fields will not trigger updates of the resource by themselves and therefore might not be reflected.

<a id="nestedatt--sensitive--destination" />

### Nested Schema for `sensitive.destination`

Optional:

* `credentials` (Attributes) :

  Credentials for accessing the destination bucket. These credentials must have head and write permissions.
  This parameter must be specified only during create operations. (see [below for nested schema](#nestedatt--sensitive--destination--credentials))

<a id="nestedatt--sensitive--destination--credentials" />

### Nested Schema for `sensitive.destination.credentials`

Optional:

* `access_key` (Attributes) *Cannot be set alongside anonymous or azure\_access\_key.* (see [below for nested schema](#nestedatt--sensitive--destination--credentials--access_key))
* `azure_access_key` (Attributes) *Cannot be set alongside anonymous or access\_key.* (see [below for nested schema](#nestedatt--sensitive--destination--credentials--azure_access_key))

<a id="nestedatt--sensitive--destination--credentials--access_key" />

### Nested Schema for `sensitive.destination.credentials.access_key`

Optional:

* `access_key_id` (String, Sensitive, [Write-only](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments))
* `secret_access_key` (String, Sensitive, [Write-only](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments))

<a id="nestedatt--sensitive--destination--credentials--azure_access_key" />

### Nested Schema for `sensitive.destination.credentials.azure_access_key`

Optional:

* `access_key` (String, Sensitive, [Write-only](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments))
* `account_name` (String, Sensitive, [Write-only](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments))

<a id="nestedatt--sensitive--source" />

### Nested Schema for `sensitive.source`

Optional:

* `credentials` (Attributes) :

  Credentials for accessing the source bucket. These credentials must have list and get permissions.
  This parameter must be specified only during create operations. (see [below for nested schema](#nestedatt--sensitive--source--credentials))

<a id="nestedatt--sensitive--source--credentials" />

### Nested Schema for `sensitive.source.credentials`

Optional:

* `access_key` (Attributes) *Cannot be set alongside anonymous or azure\_access\_key.* (see [below for nested schema](#nestedatt--sensitive--source--credentials--access_key))
* `azure_access_key` (Attributes) *Cannot be set alongside anonymous or access\_key.* (see [below for nested schema](#nestedatt--sensitive--source--credentials--azure_access_key))

<a id="nestedatt--sensitive--source--credentials--access_key" />

### Nested Schema for `sensitive.source.credentials.access_key`

Optional:

* `access_key_id` (String, Sensitive, [Write-only](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments))
* `secret_access_key` (String, Sensitive, [Write-only](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments))

<a id="nestedatt--sensitive--source--credentials--azure_access_key" />

### Nested Schema for `sensitive.source.credentials.azure_access_key`

Optional:

* `access_key` (String, Sensitive, [Write-only](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments))
* `account_name` (String, Sensitive, [Write-only](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments))

<a id="nestedatt--status" />

### Nested Schema for `status`

Read-Only:

* `error` (String) Error information if the transfer has failed.
* `last_iteration` (Attributes) (see [below for nested schema](#nestedatt--status--last_iteration))
* `state` (String) :

  #### Supported values

  Possible values:

  * `STATE_UNSPECIFIED`
  * `ACTIVE`
  * `STOPPING`
  * `STOPPED`
  * `FAILING`
  * `FAILED`
* `suspension_state` (String) :

  #### Supported values

  Possible values:

  * `SUSPENSION_STATE_UNSPECIFIED`
  * `NOT_SUSPENDED`
  * `SUSPENDED`

<a id="nestedatt--status--last_iteration" />

### Nested Schema for `status.last_iteration`

Read-Only:

* `average_throughput_bytes` (Number)
* `end_time` (String) A string representing a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ` or `YYYY-MM-DDTHH:MM:SS.SSS±HH:MM`
* `error` (String) Human-readable error description. Populated only if state is FAILED.
* `objects_discovered_count` (Number)
* `objects_migrated_count` (Number)
* `objects_migrated_size` (Number)
* `objects_skipped_count` (Number)
* `sequence_number` (Number)
* `start_time` (String) A string representing a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ` or `YYYY-MM-DDTHH:MM:SS.SSS±HH:MM`
* `state` (String) :

  #### Supported values

  Possible values:

  * `STATE_UNSPECIFIED`
  * `IN_PROGRESS`
  * `COMPLETED`
  * `STOPPED`
  * `FAILED`
