Skip to content

Latest commit

 

History

History
789 lines (514 loc) · 58.6 KB

ApplicationApi.md

File metadata and controls

789 lines (514 loc) · 58.6 KB

\ApplicationApi

All URIs are relative to https://localhost/api

Method HTTP request Description
ApplicationCollectionGet Get /application/applications
ApplicationComponentCollectionGet Get /application/applications/{application.uuid}/components
ApplicationComponentGet Get /application/applications/{application.uuid}/components/{uuid}
ApplicationComponentSnapshotCollectionGet Get /application/applications/{application.uuid}/components/{component.uuid}/snapshots
ApplicationComponentSnapshotCreate Post /application/applications/{application.uuid}/components/{component.uuid}/snapshots
ApplicationComponentSnapshotDelete Delete /application/applications/{application.uuid}/components/{component.uuid}/snapshots/{uuid}
ApplicationComponentSnapshotGet Get /application/applications/{application.uuid}/components/{component.uuid}/snapshots/{uuid}
ApplicationComponentSnapshotRestore Post /application/applications/{application.uuid}/components/{component.uuid}/snapshots/{uuid}/restore
ApplicationCreate Post /application/applications
ApplicationDelete Delete /application/applications/{uuid}
ApplicationGet Get /application/applications/{uuid}
ApplicationModify Patch /application/applications/{uuid}
ApplicationSnapshotCollectionGet Get /application/applications/{application.uuid}/snapshots
ApplicationSnapshotCreate Post /application/applications/{application.uuid}/snapshots
ApplicationSnapshotDelete Delete /application/applications/{application.uuid}/snapshots/{uuid}
ApplicationSnapshotGet Get /application/applications/{application.uuid}/snapshots/{uuid}
ApplicationSnapshotRestore Post /application/applications/{application.uuid}/snapshots/{uuid}/restore
ApplicationTemplateCollectionGet Get /application/templates
ApplicationTemplateGet Get /application/templates/{name}

ApplicationCollectionGet

ApplicationResponse ApplicationCollectionGet(ctx, optional)

Retrieves applications. ### Expensive properties There is an added cost to retrieving values for these properties. They are not included by default in GET results and must be explicitly requested using the fields query parameter. See DOC Requesting specific fields to learn more. * <template> the property corresponding to the template.name of the application ### Query examples Numerous queries are available for classifying and sorting applications: 1. Return a list of applications sorted by name. GET /application/applications?order_by=name
2. Return a list of applications for a specific SVM. GET /application/applications?svm.name=<name>
3. Return a list of all SQL applications. GET /application/applications?template.name=sql*
4. Return a list of all applications that can be accessed via SAN.
GET /application/applications?template.protocol=san
5. Return the top five applications consuming the most IOPS.
GET /application/applications?order_by=statistics.iops.total desc&max_records=5
The above examples are not comprehensive. There are many more properties available for queries. Also, multiple queries can be mixed and matched with other query parameters for a large variety of requests. See the per-property documentation below for the full list of supported query parameters. ### Learn more * DOC /application

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
optional *ApplicationCollectionGetOpts optional parameters nil if no parameters

Optional Parameters

Optional parameters are passed through a pointer to a ApplicationCollectionGetOpts struct

