Create and provision an SVM
POST /svm/svms
Introduced In: 9.6
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.nameoripspace.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.uuidorip_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.serversorldap.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.uuidorfc_interfaces.location.port.nameandfc_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 whiles3.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 | 
|---|---|---|
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.  | 
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.  | 
|
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.  | 
volume_efficiency_policy  | 
This is a reference to the volume efficiency policy.  | 
Example request
{
  "aggregates": [
    {
      "name": "aggr1",
      "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
    }
  ],
  "cifs": {
    "ad_domain": {
      "fqdn": "example.com",
      "organizational_unit": "string",
      "password": "string",
      "user": "string"
    },
    "name": "CIFS1"
  },
  "comment": "string",
  "dns": {
    "domains": [
      "example.com",
      "example2.example3.com"
    ],
    "servers": [
      "10.224.65.20",
      "2001:db08:a0b:12f0::1"
    ]
  },
  "fc_interfaces": [
    {
      "data_protocol": "string",
      "location": {
        "port": {
          "name": "0a",
          "node": {
            "name": "node1"
          },
          "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
        }
      },
      "name": "lif1",
      "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
    }
  ],
  "ip_interfaces": [
    {
      "ip": {
        "address": "10.10.10.7",
        "netmask": "24"
      },
      "location": {
        "broadcast_domain": {
          "name": "bd1",
          "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
        },
        "home_node": {
          "name": "node1",
          "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
        }
      },
      "name": "lif1",
      "service_policy": "string",
      "services": [
        "data_nfs"
      ],
      "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
    }
  ],
  "ipspace": {
    "name": "exchange",
    "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
  },
  "language": "c.utf_8",
  "ldap": {
    "ad_domain": "string",
    "base_dn": "string",
    "bind_dn": "string",
    "servers": [
      "string"
    ]
  },
  "name": "svm1",
  "nis": {
    "domain": "string",
    "servers": [
      "string"
    ]
  },
  "nsswitch": {
    "group": [
      "string"
    ],
    "hosts": [
      "string"
    ],
    "namemap": [
      "string"
    ],
    "netgroup": [
      "string"
    ],
    "passwd": [
      "string"
    ]
  },
  "routes": [
    {
      "destination": {
        "address": "10.10.10.7",
        "netmask": "24"
      },
      "gateway": "10.1.1.1"
    }
  ],
  "s3": {
    "certificate": {
      "name": "cert1",
      "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
    },
    "name": "s3-server-1"
  },
  "snapmirror": {
    "protected_volumes_count": 0
  },
  "snapshot_policy": {
    "name": "default",
    "uuid": "1cd8a442-86d1-11e0-ae1c-123478563412"
  },
  "subtype": "string",
  "uuid": "02c9e252-41be-11e9-81d5-00a0986138f7",
  "volume_efficiency_policy": {
    "name": "default",
    "uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
  }
}
Response
Status: 202, Accepted
| Name | Type | Description | 
|---|---|---|
job  | 
Example response
{
  "job": {
    "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.  | 
Definitions
See Definitions
href
| Name | Type | Description | 
|---|---|---|
href  | 
string  | 
_links
aggregates
Aggregate
| Name | Type | Description | 
|---|---|---|
name  | 
string  | 
|
uuid  | 
string  | 
certificate
Certificate for incoming TLS connection requests.
| Name | Type | Description | 
|---|---|---|
name  | 
string  | 
Certificate name  | 
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 | 
|---|---|---|
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 | 
|---|---|---|
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 | 
|---|---|---|
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 | 
|---|---|---|
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 | 
|---|---|---|
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 | 
|---|---|---|
name  | 
string  | 
Name of the broadcast domain, scoped to its IPspace  | 
uuid  | 
string  | 
Broadcast domain UUID  | 
home_node
| Name | Type | Description | 
|---|---|---|
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 | 
|---|---|---|
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 | 
|---|---|---|
name  | 
string  | 
IPspace name  | 
uuid  | 
string  | 
IPspace UUID  | 
iscsi
| Name | Type | Description | 
|---|---|---|
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 | 
|---|---|---|
enabled  | 
boolean  | 
Enable NFS? Setting to true creates a service if not already created.  | 
nis
| Name | Type | Description | 
|---|---|---|
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 | 
|---|---|---|
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  | 
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.  | 
certificate
Specifies the certificate that will be used for creating HTTPS connections to the S3 server.
| Name | Type | Description | 
|---|---|---|
name  | 
string  | 
Certificate name  | 
uuid  | 
string  | 
Certificate UUID  | 
s3
| Name | Type | Description | 
|---|---|---|
certificate  | 
Specifies the certificate that will be used for creating HTTPS connections to the S3 server.  | 
|
enabled  | 
boolean  | 
Specifies whether or not to enable S3. Setting this value to true creates a service if one is not yet created.  | 
is_http_enabled  | 
boolean  | 
Specifies whether HTTP is enabled on the S3 server. By default, HTTP is disabled on the S3 server.  | 
is_https_enabled  | 
boolean  | 
Specifies whether HTTPS is enabled on the S3 server. By default, HTTPS is enabled on the S3 server.  | 
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 "-".  | 
port  | 
integer  | 
Specifies the HTTP listener port for the S3 server. By default, HTTP is enabled on port 80.  | 
secure_port  | 
integer  | 
Specifies the HTTPS listener port for the S3 server. By default, HTTPS is enabled on port 443.  | 
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 | 
|---|---|---|
name  | 
string  | 
|
uuid  | 
string  | 
volume_efficiency_policy
This is a reference to the volume efficiency policy.
| Name | Type | Description | 
|---|---|---|
name  | 
string  | 
Name of the volume efficiency policy  | 
uuid  | 
string  | 
Unique identifier of the volume efficiency policy.  | 
svm
| Name | Type | Description | 
|---|---|---|
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.  | 
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.  | 
|
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.  | 
volume_efficiency_policy  | 
This is a reference to the volume efficiency policy.  | 
job_link
| Name | Type | Description | 
|---|---|---|
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.  |