Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
20 changes: 20 additions & 0 deletions application_consistency-groups_endpoint_overview.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -760,6 +760,26 @@ curl -X PATCH 'https://<mgmt-ip>/api/application/consistency-groups/6f51748a-0a7
}
----

=== Assign a QoS policy when adding a new volume to a consistency group

The following example adds a single new volume with a QoS policy to an existing consistency group.

----
curl -X PATCH 'https://<mgmt-ip>/api/application/consistency-groups/6f51748a-0a7f-11ec-a449-005056bbcf9f' -d '{"volumes":[{"name":"new_cg_vol","provisioning_options":{"action":"create"},"space":{"size":"500MB"},"qos":{"policy":{"name":"value-fixed"}}}]}'

#### Response:
{
"job": {
"uuid": "8c9cabf3-0a88-11ec-a449-005056bbcf9f",
"_links": {
"self": {
"href": "/api/cluster/jobs/8c9cabf3-0a88-11ec-a449-005056bbcf9f"
}
}
}
}
----

=== Add a new volume in an existing consistency group

The following example adds two new volumes to an existing consistency group.
Expand Down
46 changes: 46 additions & 0 deletions application_containers_endpoint_overview.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,50 @@ curl -X POST 'https://<mgmt-ip>/api/application/containers' -d '{ "svm": { "name
}
----

=== Creating a Flexgroup with NAS (NFS and CIFS access) along with S3 NAS bucket with S3 access policies

----

# The API:
/api/application/containers

# The call:
curl -X POST 'https://<mgmt-ip>/api/application/containers' -d '{"svm": {"name": "vs0"}, "volumes": [{"name": "vol1", "space": {"size": "100mb"}, "scale_out": true, "qos": {"policy": {"name": "none"}}, "nas": {"path": "/vol1", "export_policy": {"name": "test_ep1", "rules": [{"clients": [{"match": "0.0.0.0/0"}], "rw_rule": ["any"], "ro_rule": ["any"]}]}, "cifs": {"shares": [{"name": "vol1", "acls": [{"type": "windows", "permission": "full_control", "user_or_group": "everyone"}]}]}}, "s3_bucket": {"name": "vol14", "nas_path": "/vol14", "policy": {"statements": [{"actions": ["ListBucket"], "effect": "allow", "resources": ["vol14", "vol1/*"]}]}}}]}'

#### Response:
{
"job": {
"uuid": "66b5f040-7ae7-4635-adbd-e55768fa89a6",
"_links": {
"self": {
"href": "/api/cluster/jobs/66b5f040-7ae7-4635-adbd-e55768fa89a6"
}
}
}
}
----

=== Creating a Flexcache with NAS (NFS and CIFS access), given there exist a Flexvol "vol1" on the cluster

----

# The API:
/api/application/containers

# The call:
curl -X POST 'https://<mgmt-ip>/api/application/containers' -d '{"svm": {"name": "vs0"}, "volumes": [{"name": "vol11", "space": {"size": "320mb"}, "flexcache": {"origins": [{"volume": {"name": "vol1"}, "svm": {"name": "vs0"}}]}, "qos": {"policy": {"name": "value-fixed"}}, "nas": {"path": "/vol11", "export_policy": {"name": "vol11", "rules": [{"clients": [{"match": "0.0.0.0/0"}], "rw_rule": ["any"], "ro_rule": ["any"]}]}, "cifs": {"shares": [{"name": "vol11", "acls": [{"type": "windows", "permission": "full_control", "user_or_group": "everyone"}]}]}}}]}'

#### Response:
{
"job": {
"uuid": "a9ae403c-81cd-4ff2-8c56-2a31f31a1da3",
"_links": {
"self": {
"href": "/api/cluster/jobs/a9ae403c-81cd-4ff2-8c56-2a31f31a1da3"
}
}
}
}
----


5 changes: 5 additions & 0 deletions cluster_endpoint_overview.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,8 @@ curl -X PATCH "https://<mgmt-ip>/api/cluster" -d '{ "auto_enable_activity_tracki

'''

'''

== Monitoring cluster create status