Name Type Description Notes
uuid optional.String Filter by UUID
name optional.String Filter by name
svmName optional.String Filter by svm.name
svmUuid optional.String Filter by svm.uuid
templateName optional.String Filter by template.name
templateVersion optional.String Filter by template.version
templateProtocol optional.String Filter by template.protocol
generation optional.String Filter by generation
state optional.String Filter by state
protectionGranularity optional.String Filter by protection granularity
rpoIsSupported optional.String Filter by rpo.is_supported
rpoLocalName optional.String Filter by rpo.local.name
rpoLocalDescription optional.String Filter by rpo.local.description
rpoRemoteName optional.String Filter by rpo.remote.name
rpoRemoteDescription optional.String Filter by rpo.remote.description
rpoComponentsName optional.String Filter by rpo.components.name
rpoComponentsUuid optional.String Filter by rpo.components.uuid
rpoComponentsLocalName optional.String Filter by rpo.components.rpo.local.name
rpoComponentsRpoLocalDescription optional.String Filter by rpo.components.rpo.local.description
rpoComponentsRpoRemoteName optional.String Filter by rpo.components.rpo.remote.name
rpoComponentsRpoRemoteDescription optional.String Filter by rpo.components.rpo.remote.description
statisticsSpaceProvisioned optional.String Filter by statistics.space.provisioned
statisticsSpaceUsed optional.String Filter by statistics.space.used
statisticsSpaceUsedPercent optional.String Filter by statistics.space.used_percent
statisticsSpaceUsedExcludingReserves optional.String Filter by statistics.space.used_excluding_reserves
statisticsSpaceLogicalUsed optional.String Filter by statistics.space.logical_used
statisticsSpaceReservedUnused optional.String Filter by statistics.space.reserved_unused
statisticsSpaceAvailable optional.String Filter by statistics.space.available
statisticsSpaceSavings optional.String Filter by statistics.space.savings
statisticsIopsTotal optional.String Filter by statistics.iops.total
statisticsIopsPerTb optional.String Filter by statistics.iops.per_tb
statisticsSnapshotReserve optional.String Filter by statistics.snapshot.reserve
statisticsSnapshotUsed optional.String Filter by statistics.snapshot.used
statisticsLatencyRaw optional.String Filter by statistics.latency.raw
statisticsLatencyAverage optional.String Filter by statistics.latency.average
statisticsStatisticsIncomplete optional.String Filter by statistics.statistics_incomplete
statisticsSharedStoragePool optional.String Filter by statistics.shared_storage_pool
statisticsComponentsName optional.String Filter by statistics.components.name
statisticsComponentsUuid optional.String Filter by statistics.components.uuid
statisticsComponentsStorageServiceName optional.String Filter by statistics.components.storage_service.name
statisticsComponentsSpaceProvisioned optional.String Filter by statistics.components.space.provisioned
statisticsComponentsSpaceUsed optional.String Filter by statistics.components.space.used
statisticsComponentsSpaceUsedPercent optional.String Filter by statistics.components.space.used_percent
statisticsComponentsSpaceUsedExcludingReserves optional.String Filter by statistics.components.space.used_excluding_reserves
statisticsComponentsSpaceLogicalUsed optional.String Filter by statistics.components.space.logical_used
statisticsComponentsSpaceReservedUnused optional.String Filter by statistics.components.space.reserved_unused
statisticsComponentsSpaceAvailable optional.String Filter by statistics.components.space.available
statisticsComponentsSpaceSavings optional.String Filter by statistics.components.space.savings
statisticsComponentsIopsTotal optional.String Filter by statistics.components.iops.total
statisticsComponentsIopsPerTb optional.String Filter by statistics.components.iops.per_tb
statisticsComponentsSnapshotReserve optional.String Filter by statistics.components.snapshot.reserve
statisticsComponentsSnapshotUsed optional.String Filter by statistics.components.snapshot.used
statisticsComponentsLatencyRaw optional.String Filter by statistics.components.latency.raw
statisticsComponentsLatencyAverage optional.String Filter by statistics.components.latency.average
statisticsComponentsStatisticsIncomplete optional.String Filter by statistics.components.statistics_incomplete
statisticsComponentsSharedStoragePool optional.String Filter by statistics.components.shared_storage_pool
fields optional.Interface of []string Specify the fields to return.
maxRecords optional.Int32 Limit the number of records returned.
returnTimeout optional.Int32 The number of seconds to allow the call to execute before returning. When iterating over a collection, the default is 15 seconds. ONTAP returns earlier if either max records or the end of the collection is reached. [default to 15]
returnRecords optional.Bool The default is true for GET calls. When set to false, only the number of records is returned. [default to true]
orderBy optional.Interface of []string Order results by specified fields and optional [asc desc] direction. Default direction is 'asc' for ascending.

Return type

ApplicationResponse

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationComponentCollectionGet

ApplicationComponentResponse ApplicationComponentCollectionGet(ctx, applicationUuid, optional)

