Create a CIFS server
POST /protocols/cifs/services
Introduced In: 9.6
Creates a CIFS server. Each SVM can have one CIFS server.
Important notes
-
The CIFS server name might or might not be the same as the SVM name.
-
The CIFS server name can contain up to 15 characters.
-
The CIFS server name does not support the following characters: @ # * ( ) = + [ ] \| ; : " , < > / ?
Required properties when creating CIFS server with Windows Active Directory domain
-
svm.uuid
orsvm.name
- Existing SVM in which to create the CIFS server. -
name
- Name of the CIFS server. -
ad_domain.fqdn
- Fully qualified domain name of the Windows Active Directory to which this CIFS server belongs. -
ad_domain.user
- User account with the access to add the CIFS server to the Active Directory. -
ad_domain.password
- Account password used to add this CIFS server to the Active Directory.
Required properties when creating CIFS server in Workgroup mode
-
svm.uuid
orsvm.name
- Existing SVM in which to create the CIFS server. -
name
- Name of the CIFS server. -
workgroup
- Name of the workgroup to which this CIFS server belongs.
Required properties when using AKV for authentication (ANF platform)
-
svm.uuid
orsvm.name
- Existing SVM in which to create the CIFS server. -
name
- Name of the CIFS server. -
ad_domain.user
- User account with the access to add the CIFS server to the Active Directory. -
ad_domain.fqdn
- Fully qualified domain name of the Windows Active Directory to which this CIFS server belongs. -
client_id
- Application client ID of the deployed Azure application with appropriate access to an AKV. -
tenant_id
- Directory (tenant) ID of the deployed Azure application with appropriate access to an AKV. -
key_vault_uri
- URI of the deployed AKV that is used by ONTAP for storing keys. -
authentication_method
- Authentication method used by the application to prove its identity to AKV. It can be either "client_secret" or "certificate". -
client_secret
- Secret used by the application to prove its identity to AKV. -
client_certificate
- Base64 encoded PKCS12 certificate used by the application to prove its identity to AKV.
Recommended optional properties
-
comment
- Add a text comment of up to 256 characters about the CIFS server. -
netbios.aliases
- Add a comma-delimited list of one or more NetBIOS aliases for the CIFS server. -
netbios.wins_servers
- Add a list of Windows Internet Name Server (WINS) addresses that manage and map the NetBIOS name of the CIFS server to their network IP addresses. The IP addresses must be IPv4 addresses.
Default property values
If not specified in POST, the following default property values are assigned:
-
ad_domain.organizational_unit
- CN=Computers -
enabled
- true -
restrict_anonymous
- no_enumeration -
smb_signing
- false -
smb_encryption
- false -
encrypt_dc_connection
- false -
kdc_encryption
- false -
default_unix_user
- pcuser -
netbios_enabled
- false However, if either "netbios.wins-server" or "netbios.aliases" is set during POST and ifnetbios_enabled
is not specified thennetbios_enabled
is set to true. -
aes_netlogon_enabled
- false -
try_ldap_channel_binding
- true -
ldap_referral_enabled
- false
Related ONTAP commands
-
vserver cifs server create
-
vserver cifs server options modify
-
vserver cifs security modify
-
vserver cifs server add-netbios-aliases
Learn more
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
force |
boolean |
query |
False |
If this is set and a machine account with the same name as specified in 'cifs-server name' exists in the Active Directory, existing machine account will be overwritten and reused.
|
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.
|
return_records |
boolean |
query |
False |
The default is false. If set to true, the records are returned.
|
Request Body
Name | Type | Description |
---|---|---|
_links |
||
ad_domain |
||
auth-style |
string |
Authentication type. |
authentication_method |
string |
Specifies the authentication method. The available values are:
|
client_certificate |
string |
PKCS12 certificate used by the application to prove its identity to AKV. |
client_id |
string |
Application client ID of the deployed Azure application with appropriate access to an AKV. |
client_secret |
string |
Secret used by the application to prove its identity to AKV. |
comment |
string |
A descriptive text comment for the CIFS server. SMB clients can see the CIFS server comment when browsing servers on the network. If there is a space in the comment, you must enclose the entire string in quotation marks. |
default_unix_user |
string |
Specifies the UNIX user to which any authenticated CIFS user is mapped to, if the normal user mapping rules fails. |
enabled |
boolean |
Specifies if the CIFS service is administratively enabled. |
group_policy_object_enabled |
boolean |
If set to true, group policies will be applied to the SVM. |
key_vault_uri |
string |
URI of the deployed AKV that is used by ONTAP for storing keys.
|
metric |
Performance numbers, such as IOPS latency and throughput, for SVM protocols. |
|
name |
string |
The name of the CIFS server. |
netbios |
||
oauth_host |
string |
Open authorization server host name. |
options |
||
proxy_host |
string |
Proxy host. |
proxy_password |
string |
Proxy password. Password is not audited. |
proxy_port |
integer |
Proxy port. |
proxy_type |
string |
Proxy type. |
proxy_username |
string |
Proxy username. |
security |
||
statistics |
These are raw performance numbers, such as IOPS latency and throughput for SVM protocols. These numbers are aggregated across all nodes in the cluster and increase with the uptime of the cluster. |
|
svm |
SVM, applies only to SVM-scoped objects. |
|
tenant_id |
string |
Directory (tenant) ID of the deployed Azure application with appropriate access to an AKV. |
timeout |
integer |
AKV connection timeout, in seconds. The allowed range is between 0 to 30 seconds. |
verify_host |
boolean |
Verify the identity of the AKV host name. By default, verify_host is set to true. |
workgroup |
string |
The workgroup name. |
Example request
{
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"ad_domain": {
"default_site": "string",
"fqdn": "example.com",
"organizational_unit": "string",
"password": "string",
"user": "string"
},
"auth-style": "domain",
"authentication_method": "string",
"client_certificate": "PEM Cert",
"client_id": "e959d1b5-5a63-4284-9268-851e30e3eceb",
"client_secret": "<id_value>",
"comment": "This CIFS Server Belongs to CS Department",
"default_unix_user": "string",
"key_vault_uri": "https://kmip-akv-keyvault.vault.azure.net/",
"metric": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"duration": "PT15S",
"iops": {
"read": 200,
"total": 1000,
"write": 100
},
"latency": {
"read": 200,
"total": 1000,
"write": 100
},
"status": "ok",
"throughput": {
"read": 200,
"total": 1000,
"write": 100
},
"timestamp": "2017-01-25 06:20:13 -0500"
},
"name": "CIFS1",
"netbios": {
"aliases": [
"ALIAS_1",
"ALIAS_2",
"ALIAS_3"
],
"wins_servers": [
"10.224.65.20",
"10.224.65.21"
]
},
"oauth_host": "login.microsoftonline.com",
"options": {
"null_user_windows_name": "string",
"smb_credits": 128,
"widelink_reparse_versions": [
"smb1"
]
},
"proxy_host": "proxy.eng.com",
"proxy_password": "proxypassword",
"proxy_port": 1234,
"proxy_type": "string",
"proxy_username": "proxyuser",
"security": {
"advertised_kdc_encryptions": [
"string"
],
"lm_compatibility_level": "string",
"restrict_anonymous": "string",
"session_security": "string"
},
"statistics": {
"iops_raw": {
"read": 200,
"total": 1000,
"write": 100
},
"latency_raw": {
"read": 200,
"total": 1000,
"write": 100
},
"status": "ok",
"throughput_raw": {
"read": 200,
"total": 1000,
"write": 100
},
"timestamp": "2017-01-25 06:20:13 -0500"
},
"svm": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"name": "svm1",
"uuid": "02c9e252-41be-11e9-81d5-00a0986138f7"
},
"tenant_id": "c9f32fcb-4ab7-40fe-af1b-1850d46cfbbe",
"timeout": 25,
"workgroup": "workgrp1"
}
Response
Status: 202, Accepted
Name | Type | Description |
---|---|---|
job |
Example response
{
"job": {
"_links": {
"self": {
"href": "/api/resourcelink"
}
},
"uuid": "string"
}
}
Headers
Name | Description | Type |
---|---|---|
Location |
Useful for tracking the resource location |
string |
Response
Status: 201, Created
Error
Status: Default
ONTAP Error Response Codes
Error Code | Description |
---|---|
3735751 |
Failed to authenticate and retrieve the access token from the Azure OAuth host. |
3735752 |
Failed to extract the private key from the Azure Key Vault certificate. |
3735753 |
Unsupported content_type in the Azure secrets response. |
3735754 |
Failed to parse the JSON response from Azure Key Vault. |
3735755 |
REST API call to Azure failed. |
3735756 |
Invalid client certificate. |
3735757 |
Failed to generate client assertion. |
3735762 |
The provided Azure Key Vault configuration is incorrect. |
3735763 |
The provided Azure Key Vault configuration is incomplete. |
3735764 |
Request to Azure failed. Reason - Azure error code and Azure error message. |
655388 |
STARTTLS and LDAPS cannot be used together. |
655524 |
CIFS server creation failed. |
655538 |
CIFS server creation failed because a server with the same name already exists. |
655562 |
NetBIOS name is longer than 15 characters. |
655563 |
NetBIOS name contains characters that are not allowed. |
655771 |
The number of NetBIOS aliases cannot exceed the maximum supported number of '200'. |
655914 |
Failed to create the Active Directory machine account. |
655923 |
Retrieving credentials from AKV is not supported because the effective cluster version is not ONTAP 9.15.0 or later. |
656464 |
Failed to create the Active Directory machine account. Reason: Invalid Credentials. |
656465 |
Failed to create the Active Directory machine account. Reason: Account with same name already exists. |
656466 |
Failed to create the Active Directory machine account. Reason: Domain Controller is not reachable or does not exist. |
656467 |
Failed to create the Active Directory machine account. Reason: Organizational-Unit not found. |
656473 |
Fields security.kdc_encryption and security.advertised_kdc_encryptions are mutually exclusive. Specify only one of the two. |
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 |
ad_domain
Name | Type | Description |
---|---|---|
default_site |
string |
The default site used by LIFs that do not have a site membership. |
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. POST and PATCH only. |
organizational_unit |
string |
Specifies the organizational unit within the Active Directory domain to associate with the CIFS server. POST and PATCH only. |
password |
string |
The account password used to add this CIFS server to the Active Directory. This is not audited. |
user |
string |
The user account used to add this CIFS server to the Active Directory. |
iops
The rate of I/O operations observed at the storage object.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |
Peformance metric for write I/O operations. |
latency
The round trip latency in microseconds observed at the storage object.
Name | Type | Description |
---|---|---|
other |
integer |
Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on. |
read |
integer |
Performance metric for read I/O operations. |
total |
integer |
Performance metric aggregated over all types of I/O operations. |
write |
integer |