Skip to main content
A newer release of this product is available.

Update application properties

Contributors

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

  1. 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"
       }
     }
      }
  2. 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"
         }
       ]
     }
      }

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.

  • Default value: 1

  • Max value: 120

  • Min value: 0

Request Body

Name Type Description

_links

_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

maxdata_on_san

MAX Data application using SAN.

mongo_db_on_san

mongo_db_on_san

MongoDB using SAN.

name

string

Application Name. This field is user supplied when the application is created.

nas

nas

A generic NAS application.

nvme

zapp_nvme

An NVME application.

oracle_on_nfs

oracle_on_nfs

Oracle using NFS.

oracle_on_san

oracle_on_san

Oracle using SAN.

oracle_rac_on_nfs

oracle_rac_on_nfs

Oracle RAC using NFS.

oracle_rac_on_san

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

rpo

s3_bucket

zapp_s3_bucket

A generic S3 bucket application.

san

san

A generic SAN application.

smart_container

boolean

Identifies if this is a smart container or not.

sql_on_san

sql_on_san

Microsoft SQL using SAN.

sql_on_smb

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

statistics

svm

svm

template

template

uuid

string

Application UUID. This field is generated when the application is created.

vdi_on_nas

vdi_on_nas

A VDI application using NAS.

vdi_on_san

vdi_on_san

A VDI application using SAN.

vsi_on_nas

vsi_on_nas

A VSI application using NAS.

vsi_on_san

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

job_link

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

Error

Status: Default, Error
Name Type Description

error

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

snapshots

href

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

protection_type

storage_service

storage_service

tiering

maxdata_on_san_application_components_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

array[maxdata_on_san_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

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

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

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

component

svm

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

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

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

export_policy

flexcache

flexcache

name

string

The name of the application component.

qos

qos

scale_out

boolean

Denotes a Flexgroup.

share_count

integer

The number of shares in the application component.

storage_service

storage_service

tiering

nas_application_components_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

protection_type

performance

Name Type Description

storage_service

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

performance

qos

qos

subsystem

zapp_nvme_components_subsystem

components.subsystem

tiering

zapp_nvme_components_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

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

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

storage_service

db

Name Type Description

size

integer

The size of the database. Usage: {<integer>[KB|MB|GB|TB|PB]}

storage_service

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

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

storage_service

oracle_on_nfs

Oracle using NFS.

Name Type Description

archive_log

archive_log

db

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

ora_home

protection_type

protection_type

redo_log

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

archive_log

db

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

ora_home

os_type

string

The name of the host OS running the application.

protection_type

protection_type

redo_log

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

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

storage_service

oracle_rac_on_nfs

Oracle RAC using NFS.

Name Type Description

archive_log

archive_log

db

db

grid_binary

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

ora_home

oracle_crs

oracle_crs

protection_type

protection_type

redo_log

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

archive_log

db

db

db_sids

array[db_sids]

grid_binary

grid_binary

new_igroups

array[oracle_rac_on_san_new_igroups]

The list of initiator groups to create.

ora_home

ora_home

oracle_crs

oracle_crs

os_type

string

The name of the host OS running the application.

protection_type

protection_type

redo_log

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

local

remote

remote

components

Name Type Description

name

string

Component Name.

rpo

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