Skip to main content

Create an application

Contributors

POST /application/applications

Introduced In: 9.6

Creates an application.

Template properties

The application APIs appear to be complex and long in this documentation because we document every possible template, of which there are currently 14. When creating an application, only a single template is used, so it is best to focus only on the template of interest. Other than the properties for the chosen template, only the name and svm of the application must be provided. The following three sections provided guidelines on using the properties of the templates, but the whole idea behind the templates is to automatically follow the best practices of the given application, so the only way to determine the exact list of required properties and default values is to dig in to the model section of the template. The templates are all top level properties of the application object with names matching the values returned by GET /application/templates .

Required properties

  • svm.uuid or svm.name - The existing SVM in which to create the application.

  • name - The name for the application.

  • <template> - Properties for one template must be provided. In general, the following properties are required, however the naming of these may vary slightly from template to template.

    • <template>.name - The generic templates require names for the components of the application. Other templates name the components automatically.

    • <template>.application_component.size - This generally refers to the size of an application component, which may be spread across multiple underlying storage objects (volumes, LUNs, etc…​).

    • One of the following must be specified:

  • nas.nfs_access or an identifier (name or id) of an existing export-policy.

  • nas.cifs_access

  • san.application_application.igroup_name

    • To specify that a NAS application is not to be exposed via NFS nor CIFS:

  • nas.application_component.export_policy.name is 'none', and

  • nas.application.cifs_share_name is 'none'.

    • The name of the CIFS share can be provided through the nas.application.cifs_share_name attribute. If not provided, the CIFS share name will be the same as the nas.application_component.name attribute, including any suffix applied due to creating multiple application components in one post.

    • san.os_type - All SAN applications require an os_type to be specified in some way. Some templates refer to this as the hypervisor.

  • <template> - The following properties are available in some templates.

    • san.new_igroups.* - SAN applications can use existing initiator groups or create new ones. When creating new initiator groups, new_igroups.name is required and the other properties may be used to fully specify the new initiator group.

Default property values

If not specified in POST, the follow default property values are assigned. It is recommended that most of these properties be provided explicitly rather than relying upon the defaults. The defaults are intended to make it as easy as possible to provision and connect to an application.

  • template.name - Defaults to match the <template> provided. If specified, the value of this property must match the provided template properties.

  • <template> - The majority of template properties have default values. The defaults may vary from template to template. See the model of each template for complete details. In general the following patterns are common across all template properties. The location of these properties varies from template to template.

    • <template>.storage_service.name - value

    • <template>.protection_type.local_rpo - hourly (Hourly Snapshot copies)

    • <template>.protection_type.remote_rpo - none (Not MetroCluster)

    • san.new_igroups.os_type - Defaults to match the os_type provided for the application, but may need to be provided explicitly when using virtualization.

Optional components

A common pattern across many templates are objects that are optional, but once any property in the object is specified, other properties within the object become required. Many applications have optional components. For example, provisioning a database without a component to store the logs is supported. If the properties related to the logs are omitted, no storage will be provisioned for logs. But when the additional component is desired, the size is required. Specifying any other property of a component without specifying the size is not supported. In the model of each template, the required components are indicated with a red '*'. When a size property is listed as optional, that means the component itself is optional, and the size should be specified to include that component in the application.

POST body examples

  1. Create a generic SAN application that exposes four LUNs to an existing initiator group, igroup_1.

  {
    "name": "app1",
    "svm": { "name": "svm1" },
    "san": {
      "os_type": "linux",
      "application_components": [
        { "name": "component1", "total_size": "10GB", "lun_count": 4, "igroup_name": "igroup_1" }
      ]
    }
  }
  1. Create an SQL application that can be accessed via initiator iqn.2017-01.com.example:foo from a new initiator group, igroup_2.

  {
    "name": "app2",
    "svm": { "name": "svm1" },
    "sql_on_san": {
      "db": { "size": "5GB" },
      "log": { "size": "1GB" },
      "temp_db": { "size": "2GB" },
      "igroup_name": "igroup_2",
      "new_igroups": [
        { "name": "igroup_2", "initiators": [ "iqn.2017-01.com.example:foo" ] }
      ]
    }
  }
  1. The following body creates the exact same SQL application, but manually provides all the defaults that were excluded from the previous call.

