Content Library migrate

Content Library migrate

Migrates the library content from current storage backing to specified storage backing.

The only supported Content Library StorageBacking.type is DATASTORE for both source and target storage backing. Migrating Virtual machine template items is not supported.

This will trigger a migration task which goes through phases of migration.

    1. Migration Pre-checks
    1. Content Migration
    1. Post Migration

There will be set of pre-checks before starting content migration that prepares the library for migration, any failures in pre-checks phase will stop the task, failure will be returned.

On successful pre-checks, Library would be put in to MAINTENANCE state and actual content migration phase starts. Content migration involve copying contents from source datastore to target datastore. During the content migration phase, any operations that alter the Library content or its use are restricted to avoid conflicts. On successfully copying contents to target datastore, library metadata in the database will be updated to repoint to the target datastore.

Post migration, Library is transitioned back to ACTIVE state. Any failures in Migration will be reported. Cleanup of library content on datastore happens in this phase. This would be source datastore on successful migration, target datastore on failure case.

In case of published library with PublishInfo#persistJsonEnabled flag, publisher metadata json files will also be migrated to target datastore.

This operation was added in vSphere API 9.0.0.0.

Returns an authorization error if you do not have all of the privileges described as follows:

  • The resource com.vmware.content.Library referenced by the parameter libraryId requires ContentLibrary.MigrateLibrary.
Request
URI
POST
https://{api_host}/api/content/library/{libraryId}?action=migrate
COPY
Path Parameters
string
libraryId
Required

Identifier of the local, published or subscribed content library.

The parameter must be an identifier for the resource type: com.vmware.content.Library.


Request Body

Specificaton containing storage backing to migrate this library to.

Content Library MigrateSpec of type(s) application/json
Required

Show optional properties

{
    "storage_backings": [
        {}
    ]
}
{
    "storage_backings": [
        {
            "type": "string",
            "datastore_id": "string",
            "storage_uri": "string"
        }
    ]
}
array of object
storage_backings
Required

This value can be used to set the Content LibraryModel.storage_backings property as the storage backing target to migrate the library to.

Multiple default storage locations are not currently supported but may become supported in future releases.

This property was added in vSphere API 9.0.0.0.

Authentication
This operation uses the following authentication methods.
Responses
204

Success!

Operation doesn't return any data structure

400

Vapi Std Errors InvalidArgument If one or more Content Library MigrateSpec.storage_backings specifed in migrateSpec is not valid.

Vapi Std Errors NotAllowedInCurrentState If the library specified by libraryId already being migrated or blocked by condition that do not allow start of migration.

Vapi Std Errors AlreadyInDesiredState If the storage backing of library specified by libraryId is same as specified in migrateSpec target storage backing.

Vapi Std Errors Unsupported If the storage backing type of library specified by libraryId or storage backing type of Content Library MigrateSpec.storage_backings specifed in migrateSpec are not supported for migration.

Returns Vapi Std Errors Error of type(s) application/json
"Vapi Std Errors Error Object"
array of object
messages
Required

Stack of one or more localizable messages for human error consumers.

The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked.

Each subsequent message in the stack describes the "cause" of the prior message.

object
data
Optional

Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully.

Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports.

The Vapi Std Errors ArgumentLocations, Vapi Std Errors FileLocations, and Vapi Std Errors TransientIndication schemas are intended as possible values for this property. Vapi Std DynamicID may also be useful as a value for this property (although that is not its primary purpose). Some resources may provide their own specific schemas for use as the value of this property when reporting errors from their operations.

Some operations will not set this property when reporting errors.

string
error_type
Required

Discriminator field to help API consumers identify the structure type.

For more information see: Vapi Std Errors Error Type.

This property was added in vSphere API 6.7.2.

Can be missing or null for compatibility with preceding implementations.


401

If the user that requested the operation cannot be authenticated.

Returns Vapi Std Errors Unauthenticated of type(s) application/json
This response body class contains all of the following: InlineVapi Std Errors Unauthenticated0
"Vapi Std Errors Unauthenticated Object"
string
challenge
Optional

Indicates the authentication challenges applicable to the target API provider. It can be used by a client to discover the correct authentication scheme to use. The exact syntax of the value is defined by the specific provider, the protocol and authentication schemes used.

For example, a provider using REST may adhere to the WWW-Authenticate HTTP header specification, RFC7235, section 4.1. In this case an example challenge value may be: SIGN realm="27da1358-2ba4-11e9-b210-d663bd873d93",sts="http://vcenter/sso?vsphere.local", Basic realm="vCenter"

This property was added in vSphere API 7.0.0.0.

This property is optional because it was added in a newer version than its parent node.


403

If the user that requested the operation is not authorized to perform the operation.

Returns Vapi Std Errors Unauthorized of type(s) application/json
This response body class contains all of the following: InlineVapi Std Errors Unauthorized0
"Vapi Std Errors Unauthorized Object"

404

If the library specified by libraryId does not exist.

Returns Vapi Std Errors NotFound of type(s) application/json
This response body class contains all of the following: InlineVapi Std Errors NotFound0
"Vapi Std Errors NotFound Object"

500

If the system reports an error while responding to the request.

Returns Vapi Std Errors Error of type(s) application/json
"Vapi Std Errors Error Object"
array of object
messages
Required

Stack of one or more localizable messages for human error consumers.

The message at the top of the stack (first in the list) describes the error from the perspective of the operation the client invoked.

Each subsequent message in the stack describes the "cause" of the prior message.

object
data
Optional

Data to facilitate clients responding to the operation reporting a standard error to indicating that it was unable to complete successfully.

Operations may provide data that clients can use when responding to errors. Since the data that clients need may be specific to the context of the operation reporting the error, different operations that report the same error may provide different data in the error. The documentation for each each operation will describe what, if any, data it provides for each error it reports.

The Vapi Std Errors ArgumentLocations, Vapi Std Errors FileLocations, and Vapi Std Errors TransientIndication schemas are intended as possible values for this property. Vapi Std DynamicID may also be useful as a value for this property (although that is not its primary purpose). Some resources may provide their own specific schemas for use as the value of this property when reporting errors from their operations.

Some operations will not set this property when reporting errors.

string
error_type
Required

Discriminator field to help API consumers identify the structure type.

For more information see: Vapi Std Errors Error Type.

This property was added in vSphere API 6.7.2.

Can be missing or null for compatibility with preceding implementations.


Code Samples
COPY
                    curl -X POST -H 'Authorization: <value>' -H 'Content-Type: application/json' -d '{"storage_backings":["object"]}' https://{api_host}/api/content/library/{libraryId}?action=migrate