Skip to main content

Attach an object store to an aggregate or add a second object store as a mirror

Contributors

POST /storage/aggregates/{aggregate.uuid}/cloud-stores

Introduced In: 9.6

Attaches an object store to an aggregate, or adds a second object store as a mirror.

Required properties

  • target.uuid or target.name - UUID or name of the cloud target.

  • primary - true if the object store is primary or false if it is a mirror.

  • allow_flexgroups - Allow attaching object store to an aggregate containing FlexGroup constituents.

  • check_only - Validate only and do not add the cloud store.

Default property values

  • primary - true

  • allow_flexgroups - false

  • check_only - false

  • storage aggregate object-store attach

  • storage aggregate object-store mirror

Parameters

Name Type In Required Description

aggregate.uuid

string

path

True

Aggregate UUID

allow_flexgroups

boolean

query

False

This optional parameter allows attaching object store to an aggregate containing FlexGroup constituents. The default value is false. Mixing FabricPools and non-FabricPools within a FlexGroup is not recommended. All aggregates hosting constituents of a FlexGroup should be attached to the object store.

check_only

boolean

query

False

Validate only and do not add the cloud store.

return_timeout

integer

query

False

The number of seconds to allow the call to execute before returning. When doing a POST, PATCH, or DELETE operation on a single record, the default is 0 seconds. This means that if an asynchronous operation is started, the server immediately returns HTTP code 202 (Accepted) along with a link to the job. If a non-zero value is specified for POST, PATCH, or DELETE operations, ONTAP waits that length of time to see if the job completes so it can return something other than 202.

  • Default value: 1

  • Max value: 120

  • Min value: 0

return_records

boolean

query

False

The default is false. If set to true, the records are returned.

  • Default value:

Request Body

Name Type Description

_links

_links

aggregate

aggregate

Aggregate

availability

string

Availability of the object store.

mirror_degraded

boolean

This field identifies if the mirror cloud store is in sync with the primary cloud store of a FabricPool.

primary

boolean

This field indicates whether the cloud store is the primary cloud store of a mirrored FabricPool.

resync-progress

integer

Resync progress of the mirror object store in percentage.

target

target

Cloud target

unavailable_reason

unavailable_reason

unreclaimed_space_threshold

integer

Usage threshold for reclaiming unused space in the cloud store. Valid values are 0 to 99. The default value depends on the provider type. This can be specified in PATCH but not POST.

used

integer

The amount of object space used. Calculated every 5 minutes and cached.

Example request
{
  "_links": {
    "self": {
      "href": "/api/resourcelink"
    }
  },
  "aggregate": {
    "name": "aggr1"
  },
  "availability": "available",
  "resync-progress": 0,
  "target": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "name": "target1",
    "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
  },
  "unavailable_reason": {
    "message": "string"
  },
  "unreclaimed_space_threshold": 20,
  "used": 0
}

Response

Status: 202, Accepted
Name Type Description

job

job_link

Example response
{
  "job": {
    "_links": {
      "self": {
        "href": "/api/resourcelink"
      }
    },
    "uuid": "string"
  }
}

Headers

Name Description Type

Location

Useful for tracking the resource location

string

Response

Status: 201, Created

Error

Status: Default

ONTAP Error Response Codes

Error Code Description

787143

Object store is already attached to FabricPool.

787144

Aggregate is not a FabricPool.

787205

The operation failed because the previous unmirror operation on the aggregate is still in progress. Check that the previous unmirror operation is complete and try the command again.

787218

The specified object store does not exist.

7209876

Aggregate is already a FabricPool Aggregate.

Also see the table of common errors in the Response body overview section of this documentation.

Name Type Description

error

returned_error

Example error
{
  "error": {
    "arguments": {
      "code": "string",
      "message": "string"
    },
    "code": "4",
    "message": "entry doesn't exist",
    "target": "uuid"
  }
}

Definitions

See Definitions

href

Name Type Description

href

string

Name Type Description

self

href

aggregate

Aggregate

Name Type Description

name

string

target

Cloud target

Name Type Description

_links

_links

name

string

uuid

string

unavailable_reason

Name Type Description

message

string

Indicates why the object store is unavailable.

cloud_store

Name Type Description

_links

_links

aggregate

aggregate

Aggregate

availability

string

Availability of the object store.

mirror_degraded

boolean

This field identifies if the mirror cloud store is in sync with the primary cloud store of a FabricPool.

primary

boolean

This field indicates whether the cloud store is the primary cloud store of a mirrored FabricPool.

resync-progress

integer

Resync progress of the mirror object store in percentage.

target

target

Cloud target

unavailable_reason

unavailable_reason

unreclaimed_space_threshold

integer

Usage threshold for reclaiming unused space in the cloud store. Valid values are 0 to 99. The default value depends on the provider type. This can be specified in PATCH but not POST.

used

integer

The amount of object space used. Calculated every 5 minutes and cached.

Name Type Description

_links

_links

uuid

string

The UUID of the asynchronous job that is triggered by a POST, PATCH, or DELETE operation.

error_arguments

Name Type Description

code

string

Argument code

message

string

Message argument

returned_error

Name Type Description

arguments

array[error_arguments]

Message arguments

code

string

Error code

message

string

Error message

target

string

The target parameter that caused the error.