Note The model of a sql_on_san application documents all these default values.
  {
    "name": "app3",
    "svm": { "name": "svm1" },
    "template": { "name": "sql_on_san" },
    "sql_on_san": {
      "os_type": "windows_2008",
      "server_cores_count": 8,
      "db": { "size": "5GB", "storage_service": { "name": "value" } },
      "log": { "size": "1GB", "storage_service": { "name": "value" } },
      "temp_db": { "size": "2GB", "storage_service": { "name": "value" } },
      "igroup_name": "igroup_2",
      "new_igroups": [
        {
          "name": "igroup_2",
          "protocol": "mixed",
          "os_type": "windows",
          "initiators": [ "iqn.a.new.initiator" ]
        }
      ],
      "protection_type": { "local_rpo": "none" }
    }
  }

Parameters

Name Type In Required Description

return_timeout

integer

query

False

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

  • Default value: 1

  • Max value: 120

  • Min value: 0

return_records

boolean

query

False

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

  • Default value:

Request Body

Name Type Description

_links

_links

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.

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,
  "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": [
            {
              "dh_hmac_chap": {
                "controller_secret_key": "string",
                "group_size": "string",
                "hash_function": "string",
                "host_secret_key": "string"
              },
              "nqn": "string",
              "priority": "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"
      },
      "remote": {
        "name": "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": [
      {
        "access_policies": [
          {
            "actions": [
              "string"
            ],
            "conditions": [
              {
                "delimiters": [
                  "string"
                ],
                "max_keys": [
                  "integer"
                ],
                "operator": "string",
                "prefixes": [
                  "string"
                ],
                "source_ips": [
                  "string"
                ],
                "usernames": [
                  "string"
                ]
              }
            ],
            "effect": "string",
            "principals": [
              "string"
            ],
            "resources": [
              "string"
            ],
            "sid": "string"
          }
        ],
        "bucket_endpoint_type": "string",
        "comment": "string",
        "default_retention_period": "string",
        "exclude_aggregates": [
          {
            "name": "string",
            "uuid": "string"
          }
        ],
        "name": "string",
        "nas_path": "string",
        "qos": {
          "policy": {
            "name": "string",
            "uuid": "string"
          }
        },
        "retention_mode": "string",
        "storage_service": {
          "name": "string"
        },
        "uuid": "string",
        "versioning_state": "string"
      }
    ],
    "protection_type": {
      "remote_rpo": "string"
    }
  },
  "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"
  }
}

Headers

Name Description Type

Location

Useful for tracking the resource location

string

Response

Status: 201, Created

Error

Status: Default

ONTAP Error Response Codes

Error Code Description

65995775

The size provided is too small.

65995776

The size provided is too large.

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

Name Type Description

error

returned_error

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

Definitions

See Definitions

href

Name Type Description

href

string

Name Type Description

self

href

snapshots

href

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

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.

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

retention

Name Type Description

default

string

Specifies the default retention period that is applied to files while committing them to the WORM state without an associated retention period. The retention value represents a duration and must be specified in the ISO-8601 duration format. The retention period can be in years, months, days, hours, and minutes. A duration specified for years, months, and days is represented in the ISO-8601 format as quot;Plt;num>Y", "P<num>M", "P<num>D" respectively, for example "P10Y" represents a duration of 10 years. A duration in hours and minutes is represented by "PT<num>H" and "PT<num>M" respectively. The retention string must contain only a single time element that is, either years, months, days, hours, or minutes. A duration which combines different periods is not supported, for example "P1Y10M" is not supported. Apart from the duration specified in the ISO-8601 format, the duration field also accepts the string "infinite" to set an infinite retention period and the string "unspecified" to set an unspecified retention period.

maximum

string

Specifies the maximum allowed retention period for files committed to the WORM state on the volume. The retention value represents a duration and must be specified in the ISO-8601 duration format. The retention period can be in years, months, days, hours, and minutes. A duration specified for years, months, and days is represented in the ISO-8601 format as "P<num>Y", "P<num>M", "P<num>D" respectively, for example "P10Y" represents a duration of 10 years. A duration in hours and minutes is represented by "PT<num>H" and "PT<num>M" respectively. The retention string must contain only a single time element that is, either years, months, days, hours, or minutes. A duration which combines different periods is not supported, for example "P1Y10M" is not supported. Apart from the duration specified in the ISO-8601 format, the duration field also accepts the string "infinite" to set an infinite retention period.

minimum

string

