Create and provision an SVM
POST /svm/svms
Creates and provisions an SVM. If no IPspace is provided, then the SVM is created on the Default
IPspace.
-
The number of parallel SVMs that can be created must not be greater than five.
-
If a sixth SVM POST request is issued, the following error message is generated: "Maximum allowed SVM jobs exceeded. Wait for the existing SVM jobs to complete and try again."
Required properties
-
name
- Name of the SVM to be created.
Recommended optional properties
-
ipspace.name
oripspace.uuid
- IPspace of the SVM -
ip_interfaces
- If provided, the following fields are required: -
ip_interfaces.name
- Name of the interface -
ip_interfaces.ip.address
- IP address -
ip_interfaces.ip.netmask
- Netmask length or IP address -
ip_interfaces.location.broadcast_domain.uuid
orip_interfaces.location.broadcast_domain.name
- Broadcast domain name or UUID belonging to the same IPspace of the SVM. -
routes
- If provided, the following field is required:-
routes.gateway
- Gateway IP address
-
-
cifs
- If provided, interfaces, routes and DNS must be provided. The following fields are also required:-
cifs.name
- Name of the CIFS server to be created for the SVM. -
cifs.ad_domain.fqdn
- Fully qualified domain name -
cifs.ad_domain.user
- Administrator username -
cifs.ad_domain.password
- User password
-
-
ldap
- If provided, the following fields are required:-
ldap.servers
orldap.ad_domain
- LDAP server list or Active Directory domain -
ldap.bind_dn
- Bind DN -
ldap.base_dn
- Base DN
-
-
nis
- If provided, the following fields are required:-
nis.servers
- NIS servers -
nis.domain
- NIS domain
-
-
dns
- If provided, the following fields are required:-
dns.servers
- Name servers -
dns.domains
- Domains
-
-
fc_interfaces
- If provided, the following fields are required:-
fc_interfaces.name
- Fibre Channel interface name -
fc_interfaces.data_protocol
- Fibre Channel interface data protocol -
fc_interfaces.location.port.uuid
orfc_interfaces.location.port.name
andfc_interfaces.location.port.node.name
- Either port UUID or port name and node name together must be provided.
-
-
s3
- If provided, the following field should also be specified:-
s3.name
- Name of the S3 server. Ifs3.name' is not specified while
s3.enabled` is set to 'true', the S3 server will be created with the default name '_S3Server'.
-
Default property values
If not specified in POST, the following default property values are assigned:
-
language
- C.UTF-8 -
ipspace.name
- Default -
snapshot_policy.name
- Default -
subtype
- Default ( sync-source if MetroCluster configuration )
Related ONTAP commands
-
vserver create
-
vserver add-aggregates
-
network interface create
-
network route create
-
vserver services name-service dns create
-
vserver nfs create
-
vserver services name-service ldap client create
-
vserver cifs create
-
vserver services name-service nis-domain create
-
vserver iscsi create
-
vserver nvme create
-
vserver fcp create
-
vserver services name-service ns-switch create
-
vserver object-store-server create
Examples
-
Creates an SVM with default "snapshot_policy"
POST "/api/svm/svms" '{"name":"testVs", "snapshot_policy":{"name":"default"}}'
-
Creates an SVM and configures NFS, ISCSI and FCP
POST "/api/svm/svms" '{"name":"testVs", "nfs":{"enabled":"true"}, "fcp":{"enabled":"true"}, "iscsi":{"enabled":"true"}}'
-
Creates an SVM and configures NVMe
POST "/api/svm/svms" '{"name":"testVs", "nvme":{"enabled":"true"}}'
-
Creates an SVM and configures LDAP
POST "/api/svm/svms" '{"name":"testVs", "snapshot_policy":{"name":"default"}, "ldap":{"servers":["10.140.101.1","10.140.101.2"], "ad_domain":"abc.com", "base_dn":"dc=netapp,dc=com", "bind_dn":"dc=netapp,dc=com"}}'
-
Creates an SVM and configures NIS
POST "/api/svm/svms" '{"name":"testVs", "snapshot_policy":{"name":"default"}, "nis":{"enabled":"true", "domain":"def.com","servers":["10.224.223.130", "10.224.223.131"]}}'
-
Creates an SVM and configures DNS
POST "/api/svm/svms" '{"name":"testVs", "snapshot_policy":{"name":"default"}, "dns":{"domains":["abc.com","def.com"], "servers":["10.224.223.130", "10.224.223.131"]}}'
-
Creates an SVM and configures a LIF
POST "/api/svm/svms" '{"name":"testVs", "ip_interfaces": [{"name":"lif1", "ip":{"address":"10.10.10.7", "netmask": "255.255.255.0"}, "location":{"broadcast_domain":{"name":"bd1"}, "home_node":{"name":"node1"}}, "service_policy": "default-management"}]}'
-
Creates an SVM and configures a LIF with IPV6 address
POST "/api/svm/svms" '{"name":"testVs", "ip_interfaces": [{"name":"lif2", "ip":{"address":"fd22:8b1e:b255:202:2a0:98ff:fe01:7d5b", "netmask":"24"}, "location":{"broadcast_domain":{"name":"bd1"}, "home_node":{"name":"node1"}}, "service_policy": "default-management"}]}'
-
Creates an SVM and configures CIFS
POST "/api/svm/svms" '{"name":"testVs", "cifs":{"name":"CIFDOC", "ad_domain":{"fqdn":"abc.def.com", "organizational_unit":"CN=Computers", "user":"cif_admin", "password":"abc123"}}, "ip_interfaces":[{"name":"lif1", "ip":{"address":"10.10.10.7", "netmask": "255.255.255.0"}, "location":{"broadcast_domain":{"name":"bd1"}, "home_node":{"name":"node1"}}, "service_policy": "default-management"}],"routes": [{"destination": {"address": "0.0.0.0", "netmask": "0"}, "gateway": "10.10.10.7"}], "dns":{"domains":["abc.def.com", "def.com"], "servers":["10.224.223.130", "10.224.223.131"]}}'
-
Creates an SVM and configures an S3 server
POST "/api/svm/svms" '{"name":"svm5", "s3":{"name":"s3-server-1", "enabled":true}}'
Learn more
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
return_records |
boolean |
query |
False |
The default is false. If set to true, the records are returned. |
return_timeout |
integer |
query |
False |
The number of seconds to allow the call to execute before returning. When doing a POST, PATCH, or DELETE operation on a single record, the default is 0 seconds. This means that if an asynchronous operation is started, the server immediately returns HTTP code 202 (Accepted) along with a link to the job. If a non-zero value is specified for POST, PATCH, or DELETE operations, ONTAP waits that length of time to see if the job completes so it can return something other than 202. |
Request Body
Name | Type | Description |
---|---|---|
_links |
||
aggregates |
array[aggregates] |
List of allowed aggregates for SVM volumes. An administrator is allowed to create volumes on these aggregates. |
aggregates_delegated |
boolean |
This property is true when the administrator has delegated the aggregates for the SVM volumes. |
certificate |
Certificate for incoming TLS connection requests. |
|
cifs |
||
comment |
string |
Comment |
dns |
||
fc_interfaces |
array[fc_interface_svm] |
FC Interface for the SVM |
fcp |
||
ip_interfaces |
array[ip_interface_svm] |
IP interfaces for the SVM |
ipspace |
Either the UUID or name may be supplied on input. |
|
iscsi |
||
language |
string |
Default volume language code. UTF-8 encoded languages are valid in POST or PATCH. Non UTF-8 language encodings are for backward compatibility and are not valid input for POST and PATCH requests. |
ldap |
||
name |
string |
The name of the SVM. |
nfs |
||
nis |
||
nsswitch |
Name service switch configuration |
|
nvme |
||
routes |
array[network_route_for_svm] |
Optional array of routes for the SVM |
s3 |
||
snapmirror |
Specifies attributes for SVM DR protection. |
|
snapshot_policy |
This is a reference to the Snapshot copy policy. |
|
state |
string |
SVM State |
subtype |
string |
SVM subtype. The SVM subtype sync_destination is created automatically when an SVM of subtype sync_source is created on the source MetroCluster cluster. A POST request with sync_destination as SVM subtype is invalid. |
uuid |
string |
The unique identifier of the SVM. |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"aggregates": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "aggr1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
],
"certificate": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"cifs": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"ad_domain": {
"fqdn": "example.com",
"organizational_unit": "string",
"password": "string",
"user": "string"
},
"name": "CIFS1"
},
"comment": "string",
"dns": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"domains": [
"example.com",
"example2.example3.com"
],
"servers": [
"10.224.65.20",
"2001:db08:a0b:12f0::1"
]
},
"fc_interfaces": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"data_protocol": "string",
"location": {
"port": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "0a",
"node": {
"name": "node1"
},
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"name": "lif1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
],
"fcp": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
}
},
"ip_interfaces": [
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"ip": {
"address": "10.10.10.7",
"netmask": "24"
},
"location": {
"broadcast_domain": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "bd1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"home_node": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "node1",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
},
"name": "lif1",
"service_policy": "string",
"services": [
"data_nfs"
],
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
}
],
"ipspace": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "exchange",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"iscsi": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
}
},
"language": "c.utf_8",
"ldap": {
"ad_domain": "string",
"base_dn": "string",
"bind_dn": "string",
"servers": [
"string"
]
},
"name": "svm1",
"nfs": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
}
},
"nis": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"domain": "string",
"servers": [
"string"
]
},
"nsswitch": {
"group": [
"string"
],
"hosts": [
"string"
],
"namemap": [
"string"
],
"netgroup": [
"string"
],
"passwd": [
"string"
]
},
"nvme": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
}
},
"routes": [
{
"destination": {
"address": "10.10.10.7",
"family": "string",
"netmask": "24"
},
"gateway": "10.1.1.1"
}
],
"s3": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "s3-server-1"
},
"snapmirror": {
"protected_volumes_count": 0
},
"snapshot_policy": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "default",
"uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
},
"state": "running",
"subtype": "string",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
}
Response
Status: 202, Accepted
Name | Type | Description |
---|---|---|
job |
Example response
{
"job": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "string"
}
}
Error
Status: Default
ONTAP Error Response Codes
Error codes | Description |
---|---|
2621580 |
Cannot specify options other than SVM name, comment and ipspace for a Vserver that is being configured as the destination for SVM DR. |
2621634 |
"sync-source" SVM can only be created in a MetroCluster configuration. |
2621657 |
"sync-destination" SVM can only be created by the system. |
13434884 |
Cannot create an SVM because of incorrect fields. |
13434885 |
Non-UTF8 language(s) not supported. |
13434888 |
IPspace UUID and IPspace name mismatch. |
13434889 |
Internal Error. Wait and retry. |
13434894 |
Maximum allowed SVM jobs exceeded. Wait for the existing SVM jobs to complete and try again. |
13434908 |
Invalid SVM name. The name is already in use by another SVM, IPSpace or cluster. |
13434909 |
Internal Error. Failed to identify the aggregate to host SVM root volume. |
13434910 |
Internal Error. Failed to allocate new SVM ID. |
13434911 |
Invalid SVM name. Maximum supported length is 41 if SVM is of type \"sync-source\", otherwise 47. |
13434912 |
Failed to find IPspace. |
13434913 |
Internal error: Failed to check if an SVM create operation is in progress. Contact technical support for assistance. |
13434914 |
Request to create the root volume of the SVM failed because there is not enough space in specified aggregate. |
13434915 |
Failed to unlock the SVM because SVM create or delete job is in progress. Wait a few minutes, and then try the command again. |
13434916 |
SVM is in the process of being created. Wait a few minutes, and then try the command again. |
13434917 |
SVM creation successful. |
13434918 |
IPspace name not provided for creating an SVM. |
Name | Type | Description |
---|---|---|
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 |
_links
Name | Type | Description |
---|---|---|
self |
aggregates
Aggregate
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
certificate
Certificate for incoming TLS connection requests.
Name | Type | Description |
---|---|---|
_links |
||
uuid |
string |
Certificate UUID |
ad_domain
Name | Type | Description |
---|---|---|
fqdn |
string |
The fully qualified domain name of the Windows Active Directory to which this CIFS server belongs. A CIFS server appears as a member of Windows server object in the Active Directory store. |
organizational_unit |
string |
Specifies the organizational unit within the Active Directory domain to associate with the CIFS server. |
password |
string |
The account password used to add this CIFS server to the Active Directory. This is not audited. Valid in POST only. |
user |
string |
The user account used to add this CIFS server to the Active Directory. Valid in POST only. |
cifs
Name | Type | Description |
---|---|---|
_links |
||
ad_domain |
||
enabled |
boolean |
Specifies whether or not the CIFS service is administratively enabled. |
name |
string |
The NetBIOS name of the CIFS server. |
dns
Name | Type | Description |
---|---|---|
_links |
||
domains |
array[string] |
A list of DNS domains. Domain names have the following requirements:
|
servers |
array[string] |
The list of IP addresses of the DNS servers. Addresses can be either IPv4 or IPv6 addresses. |
node
The node on which the FC port is located.
Name | Type | Description |
---|---|---|
name |
string |
The name of the node on which the FC port is located. |
fc_port_reference
An FC port is the physical port of an FC adapter on a cluster node that can be connected to an FC network.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
The name of the FC port. |
node |
The node on which the FC port is located. |
|
uuid |
string |
The unique identifier of the FC port. |
location
The location of the Fibre Channel interface is defined by the location of its port.
Name | Type | Description |
---|---|---|
port |
An FC port is the physical port of an FC adapter on a cluster node that can be connected to an FC network. |
fc_interface_svm
Name | Type | Description |
---|---|---|
_links |
||
data_protocol |
string |
The data protocol for which the Fibre Channel interface is configured. |
location |
The location of the Fibre Channel interface is defined by the location of its port. |
|
name |
string |
The name of the Fibre Channel interface. |
uuid |
string |
The unique identifier of the Fibre Channel interface. |
fcp
Name | Type | Description |
---|---|---|
_links |
||
enabled |
boolean |
Enable Fiber Channel Protocol (FCP)? Setting to true creates a service if not already created. |
ip
IP information
Name | Type | Description |
---|---|---|
address |
string |
IPv4 or IPv6 address |
netmask |
string |
Input as netmask length (16) or IPv4 mask (255.255.0.0). |
broadcast_domain
Broadcast domain UUID along with a readable name.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
Name of the broadcast domain, scoped to its IPspace |
uuid |
string |
Broadcast domain UUID |
home_node
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
location
Home_node is optional.
Name | Type | Description |
---|---|---|
broadcast_domain |
Broadcast domain UUID along with a readable name. |
|
home_node |
ip_interface_svm
Interface parameters. Name and home_node are optional.
Name | Type | Description |
---|---|---|
_links |
||
ip |
IP information |
|
location |
Home_node is optional. |
|
name |
string |
The name of the interface (optional). |
service_policy |
string |
Built-in service policies for SVMs. |
services |
array[string] |
The services associated with the interface. |
uuid |
string |
The UUID that uniquely identifies the interface. |
ipspace
Either the UUID or name may be supplied on input.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
IPspace name |
uuid |
string |
IPspace UUID |
iscsi
Name | Type | Description |
---|---|---|
_links |
||
enabled |
boolean |
Enable iSCSI? Setting to true creates a service if not already created. |
ldap
Name | Type | Description |
---|---|---|
ad_domain |
string |
This parameter specifies the name of the Active Directory domain
used to discover LDAP servers for use by this client.
This is mutually exclusive with |
base_dn |
string |
Specifies the default base DN for all searches. |
bind_dn |
string |
Specifies the user that binds to the LDAP servers. SVM API supports anonymous binding. For Simple and SASL LDAP binding, use the LDAP API endpoint. |
enabled |
boolean |
Enable LDAP? Setting to true creates a configuration if not already created. |
servers |
array[string] |
nfs
Name | Type | Description |
---|---|---|
_links |
||
enabled |
boolean |
Enable NFS? Setting to true creates a service if not already created. |
nis
Name | Type | Description |
---|---|---|
_links |
||
domain |
string |
The NIS domain to which this configuration belongs. |
enabled |
boolean |
Enable NIS? Setting to true creates a configuration if not already created. |
servers |
array[string] |
A list of hostnames or IP addresses of NIS servers used by the NIS domain configuration. |
nsswitch
Name service switch configuration
Name | Type | Description |
---|---|---|
group |
array[string] |
Group sources |
hosts |
array[string] |
Host sources |
namemap |
array[string] |
NameMap sources |
netgroup |
array[string] |
NetGroup sources |
passwd |
array[string] |
Password sources |
nvme
Name | Type | Description |
---|---|---|
_links |
||
enabled |
boolean |
Enable NVMe? Setting to true creates a service if not already created. |
ip_info
IP information
Name | Type | Description |
---|---|---|
address |
string |
IPv4 or IPv6 address |
family |
string |
IPv4 or IPv6 |
netmask |
string |
Input as netmask length (16) or IPv4 mask (255.255.0.0). For IPv6, you must set the netmask length. The default value is 64. Output is always netmask length. |
network_route_for_svm
Name | Type | Description |
---|---|---|
destination |
IP information |
|
gateway |
string |
The IP address of the gateway router leading to the destination. |
s3
Name | Type | Description |
---|---|---|
_links |
||
enabled |
boolean |
Specifies whether or not to enable S3. Setting this value to true creates a service if one is not yet created. |
name |
string |
Specifies the name of the S3 server. A server name length can range from 1 to 15 characters and can only contain the following combination of characters 0-9, A-Z, a-z, ".", and "-". |
snapmirror
Specifies attributes for SVM DR protection.
Name | Type | Description |
---|---|---|
is_protected |
boolean |
Specifies whether the SVM is a SnapMirror source SVM, using SnapMirror to protect its data. |
protected_volumes_count |
integer |
Specifies the number of SVM DR protected volumes in the SVM. |
snapshot_policy
This is a reference to the Snapshot copy policy.
Name | Type | Description |
---|---|---|
_links |
||
name |
string |
|
uuid |
string |
svm
Name | Type | Description |
---|---|---|
_links |
||
aggregates |
array[aggregates] |
List of allowed aggregates for SVM volumes. An administrator is allowed to create volumes on these aggregates. |
aggregates_delegated |
boolean |
This property is true when the administrator has delegated the aggregates for the SVM volumes. |
certificate |
Certificate for incoming TLS connection requests. |
|
cifs |
||
comment |
string |
Comment |
dns |
||
fc_interfaces |
array[fc_interface_svm] |
FC Interface for the SVM |
fcp |
||
ip_interfaces |
array[ip_interface_svm] |
IP interfaces for the SVM |
ipspace |
Either the UUID or name may be supplied on input. |
|
iscsi |
||
language |
string |
Default volume language code. UTF-8 encoded languages are valid in POST or PATCH. Non UTF-8 language encodings are for backward compatibility and are not valid input for POST and PATCH requests. |
ldap |
||
name |
string |
The name of the SVM. |
nfs |
||
nis |
||
nsswitch |
Name service switch configuration |
|
nvme |
||
routes |
array[network_route_for_svm] |
Optional array of routes for the SVM |
s3 |
||
snapmirror |
Specifies attributes for SVM DR protection. |
|
snapshot_policy |
This is a reference to the Snapshot copy policy. |
|
state |
string |
SVM State |
subtype |
string |
SVM subtype. The SVM subtype sync_destination is created automatically when an SVM of subtype sync_source is created on the source MetroCluster cluster. A POST request with sync_destination as SVM subtype is invalid. |
uuid |
string |
The unique identifier of the SVM. |
job_link
Name | Type | Description |
---|---|---|
_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. |