Retrieves application components. ### Overview The application component object exposes how to access an application. Most application interfaces abstract away the underlying ONTAP storage elements, but this interface exposes what is necessary to connect to and uses the storage that is provisioned for an application. See the application component model for a detailed description of each property. ### Query examples Queries are limited on this API. Most of the details are nested under the nfs_access, cifs_access, or san_access properties, but those properties do not support queries, and properties nested under those properties cannot be requested individually in the current release.
The following query returns all application components with names beginning in secondary.

GET /application/applications/{application.uuid}/components?name=secondary*
The following query returns all application components at the extreme storage service.

GET /application/applications/{application.uuid}/components?storage_service.name=extreme ### Learn more * DOC /application

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
applicationUuid string Application UUID
optional *ApplicationComponentCollectionGetOpts optional parameters nil if no parameters

Optional Parameters

Optional parameters are passed through a pointer to a ApplicationComponentCollectionGetOpts struct

Name Type Description Notes

uuid | optional.String| Filter by UUID | name | optional.String| Filter by name | storageServiceName | optional.String| Filter by storage_service.name | storageServiceUuid | optional.String| Filter by storage_service.uuid | fields | optional.Interface of []string| Specify the fields to return. | maxRecords | optional.Int32| Limit the number of records returned. | returnTimeout | optional.Int32| The number of seconds to allow the call to execute before returning. When iterating over a collection, the default is 15 seconds. ONTAP returns earlier if either max records or the end of the collection is reached. | [default to 15] returnRecords | optional.Bool| The default is true for GET calls. When set to false, only the number of records is returned. | [default to true] orderBy | optional.Interface of []string| Order results by specified fields and optional [asc|desc] direction. Default direction is 'asc' for ascending. |

Return type

ApplicationComponentResponse

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationComponentGet

ApplicationComponent ApplicationComponentGet(ctx, applicationUuid, uuid, optional)

Retrieves an application component. ### Overview The application component object exposes how to access an application. Most application interfaces abstract away the underlying ONTAP storage elements, but this interface exposes what is necessary to connect to and uses the storage that is provisioned for an application. See the application component model for a detailed description of each property. ### Access Each application component can be accessed via NFS, CIFS, or SAN. NFS and CIFS access can be enabled simultaneously. Each access section includes a backing_storage property. This property is used to correlate the storage elements with the access elements of the application. The backing_storage portion of the access section provides the type and uuid of the backing storage. There is another backing_storage property at the same level as the access properties which contains lists of backing storage elements corresponding to the types listed in the access section. ### Learn more * DOC /application

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
applicationUuid string Application UUID
uuid string Application component UUID
optional *ApplicationComponentGetOpts optional parameters nil if no parameters

Optional Parameters

Optional parameters are passed through a pointer to a ApplicationComponentGetOpts struct

Name Type Description Notes

fields | optional.Interface of []string| Specify the fields to return. |

Return type

ApplicationComponent

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationComponentSnapshotCollectionGet

ApplicationComponentSnapshotResponse ApplicationComponentSnapshotCollectionGet(ctx, applicationUuid, componentUuid, optional)

Retrieves Snapshot copies of an application component.
This endpoint is only supported for Maxdata template applications.
Component Snapshot copies are essentially more granular application Snapshot copies. There is no difference beyond the scope of the operation. ### Learn more * DOC /application/applications/{application.uuid}/snapshots * GET /application/applications/{uuid}/snapshots * DOC /application

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
applicationUuid string Application UUID
componentUuid string Application Component UUID
optional *ApplicationComponentSnapshotCollectionGetOpts optional parameters nil if no parameters

Optional Parameters

Optional parameters are passed through a pointer to a ApplicationComponentSnapshotCollectionGetOpts struct

Name Type Description Notes

componentName | optional.String| Filter by Application Component Name | uuid | optional.String| Filter by uuid | name | optional.String| Filter by name | consistencyType | optional.String| Filter by consistency_type | comment | optional.String| Filter by comment | createTime | optional.String| Filter by create_time | isPartial | optional.String| Filter by is_partial | fields | optional.Interface of []string| Specify the fields to return. | maxRecords | optional.Int32| Limit the number of records returned. | returnTimeout | optional.Int32| The number of seconds to allow the call to execute before returning. When iterating over a collection, the default is 15 seconds. ONTAP returns earlier if either max records or the end of the collection is reached. | [default to 15] returnRecords | optional.Bool| The default is true for GET calls. When set to false, only the number of records is returned. | [default to true] orderBy | optional.Interface of []string| Order results by specified fields and optional [asc|desc] direction. Default direction is 'asc' for ascending. |