Specifies the minimum allowed retention period for files committed to the WORM state on the volume. The retention value represents a duration and must be specified in the ISO-8601 duration format. The retention period can be in years, months, days, hours, and minutes. A duration specified for years, month,s and days is represented in the ISO-8601 format as "P<num>Y", "P<num>M", "P<num>D" respectively, for example "P10Y" represents a duration of 10 years. A duration in hours and minutes is represented by "PT<num>H" and "PT<num>M" respectively. The retention string must contain only a single time element that is, either years, months, days, hours, or minutes. A duration which combines different periods is not supported, for example "P1Y10M" is not supported. Apart from the duration specified in the ISO-8601 format, the duration field also accepts the string "infinite" to set an infinite retention period.

snaplock

Name Type Description

append_mode_enabled

boolean

Specifies if the volume append mode is enabled or disabled. When it is enabled, all the files created with write permissions on the volume are, by default, WORM appendable files. The user can append the data to a WORM appendable file but cannot modify the existing contents of the file nor delete the file until it expires.

autocommit_period

string

Specifies the autocommit period for SnapLock volume. All files which are not modified for a period greater than the autocommit period of the volume are committed to the WORM state. The autocommit period value represents a duration and must be specified in the ISO-8601 duration format. The autocommit period can be in years, months, days, hours, and minutes. A period specified for years, months, and days is represented in the ISO-8601 format as "P<num>Y", "P<num>M", "P<num>D" respectively, for example "P10Y" represents a duration of 10 years. A duration in hours and minutes is represented by "PT<num>H" and "PT<num>M" respectively. The period string must contain only a single time element that is, either years, months, days, hours, or minutes. A duration which combines different periods is not supported, for example "P1Y10M" is not supported. Apart from the duration specified in the ISO-8601 format, the autocommit field also accepts the string "none".

retention

retention

snaplock_type

string

The SnapLock type of the smart container.

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.

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.

snaplock

snaplock

snapshot_locking_enabled

boolean

Indicates whether Snapshot copy locking is enabled on the volume.

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

dh_hmac_chap

Name Type Description

controller_secret_key

string

Authentication Controller Secret.

group_size

string

Authentication Diffie-Hellman Group.

hash_function

string

Authentication Hash Function.

host_secret_key

string

Authentication Host Secret.

hosts

Name Type Description

dh_hmac_chap

dh_hmac_chap

nqn

string

The host NQN.

priority

string

Host Priority.

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.

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 supported per request, with a total limit of 1024 per volume.

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>

remote

Name Type Description

name

string

The remote RPO of the application.

rpo

Name Type Description

local

local

remote

remote

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.

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

string

The local RPO of the application. This indicates how often application 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 application. A remote RPO of zero indicates that the application is synchronously replicated to another cluster.

rpo

Name Type Description

components

array[components]

is_supported

boolean

Is RPO supported for this application? Generation 1 applications did not support Snapshot copies or MetroCluster.

local

local

remote

remote

zapp_s3_bucket_application_components_access_policies_conditions

conditions

Name Type Description

delimiters

array[string]

max_keys

array[integer]

operator

string

Policy Condition Operator.

prefixes

array[string]

source_ips

array[string]

usernames

array[string]

zapp_s3_bucket_application_components_access_policies

The list of S3 objectstore policies to be created.

Name Type Description

actions

array[string]

conditions

array[zapp_s3_bucket_application_components_access_policies_conditions]

conditions.

effect

string

Allow or Deny Access.

principals

array[string]

resources

array[string]

sid

string

Statement Identifier Usage: <(size 1..256)>

zapp_s3_bucket_application_components

The list of application components to be created.

Name Type Description

access_policies

array[zapp_s3_bucket_application_components_access_policies]

The list of S3 objectstore policies to be created.

bucket_endpoint_type

string

The type of bucket.

capacity_tier

boolean

Prefer lower latency storage under similar media costs.

comment

string

Object Store Server Bucket Description Usage: <(size 1..256)>

default_retention_period

string

Specifies the default retention period that is applied to objects while committing them to the WORM state without an associated retention period. The retention period can be in years, or days. The retention period value represents a duration and must be specified in the ISO-8601 duration format. A period specified for years and days is represented in the ISO-8601 format as quot;Plt;num>Y" and quot;Plt;num>D" respectively, for example "P10Y" represents a duration of 10 years. The period string must contain only a single time element that is, either years, or days. A duration which combines different periods is not supported, for example "P1Y10D" is not supported. Usage: {{<integer> days|years} | none}

exclude_aggregates

array[exclude_aggregates]

name

string

The name of the application component.