=== Errors before the job starts
Expand Down Expand Up @@ -649,6 +651,9 @@ curl -X GET "https://<mgmt-ip>/api/cluster" -H "accept: application/hal+json"
"fqdn": "TEST.COM",
"organizational_unit": "CN=Computers"
},
"ha": {
"failover_protection_level": "nplusone",
},
"_links": {
"self": {
"href": "/api/cluster"
Expand Down
4 changes: 2 additions & 2 deletions cluster_mediator-ping_endpoint_overview.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ summary: 'Manage the BlueXP cloud service'

== Overview

You can use this API to ping the BlueXP cloud service. The POST operation retrieves the details about service reachability, configurability, and ping latency.
You can use this API to ping the NetApp Console cloud service. The POST operation retrieves the details about service reachability, configurability, and ping latency.

== Performing a ping operation

Expand All @@ -28,7 +28,7 @@ These fields are always required for any POST /cluster/mediator-ping request.

== Examples

POST request body for a ping to the BlueXP cloud service.
POST request body for a ping to the NetApp Console cloud service.

----

Expand Down
42 changes: 34 additions & 8 deletions cluster_mediators_endpoint_overview.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,12 @@ You can use this API to add, modify or remove a mediator in a MetroCluster IP co
SnapMirror active sync supports two types of mediators:

. *ONTAP Mediator:* This is the traditional mediator used in SnapMirror active sync, and is hosted on-premises. It requires deployment at a third, neutral site.
. *ONTAP cloud mediator:* This mediator is hosted in BlueXP SaaS and is primarily designed for SnapMirror active sync. It eliminates the need for a third site and provides enhanced scalability and availability.
. *ONTAP cloud mediator:* This mediator is hosted on the NetApp Console cloud server and is primarily designed for SnapMirror active sync. It eliminates the need for a third site and provides enhanced scalability and availability.

== Adding a mediator

A mediator can be added by issuing a POST request on /cluster/mediators. Parameters are provided in the body of the POST request. There are no optional parameters for adding a mediator to a MetroCluster IP configuration.
A mediator can be added by issuing a POST request on /cluster/mediators. Parameters are provided in the body of the POST request.
The field `connection_type` is an optional parameter for adding a mediator to a MetroCluster IP configuration.

=== Required configuration fields (MetroCluster)

Expand All @@ -30,6 +31,10 @@ These fields are always required for any POST /cluster/mediators request.
* `user` - Specifies a user name credential.
* `password` - Specifies a password credential.

==== Required configuration fields (MetroCluster HTTPS mediator)

* `connection_type` - Must be `https_mediator`. If `connection_type` is omitted from the POST body, ONTAP automatically defaults to `iscsi_mediator`.

=== Required configuration fields (SnapMirror active sync: ONTAP Mediator, ONTAP cloud mediator)

These fields are required for any POST /cluster/mediators request.
Expand All @@ -40,10 +45,12 @@ These fields are required for any POST /cluster/mediators request.
* `user` - (only applicable to the ONTAP Mediator) Specifies the user name credential.
* `password` - (only applicable to the ONTAP Mediator) Specifies a password credential.
* `ca_certificate` - (optional if the certificate is already installed, only applicable to the ONTAP Mediator) Specifies the CA certificate for the ONTAP Mediator.
* `bluexp_org_id` - (only applicable to the ONTAP cloud mediator) Specifies the BlueXP organization ID.
* `bluexp_org_id` - (DEPRECATED) Specifies the BlueXP organization ID. This has been replaced by org_id. Support for this field will be removed in a future release.
* `org_id` - (only applicable to the ONTAP cloud mediator) Specifies the NetApp Console organization ID.
* `service_account_client_id` - (only applicable to the ONTAP cloud mediator) Specifies the client ID of the service account.
* `service_account_client_secret` - (only applicable to the ONTAP cloud mediator) Specifies the client secret of the service account.
* `bluexp_account_token` - (only applicable to the ONTAP cloud mediator) Specifies the BlueXP service account token. This field is mutually exclusive with the `service_account_client_id` and `service_account_client_secret` pair, meaning either the token or the client-id and client-secret pair is allowed.
* `bluexp_account_token` - (DEPRECATED) Specifies the BlueXP service account token. This field is mutually exclusive with the `service_account_client_id` and `service_account_client_secret` pair, meaning either the token or the client-id and client-secret pair is allowed. This has been replaced by account_token. Support for this field will be removed in a future release.
* `account_token` - (only applicable to the ONTAP cloud mediator) Specifies the NetApp Console service account token. This field is mutually exclusive with the `service_account_client_id` and `service_account_client_secret` pair, meaning either the token or the client-id and client-secret pair is allowed.
* `use_http_proxy_local` - (optional, defaults to false if omitted, only applicable for ONTAP cloud mediator) Specifies if a HTTP proxy should be used on the ONTAP cluster.
* `use_http_proxy_remote` - (optional, defaults to false if omitted, only applicable for ONTAP cloud mediator) Specifies if a HTTP proxy should be used on the peer ONTAP cluster.
* `strict_cert_validation` - (optional, defaults to false if omitted, only applicable for ONTAP cloud mediator) Specifies if strict validation of certificates is performed while making REST API calls to the ONTAP Cloud Mediator.
Expand Down Expand Up @@ -100,7 +107,7 @@ This example shows the POST body when setting up a mediator for a four-node Metr
/api/cluster/mediators
----

=== POST body included from file (MetroCluster)
=== POST body included from file (MetroCluster: iSCSI Mediator)

----
mediator_post_body.txt:
Expand All @@ -112,6 +119,19 @@ mediator_post_body.txt:
curl -X POST https://<mgmt-ip>/api/cluster/mediators -d "@mediator_post_body.txt"
----

=== POST body included from file (MetroCluster: HTTPS Mediator)

----
mediator_post_body.txt:
{
"ip_address": "1.1.1.1",
"user": "username",
"password": "password",
"connection_type": "https_mediator"
}
curl -X POST https://<mgmt-ip>/api/cluster/mediators -d "@mediator_post_body.txt"
----

=== POST body included from file (SnapMirror active sync: ONTAP Mediator)

----
Expand All @@ -132,7 +152,7 @@ mediator_post_body.txt:
{
"peer_cluster.name": "C2_sti230-vsim-sr092w_cluster",
"type": "cloud",
"bluexp_org_id":"your-bluexp-org-id",
"org_id":"your-netapp-console-org-id",
"service_account_client_id":"your-account-client-id",
"service_account_client_secret":"your-account-client-secret",
"use_http_proxy_local":"true",
Expand All @@ -142,12 +162,18 @@ mediator_post_body.txt:
curl -X POST https://<mgmt-ip>/api/cluster/mediators -d "@mediator_post_body.txt"
----

=== Inline POST body (MetroCluster)
=== Inline POST body (MetroCluster: iSCSI Mediator)

----
curl -X POST https://<mgmt-ip>/api/cluster/mediators -H "Content-Type: application/hal+json" -d '{"ip_address": "1.1.1.1", "user": "username", "password": "password"}'
----

=== Inline POST body (MetroCluster: HTTPS Mediator)

----
curl -X POST https://<mgmt-ip>/api/cluster/mediators -H "Content-Type: application/hal+json" -d '{"ip_address": "1.1.1.1", "user": "username", "password": "password", "connection_type":"https_mediator" }'
----

=== Inline POST body (SnapMirror active sync: ONTAP Mediator)

----
Expand All @@ -157,7 +183,7 @@ curl -X POST https://<mgmt-ip>/api/cluster/mediators -H "Content-Type: applicati
=== Inline POST body (SnapMirror active sync: ONTAP cloud mediator)

----
curl -X POST https://<mgmt-ip>/api/cluster/mediators -H "Content-Type: application/hal+json" -d '{"peer_cluster.name": "C2_sti230-vsim-sr092w_cluster", "type": "cloud", "bluexp_org_id": "your-bluexp-org-id", "service_account_client_id": "your-account-client-id", "service_account_client_secret": "your-account-client-secret", "use_http_proxy_local": "true", "use_http_proxy_remote": "true", "strict_cert_validation": "true"}'
curl -X POST https://<mgmt-ip>/api/cluster/mediators -H "Content-Type: application/hal+json" -d '{"peer_cluster.name": "C2_sti230-vsim-sr092w_cluster", "type": "cloud", "org_id": "your-netapp-console-org-id", "service_account_client_id": "your-account-client-id", "service_account_client_secret": "your-account-client-secret", "use_http_proxy_local": "true", "use_http_proxy_remote": "true", "strict_cert_validation": "true"}'
----

=== POST Response
Expand Down
2 changes: 2 additions & 0 deletions cluster_nodes_endpoint_overview.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ Possible values for the node state are:
* _taken_over_ - Node is taken over by its HA partner. The state is reported by the node's HA partner.
* _waiting_for_giveback_ - Node is taken over by its HA partner and is now ready and waiting for giveback. To bring the node up, either issue the "giveback" command to the HA partner node or wait for auto-giveback, if enabled. The state is reported by the node's HA partner.
* _degraded_ - Node is known to be up but is not yet fully functional. The node can be reached through the cluster interconnect but one or more critical services are offline. Or, the node is not reachable but the node's HA partner can be reached and reports that the node is up with firmware state "SF_UP".
* _is_takeover_in_progress_ - Takeover of the node's storage by its peers is in progress.
* _is_giveback_in_progress_ - Giveback of the node's storage by its peers is in progress.
* _unknown_ - Node state cannot be determined.

'''
Expand Down
2 changes: 2 additions & 0 deletions cluster_overview.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ summary: 'ONTAP REST API Cluster endpoints'



== Overview

These APIs enable you to perform a number of independent workflows, including:

* Creating the cluster
Expand Down
Loading