APIs in Category: storage-service |
API version 6.1 |
storage-service-cleanup |
Storage service is a user-created entity that defines the properties for data protection in terms of a service topology. Storage service specifies the replication topology and how to provision storage for each non-primary node in the topology. Volumes can be subscribed to the storage service in order to create one or more SnapMirror relationships. |
storage-service-cleanup | [top] |
Users can invoke this API when they feel no more need to maintain the member artifacts for any kind of restore purposes. Specified members must not have any active subscriptions. For every specified member, all the relevant data protection relationships and relevant provisioned storage objects are removed from the storage service. Users may also opt to destroy these artifacts from the storage system.
Input Name Range Type Description keep-storage-artifacts boolean
optional
If true, protection artifacts are removed only from storage service but not destroyed from storage system. If false, protection artifacts are removed from the storage service and destroyed from storage system as well. Default is true. members resource-key[]
optional
Resource keys of the members to clean up. Members must belong to the root node of the storage service, otherwise E_MEMBER_NOT_IN_REQUIRED_NODE error is returned. If specified and 'storage-service-nodes' input is not provided, members should not have any active subscriptions with the storage service, otherwise an E_OBJECT_CURRENTLY_SUBSCRIBED error is returned. If an empty list is provided or this input is not provided, and 'storage-service-nodes' input is absent, then all the unsubscribed members will be cleaned up from the storage service. storage-service-nodes resource-key[]
optional
Resource keys of the nodes of the storage service, from which the protection artifacts should be removed. If this input is provided, protection artifacts are cleaned up regardless of whether the member has subscription or not. Each node in this list must be a non-root node of the storage service, otherwise an EINVALIDINPUT error will be returned. If provided and 'members' input is not provided, protection artifacts of all the members are removed only from the specified nodes and all their downstream nodes of the storage service. If provided, and 'members' input is also provided, protection artifacts of the input 'members' are removed only from the specified nodes and all their downstream nodes of the storage service. storage-service-resource-key resource-key
Resource key of the storage service. Output Name Range Type Description job-id job-id
Object-id of the job created by this API call. The job's task list is a manifest that expresses the set of different tasks and the sequence in which they will be executed in order to accomplish a high level workflow.
Errno Description EOBJECTNOTFOUND EINVALIDINPUT E_OBJECT_CURRENTLY_SUBSCRIBED E_MEMBER_NOT_IN_REQUIRED_NODE E_STORAGE_SERVICE_LOCKED
storage-service-conform | [top] |
Checks configuration on members of a storage service. This API runs an on-demand check on one or more members of the storage service to bring the storage system configuration into conformance with the strategy defined by the storage service. A configuration check determines the volumes' current conformance status and the set of "actions" needed to make them conformant. Then this API starts the actions to bring the storage system configuration into conformance. Successful completion of this API indicates that "corrective" conformance actions are started though not necessarily completed.
Input Name Range Type Description members resource-key[]
optional
Resource keys of the member-objects on which to check conformance. Members must belong to the root node of the storage service. Members should have at least one active subscription with the storage service, otherwise E_OBJECT_NOT_SUBSCRIBED error is returned. If an empty list is provided or this input is not provided, conformance check will run on all the subscribed members of the storage service. If a subscription-context is specified as input then 'members' input must not be provided or must be empty. storage-service-resource-key resource-key
Resource key of the storage service. subscription-context string
optional
An optional client-defined string used to tag client-associated members when subscribing them to a storage service. Members that are subscribed to a storage service via subscription-context can be specified with the subscription-context element or individually by their members element when APIs are called that require identification of the storage service members they affect. An API call cannot have both the subscription-context element and the members element as inputs. If subscription-context is specified for a storage-service-conform API call, only the members subscribed via that specific context are checked. This value can be a maximum of 255 characters. Output Name Range Type Description job-id job-id
Object-id of the job created by this API call. The job's task list is a manifest that expresses the set of different tasks and the sequence in which they are executed in order to accomplish a high level workflow.
Errno Description EOBJECTNOTFOUND E_OBJECT_NOT_SUBSCRIBED E_CONTEXT_NOT_FOUND EINVALIDINPUT E_STORAGE_SERVICE_MARKED_FOR_DELETION E_STORAGE_SERVICE_LOCKED
storage-service-create | [top] |
Creates a new storage service by specifying protection and provisioning strategy.
Input Name Range Type Description storage-service-client-tag string
Arbitrary string describing the name of the client program that is creating the storage service. This value can be a maximum of 32 characters. storage-service-contact-list email-address[]
optional
List of contact email addresses, each of which can be no longer than 255 characters. storage-service-description string
optional
Description of the new storage service. This value can be a maximum of 255 characters. storage-service-name obj-name
Name of the new storage service. This value can be a maximum of 255 characters. storage-service-owner string
optional
Name of the owner of the storage service. This value can be a maximum of 255 characters. storage-service-topology-info storage-service-topology-info
Composite entity representing the nodes and connections of a protection and provisioning strategy. Output Name Range Type Description storage-service-resource-key resource-key
Resource key of the new storage service.
Errno Description EINVALIDTOPOLOGY ETOPOLOGYNOTSUPPORTED EOBJECTNOTFOUND EINVALIDINPUT
storage-service-destroy | [top] |
Destroys a storage service. This API also destroys all protection artifacts, such as volumes and relationships, that are managed by this storage service. Managed protection artifacts include those that are either created by or imported into the storage service.
Input Name Range Type Description storage-service-resource-key resource-key
Resource key of the storage service to destroy. Output Name Range Type Description job-id job-id
Object-id of the job created by this API call. The job's task list is a manifest that expresses the set of different tasks and the sequence in which they are executed in order to accomplish a high level workflow.
Errno Description EOBJECTNOTFOUND EINVALIDINPUT E_STORAGE_SERVICE_LOCKED
storage-service-import | [top] |
Imports non-managed storage objects into an existing storage service. When you use the storage-service-import API, you must adhere to the following rules. If a rule is violated, the error code EINVALIDINPUT is returned, unless otherwise specified.
- Each relationship must satisfy one of the following three conditions:
- The source volume is being imported into the root node.
- The source volume already exists in the connection's source node.
- The preceding relationship is also being imported.
- A relationship can only be imported into one storage service. If the same relationship exists in this or any storage service, the error code E_RELATIONSHIP_ALREADY_MANAGED is returned.
- If the subscription for the specified subscription context does not exist, a new subscription is created by the API.
- Source and destination volumes of the relationship can be associated with only a single node of the same storage service.
- Source or destination volume being imported into a non-root node of the storage service cannot be in the non-root node of any other storage service.
- If multiple relationships have the same source volume, each of these relationships must be imported into a different connection.
- Clients will need to call storage-service-conform to provision destination volumes and create relationships according to the topology of the storage service for the relationships imported in here.
Input Name Range Type Description import-info storage-service-import-info[]
SnapMirror relationship or destination volume (one must be provided), and storage service connection pair for import. storage-service-resource-key resource-key
Resource key of the storage service. subscription-context string
optional
The subscription context to use when importing root node member(s). The same rules and validations apply as described in the storage-service-subscribe API. When importing a relationship that contains a primary volume, the subscription context must be specified; if it is not, the E_CONTEXT_MISSING error code is returned. When importing a relationship that contains only non-primary volumes, the subscription context is ignored. This value can be a maximum of 255 characters.
There are number of use cases for storage service import:
- use case 1 - the primary volume of the relationship is currently not a member of the root node (i.e. import a relationship to one of the primary hops). The subscription context must be specified.
- use case 2 - the primary volume of the relationship is already a member of the root node (i.e. import a relationship to the second leg of a fanout storage service). The subscription context is optional.
- use case 3 - import a relationship from a secondary to a tertiary to a cascading storage service. The subscription context input will be ignored for that particular imported member.
Output Name Range Type Description job-id job-id
ID of the job created by this API call. The job's task list is a manifest that expresses the set of different tasks and the sequence in which they are executed in order to accomplish a high level workflow.
Errno Description EOBJECTNOTFOUND EINVALIDINPUT E_RELATIONSHIP_ALREADY_MANAGED E_CONTEXT_MISSING E_STORAGE_SERVICE_LOCKED
storage-service-iter | [top] |
Starts iteration to list storage services.
Input Name Range Type Description max-records integer
optional
The maximum number of records per return batch the caller wants to receive. The server may return smaller batch sizes based on performance constraints. If this field is not provided, then the server will return default number of records based on server performance. storage-service-client-tag string
optional
Arbitrary client provided description of the program utilizing the storage service. If storage-service-client-tag is specified as input, then storage-service-resource-key input must not be provided. storage-service-resource-key resource-key
optional
Resource key of a storage service. If specified, only the specified storage service is returned. If storage-service-resource-key is specified as input, then storage-service-client-tag input must not be provided. tag string
optional
Specify the tag from the last call. It is not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call. Any resource-filters specified in the first call must be included in subsequent calls. Output Name Range Type Description next-tag string
optional
Tag for the next call. Not present when there are no more objects to return. num-records integer
The number of records returned in this call. records storage-service-info[]
optional
The list of records.
storage-service-member-iter | [top] |
Starts iteration to list members of the storage service.
Input Name Range Type Description max-records integer
optional
The maximum number of records per return batch the caller wants to receive. The server may return smaller batch sizes based on performance constraints. If this field is not provided, then the server will return default number of records based on server performance. node-resource-key resource-key
optional
Resource key of the node on which the members to be listed reside. If no node is specified, members on all nodes are listed. storage-service-resource-key resource-key
Resource key of the storage service for which members are listed. subscription-context string
optional
An optional client-defined string used to tag client-associated members when subscribing them to a storage service. The maximum length of a subscription-context is 255 characters. tag string
optional
Specify the tag from the last call. It is not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call. Any resource-filters specified in the first call must be included in subsequent calls. Output Name Range Type Description next-tag string
optional
Tag for the next call. Not present when there are no more objects to return. num-records integer
The number of records returned in this call. records storage-service-member-info[]
optional
The list of records.
Errno Description E_CONTEXT_NOT_FOUND
storage-service-modify | [top] |
Modify the attributes of an existing storage service. Clients will need to call storage-service-conform to provision destination volumes and create relationships to align the topology of the storage service and the modifications made in this API.
Input Name Range Type Description storage-service-client-tag string
optional
Arbitrary string describing the name of the client program that is creating the storage service. This value can be a maximum of 32 characters. storage-service-contact-list email-address[]
optional
List of contact email addresses, each of which can be no longer than 255 characters. storage-service-description string
optional
Description of the storage service, up to 255 characters long. storage-service-name obj-name
optional
Modified name of the storage service object. This value can be a maximum of 255 characters. storage-service-owner string
optional
Name of the owner of the storage service, up to 255 characters long. storage-service-resource-key resource-key
Resource key of a storage service object. storage-service-topology-info storage-service-topology-info
optional
Topology to be modified. If any of the changes to the topology will cause the storage service to become non-conformant this will be mentioned in the job results. To change an existing element of a topology, you should specify all elements of the storage-service-topology-info. Any optional elements that are not specified will be set to their default value. For example, to modify the max-transfer-rate element of storage-service- topology-connection-info from 1024 KB/sec to 2048 KB/sec you should specify values for other storage-service-topology-connection-info elements such as lag-error-threshold and lag-warning-threshold otherwise default values for these elements are used. Similarly, omitting a node or connection from storage-service-topology-info will cause it to be removed from the storage service. A node omitted from storage-service-topology-info must not contain any protection artifacts, else an EINVALIDINPUT error will be returned. 'storage-service-cleanup' API should be used to remove the protection artifacts from the node, before deleting it. A storage service can only have maximum of one mirror relationship upstream from vault relationship in a mirror-vault cascade topology. Output Name Range Type Description job-id job-id
Refers to the job created for this call to storage-service-modify.
Errno Description EINVALIDTOPOLOGY ETOPOLOGYNOTSUPPORTED EOBJECTNOTFOUND EINVALIDINPUT E_STORAGE_SERVICE_LOCKED
storage-service-protection-update-start | [top] |
Updates data protection relationships for one or more members of the storage service. Storage service has a built-in topology relationship defined between the nodes. When the storage-service-conform API is called, protection relationships are created but not initialized. The first call to the storage-service-protection-update-start API triggers initialization (baseline data transfer). Subsequent calls trigger protection relationship updates.
Input Name Range Type Description destination-node-resource-key resource-key
optional
Resource key of destination node of the storage service. When destination-node-resource-key specified, members will be updated until the destination node; if not specified, members will be updated to the edge node(s) of the storage service topology. If provided destination node doesn't belong to this storage service, EINVALIDINPUT is returned. If source and destination nodes are specified, there must be a continuous downstream path between the two nodes, otherwise, EINVALIDINPUT is returned. member-snapshots resource-key[]
optional
Resource keys of snapshot copies of the member whose relationships are to be updated. Snapshot copy existence on destination is verified after transfer completion. Snapshot copies must be of a member storage object which belongs to the root node or source node of the storage service if source node is specified. That member must have at least one active subscription. Otherwise, E_OBJECT_NOT_SUBSCRIBED error is returned. If an empty list is provided or this input is not provided, relationships for all the subscribed members are updated and snapshot copy existence is not verified. If specified, 'members' and 'subscription-context' input must not be provided, otherwise, EINVALIDINPUT is returned. members resource-key[]
optional
Resource keys of the storage objects whose relationships are to be updated. Members must belong to the root node of the storage service. Members should have at least one active subscription with the storage service, otherwise E_OBJECT_NOT_SUBSCRIBED error is returned. Only relationships for storage objects specified in the 'members' list are updated. If specified, 'member-snapshots' and 'subscription-context' must not be provided, otherwise, EINVALIDINPUT will be returned. If an empty list is provided or this input is not provided, relationships for all the subscribed members are updated. When this input is used, Data ONTAP snapmirror-update will be invoked and will not verify snapshot existence. If storage service contains vault relationships, snapshot snapmirror-label attribute must be set to be used by the vaulting system to identify a vaulting scheme. source-node-resource-key resource-key
optional
Resource key of source node of storage service. When source-node-resource-key specified, members will be updated starting at the source node; if not specified, members will be updated starting at root node of the storage service. If provided source node doesn't belong to this storage service, EINVALIDINPUT is returned. storage-service-resource-key resource-key
Resource key of the storage service. subscription-context string
optional
An optional client-defined string used to tag client-associated members when subscribing them to a storage service. Members that are subscribed to a storage service via subscription-context can be specified with the subscription-context element or individually by their members element when APIs are called that require identification of the storage service members they affect. An API call cannot have both the subscription-context element and the members element as inputs. If specified, only the relationships for members subscribed via this context are updated. If omitted, then relationships for all the members of the root node are updated. If either 'members' or 'member-snapshots' input are specified, 'subscription-context' input must not be provided or must be empty, otherwise, EINVALIDINPUT is returned. This value can be a maximum of 255 characters. When this input is used, Data ONTAP snap-mirror-update will be invoked for members of this context and will not verify snapshot existence. If storage service contains vault relationships, snapshot snapmirror-label attribute must be set to be used by the vaulting system to identify a vaulting scheme. Output Name Range Type Description job-id job-id
Object-id of the job created by this API call. The job's task list is a manifest that expresses the set of different tasks and the sequence in which they are executed in order to accomplish a high level workflow.
Errno Description EOBJECTNOTFOUND E_CONTEXT_NOT_FOUND EINVALIDINPUT E_OBJECT_NOT_SUBSCRIBED E_STORAGE_SERVICE_MARKED_FOR_DELETION E_STORAGE_SERVICE_LOCKED
storage-service-subscribe | [top] |
Subscribes objects to a storage service. Currently, volumes are subscribable objects. Clients will need to call storage-service-conform to provision destination volumes and create relationships for the objects subscribed in here.
Input Name Range Type Description storage-service-resource-key resource-key
Resource key of the storage service. subscription-context string
An optional client-defined string used to tag client-associated members when subscribing them to a storage service. Members that are subscribed to a storage service via subscription-context can be specified with the subscription-context element or individually by their members element when APIs are called that require identification of the storage service members they affect. An API call cannot have both the subscription-context element and the members element as inputs. The subscription context is provided as a convenience to the caller. The context may be used as a handle referring to all objects subscribed under the same context. The same object can be subscribed multiple times under different contexts. An object is fully unsubscribed from the storage service only after it is unsubscribed via all the subscription contexts.
This string must be unique within the storage service so that no two clients confuse their subscriptions.
The API creates a subscription for each new context, then adds storage objects to that subscription as subscription members. If all subscription members are removed, the subscription object becomes unnecessary, and the subscription is deleted at that point.
The maximum length is 255 characters.
subscription-members resource-key[]
optional
Resource keys of the object(s) subscribing to the storage service. If an empty list is provided or this input is not provided, then an empty subscription object is created.
Subscription members are always added to that storage service's primary node.
Only a read-writable volume can be subscribed to a storage service with mirror-vault cascade topology.
A volume can be subscribed to only one storage service with mirror-vault cascade topology.
If an object is already subscribed with the context provided in subscription-context, an E_OBJECT_ALREADY_SUBSCRIBED is returned.
Output Name Range Type Description job-id job-id
Object-id of the job created by this API call. The job's task list is a manifest that expresses the set of different tasks and the sequence in which they are executed in order to accomplish a high level workflow.
Errno Description EOBJECTNOTFOUND E_OBJECT_ALREADY_SUBSCRIBED EINVALIDINPUT E_STORAGE_SERVICE_MARKED_FOR_DELETION E_STORAGE_SERVICE_LOCKED
storage-service-subscription-context-get-metadata | [top] |
Returns metadata of a subscription context set by storage-service-subscription-context-set-metadata API.
Input Name Range Type Description storage-service-resource-key resource-key
Resource key of the storage service associated with the specified context. subscription-context string
The client-defined context string used to tag client-associated members when subscribing them to a storage service. If the specified subscription-context does not exist, E_CONTEXT_NOT_FOUND is returned. This value can be a maximum of 255 characters Output Name Range Type Description metadata keyvalue[]
Opaque metadata for this context. Metadata is usually set and interpreted by an external application.
Errno Description EOBJECTNOTFOUND E_CONTEXT_NOT_FOUND EINVALIDINPUT
storage-service-subscription-context-set-metadata | [top] |
Sets metadata for an existing subscription context for a given storage service. The metadata is automatically deleted if the subscription context is removed for the storage service.
Input Name Range Type Description metadata keyvalue[]
Opaque metadata for this context. Metadata is usually set and interpreted by an external application. A maximum of 16 key value pairs are allowed per subscription context. If number of entries exceed this number with this request, E_MAX_ENTRY_COUNT_EXCEEDED is returned. storage-service-resource-key resource-key
Resource key of the storage service associated with the specified context. If the storage service is being deleted, E_STORAGE_SERVICE_MARKED_FOR_DELETION is returned. subscription-context string
The client-defined context string used to tag client-associated members when subscribing them to a storage service. If the specified subscription-context does not exist, E_CONTEXT_NOT_FOUND is returned. This value can be a maximum of 255 characters.
Errno Description EOBJECTNOTFOUND E_CONTEXT_NOT_FOUND E_STORAGE_SERVICE_MARKED_FOR_DELETION E_MAX_ENTRY_COUNT_EXCEEDED EINVALIDINPUT
storage-service-subscription-iter | [top] |
Iterate over subscriptions of a storage service. The user must specify as input: the storage-service-resource-key element alone, the subscription-resource-key element alone, or a combination of (storage-service-resource-key, subscription-context) elements. The user cannot leave all three inputs unspecified.
Input Name Range Type Description max-records integer
optional
The maximum number of records per return batch the caller wants to receive. The server may return smaller batch sizes based on performance constraints. If this field is not provided, then the server will return default number of records based on server performance. storage-service-resource-key resource-key
optional
Resource key of the storage service whose subscriptions are listed. subscription-context string
optional
An optional client-defined string used to tag client-associated members when subscribing them to a storage service. The maximum length of a subscription-context is 255 characters. subscription-resource-key resource-key
optional
Resource key of the subscription returned. Subscription resource keys are unique, so the storage-service-resource-key input does not need to be specified. If specified, only subscription information for this specific subscription-resource-key is returned. If subscription-resource-key and (storage-service-resource-key, subscription-context) are specified, an error is returned. tag string
optional
Specify the tag from the last call. It is not specified for the first call. For subsequent calls, copy values from the 'next-tag' obtained from the previous call. Any resource-filters specified in the first call must be included in subsequent calls. Output Name Range Type Description next-tag string
optional
Tag for the next call. Not present when there are no more objects to return. num-records integer
The number of records returned in this call. records storage-service-subscription-info[]
optional
The list of records.
Errno Description E_CONTEXT_NOT_FOUND
storage-service-unsubscribe | [top] |
Unsubscribes members from an existing storage service. If member is unsubscribed, it remains in the storage service but is marked disabled. When a member is marked disabled, all of its protection artifacts, such as relationships and storage objects, are preserved; however, it does not actively participate in future replication updates or conformance checks. NOTE: To relinquish a member, or relinquish or destroy its related protection artifact members you can use the storage-service-cleanup API.
Input Name Range Type Description storage-service-resource-key resource-key
Resource key of the storage service. subscription-context string
A client-defined string used to tag client-associated members when subscribing them to a storage service. Members that are subscribed to a storage service via subscription-context can be specified with the subscription-context element or individually by their members element when APIs are called that require identification of the storage service members they affect. The given 'subscription-members' subscribed to the storage service with this context are unsubscribed. If 'subscription-members' input is not specified, all objects subscribed to the storage service with this context are unsubscribed.
If all subscription members are removed for a given context, the subscription-context is automatically deleted. This value can be a maximum of 255 characters.
subscription-members resource-key[]
optional
Resource keys of the objects to unsubscribe from the storage service. Members must belong to the root node of the storage service. Members should be subscribed to the storage service via input 'subscription-context' tag, otherwise E_OBJECT_NOT_SUBSCRIBED error is returned. If an empty list is provided or this input is not provided, all the subscribed members under the specified context tag are unsubscribed. Output Name Range Type Description job-id job-id
Identifier of the job created by this API call. The job's task list is a manifest that expresses the set of different tasks and the sequence in which they are executed in order to accomplish a high level workflow.
Errno Description EOBJECTNOTFOUND E_OBJECT_NOT_SUBSCRIBED E_CONTEXT_NOT_FOUND E_STORAGE_SERVICE_MARKED_FOR_DELETION EINVALIDINPUT E_STORAGE_SERVICE_LOCKED
storage-service-workflow-list-info | [top] |
Lists all the available workflows that storage service supports. The workflows returned in output are uniquely identifiable across workflow listings in OnCommand product suite.
Output Name Range Type Description storage-service-workflows storage-service-workflow-info[]
List of storage service workflows that can be assigned to the non-root node of a storage service.
Element definition: email-address | [top] |
A single email address. It cannot contain spaces, semi-colons or unprintable characters.
[none]
Element definition: job-id | [top] |
Opaque identifier for a job.
[none]
Element definition: keyvalue | [top] |
Name-value field pair in the metadata.
Name Range Type Description field-name string
Name of the metadata field. Field names can be 1 to 255 characters in length and are case-insensitive. field-value string
Arbitrary, user-defined data expressed as a string. The string is opaque to the server and must not exceed 16384 (16k) characters in length.
Element definition: obj-name | [top] |
Name of an object. This typedef is an alias for the built in ZAPI type string. An object name must conform to the following format: The behavior of a ZAPI when it encounters an error involving an obj-name input element depends on how the ZAPI uses the input element. Here are the general rules:
- It must contain between 1 and 64 characters.
- It may start with any character and may contain any combination of characters, except that it may not consist solely of decimal digits ('0' through '9').
- In some contexts, a name may be the empty string (""), which is interpreted as a null value, e.g., a reference to no object at all.
A ZAPI may deviate from these general rules, for example, it may return more specific error codes. In such cases, the ZAPI specification must document its behavior.
- If the input name element is used to create a new object with the given name, or rename an existing object to that name, and the name does not conform to the above format, then the ZAPI fails with error code EINVALIDINPUT. Note that because EINVALIDINPUT is such a common error code, ZAPI specifications are not required to document cases when they may return it.
- If the input name element is used to refer to an existing object with that name, and there is no object with that name, then the ZAPI fails with error code EOBJECTNOTFOUND. Generally the ZAPI specification documents cases when it may return this error code.
If an input name element is used to refer to an existing object, then the ZAPI specification must specify which object type (e.g. cluster, vserver, volume etc.) is allowed. Some ZAPIs allow the object to be one of several different types. See the description of obj-full-name for examples of valid input formats.
Note that there is no requirement that all object names must be unique. However, the names for some specific types of objects are constrained such that no two objects of that type may have the same name.
[none]
Element definition: resource-key | [top] |
A self-describing string identifier for a managed resource.
[none]
Element definition: storage-service-import-info | [top] |
Information about members to be imported into the storage service. Members are implied through the relationship source and destination objects.
Name Range Type Description connection-resource-key resource-key
Resource key of the storage service connection which the relationship will be associated with. destination-volume-resource-key resource-key
optional
Resource key of the relationship's destination volume to be imported. The source and destination volumes of the relationship will be imported into their respective storage service nodes. If specified, relationship-resource-key should not be specified. relationship-resource-key resource-key
optional
Resource key of the relationship to be imported. The source and destination volumes of the relationship will be imported into their respective storage service nodes. If specified, destination-volume-resource-key should not be specified.
Element definition: storage-service-info | [top] |
Name Range Type Description is-storage-service-marked-for-deletion boolean
Whether the storage service is marked for deletion. This flag is set for storage services for which attempted removal was not completely succesful. Periodic configuration check or storage-service-destroy may complete the removal later. storage-service-client-tag string
Arbitrary client provided description of the program utilizing the storage service. This value can be a maximum of 32 characters. storage-service-contact-list email-address[]
optional
List of contact email addresses, each of which can be no longer than 255 characters. storage-service-description string
optional
Description of the storage service. storage-service-name obj-name
Name of the storage service. This value can be a maximum of 255 characters. storage-service-owner string
optional
Name of the owner of the storage service. This value can be a maximum of 64 characters. storage-service-resource-key resource-key
Resource key of the storage service. storage-service-topology-info storage-service-topology-info
Composite entity representing the nodes and connections of a protection and provisioning strategy.
Element definition: storage-service-member-info | [top] |
Information about one member of a storage service.
Name Range Type Description incoming-connection-resource-key resource-key
optional
Resource key of the connection between member's source-node and the node to which the member belongs. Returned only for non-root members. incoming-relationship-resource-key resource-key
optional
Resource key of the relationship between source-member and this member. Returned only for non-root members when relationship exists. is-enabled boolean
Whether this member is enabled. If the member is disabled, it does not actively participate in the replication updates and conformance checks. All storage objects and relationships are preserved. However, relationships are not updated and no new relationships are created. Member is marked as disabled only if all its subscriptions have been removed. is-member-missing boolean
optional
If the value is true, it indicates that the storage service member volume no longer exists on the storage system or the member volume may exist but not associated with this node member. member-name obj-full-name
Name of the member.This string can be a maximum of 255 characters. member-resource-key resource-key
Resource key of the member. member-type string
Type of the member.Possible values are:'volume'. node-name string
Name of the node to which the member belongs. This value can be a maximum of 255 characters. node-resource-key resource-key
Resource key of the node to which the member belongs. source-member-name obj-full-name
optional
Name of the source member. Returned only for non-root members. This value can be a maximum of 255 characters. source-member-resource-key resource-key
optional
Resrouce key of the source member. For example, if this member is the destination volume for a mirror relationship, then source member is the corresponding source volume. Returned only for non-root members. source-node-name string
optional
Name of the node to which the source member belongs. Returned only for non-root members. This value can be a maximum of 255 characters. source-node-resource-key resource-key
optional
Resource key of the node to which the source member belongs. Returned only for non-root members. subscriptions resource-key[]
optional
Subscription resource keys of the context that was used when subscribing. Present only for the members of the root node. When member is fully unsubscribed via all contexts, this list is empty. In such case, no actions such as updating the SnapMirror relationship or provisioning secondary storage are taken for that member. However, existing storage and relationships are left intact. These leftover artifacts can be relinquished or destroyed using storage-service-cleanup.
Subscription information can be obtained by calling storage-service-subscription-iter API.
Element definition: storage-service-subscription-info | [top] |
Information about one storage service subscription.
Name Range Type Description storage-service-name obj-name
Name of the storage service. storage-service-resource-key resource-key
Resource key of the storage service. subscription-context string
Subscription context used to subscribe the members. This value can be a maximum of 255 characters. subscription-members storage-service-subscription-member-info[]
List of member objects subscribed with this subscription. Subscription members are always on the root node of the storage service. subscription-resource-key resource-key
Resource key of the subscription object.
Element definition: storage-service-topology-info | [top] |
Information about the topology of a storage service which composite entity representing the nodes and connections of a protection and provisioning strategy.
Name Range Type Description connections storage-service-topology-connection-info[]
optional
Set of connections. Connection is a component of a topology. A connection has configurable properties of the relationship between two nodes. This field will not be set for single node topologies. But for multi-node topologies, it must be set. nodes storage-service-topology-node-info[]
Set of nodes. Node is a component of a topology. A node has configurable properties of storage service primary sources as well as mirror and vault destinations.
Element definition: storage-service-workflow-info | [top] |
Name Range Type Description storage-service-workflow-description string
Description of the storage service workflow. storage-service-workflow-name obj-name
Name of the storage service workflow. This value can be a maximum of 255 characters. storage-service-workflow-resource-key resource-key
Resource key of the storage service workflow. storage-service-workflow-type string
Type of storage service workflow. Possible values are "mirror" and "vault".
Element definition: email-address | [top] |
A single email address. It cannot contain spaces, semi-colons or unprintable characters.
[none]
Element definition: obj-full-name | [top] |
Full name of an object. This typedef is an alias for the builtin ZAPI type string. An object full name conforms to all the rules of an obj-name, except that the full name may be up to 255 characters long. Full names are created by concatenating an object name with any parent object names, so as to create a unique name for an object. The format of full names is as follows:
For any object not listed above, the obj-name and obj-full-name are identical.
- cluster full names are the either the fully-qualified domain name or the IP address of the cluster.
- cluster-node full names are the either the fully-qualified domain name or the IP address of the cluster.
- aggregate full names are the cluster-node name and the aggregate name, separated by a colon, e.g. cluster-node:aggr0.
- volume full names are the vserver name and the volume name, separated by ":/", e.g. vserver:/volume. Note this does not include the "/vol" prefix. Volume and aggregate full names are distinguished by the presence of a forward slash after the colon.
- qtree full names are the containing volume full name and the qtree name, separated by a slash, e.g. vserver:/volume/qtree. The data not contained by any qtree may be represented by "-", e.g. vserver:/volume/-.
- lun full names are either a volume or qtree full name and the LUN path, separated by a slash, e.g. vserver:/volume/LUN or vserver:/volume/qtree/LUN.
- initiator-group full names are vserver name and the initiator group name, separated by a colon, e.g. vserver:igroup.
- export-policy full names are vserver name and the policy name, separated by a colon, e.g. vserver:policy-name.
- lif full names are a cluster, cluster-node, or vserver name and the interface name, separated by a colon, e.g. cluster-name|cluster-node-name|vserver-name:lif.
- port-set full names are the vserver name and the portset name, separated by a colon, e.g. vserver:portset.
- fcp-target full names are the cluster-node name and the target name, separated by a colon, e.g. cluster-node:target.
[none]
Element definition: obj-name | [top] |
Name of an object. This typedef is an alias for the built in ZAPI type string. An object name must conform to the following format: The behavior of a ZAPI when it encounters an error involving an obj-name input element depends on how the ZAPI uses the input element. Here are the general rules:
- It must contain between 1 and 64 characters.
- It may start with any character and may contain any combination of characters, except that it may not consist solely of decimal digits ('0' through '9').
- In some contexts, a name may be the empty string (""), which is interpreted as a null value, e.g., a reference to no object at all.
A ZAPI may deviate from these general rules, for example, it may return more specific error codes. In such cases, the ZAPI specification must document its behavior.
- If the input name element is used to create a new object with the given name, or rename an existing object to that name, and the name does not conform to the above format, then the ZAPI fails with error code EINVALIDINPUT. Note that because EINVALIDINPUT is such a common error code, ZAPI specifications are not required to document cases when they may return it.
- If the input name element is used to refer to an existing object with that name, and there is no object with that name, then the ZAPI fails with error code EOBJECTNOTFOUND. Generally the ZAPI specification documents cases when it may return this error code.
If an input name element is used to refer to an existing object, then the ZAPI specification must specify which object type (e.g. cluster, vserver, volume etc.) is allowed. Some ZAPIs allow the object to be one of several different types. See the description of obj-full-name for examples of valid input formats.
Note that there is no requirement that all object names must be unique. However, the names for some specific types of objects are constrained such that no two objects of that type may have the same name.
[none]
Element definition: resource-key | [top] |
A self-describing string identifier for a managed resource.
[none]
Element definition: storage-service-subscription-member-info | [top] |
Information about one member of a storage service subscription.
Name Range Type Description is-member-deleted boolean
optional
If the value is true, it indicates that the storage service member volume no longer exists on the storage system. member-name obj-full-name
Name of the member. This value can be a maximum of 255 characters. member-resource-key resource-key
Resource key of the member. member-type string
Type of the member. Possible values are: 'volume'.
Element definition: storage-service-topology-connection-info | [top] |
Contains the configurable properties of the relationship between two nodes.
Name Range Type Description connection-resource-key resource-key
optional
Resource key of the Connection. Always present in the output. Auto-assigned for the new connections. Must be included when referring to existing connections, for example while modifying existing connection attributes. connection-type string
Data ONTAP relationship between two nodes. Possible values are: 'mirror', 'vault'. destination-node-name string
Destination node name. The name of the connection's destination node end point. Must be present for newly created nodes. For modification, if node name changes, the new node name must be used. This value can be a maximum of 255 characters. destination-node-resource-key resource-key
optional
Resource key of the destination node. Must not be provided if the node is new. For modification of existing topologies, this value must be provided. is-lag-error-enabled boolean
optional
Indicates whether the system should generate an error event when the last update of relationship is older than lag-error-threshold value. The default value is true. is-lag-warning-enabled boolean
optional
Indicates whether the system should generate a warning event when the last update of relationship is older than the lag-warning-threshold value. The default value is true. lag-error-threshold [1..2^31 - 1]. integer
optional
Lag, in seconds. If the last update of relationship is older than this value, and if the element is-lag-error-enabled is set, the system generates an error event for that relationship. The default value is 172800 seconds (which is 2 days). lag-warning-threshold [1..2^31 - 1]. integer
optional
Lag, in seconds. If the last update of relationship is older than this value, and if the element is-lag-warning-enabled is set, the system generates a warning event for that relationship. The default value is 129600 seconds (which is 1.5 days). max-transfer-rate [0..2^32 - 1]. integer
optional
Specifies the upper bound for each relationship, in kilobytes per second, at which data is transferred between Data ONTAP clusters. The default is unlimited (0) which permits the relationship to fully utilize the available network bandwidth. The max-transfer-rate option does not affect relationships confined to a single cluster. source-node-name string
Source node name. The name of the connection's source node end point. Must be present for newly created nodes. For modification, if node name changes, the new node name must be used. This value can be a maximum of 255 characters. source-node-resource-key resource-key
optional
Resource key of the source node. Must not be provided if node is new. For modification of existing topologies, this value must be provided.
Element definition: storage-service-topology-node-info | [top] |
storage-service-topology-node-info contains the information about a node.
Name Range Type Description node-name string
Name of the node. This value can be a maximum of 255 characters. Node name must be unique within the topology. When renaming an existing node during modify, the new node name must be specified in all the storage-service-topology-connection-info, that have this node as either the source or the destination. node-resource-key resource-key
optional
Resource key of the node. Always present in the output. Auto-assigned for the new nodes. Must be included when referring to existing nodes, for example when modifying existing node attributes. resource-pools resource-key[]
optional
Pool of Data ONTAP resources that are used to provision secondary storage. Should not be specified for the root node, and optional for non-root nodes. service-workflow-resource-key resource-key
optional
Provisioning workflow that is used to provision secondary storage. Should not be specified for the root node, and optional for non-root nodes. The name of storage-service-workflow is obtainable from storage-service-workflow-list-info API.
Element definition: obj-full-name | [top] |
Full name of an object. This typedef is an alias for the builtin ZAPI type string. An object full name conforms to all the rules of an obj-name, except that the full name may be up to 255 characters long. Full names are created by concatenating an object name with any parent object names, so as to create a unique name for an object. The format of full names is as follows:
For any object not listed above, the obj-name and obj-full-name are identical.
- cluster full names are the either the fully-qualified domain name or the IP address of the cluster.
- cluster-node full names are the either the fully-qualified domain name or the IP address of the cluster.
- aggregate full names are the cluster-node name and the aggregate name, separated by a colon, e.g. cluster-node:aggr0.
- volume full names are the vserver name and the volume name, separated by ":/", e.g. vserver:/volume. Note this does not include the "/vol" prefix. Volume and aggregate full names are distinguished by the presence of a forward slash after the colon.
- qtree full names are the containing volume full name and the qtree name, separated by a slash, e.g. vserver:/volume/qtree. The data not contained by any qtree may be represented by "-", e.g. vserver:/volume/-.
- lun full names are either a volume or qtree full name and the LUN path, separated by a slash, e.g. vserver:/volume/LUN or vserver:/volume/qtree/LUN.
- initiator-group full names are vserver name and the initiator group name, separated by a colon, e.g. vserver:igroup.
- export-policy full names are vserver name and the policy name, separated by a colon, e.g. vserver:policy-name.
- lif full names are a cluster, cluster-node, or vserver name and the interface name, separated by a colon, e.g. cluster-name|cluster-node-name|vserver-name:lif.
- port-set full names are the vserver name and the portset name, separated by a colon, e.g. vserver:portset.
- fcp-target full names are the cluster-node name and the target name, separated by a colon, e.g. cluster-node:target.
[none]
Element definition: resource-key | [top] |
A self-describing string identifier for a managed resource.
[none]