Update application properties
PATCH /application/applications/{uuid}
Introduced In: 9.6
Updates the properties of an application.
Overview
Similar to creating an application, modification is done using the template properties of an application. The storage_service
, size
, and igroup_name
of an application may be modified.
storage_service
Storage service modifications are processed in place, meaning that the storage can not be moved to a location with more performance headroom to accommodate the request. If the current backing storage of the application is in a location that can support increased performance, the QoS policies associated with the application will be modified to allow it. If not, an error will be returned. A storage service modification to a lower tier of performance is always allowed, but the reverse modification may not be supported if the cluster is over provisioned and the cluster is unlikely to be able to fulfil the original storage service.
size
Size modifications are processed in a variety of ways depending on the type of application. For NAS applications, volumes are grown or new volumes are added. For SAN applications, LUNs are grown, new LUNs are added to existing volumes, or new LUNs are added to new volumes. If new storage elements are created, they can be found using the GET /application/applications/{application.uuid}/components interface. The creation time of each storage object is included, and the newly created objects will use the same naming scheme as the previous objects. Resize follows the best practices associated with the type of application being expanded. Reducing the size of an application is not supported.
igroup_name
Modification of the igroup name allows an entire application to be mapped from one initiator group to another. Data access will be interrupted as the LUNs are unmapped from the original igroup and remapped to the new one.
Application state
During a modification, the state
property of the application updates to indicate modifying
. In modifying
state, statistics are not available and Snapshot copy operations are not allowed. If the modification fails, it is possible for the application to be left in an inconsistent state, with the underlying ONTAP storage elements not matching across a component. When this occurs, the application is left in the modifying
state until the command is either retried and succeeds or a call to restore the original state is successful.
Examples
-
Change the storage service of the database of the Oracle application to extreme and resize the redo logs to 100GB.
{ "oracle_on_nfs": { "db": { "storage_service": { "name": "extreme" } }, "redo_log": { "size": "100GB" } } }
-
Change the storage service, size, and igroup of a generic application by component name.
{ "san": { "application_components": [ { "name": "component1", "storage_service": { "name": "value" } }, { "name": "component2", "size": "200GB" }, { "name": "component3", "igroup_name": "igroup5" } ] } }
Learn more
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
uuid |
string |
path |
True |
Application UUID |
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.
|
Request Body
Name | Type | Description |
---|---|---|
_links |
||
creation_timestamp |
string |
The time when the application was created. |
delete_data |
boolean |
Should application storage elements be deleted? An application is considered to use storage elements from a shared storage pool. Possible values are 'true' and 'false'. If the value is 'true', the application will be deleted in its entirety. If the value is 'false', the storage elements will be disassociated from the application and preserved. The application will then be deleted. |
generation |
integer |
The generation number of the application. This indicates which features are supported on the application. For example, generation 1 applications do not support Snapshot copies. Support for Snapshot copies was added at generation 2. Any future generation numbers and their feature set will be documented. |
maxdata_on_san |
MAX Data application using SAN. |
|
mongo_db_on_san |
MongoDB using SAN. |
|
name |
string |
Application Name. This field is user supplied when the application is created. |
nas |
A generic NAS application. |
|
nvme |
An NVME application. |
|
oracle_on_nfs |
Oracle using NFS. |
|
oracle_on_san |
Oracle using SAN. |
|
oracle_rac_on_nfs |
Oracle RAC using NFS. |
|
oracle_rac_on_san |
Oracle RAC using SAN. |
|
protection_granularity |
string |
Protection granularity determines the scope of Snapshot copy operations for the application. Possible values are "application" and "component". If the value is "application", Snapshot copy operations are performed on the entire application. If the value is "component", Snapshot copy operations are performed separately on the application components. |
rpo |
||
s3_bucket |
A generic S3 bucket application. |
|
san |
A generic SAN application. |
|
smart_container |
boolean |
Identifies if this is a smart container or not. |
sql_on_san |
Microsoft SQL using SAN. |
|
sql_on_smb |
Microsoft SQL using SMB. |
|
state |
string |
The state of the application. For full functionality, applications must be in the online state. Other states indicate that the application is in a transient state and not all operations are supported. |
statistics |
||
svm |
||
template |
||
uuid |
string |
Application UUID. This field is generated when the application is created. |
vdi_on_nas |
A VDI application using NAS. |
|
vdi_on_san |
A VDI application using SAN. |
|
vsi_on_nas |
A VSI application using NAS. |
|
vsi_on_san |
A VSI application using SAN. |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
},
"snapshots": {
"href": "/api/resourcelink"
}
},
"creation_timestamp": "string",
"generation": 0,
"maxdata_on_san": {
"app_type": "string",
"application_components": [
{
}
],
"metadata": [
{
"key": "string",
"value": "string"
}
],
"new_igroups": [
{
"comment": "string",
"igroups": [
{
"name": "string",
"uuid": "string"
}
],
"initiator_objects": [
{
"comment": "string",
"name": "string"
}
],
"initiators": [
"string"
],
"name": "string",
"os_type": "string",
"protocol": "string"
}
],
"ocsm_url": "string",
"os_type": "string"
},
"name": "string",
"nas": {
"application_components": [
{
}
],
"cifs_access": [
{
"access": "string",
"user_or_group": "string"
}
],
"cifs_share_name": "string",
"exclude_aggregates": [
{
"name": "string",
"uuid": "string"
}
],
"nfs_access": [
{
"access": "string",
"host": "string"
}
],
"protection_type": {
"local_policy": "string",
"local_rpo": "string",
"remote_rpo": "string"
}
},
"nvme": {
"components": [
{
"name": "string",
"os_type": "string",
"performance": {
"storage_service": {
"name": "string"
}
},
"qos": {
"policy": {
"name": "string",
"uuid": "string"
}
},
"subsystem": {
"hosts": [
{
"nqn": "string"
}
],
"name": "string",
"os_type": "string",
"uuid": "string"
},
"tiering": {
"control": "string",
"object_stores": [
{
"name": "string"
}
],
"policy": "string"
}
}
],
"os_type": "string",
"rpo": {
"local": {
"name": "string",
"policy": "string"
}
}
},
"protection_granularity": "string",
"rpo": {
"components": [
{
"name": "string",
"rpo": {
"local": {
"description": "string",
"name": "string"
},
"remote": {
"description": "string",
"name": "string"
}
},
"uuid": "string"
}
],
"local": {
"description": "string",
"name": "string"
},
"remote": {
"description": "string",
"name": "string"
}
},
"s3_bucket": {
"application_components": [
{
}
]
},
"san": {
"application_components": [
{
"igroup_name": "string",
"name": "string",
"os_type": "string",
"qos": {
"policy": {
"name": "string",
"uuid": "string"
}
},
"storage_service": {
"name": "string"
},
"tiering": {
"control": "string",
"object_stores": [
{
"name": "string"
}
],
"policy": "string"
}
}
],
"exclude_aggregates": [
{
"name": "string",
"uuid": "string"
}
],
"new_igroups": [
{
"comment": "string",
"igroups": [
{
"name": "string",
"uuid": "string"
}
],
"initiator_objects": [
{
"comment": "string",
"name": "string"
}
],
"initiators": [
"string"
],
"name": "string",
"os_type": "string",
"protocol": "string"
}
],
"os_type": "string",
"protection_type": {
"local_policy": "string",
"local_rpo": "string",
"remote_rpo": "string"
}
},
"state": "string",
"statistics": {
"components": [
{
"iops": {
"per_tb": 0,
"total": 0
},
"latency": {
"average": 0,
"raw": 0
},
"name": "string",
"snapshot": {
"reserve": 0,
"used": 0
},
"space": {
"available": 0,
"logical_used": 0,
"provisioned": 0,
"reserved_unused": 0,
"savings": 0,
"used": 0,
"used_excluding_reserves": 0,
"used_percent": 0
},
"storage_service": {
"name": "string",
"uuid": "string"
},
"uuid": "string"
}
],
"iops": {
"per_tb": 0,
"total": 0
},
"latency": {
"average": 0,
"raw": 0
},
"snapshot": {
"reserve": 0,
"used": 0
},
"space": {
"available": 0,
"logical_used": 0,
"provisioned": 0,
"reserved_unused": 0,
"savings": 0,
"used": 0,
"used_excluding_reserves": 0,
"used_percent": 0
}
},
"svm": {
"name": "string",
"uuid": "string"
},
"template": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "string",
"protocol": "string",
"version": 0
},
"uuid": "string"
}
Response
Status: 202, Accepted
Name | Type | Description |
---|---|---|
job |
Example response
{
"job": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "string"
}
}
Error
Status: Default, Error
Name | Type | Description |
---|---|---|
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 |
_links
Name | Type | Description |
---|---|---|
self |
||
snapshots |
metadata
Name | Type | Description |
---|---|---|
key |
string |
Key to look up metadata associated with an application component. |
value |
string |
Value associated with the key. |
protection_type
Name | Type | Description |
---|---|---|
local_rpo |
string |
The local rpo of the application component. |
remote_rpo |
string |
The remote rpo of the application component. |
storage_service
Name | Type | Description |
---|---|---|
name |
string |
The storage service of the application component. |
object_stores
Name | Type | Description |
---|---|---|
name |
string |
The name of the object-store to use. |
maxdata_on_san_application_components_tiering
tiering
Name | Type | Description |
---|---|---|
control |
string |
Storage tiering placement rules for the container(s) |
object_stores |
array[object_stores] |
|
policy |
string |
The storage tiering type of the application component. |
maxdata_on_san_application_components
The list of application components to be created.
Name | Type | Description |
---|---|---|
file_system |
string |
Defines the type of file system that will be installed on this application component. |
host_management_url |
string |
The host management URL for this application component. |
host_name |
string |
FQDN of the L2 host that contains the hot tier of this application component. |
igroup_name |
string |
The name of the initiator group through which the contents of this application will be accessed. Modification of this parameter is a disruptive operation. All LUNs in the application component will be unmapped from the current igroup and re-mapped to the new igroup. |
lun_count |
integer |
The number of LUNs in the application component. |
metadata |
array[metadata] |
|
name |
string |
The name of the application component. |
protection_type |
||
storage_service |
||
tiering |
tiering |
|
total_size |
integer |
The total size of the application component, split across the member LUNs. Usage: {<integer>[KB|MB|GB|TB|PB]} |
metadata
Name | Type | Description |
---|---|---|
key |
string |
Key to look up metadata associated with an application. |
value |
string |
Value associated with the key. |
igroups
Name | Type | Description |
---|---|---|
name |
string |
The name of an igroup to nest within a parent igroup. Mutually exclusive with initiators and initiator_objects. |
uuid |
string |
The UUID of an igroup to nest within a parent igroup Usage: <UUID> |
initiator_objects
Name | Type | Description |
---|---|---|
comment |
string |
A comment available for use by the administrator. |
name |
string |
The WWPN, IQN, or Alias of the initiator. Mutually exclusive with nested igroups and the initiators array. |
maxdata_on_san_new_igroups
The list of initiator groups to create.
Name | Type | Description |
---|---|---|
comment |
string |
A comment available for use by the administrator. |
igroups |
array[igroups] |
|
initiator_objects |
array[initiator_objects] |
|
initiators |
array[string] |
|
name |
string |
The name of the new initiator group. |
os_type |
string |
The name of the host OS accessing the application. The default value is the host OS that is running the application. |
protocol |
string |
The protocol of the new initiator group. |
maxdata_on_san
MAX Data application using SAN.
Name | Type | Description |
---|---|---|
app_type |
string |
Type of the application that is being deployed on the L2. |
application_components |
The list of application components to be created. |
|
metadata |
array[metadata] |
|
new_igroups |
array[maxdata_on_san_new_igroups] |
The list of initiator groups to create. |
ocsm_url |
string |
The OnCommand System Manager URL for this application. |
os_type |
string |
The name of the host OS running the application. |
storage_service
Name | Type | Description |
---|---|---|
name |
string |
The storage service of the database. |
dataset
Name | Type | Description |
---|---|---|
element_count |
integer |
The number of storage elements (LUNs for SAN) of the database to maintain. Must be an even number between 2 and 16. Odd numbers will be rounded up to the next even number within range. |
replication_factor |
integer |
The number of data bearing members of the replicaset, including 1 primary and at least 1 secondary. |
size |
integer |
The size of the database. Usage: {<integer>[KB|MB|GB|TB|PB]} |
storage_service |
mongo_db_on_san_new_igroups
The list of initiator groups to create.
Name | Type | Description |
---|---|---|
comment |
string |
A comment available for use by the administrator. |
igroups |
array[igroups] |
|
initiator_objects |
array[initiator_objects] |
|
initiators |
array[string] |
|
name |
string |
The name of the new initiator group. |
os_type |
string |
The name of the host OS accessing the application. The default value is the host OS that is running the application. |
protocol |
string |
The protocol of the new initiator group. |
protection_type
Name | Type | Description |
---|---|---|
local_rpo |
string |
The local RPO of the application. |
remote_rpo |
string |
The remote RPO of the application. |
secondary_igroups
Name | Type | Description |
---|---|---|
name |
string |
The name of the initiator group for each secondary. |
mongo_db_on_san
MongoDB using SAN.
Name | Type | Description |
---|---|---|
dataset |
||
new_igroups |
array[mongo_db_on_san_new_igroups] |
The list of initiator groups to create. |
os_type |
string |
The name of the host OS running the application. |
primary_igroup_name |
string |
The initiator group for the primary. |
protection_type |
||
secondary_igroups |
array[secondary_igroups] |
export_policy
Name | Type | Description |
---|---|---|
id |
integer |
The ID of an existing NFS export policy. |
name |
string |
The name of an existing NFS export policy. |
component
Name | Type | Description |
---|---|---|
name |
string |
Name of the source component. |
svm
Name | Type | Description |
---|---|---|
name |
string |
Name of the source SVM. |
origin
Name | Type | Description |
---|---|---|
component |
||
svm |
flexcache
Name | Type | Description |
---|---|---|
dr_cache |
boolean |
Dr-cache is a FlexCache volume create time option that has the same flexgroup-msid as that of the origin of a FlexCache volume. By default, dr-cache is disabled. The flexgroup-msid of the FlexCache volume does not need to be same as that of the origin of a FlexCache volume. |
origin |
policy
Name | Type | Description |
---|---|---|
name |
string |
The name of an existing QoS policy. |
uuid |
string |
The UUID of an existing QoS policy. Usage: <UUID> |
qos
Name | Type | Description |
---|---|---|
policy |
nas_application_components_tiering
application-components.tiering
Name | Type | Description |
---|---|---|
control |
string |
Storage tiering placement rules for the container(s) |
object_stores |
array[object_stores] |
|
policy |
string |
The storage tiering type of the application component. |
application_components
Name | Type | Description |
---|---|---|
export_policy |
||
flexcache |
||
name |
string |
The name of the application component. |
qos |
||
scale_out |
boolean |
Denotes a Flexgroup. |
share_count |
integer |
The number of shares in the application component. |
storage_service |
||
tiering |
application-components.tiering |
|
total_size |
integer |
The total size of the application component, split across the member shares. Usage: {<integer>[KB|MB|GB|TB|PB]} |
app_cifs_access
The list of CIFS access controls. You must provide either 'user_or_group' or 'access' to enable CIFS access.
Name | Type | Description |
---|---|---|
access |
string |
The CIFS access granted to the user or group. |
user_or_group |
string |
The name of the CIFS user or group that will be granted access. |
exclude_aggregates
Name | Type | Description |
---|---|---|
name |
string |
The name of the aggregate to exclude. Usage: <aggregate name> |
uuid |
string |
The ID of the aggregate to exclude. Usage: <UUID> |
app_nfs_access
The list of NFS access controls. You must provide either 'host' or 'access' to enable NFS access.
Name | Type | Description |
---|---|---|
access |
string |
The NFS access granted. |
host |
string |
The name of the NFS entity granted access. |
protection_type
Name | Type | Description |
---|---|---|
local_policy |
string |
The Snapshot copy policy to apply to each volume in the smart container. This property is only supported for smart containers. Usage: <snapshot policy> |
local_rpo |
string |
The local RPO of the application. |
remote_rpo |
string |
The remote RPO of the application. |
nas
A generic NAS application.
Name | Type | Description |
---|---|---|
application_components |
array[application_components] |
|
cifs_access |
array[app_cifs_access] |
The list of CIFS access controls. You must provide either 'user_or_group' or 'access' to enable CIFS access. |
cifs_share_name |
string |
The name of the CIFS share. Usage: <Share> |
exclude_aggregates |
array[exclude_aggregates] |
|
nfs_access |
array[app_nfs_access] |
The list of NFS access controls. You must provide either 'host' or 'access' to enable NFS access. |
protection_type |
performance
Name | Type | Description |
---|---|---|
storage_service |
hosts
Name | Type | Description |
---|---|---|
nqn |
string |
The host NQN. |
zapp_nvme_components_subsystem
components.subsystem
Name | Type | Description |
---|---|---|
hosts |
array[hosts] |
|
name |
string |
The name of the subsystem accessing the component. If neither the name nor the UUID is provided, the name defaults to <application-name>_<component-name>, whether that subsystem already exists or not. |
os_type |
string |
The name of the host OS accessing the component. The default value is the host OS that is running the application. |
uuid |
string |
The UUID of an existing subsystem to be granted access to the component. Usage: <UUID> |
zapp_nvme_components_tiering
application-components.tiering
Name | Type | Description |
---|---|---|
control |
string |
Storage tiering placement rules for the container(s) |
object_stores |
array[object_stores] |
|
policy |
string |
The storage tiering type of the application component. |
components
Name | Type | Description |
---|---|---|
name |
string |
The name of the application component. |
namespace_count |
integer |
The number of namespaces in the component. |
os_type |
string |
The name of the host OS running the application. |
performance |
||
qos |
||
subsystem |
components.subsystem |
|
tiering |
application-components.tiering |
|
total_size |
integer |
The total size of the component, spread across member namespaces. Usage: {<integer>[KB|MB|GB|TB|PB]} |
local
Name | Type | Description |
---|---|---|
name |
string |
The local RPO of the application. |
policy |
string |
The Snapshot copy policy to apply to each volume in the smart container. This property is only supported for smart containers. Usage: <snapshot policy> |
rpo
Name | Type | Description |
---|---|---|
local |
zapp_nvme
An NVME application.
Name | Type | Description |
---|---|---|
components |
array[components] |
|
os_type |
string |
The name of the host OS running the application. |
rpo |
storage_service
Name | Type | Description |
---|---|---|
name |
string |
The storage service of the archive log. |
archive_log
Name | Type | Description |
---|---|---|
size |
integer |
The size of the archive log. Usage: {<integer>[KB|MB|GB|TB|PB]} |
storage_service |
db
Name | Type | Description |
---|---|---|
size |
integer |
The size of the database. Usage: {<integer>[KB|MB|GB|TB|PB]} |
storage_service |
storage_service
Name | Type | Description |
---|---|---|
name |
string |
The storage service of the ORACLE_HOME storage volume. |
ora_home
Name | Type | Description |
---|---|---|
size |
integer |
The size of the ORACLE_HOME storage volume. Usage: {<integer>[KB|MB|GB|TB|PB]} |
storage_service |
storage_service
Name | Type | Description |
---|---|---|
name |
string |
The storage service of the redo log group. |
redo_log
Name | Type | Description |
---|---|---|
mirrored |
boolean |
Specifies whether the redo log group should be mirrored. |
size |
integer |
The size of the redo log group. Usage: {<integer>[KB|MB|GB|TB|PB]} |
storage_service |
oracle_on_nfs
Oracle using NFS.
Name | Type | Description |
---|---|---|
archive_log |
||
db |
||
nfs_access |
array[app_nfs_access] |
The list of NFS access controls. You must provide either 'host' or 'access' to enable NFS access. |
ora_home |
||
protection_type |
||
redo_log |
oracle_on_san_new_igroups
The list of initiator groups to create.
Name | Type | Description |
---|---|---|
comment |
string |
A comment available for use by the administrator. |
igroups |
array[igroups] |
|
initiator_objects |
array[initiator_objects] |
|
initiators |
array[string] |
|
name |
string |
The name of the new initiator group. |
os_type |
string |
The name of the host OS accessing the application. The default value is the host OS that is running the application. |
protocol |
string |
The protocol of the new initiator group. |
oracle_on_san
Oracle using SAN.
Name | Type | Description |
---|---|---|
archive_log |
||
db |
||
igroup_name |
string |
The name of the initiator group through which the contents of this application will be accessed. Modification of this parameter is a disruptive operation. All LUNs in the application component will be unmapped from the current igroup and re-mapped to the new igroup. |
new_igroups |
array[oracle_on_san_new_igroups] |
The list of initiator groups to create. |
ora_home |
||
os_type |
string |
The name of the host OS running the application. |
protection_type |
||
redo_log |
storage_service
Name | Type | Description |
---|---|---|
name |
string |
The storage service of the Oracle grid binary storage volume. |
grid_binary
Name | Type | Description |
---|---|---|
size |
integer |
The size of the Oracle grid binary storage volume. Usage: {<integer>[KB|MB|GB|TB|PB]} |
storage_service |
storage_service
Name | Type | Description |
---|---|---|
name |
string |
The storage service of the Oracle CRS volume. |
oracle_crs
Name | Type | Description |
---|---|---|
copies |
integer |
The number of CRS volumes. |
size |
integer |
The size of the Oracle CRS/voting storage volume. Usage: {<integer>[KB|MB|GB|TB|PB]} |
storage_service |
oracle_rac_on_nfs
Oracle RAC using NFS.
Name | Type | Description |
---|---|---|
archive_log |
||
db |
||
grid_binary |
||
nfs_access |
array[app_nfs_access] |
The list of NFS access controls. You must provide either 'host' or 'access' to enable NFS access. |
ora_home |
||
oracle_crs |
||
protection_type |
||
redo_log |
db_sids
Name | Type | Description |
---|---|---|
igroup_name |
string |
The name of the initiator group through which the contents of this application will be accessed. Modification of this parameter is a disruptive operation. All LUNs in the application component will be unmapped from the current igroup and re-mapped to the new igroup. |
oracle_rac_on_san_new_igroups
The list of initiator groups to create.
Name | Type | Description |
---|---|---|
comment |
string |
A comment available for use by the administrator. |
igroups |
array[igroups] |
|
initiator_objects |
array[initiator_objects] |
|
initiators |
array[string] |
|
name |
string |
The name of the new initiator group. |
os_type |
string |
The name of the host OS accessing the application. The default value is the host OS that is running the application. |
protocol |
string |
The protocol of the new initiator group. |
oracle_rac_on_san
Oracle RAC using SAN.
Name | Type | Description |
---|---|---|
archive_log |
||
db |
||
db_sids |
array[db_sids] |
|
grid_binary |
||
new_igroups |
The list of initiator groups to create. |
|
ora_home |
||
oracle_crs |
||
os_type |
string |
The name of the host OS running the application. |
protection_type |
||
redo_log |
local
Name | Type | Description |
---|---|---|
description |
string |
A detailed description of the local RPO. This will include details about the Snapshot copy schedule. |
name |
string |
The local RPO of the component. This indicates how often component Snapshot copies are automatically created. |
remote
Name | Type | Description |
---|---|---|
description |
string |
A detailed description of the remote RPO. |
name |
string |
The remote RPO of the component. A remote RPO of zero indicates that the component is synchronously replicated to another cluster. |
rpo
Name | Type | Description |
---|---|---|
local |
||
remote |
components
Name | Type | Description |
---|---|---|
name |
string |
Component Name. |
rpo |
||
uuid |
string |
Component UUID. |
local
Name | Type | Description |
---|---|---|
description |
string |
A detailed description of the local RPO. This will include details about the Snapshot copy schedule. |
name |