nas_path

string

The path to which the bucket corresponds to.

qos

qos

retention_mode

string

The lock mode of the bucket. <br>compliance ‐ A SnapLock Compliance (SLC) bucket provides the highest level of WORM protection and an administrator cannot destroy a compliance bucket if it contains unexpired WORM objects. <br> governance ‐ An administrator can delete a Governance bucket.<br> no_lock ‐ Indicates the bucket does not support object locking. For s3 type buckets, the default value is no_lock.

size

integer

The total size of the S3 Bucket, split across the member components. Usage: {<integer>[KB|MB|GB|TB|PB]}

storage_service

storage_service

uuid

string

Object Store Server Bucket UUID Usage: <UUID>

versioning_state

string

Bucket Versioning State. For nas type buckets, this field is not set. For s3 type buckets, the default value is disabled.

protection_type

Name Type Description

remote_rpo

string

The remote RPO of the application.

zapp_s3_bucket

A generic S3 bucket application.

Name Type Description

application_components

array[zapp_s3_bucket_application_components]

The list of application components to be created.

protection_type

protection_type

san_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

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.

name

string

The name of the application component.

os_type

string

The name of the host OS running the application.

qos

qos

storage_service

storage_service

tiering

san_application_components_tiering

application-components.tiering

total_size

integer

The total size of the application component, split across the member LUNs. Usage: {<integer>[KB|MB|GB|TB|PB]}

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.

san

A generic SAN application.

Name Type Description

application_components

array[application_components]

exclude_aggregates

array[exclude_aggregates]

new_igroups

array[san_new_igroups]

The list of initiator groups to create.

os_type

string

The name of the host OS running the application.

protection_type

protection_type

storage_service

Name Type Description

name

string

The storage service of the DB.

db

Name Type Description

size

integer

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

storage_service

storage_service

storage_service

Name Type Description

name

string

The storage service of the log DB.

log

Name Type Description

size

integer

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

storage_service

storage_service

sql_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.

storage_service

Name Type Description

name

string

The storage service of the temp DB.

temp_db

Name Type Description

size

integer

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

storage_service

storage_service

sql_on_san

Microsoft SQL using SAN.

Name Type Description

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.

log

log

new_igroups

array[sql_on_san_new_igroups]

The list of initiator groups to create.

os_type

string

The name of the host OS running the application.

protection_type

protection_type

server_cores_count

integer

The number of server cores for the DB.

temp_db

temp_db

access

Name Type Description

installer

string

SQL installer admin user name.

service_account

string

SQL service account user name.

sql_on_smb

Microsoft SQL using SMB.

Name Type Description

access

access

db

db

log

log

protection_type

protection_type

server_cores_count

integer

The number of server cores for the DB.

temp_db

temp_db

iops

Name Type Description

per_tb

integer

The number of IOPS per terabyte of logical space currently being used by the application component.

total

integer

The total number of IOPS being used by the application component.

latency

Name Type Description

average

integer

The cumulative average response time in microseconds for this component.

raw

integer

The cumulative response time in microseconds for this component.

snapshot

Name Type Description

reserve

integer

The amount of space reserved by the system for Snapshot copies.

used

integer

The amount of spacing currently in use by the system to store Snapshot copies.

space

Name Type Description

available

integer

The available amount of space left in the application component. Note that this field has limited meaning for SAN applications. Space may be considered used from ONTAP's perspective while the host filesystem still considers it available.

  • readOnly: 1

  • Introduced in: 9.6

  • x-nullable: true

logical_used

integer

The amount of space that would currently be used if no space saving features were enabled. For example, if compression were the only space saving feature enabled, this field would represent the uncompressed amount of space used.

provisioned

integer

The originally requested amount of space that was provisioned for the application component.

reserved_unused

integer

The amount of space reserved for system features such as Snapshot copies that has not yet been used.

savings

integer

The amount of space saved by all enabled space saving features.

used

integer

The amount of space that is currently being used by the application component. Note that this includes any space reserved by the system for features such as Snapshot copies.

used_excluding_reserves

integer

The amount of space that is currently being used, excluding any space that is reserved by the system for features such as Snapshot copies.

used_percent

integer

The percentage of the originally provisioned space that is currently being used by the application component.

storage_service

Name Type Description

name

string

The storage service name. AFF systems support the extreme storage service. All other systems only support value.

uuid

string

The storage service UUID.

components

Name Type Description

iops

iops

latency

latency

name