Return type

ApplicationComponentSnapshotResponse

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationComponentSnapshotCreate

JobLinkResponse ApplicationComponentSnapshotCreate(ctx, applicationUuid, componentUuid, optional)

Creates a Snapshot copy of an application component.
This endpoint is only supported for Maxdata template applications.
### Required properties * name ### Recommended optional properties * consistency_type - Track whether this snapshot is application or crash consistent. Component Snapshot copies are essentially more granular application Snapshot copies. There is no difference beyond the scope of the operation. ### Learn more * DOC /application/applications/{application.uuid}/snapshots * GET /application/applications/{uuid}/snapshots * DOC /application

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
applicationUuid string Application UUID
componentUuid string Application Component UUID
optional *ApplicationComponentSnapshotCreateOpts optional parameters nil if no parameters

Optional Parameters

Optional parameters are passed through a pointer to a ApplicationComponentSnapshotCreateOpts struct

Name Type Description Notes

info | optional.Interface of ApplicationComponentSnapshot| Info specification |

Return type

JobLinkResponse

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationComponentSnapshotDelete

JobLinkResponse ApplicationComponentSnapshotDelete(ctx, applicationUuid, componentUuid, uuid)

Delete a Snapshot copy of an application component.
This endpoint is only supported for Maxdata template applications.
Component Snapshot copies are essentially more granular application Snapshot copies. There is no difference beyond the scope of the operation. ### Learn more * DOC /application/applications/{application.uuid}/snapshots * DELETE /application/applications/{uuid}/snapshots * DOC /application

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
applicationUuid string Application UUID
componentUuid string Application Component UUID
uuid string Snapshot UUID

Return type

JobLinkResponse

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationComponentSnapshotGet

ApplicationComponentSnapshot ApplicationComponentSnapshotGet(ctx, applicationUuid, componentUuid, uuid, optional)

Retrieve a Snapshot copy of an application component.
This endpoint is only supported for Maxdata template applications.
Component Snapshot copies are essentially more granular application Snapshot copies. There is no difference beyond the scope of the operation. ### Learn more * DOC /application/applications/{application.uuid}/snapshots * GET /application/applications/{uuid}/snapshots * DOC /application

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
applicationUuid string Application UUID
componentUuid string Application Component UUID
uuid string Snapshot UUID
optional *ApplicationComponentSnapshotGetOpts optional parameters nil if no parameters

Optional Parameters

Optional parameters are passed through a pointer to a ApplicationComponentSnapshotGetOpts struct

Name Type Description Notes

fields | optional.Interface of []string| Specify the fields to return. |

Return type

ApplicationComponentSnapshot

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationComponentSnapshotRestore

JobLinkResponse ApplicationComponentSnapshotRestore(ctx, applicationUuid, componentUuid, uuid)

Restore a Snapshot copy of an application component.
This endpoint is only supported for Maxdata template applications.
Component Snapshot copies are essentially more granular application Snapshot copies. There is no difference beyond the scope of the operation. ### Learn more * DOC /application/applications/{application.uuid}/snapshots * POST /application/applications/{application.uuid}/snapshots/{uuid}/restore * DOC /application * DOC Asynchronous operations

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
applicationUuid string Application UUID
componentUuid string Application Component UUID
uuid string Snapshot copy UUID

Return type

JobLinkResponse

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationCreate

JobLinkResponse ApplicationCreate(ctx, info)

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. ### Recommended optional properties * <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\" } ] } }
2. 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\" ] } ] } }
3. 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\" } } } ### Learn more * DOC /application * DOC Asynchronous operations

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
info Application Info specification

Return type

JobLinkResponse

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationDelete

JobLinkResponse ApplicationDelete(ctx, uuid)

