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

Create an application

Contributors

POST /application/applications

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.

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

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

    • igroup_name - All SAN applications require an initiator group to be specified in some way.

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

    • 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, but likely provide more access to the application than is necessary.

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

    • storage_service.name - value

    • nfs_access.host - 0.0.0.0/0

    • nfs_access.access - rw

    • cifs_access.user_or_group - everyone

    • cifs_access.access - full_access

    • protection_type.local_rpo - hourly (Hourly Snapshot copies)

    • protection_type.remote_rpo - none (Not MetroCluster)

    • 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, this is documented in the description of each property. 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" }
    }
  }

Request Body

Name Type Description

_links

_links

creation_timestamp

string

The time when the application was created

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 snapshots. Support for snapshots 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. Required in the POST body

nas

nas

A generic NAS 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 operations for the application. Possible values are "application" and "component". If the value is "application", Snapshot operations are performed on the entire application. If the value is "component", Snapshot operations are performed separately on the application components

rpo

rpo

san

san

A generic SAN application.

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. Required in the URL

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": [
      {
        "file_system": "string",
        "host_management_url": "string",
        "host_name": "string",
        "igroup_name": "string",
        "metadata": [
          {
            "key": "string",
            "value": "string"
          }
        ],
        "name": "string",
        "protection_type": {
          "local_rpo": "string",
          "remote_rpo": "string"
        },
        "storage_service": {
          "name": "string"
        }
      }
    ],
    "metadata": [
      {
        "key": "string",
        "value": "string"
      }
    ],
    "new_igroups": [
      {
        "initiators": [
          "string"
        ],
        "name": "string",
        "os_type": "string",
        "protocol": "string"
      }
    ],
    "ocsm_url": "string",
    "os_type": "string"
  },
  "mongo_db_on_san": {
    "dataset": {
      "storage_service": {
        "name": "string"
      }
    },
    "new_igroups": [
      {
        "initiators": [
          "string"
        ],
        "name": "string",
        "os_type": "string",
        "protocol": "string"
      }
    ],
    "os_type": "string",
    "primary_igroup_name": "string",
    "protection_type": {
      "local_rpo": "string",
      "remote_rpo": "string"
    },
    "secondary_igroups": [
      {
        "name": "string"
      }
    ]
  },
  "name": "string",
  "nas": {
    "application_components": [
      {
        "name": "string",
        "storage_service": {
          "name": "string"
        }
      }
    ],
    "cifs_access": [
      {
        "access": "string",
        "user_or_group": "string"
      }
    ],
    "nfs_access": [
      {
        "access": "string",
        "host": "string"
      }
    ],
    "protection_type": {
      "local_rpo": "string",
      "remote_rpo": "string"
    }
  },
  "oracle_on_nfs": {
    "archive_log": {
      "storage_service": {
        "name": "string"
      }
    },
    "db": {
      "storage_service": {
        "name": "string"
      }
    },
    "nfs_access": [
      {
        "access": "string",
        "host": "string"
      }
    ],
    "ora_home": {
      "storage_service": {
        "name": "string"
      }
    },
    "protection_type": {
      "local_rpo": "string",
      "remote_rpo": "string"
    },
    "redo_log": {
      "storage_service": {
        "name": "string"
      }
    }
  },
  "oracle_on_san": {
    "archive_log": {
      "storage_service": {
        "name": "string"
      }
    },
    "db": {
      "storage_service": {
        "name": "string"
      }
    },
    "igroup_name": "string",
    "new_igroups": [
      {
        "initiators": [
          "string"
        ],
        "name": "string",
        "os_type": "string",
        "protocol": "string"
      }
    ],
    "ora_home": {
      "storage_service": {
        "name": "string"
      }
    },
    "os_type": "string",
    "protection_type": {
      "local_rpo": "string",
      "remote_rpo": "string"
    },
    "redo_log": {
      "storage_service": {
        "name": "string"
      }
    }
  },
  "oracle_rac_on_nfs": {
    "archive_log": {
      "storage_service": {
        "name": "string"
      }
    },
    "db": {
      "storage_service": {
        "name": "string"
      }
    },
    "grid_binary": {
      "storage_service": {
        "name": "string"
      }
    },
    "nfs_access": [
      {
        "access": "string",
        "host": "string"
      }
    ],
    "ora_home": {
      "storage_service": {
        "name": "string"
      }
    },
    "oracle_crs": {
      "storage_service": {
        "name": "string"
      }
    },
    "protection_type": {
      "local_rpo": "string",
      "remote_rpo": "string"
    },
    "redo_log": {
      "storage_service": {
        "name": "string"
      }
    }
  },
  "oracle_rac_on_san": {
    "archive_log": {
      "storage_service": {
        "name": "string"
      }
    },
    "db": {
      "storage_service": {
        "name": "string"
      }
    },
    "db_sids": [
      {
        "igroup_name": "string"
      }
    ],
    "grid_binary": {
      "storage_service": {
        "name": "string"
      }
    },
    "new_igroups": [
      {
        "initiators": [
          "string"
        ],
        "name": "string",
        "os_type": "string",
        "protocol": "string"
      }
    ],
    "ora_home": {
      "storage_service": {
        "name": "string"
      }
    },
    "oracle_crs": {
      "storage_service": {
        "name": "string"
      }
    },
    "os_type": "string",
    "protection_type": {
      "local_rpo": "string",
      "remote_rpo": "string"
    },
    "redo_log": {
      "storage_service": {
        "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"
    }
  },
  "san": {
    "application_components": [
      {
        "igroup_name": "string",
        "name": "string",
        "storage_service": {
          "name": "string"
        }
      }
    ],
    "new_igroups": [
      {
        "initiators": [
          "string"
        ],
        "name": "string",
        "os_type": "string",
        "protocol": "string"
      }
    ],
    "os_type": "string",
    "protection_type": {
      "local_rpo": "string",
      "remote_rpo": "string"
    }
  },
  "sql_on_san": {
    "db": {
      "storage_service": {
        "name": "string"
      }
    },
    "igroup_name": "string",
    "log": {
      "storage_service": {
        "name": "string"
      }
    },
    "new_igroups": [
      {
        "initiators": [
          "string"
        ],
        "name": "string",
        "os_type": "string",
        "protocol": "string"
      }
    ],
    "os_type": "string",
    "protection_type": {
      "local_rpo": "string",
      "remote_rpo": "string"
    },
    "temp_db": {
      "storage_service": {
        "name": "string"
      }
    }
  },
  "sql_on_smb": {
    "access": {
      "installer": "string",
      "service_account": "string"
    },
    "db": {
      "storage_service": {
        "name": "string"
      }
    },
    "log": {
      "storage_service": {
        "name": "string"
      }
    },
    "protection_type": {
      "local_rpo": "string",
      "remote_rpo": "string"
    },
    "temp_db": {
      "storage_service": {
        "name": "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",
  "vdi_on_nas": {
    "desktops": {
      "storage_service": {
        "name": "string"
      }
    },
    "hyper_v_access": {
      "service_account": "string"
    },
    "nfs_access": [
      {
        "access": "string",
        "host": "string"
      }
    ],
    "protection_type": {
      "local_rpo": "string",
      "remote_rpo": "string"
    }
  },
  "vdi_on_san": {
    "desktops": {
      "storage_service": {
        "name": "string"
      }
    },
    "hypervisor": "string",
    "igroup_name": "string",
    "new_igroups": [
      {
        "initiators": [
          "string"
        ],
        "name": "string",
        "protocol": "string"
      }
    ],
    "protection_type": {
      "local_rpo": "string",
      "remote_rpo": "string"
    }
  },
  "vsi_on_nas": {
    "datastore": {
      "storage_service": {
        "name": "string"
      }
    },
    "hyper_v_access": {
      "service_account": "string"
    },
    "nfs_access": [
      {
        "access": "string",
        "host": "string"
      }
    ],
    "protection_type": {
      "local_rpo": "string",
      "remote_rpo": "string"
    }
  },
  "vsi_on_san": {
    "datastore": {
      "storage_service": {
        "name": "string"
      }
    },
    "hypervisor": "string",
    "igroup_name": "string",
    "new_igroups": [
      {
        "initiators": [
          "string"
        ],
        "name": "string",
        "protocol": "string"
      }
    ],
    "protection_type": {
      "local_rpo": "string",
      "remote_rpo": "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. Optional in the POST body

value

string

Value associated with the key. Optional in the POST body

protection_type

Name Type Description

local_rpo

string

The local rpo of the application component. Optional in the POST or PATCH body

remote_rpo

string

The remote rpo of the application component. Optional in the POST or PATCH body

storage_service

Name Type Description

name

string

The storage service of the application component. Optional in the POST or PATCH body

maxdata_on_san_application_components

application-components

Name Type Description

file_system

string

Defines the kind of file system that will be installed on this application component. Optional in the POST body

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. Required in the POST body

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. Required in the POST body and optional in the PATCH body

lun_count

integer

The number of LUNs in the application component. Required in the POST body

metadata

array[metadata]

name

string

The name of the application component. Required in the POST body and optional in the PATCH body

protection_type

protection_type

storage_service

storage_service

total_size

integer

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

metadata

Name Type Description

key

string

Key to look up metadata associated with an application. Optional in the POST body

value

string

Value associated with the key. Optional in the POST body

maxdata_on_san_new_igroups

The list of initiator groups to create.

Name Type Description

initiators

array[string]

name

string

The name of the new initiator group. Required in the POST body and optional in the PATCH body

os_type

string

The name of the host OS accessing the application. The default value is the host OS that is running the application. Optional in the POST or PATCH body

protocol

string

The protocol of the new initiator group. Optional in the POST or PATCH body

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. Required in the POST body

application_components

array[maxdata_on_san_application_components]

application-components. Optional in the POST or PATCH body

metadata

array[metadata]

new_igroups

array[maxdata_on_san_new_igroups]

The list of initiator groups to create. Optional in the POST or PATCH body

ocsm_url

string

The OnCommand System Manager URL for this application

os_type

string

The name of the host OS running the application. Required in the POST body

storage_service

Name Type Description

name

string

The storage service of the database. Optional in the POST or PATCH body

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. Optional in the POST body

replication_factor

integer

The number of data bearing members of the replicaset, including 1 primary and at least 1 secondary. Optional in the POST body

size

integer

The size of the database. Usage: {<integer>[KB|MB|GB|TB|PB]} Required in the POST body and optional in the PATCH body

storage_service

storage_service

mongo_db_on_san_new_igroups

The list of initiator groups to create.

Name Type Description

initiators

array[string]

name

string

The name of the new initiator group. Required in the POST body and optional in the PATCH body

os_type

string

The name of the host OS accessing the application. The default value is the host OS that is running the application. Optional in the POST or PATCH body

protocol

string

The protocol of the new initiator group. Optional in the POST or PATCH body

protection_type

Name Type Description

local_rpo

string

The local rpo of the application. Optional in the POST or PATCH body

remote_rpo

string

The remote rpo of the application. Optional in the POST body

secondary_igroups

Name Type Description

name

string

The name of the initiator group for each secondary. Optional in the POST or PATCH body

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. Optional in the POST or PATCH body

os_type

string

The name of the host OS running the application. Optional in the POST body

primary_igroup_name

string

The initiator group for the primary. Required in the POST body and optional in the PATCH body

protection_type

protection_type

secondary_igroups

array[secondary_igroups]

application_components

Name Type Description

name

string

The name of the application component. Optional in the POST or PATCH body

share_count

integer

The number of shares in the application component. Optional in the POST body

storage_service

storage_service

total_size

integer

The total size of the application component, split across the member shares. Usage: {<integer>[KB|MB|GB|TB|PB]} Optional in the POST or PATCH body

app_cifs_access

The list of CIFS access controls.

Name Type Description

access

string

The CIFS access granted to the user or group. Optional in the POST body

user_or_group

string

The name of the CIFS user or group that will be granted access. Optional in the POST body

app_nfs_access

The list of NFS access controls.

Name Type Description

access

string

The NFS access granted. Optional in the POST body

host

string

The name of the NFS entity granted access. Optional in the POST body

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. Optional in the POST body

nfs_access

array[app_nfs_access]

The list of NFS access controls. Optional in the POST body

protection_type

protection_type

storage_service

Name Type Description

name

string

The storage service of the archive log. Optional in the POST or PATCH body

archive_log

Name Type Description

size

integer

The size of the archive log. Usage: {<integer>[KB|MB|GB|TB|PB]} Optional in the POST or PATCH body

storage_service

storage_service

db

Name Type Description

size

integer

The size of the database. Usage: {<integer>[KB|MB|GB|TB|PB]} Required in the POST body and optional in the PATCH body

storage_service

storage_service

storage_service

Name Type Description

name

string

The storage service of the ORACLE_HOME storage volume. Optional in the POST or PATCH body

ora_home

Name Type Description

size

integer

The size of the ORACLE_HOME storage volume. Usage: {<integer>[KB|MB|GB|TB|PB]} Optional in the POST or PATCH body

storage_service

storage_service

storage_service

Name Type Description

name

string

The storage service of the redo log group. Optional in the POST or PATCH body

redo_log

Name Type Description

mirrored

boolean

Should the redo log group be mirrored? Optional in the POST body

size

integer

The size of the redo log group. Usage: {<integer>[KB|MB|GB|TB|PB]} Required in the POST body and optional in the PATCH body

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. Optional in the POST body

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

initiators

array[string]

name

string

The name of the new initiator group. Required in the POST body and optional in the PATCH body

os_type

string

The name of the host OS accessing the application. The default value is the host OS that is running the application. Optional in the POST or PATCH body

protocol

string

The protocol of the new initiator group. Optional in the POST or PATCH body

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. Required in the POST body and optional in the PATCH body

new_igroups

array[oracle_on_san_new_igroups]

The list of initiator groups to create. Optional in the POST or PATCH body

ora_home

ora_home

os_type

string

The name of the host OS running the application. Required in the POST body

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. Optional in the POST or PATCH body

grid_binary

Name Type Description

size

integer

The size of the Oracle grid binary storage volume. Usage: {<integer>[KB|MB|GB|TB|PB]} Optional in the POST or PATCH body

storage_service

storage_service

storage_service

Name Type Description

name

string

The storage service of the Oracle CRS volume. Optional in the POST or PATCH body

oracle_crs

Name Type Description

copies

integer

The number of CRS volumes. Optional in the POST body

size

integer

The size of the Oracle CRS/voting storage volume. Usage: {<integer>[KB|MB|GB|TB|PB]} Optional in the POST body

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. Optional in the POST body

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. Optional in the POST or PATCH body

oracle_rac_on_san_new_igroups

The list of initiator groups to create.

Name Type Description

initiators

array[string]

name

string

The name of the new initiator group. Required in the POST body and optional in the PATCH body

os_type

string

The name of the host OS accessing the application. The default value is the host OS that is running the application. Optional in the POST or PATCH body

protocol

string

The protocol of the new initiator group. Optional in the POST or PATCH body

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. Optional in the POST or PATCH body

ora_home

ora_home

oracle_crs

oracle_crs

os_type

string

The name of the host OS running the application. Required in the POST body

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 schedule

name

string

The local RPO of the component. This indicates how often component snapshots 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 schedule

name

string

The local RPO of the application. This indicates how often application snapshots 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 snapshots or MetroCluster

local

local

remote

remote

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. Optional in the POST or PATCH body

lun_count

integer

The number of LUNs in the application component. Optional in the POST body

name

string

The name of the application component. Optional in the POST or PATCH body

storage_service

storage_service

total_size

integer

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

san_new_igroups

The list of initiator groups to create.

Name Type Description

initiators

array[string]

name

string

The name of the new initiator group. Required in the POST body and optional in the PATCH body

os_type

string

The name of the host OS accessing the application. The default value is the host OS that is running the application. Optional in the POST or PATCH body

protocol

string

The protocol of the new initiator group. Optional in the POST or PATCH body

san

A generic SAN application.

Name Type Description

application_components

array[application_components]

new_igroups

array[san_new_igroups]

The list of initiator groups to create. Optional in the POST or PATCH body

os_type

string

The name of the host OS running the application. Required in the POST body

protection_type

protection_type

storage_service

Name Type Description

name

string

The storage service of the db. Optional in the POST or PATCH body

db

Name Type Description

size

integer

The size of the db. Usage: {<integer>[KB|MB|GB|TB|PB]} Required in the POST body and optional in the PATCH body

storage_service

storage_service

storage_service

Name Type Description

name

string

The storage service of the log db. Optional in the POST or PATCH body

log

Name Type Description

size

integer

The size of the log db. Usage: {<integer>[KB|MB|GB|TB|PB]} Required in the POST body and optional in the PATCH body

storage_service

storage_service

sql_on_san_new_igroups

The list of initiator groups to create.

Name Type Description

initiators

array[string]

name

string

The name of the new initiator group. Required in the POST body and optional in the PATCH body

os_type

string

The name of the host OS accessing the application. The default value is the host OS that is running the application. Optional in the POST or PATCH body

protocol

string

The protocol of the new initiator group. Optional in the POST or PATCH body

storage_service

Name Type Description

name

string

The storage service of the temp db. Optional in the POST or PATCH body

temp_db

Name Type Description

size

integer

The size of the temp db. Usage: {<integer>[KB|MB|GB|TB|PB]} Optional in the POST or PATCH body

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. Required in the POST body and optional in the PATCH body

log

log

new_igroups

array[sql_on_san_new_igroups]

The list of initiator groups to create. Optional in the POST or PATCH body

os_type

string

The name of the host OS running the application. Optional in the POST body

protection_type

protection_type

server_cores_count

integer

The number of server cores for the db. Optional in the POST body

temp_db

temp_db

access

Name Type Description

installer

string

SQL installer admin user name. Optional in the POST body

service_account

string

SQL service account user name. Required in the POST body

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. Optional in the POST body

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 snapshots

used

integer

The amount of spacing currently in use by the system to store snapshots

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

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 snapshots 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 snapshots

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 snapshots

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

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 snapshots 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 snapshots

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 snapshots

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. Optional in the POST body

uuid

string

SVM UUID. Either the SVM name or UUID must be provided to create an application. Optional in the POST body

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. Optional in the POST body

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

storage_service

Name Type Description

name

string

The storage service of the desktops. Optional in the POST or PATCH body

desktops

Name Type Description

count

integer

The number of desktops to support. Optional in the POST or PATCH body

size

integer

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

storage_service

storage_service

hyper_v_access

Name Type Description

service_account

string

Hyper-V service account. Optional in the POST body

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. Optional in the POST body

protection_type

protection_type

vdi_on_san_new_igroups

The list of initiator groups to create.

Name Type Description

initiators

array[string]

name

string

The name of the new initiator group. Required in the POST body and optional in the PATCH body

protocol

string

The protocol of the new initiator group. Optional in the POST or PATCH body

vdi_on_san

A VDI application using SAN.

Name Type Description

desktops

desktops

hypervisor

string

The name of the hypervisor hosting the application. Required in the POST body

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. Required in the POST body and optional in the PATCH body

new_igroups

array[vdi_on_san_new_igroups]

The list of initiator groups to create. Optional in the POST or PATCH body

protection_type

protection_type

storage_service

Name Type Description

name

string

The storage service of the datastore. Optional in the POST or PATCH body

datastore

Name Type Description

count

integer

The number of datastores to support. Optional in the POST or PATCH body

size

integer

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

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. Optional in the POST body

protection_type

protection_type

vsi_on_san_new_igroups

The list of initiator groups to create.

Name Type Description

initiators

array[string]

name

string

The name of the new initiator group. Required in the POST body and optional in the PATCH body

protocol

string

The protocol of the new initiator group. Optional in the POST or PATCH body

vsi_on_san

A VSI application using SAN.

Name Type Description

datastore

datastore

hypervisor

string

The name of the hypervisor hosting the application. Required in the POST body

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. Required in the POST body and optional in the PATCH body

new_igroups

array[vsi_on_san_new_igroups]

The list of initiator groups to create. Optional in the POST or PATCH body

protection_type

protection_type

application

Applications

Name Type Description

_links

_links

creation_timestamp

string

The time when the application was created

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 snapshots. Support for snapshots 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. Required in the POST body

nas

nas

A generic NAS 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 operations for the application. Possible values are "application" and "component". If the value is "application", Snapshot operations are performed on the entire application. If the value is "component", Snapshot operations are performed separately on the application components

rpo

rpo

san

san

A generic SAN application.

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. Required in the URL

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

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.