string

Component Name.

shared_storage_pool

boolean

An application component is considered to use a shared storage pool if storage elements for for other components reside on the same aggregate as storage elements for this component.

snapshot

snapshot

space

space

statistics_incomplete

boolean

If not all storage elements of the application component are currently available, the returned statistics might only include data from those elements that were available.

storage_service

storage_service

uuid

string

Component UUID.

iops

Name Type Description

per_tb

integer

The number of IOPS per terabyte of logical space currently being used by the application.

total

integer

The total number of IOPS being used by the application.

latency

Name Type Description

average

integer

The cumulative average response time in microseconds for this application.

raw

integer

The cumulative response time in microseconds for this application.

space

Name Type Description

available

integer

The available amount of space left in the application. Note that this field has limited meaning for SAN applications. Space may be considered used from ONTAP's perspective while the host filesystem still considers it available.

  • readOnly: 1

  • Introduced in: 9.6

  • x-nullable: true

logical_used

integer

The amount of space that would currently be used if no space saving features were enabled. For example, if compression were the only space saving feature enabled, this field would represent the uncompressed amount of space used.

provisioned

integer

The originally requested amount of space that was provisioned for the application.

reserved_unused

integer

The amount of space reserved for system features such as Snapshot copies that has not yet been used.

savings

integer

The amount of space saved by all enabled space saving features.

used

integer

The amount of space that is currently being used by the application. Note that this includes any space reserved by the system for features such as Snapshot copies.

used_excluding_reserves

integer

The amount of space that is currently being used, excluding any space that is reserved by the system for features such as Snapshot copies.

used_percent

integer

The percentage of the originally provisioned space that is currently being used by the application.

statistics

Name Type Description

components

array[components]

iops

iops

latency

latency

shared_storage_pool

boolean

An application is considered to use a shared storage pool if storage elements for multiple components reside on the same aggregate.

snapshot

snapshot

space

space

statistics_incomplete

boolean

If not all storage elements of the application are currently available, the returned statistics might only include data from those elements that were available.

svm

Name Type Description

name

string

SVM Name. Either the SVM name or UUID must be provided to create an application.

uuid

string

SVM UUID. Either the SVM name or UUID must be provided to create an application.

Name Type Description

self

href

template

Name Type Description

_links

self_link

name

string

The name of the template that was used to provision this application.

protocol

string

The protocol access of the template that was used to provision this application.

version

integer

The version of the template that was used to provision this application. The template version changes only if the layout of the application changes over time. For example, redo logs in Oracle RAC templates were updated and provisioned differently in DATA ONTAP 9.3.0 compared to prior releases, so the version number was increased. If layouts change in the future, the changes will be documented along with the corresponding version numbers.

  • readOnly: 1

  • Introduced in: 9.6

  • x-nullable: true

storage_service

Name Type Description

name

string

The storage service of the desktops.

desktops

Name Type Description

count

integer

The number of desktops to support.

size

integer

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

storage_service

storage_service

hyper_v_access

Name Type Description

service_account

string

Hyper-V service account.

vdi_on_nas

A VDI application using NAS.

Name Type Description

desktops

desktops

hyper_v_access

hyper_v_access

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

vdi_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.

protocol

string

The protocol of the new initiator group.

vdi_on_san

A VDI application using SAN.

Name Type Description

desktops

desktops

hypervisor

string

The name of the hypervisor hosting the application.

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[vdi_on_san_new_igroups]

The list of initiator groups to create.

protection_type

protection_type

storage_service

Name Type Description

name

string

The storage service of the datastore.

datastore

Name Type Description

count

integer

The number of datastores to support.

size

integer

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

storage_service

storage_service

vsi_on_nas

A VSI application using NAS.

Name Type Description

datastore

datastore

hyper_v_access

hyper_v_access

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

vsi_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.

protocol

string

The protocol of the new initiator group.

vsi_on_san

A VSI application using SAN.

Name Type Description

datastore

datastore

hypervisor

string

The name of the hypervisor hosting the application.

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[vsi_on_san_new_igroups]

The list of initiator groups to create.

protection_type

protection_type

application

Applications

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.

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.

Name Type Description

self

href

Name Type Description

_links

_links

uuid

string

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

error_arguments

Name Type Description

code

string

Argument code

message

string

Message argument

returned_error

Name Type Description

arguments

array[error_arguments]

Message arguments

code

string

Error code

message

string

Error message

target

string

The target parameter that caused the error.