Deletes an application and all associated data. ### Warning - this deletes it all, including your data This deletes everything created with the application, including any volumes, LUNs, NFS export policies, CIFS shares, and initiator groups. Initiator groups are only destroyed if they were created as part of an application and are no longer in use by other applications. ### Learn more * DOC /application * DOC Asynchronous operations

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
uuid string Application UUID

Return type

JobLinkResponse

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationGet

Application ApplicationGet(ctx, uuid, optional)

Retrieves an application ### Expensive properties There is an added cost to retrieving values for these properties. They are not included by default in GET results and must be explicitly requested using the fields query parameter. See DOC Requesting specific fields to learn more. * <template> the property corresponding to the template.name of the application ### Property overview An application includes three main groups or properties. * Generic properties - such as the name, template.name, and state of the application. These properties are all inexpensive to retrieve and their meaning is consistent for every type of application. * statistics.* - application statistics report live usage data about the application and its components. Various space and IOPS details are included at both the application level and at a per component level. The application model includes a detailed description of each property. These properties are slightly more expensive than the generic properties because live data must be collected from every storage element in the application. * <template> - the property corresponding to the value of the template.name returns the contents of the application in the same layout that was used to provision the application. This information is very expensive to retrieve because it requires collecting information about all the storage and access settings for every element of the application. There are a few notable limitations to what can be returned in the <template> section: * The new_igroups array of many SAN templates is not returned by GET. This property allows igroup creation in the same call that creates an application, but is not a property of the application itself. The new_igroups array is allowed during PATCH operations, but that does not modify the new_igroups of the application. It is another way to allow igroup creation while updating the application to use a different igroup. * The vdi_on_san and vdi_on_nas desktops.count property is rounded to the nearest 1000 during creation, and is reported with that rounding applied. * The mongo_db_on_san dataset.element_count property is rounded up to an even number, and is reported with that rounding applied. * The sql_on_san and sql_on_smb server_cores_count property is limited to 8 for GET operations. Higher values are accepted by POST, but the impact of the server_cores_count property on the application layout currently reaches its limit at 8. ### Learn more * DOC /application

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
uuid string Application UUID
optional *ApplicationGetOpts optional parameters nil if no parameters

Optional Parameters

Optional parameters are passed through a pointer to a ApplicationGetOpts struct

Name Type Description Notes

fields | optional.Interface of []string| Specify the fields to return. |

Return type

Application

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationModify

JobLinkResponse ApplicationModify(ctx, uuid, optional)

Updates the properties of an application. ### Overview Similar to creating an application, modification is done using the template properties of an application. The storage_service, size, and igroup_name of an application may be modified. ### storage_service Storage service modifications are processed in place, meaning that the storage can not be moved to a location with more performance headroom to accommodate the request. If the current backing storage of the application is in a location that can support increased performance, the QoS policies associated with the application will be modified to allow it. If not, an error will be returned. A storage service modification to a lower tier of performance is always allowed, but the reverse modification may not be supported if the cluster is over provisioned and the cluster is unlikely to be able to fulfil the original storage service. ### size Size modifications are processed in a variety of ways depending on the type of application. For NAS applications, volumes are grown or new volumes are added. For SAN applications, LUNs are grown, new LUNs are added to existing volumes, or new LUNs are added to new volumes. If new storage elements are created, they can be found using the GET /application/applications/{application.uuid}/components interface. The creation time of each storage object is included, and the newly created objects will use the same naming scheme as the previous objects. Resize follows the best practices associated with the type of application being expanded. Reducing the size of an application is not supported. ### igroup_name Modification of the igroup name allows an entire application to be mapped from one initiator group to another. Data access will be interrupted as the LUNs are unmapped from the original igroup and remapped to the new one. ### Application state During a modification, the state property of the application updates to indicate modifying. In modifying state, statistics are not available and Snapshot copy operations are not allowed. If the modification fails, it is possible for the application to be left in an inconsistent state, with the underlying ONTAP storage elements not matching across a component. When this occurs, the application is left in the modifying state until the command is either retried and succeeds or a call to restore the original state is successful. ### Examples 1. Change the storage service of the database of the Oracle application to extreme and resize the redo logs to 100GB. { \"oracle_on_nfs\": { \"db\": { \"storage_service\": { \"name\": \"extreme\" } }, \"redo_log\": { \"size\": \"100GB\" } } }
2. Change the storage service, size, and igroup of a generic application by component name. { \"san\": { \"application_components\": [ { \"name\": \"component1\", \"storage_service\": { \"name\": \"value\" } }, { \"name\": \"component2\", \"size\": \"200GB\" }, { \"name\": \"component3\", \"igroup_name\": \"igroup5\" } ] } }
### Learn more * DOC /application * DOC Asynchronous operations

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
uuid string Application UUID
optional *ApplicationModifyOpts optional parameters nil if no parameters

Optional Parameters

Optional parameters are passed through a pointer to a ApplicationModifyOpts struct

Name Type Description Notes

info | optional.Interface of Application| Info specification |

Return type

JobLinkResponse

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationSnapshotCollectionGet

ApplicationSnapshotResponse ApplicationSnapshotCollectionGet(ctx, applicationUuid, optional)

Retrieves Snapshot copies of an application. ### Query examples The following query returns all Snapshot copies from May 4, 2017 EST. For readability, the colon (:) is left in this example. For an actual call, they should be escaped as %3A.

GET /application/applications/{application.uuid}/snapshots?create_time=2017-05-04T00:00:00-05:00..2017-05-04T23:59:59-05:00
The following query returns all Snapshot copies that have been flagged as application consistent.

GET /application/applications/{application.uuid}/snapshots?consistency_type=application ### Learn more * DOC /application/applications/{application.uuid}/snapshots * DOC /application

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
applicationUuid string Application UUID
optional *ApplicationSnapshotCollectionGetOpts optional parameters nil if no parameters

Optional Parameters

Optional parameters are passed through a pointer to a ApplicationSnapshotCollectionGetOpts struct

Name Type Description Notes

uuid | optional.String| Filter by UUID | name | optional.String| Filter by name | consistencyType | optional.String| Filter by consistency_type | componentsName | optional.String| Filter by components.name | componentsUuid | optional.String| Filter by components.uuid | comment | optional.String| Filter by comment | createTime | optional.String| Filter by create_time | isPartial | optional.String| Filter by is_partial | fields | optional.Interface of []string| Specify the fields to return. | maxRecords | optional.Int32| Limit the number of records returned. | returnTimeout | optional.Int32| The number of seconds to allow the call to execute before returning. When iterating over a collection, the default is 15 seconds. ONTAP returns earlier if either max records or the end of the collection is reached. | [default to 15] returnRecords | optional.Bool| The default is true for GET calls. When set to false, only the number of records is returned. | [default to true] orderBy | optional.Interface of []string| Order results by specified fields and optional [asc|desc] direction. Default direction is 'asc' for ascending. |

Return type

ApplicationSnapshotResponse

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationSnapshotCreate

JobLinkResponse ApplicationSnapshotCreate(ctx, applicationUuid, optional)

Creates a Snapshot copy of the application. ### Required properties * name ### Recommended optional properties * consistency_type - Track whether this snapshot is application or crash consistent. ### Learn more * DOC /application/applications/{application.uuid}/snapshots * DOC /application

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
applicationUuid string Application UUID
optional *ApplicationSnapshotCreateOpts optional parameters nil if no parameters

Optional Parameters

Optional parameters are passed through a pointer to a ApplicationSnapshotCreateOpts struct

Name Type Description Notes

info | optional.Interface of ApplicationSnapshot| Info specification |

Return type

JobLinkResponse

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationSnapshotDelete

JobLinkResponse ApplicationSnapshotDelete(ctx, applicationUuid, uuid)

Delete a Snapshot copy of an application ### Query examples Individual Snapshot copies can be destroyed with no query parameters, or a range of Snapshot copies can be destroyed at one time using a query.
The following query deletes all application Snapshot copies created before May 4, 2017

DELETE /application/applications/{application.uuid}/snapshots?create_time=<2017-05-04T00:00:00-05:00 ### Learn more * DOC /application/applications/{application.uuid}/snapshots

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
applicationUuid string Application UUID
uuid string Snapshot copy UUID

Return type

JobLinkResponse

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationSnapshotGet

ApplicationSnapshot ApplicationSnapshotGet(ctx, applicationUuid, uuid, optional)

Retrieve a Snapshot copy of an application component.
This endpoint is only supported for Maxdata template applications.
Component Snapshot copies are essentially more granular application Snapshot copies. There is no difference beyond the scope of the operation. ### Learn more * DOC /application/applications/{application.uuid}/snapshots * GET /application/applications/{uuid}/snapshots * DOC /application

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
applicationUuid string Application UUID
uuid string Snapshot copy UUID
optional *ApplicationSnapshotGetOpts optional parameters nil if no parameters

Optional Parameters

Optional parameters are passed through a pointer to a ApplicationSnapshotGetOpts struct

Name Type Description Notes

fields | optional.Interface of []string| Specify the fields to return. |

Return type

ApplicationSnapshot

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationSnapshotRestore

JobLinkResponse ApplicationSnapshotRestore(ctx, applicationUuid, uuid)

Restore an application snapshot
Restoring an application Snapshot copy reverts all storage elements in the Snapshot copy to the state in which the Snapshot copy was in when the Snapshot copy was taken. This restoration does not apply to access settings that might have changed since the Snapshot copy was created. ### Learn more * DOC /application * DOC Asynchronous operations

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
applicationUuid string Application UUID
uuid string Snapshot copy UUID

Return type

JobLinkResponse

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationTemplateCollectionGet

ApplicationTemplateResponse ApplicationTemplateCollectionGet(ctx, optional)

Retrieves application templates. ### Query examples The most useful queries on this API allows searches by name or protocol access. The following query returns all templates that are used to provision an Oracle application.

GET /application/templates?name=ora*
Similarly, the following query returns all templates that support SAN access.

GET /application/templates?protocol=san ### Learn more * DOC /application

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
optional *ApplicationTemplateCollectionGetOpts optional parameters nil if no parameters

Optional Parameters

Optional parameters are passed through a pointer to a ApplicationTemplateCollectionGetOpts struct

Name Type Description Notes
name optional.String Filter by name
protocol optional.String Filter by protocol
description optional.String Filter by description
missingPrerequisites optional.String Filter by missing_prerequisites
fields optional.Interface of []string Specify the fields to return.
maxRecords optional.Int32 Limit the number of records returned.
returnTimeout optional.Int32 The number of seconds to allow the call to execute before returning. When iterating over a collection, the default is 15 seconds. ONTAP returns earlier if either max records or the end of the collection is reached. [default to 15]
returnRecords optional.Bool The default is true for GET calls. When set to false, only the number of records is returned. [default to true]
orderBy optional.Interface of []string Order results by specified fields and optional [asc desc] direction. Default direction is 'asc' for ascending.

Return type

ApplicationTemplateResponse

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]

ApplicationTemplateGet

ApplicationTemplate ApplicationTemplateGet(ctx, name, optional)

Retrieves an application template. ### Template properties Each application template has a set of properties. These properties are always nested under a property with the same name as the template. For example, when using the mongo_db_on_san template, the properties are found nested inside the mongo_db_on_san property. The properties nested under the template property are all specific to the template. The model for the application template object includes all the available templates, but only the object that corresponds to the template's name is returned, and only one is provided in any application API.
The model of each template includes a description of each property and its allowed values or usage. Default values are also indicated when available. The template properties returned by this API include an example value for each property. ### Template prerequisites Each template has a set of prerequisites required for its use. If any of these prerequisites are not met, the missing_prerequisites property indicates which prerequisite is missing. ### Learn more * DOC /application

Required Parameters

Name Type Description Notes
ctx context.Context context for authentication, logging, cancellation, deadlines, tracing, etc.
name string Template Name
optional *ApplicationTemplateGetOpts optional parameters nil if no parameters

Optional Parameters

Optional parameters are passed through a pointer to a ApplicationTemplateGetOpts struct

Name Type Description Notes

fields | optional.Interface of []string| Specify the fields to return. |

Return type

ApplicationTemplate

Authorization

simple

HTTP request headers

  • Content-Type: application/json, application/hal+json
  • Accept: application/json, application/hal+json

[Back to top] [Back to API list] [Back to Model list] [Back to README]