Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5uZXRhcHAvbmV0YXBwYWNjb3VudHMve30=/2024-03-01-preview.xml (2,803 lines of code) (raw):
<?xml version='1.0' encoding='utf-8'?>
<CodeGen plane="mgmt-plane">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}" version="2024-03-01-preview" swagger="mgmt-plane/netapp/ResourceProviders/Microsoft.NetApp/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0QXBwL25ldEFwcEFjY291bnRzL3thY2NvdW50TmFtZX0=/V/MjAyNC0wMy0wMS1wcmV2aWV3"/>
<commandGroup name="netappfiles account">
<command name="show" version="2024-03-01-preview">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}" version="2024-03-01-preview" swagger="mgmt-plane/netapp/ResourceProviders/Microsoft.NetApp/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0QXBwL25ldEFwcEFjY291bnRzL3thY2NvdW50TmFtZX0=/V/MjAyNC0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.accountName" options="account-name name a n" required="True" group="" idPart="name">
<help short="The name of the NetApp account"/>
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<operation operationId="Accounts_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}">
<request method="get">
<path>
<param type="string" name="accountName" arg="$Path.accountName" required="True">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.NetApp/netAppAccounts/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="uuid" name="principalId"/>
<prop readOnly="True" type="uuid" name="tenantId"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="activeDirectories" identifiers="activeDirectoryId">
<item type="object">
<prop nullable="True" type="string" name="activeDirectoryId"/>
<prop type="string" name="adName">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="array<string>" name="administrators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="boolean" name="aesEncryption"/>
<prop type="boolean" name="allowLocalNfsUsersWithLdap"/>
<prop type="array<string>" name="backupOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="dns">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="string" name="domain"/>
<prop type="boolean" name="encryptDCConnections"/>
<prop type="string" name="kdcIP">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="boolean" name="ldapOverTLS"/>
<prop type="object" name="ldapSearchScope">
<prop type="string" name="groupDN">
<format maxLength="255"/>
</prop>
<prop type="string" name="groupMembershipFilter">
<format maxLength="255"/>
</prop>
<prop type="string" name="userDN">
<format maxLength="255"/>
</prop>
</prop>
<prop type="boolean" name="ldapSigning"/>
<prop type="string" name="organizationalUnit">
<default value=""CN=Computers""/>
</prop>
<prop type="string" name="password" secret="True">
<format maxLength="64"/>
</prop>
<prop type="string" name="preferredServersForLdapClient">
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</prop>
<prop type="array<string>" name="securityOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="serverRootCACertificate" secret="True">
<format maxLength="10240" minLength="1"/>
</prop>
<prop type="string" name="site"/>
<prop type="string" name="smbServerName"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="statusDetails"/>
<prop type="string" name="username"/>
</item>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="disableShowmount"/>
<prop type="object" name="encryption">
<prop type="object" name="identity">
<prop type="string" name="federatedClientId"/>
<prop readOnly="True" type="string" name="principalId"/>
<prop type="string" name="userAssignedIdentity"/>
</prop>
<prop type="string" name="keySource">
<default value=""Microsoft.NetApp""/>
<enum>
<item value=""Microsoft.KeyVault""/>
<item value=""Microsoft.NetApp""/>
</enum>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyName" required="True"/>
<prop readOnly="True" type="string" name="keyVaultId">
<format pattern="^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" maxLength="36" minLength="36"/>
</prop>
<prop type="ResourceId" name="keyVaultResourceId"/>
<prop type="string" name="keyVaultUri" required="True"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="isMultiAdEnabled"/>
<prop nullable="True" type="string" name="nfsV4IDDomain">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[a-zA-Z0-9]$" maxLength="255"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="delete" version="2024-03-01-preview" confirmation="Are you sure you want to perform this operation?">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}" version="2024-03-01-preview" swagger="mgmt-plane/netapp/ResourceProviders/Microsoft.NetApp/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0QXBwL25ldEFwcEFjY291bnRzL3thY2NvdW50TmFtZX0=/V/MjAyNC0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.accountName" options="account-name name a n" required="True" group="" idPart="name">
<help short="The name of the NetApp account"/>
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<operation operationId="Accounts_Delete">
<longRunning finalStateVia="location"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}">
<request method="delete">
<path>
<param type="string" name="accountName" arg="$Path.accountName" required="True">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="202"/>
<response statusCode="204"/>
<response statusCode="200 201"/>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="create" version="2024-03-01-preview">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}" version="2024-03-01-preview" swagger="mgmt-plane/netapp/ResourceProviders/Microsoft.NetApp/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0QXBwL25ldEFwcEFjY291bnRzL3thY2NvdW50TmFtZX0=/V/MjAyNC0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.accountName" options="account-name name a n" required="True" group="" idPart="name">
<help short="The name of the NetApp account"/>
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<argGroup name="Body">
<arg type="ResourceLocation" var="$body.location" options="location l" required="True" group="Body">
<help short="The geo-location where the resource lives"/>
</arg>
<arg type="object" var="$body.tags" options="tags" group="Body">
<help short="Resource tags."/>
<additionalProp>
<item type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Encryption">
<arg type="string" var="$body.properties.encryption.keySource" options="key-source" group="Encryption">
<help short="The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault"/>
<default value=""Microsoft.NetApp""/>
<enum>
<item name="Microsoft.KeyVault" value=""Microsoft.KeyVault""/>
<item name="Microsoft.NetApp" value=""Microsoft.NetApp""/>
</enum>
</arg>
<arg type="string" var="$body.properties.encryption.keyVaultProperties.keyName" options="key-name" group="Encryption">
<help short="The name of KeyVault key."/>
</arg>
<arg type="ResourceId" var="$body.properties.encryption.keyVaultProperties.keyVaultResourceId" options="key-vault-resource-id keyvault-resource-id" group="Encryption">
<help short="The resource ID of KeyVault."/>
</arg>
<arg type="string" var="$body.properties.encryption.keyVaultProperties.keyVaultUri" options="key-vault-uri v" group="Encryption">
<help short="The Uri of KeyVault."/>
</arg>
</argGroup>
<argGroup name="EncryptionIdentity">
<arg type="string" var="$body.properties.encryption.identity.federatedClientId" options="federated-client-id" group="EncryptionIdentity">
<help short="ClientId of the multi-tenant AAD Application. Used to access cross-tenant KeyVaults."/>
</arg>
<arg type="string" var="$body.properties.encryption.identity.userAssignedIdentity" options="user-assigned-identity" group="EncryptionIdentity">
<help short="The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities."/>
</arg>
</argGroup>
<argGroup name="Identity">
<arg type="string" var="$body.identity.type" options="identity-type type" group="Identity">
<help short="Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed)."/>
<enum>
<item name="None" value=""None""/>
<item name="SystemAssigned" value=""SystemAssigned""/>
<item name="SystemAssigned,UserAssigned" value=""SystemAssigned,UserAssigned""/>
<item name="UserAssigned" value=""UserAssigned""/>
</enum>
</arg>
<arg type="object" var="$body.identity.userAssignedIdentities" options="user-assigned-identities user-ids" group="Identity">
<help short="The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests."/>
<additionalProp>
<item nullable="True" type="object">
<blank value="{}"/>
</item>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Properties">
<arg type="array<object>" var="$body.properties.activeDirectories" options="active-directories" group="Properties">
<help short="Active Directories"/>
<item type="object">
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].activeDirectoryId" options="active-directory-id">
<help short="Id of the Active Directory"/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].adName" options="ad-name">
<help short="Name of the active directory machine. This optional parameter is used only while creating kerberos volume"/>
<format maxLength="64" minLength="1"/>
</arg>
<arg type="array<string>" var="$body.properties.activeDirectories[].administrators" options="administrators">
<help short="Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier"/>
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</arg>
<arg type="boolean" var="$body.properties.activeDirectories[].aesEncryption" options="aes-encryption">
<help short="If enabled, AES encryption will be enabled for SMB communication."/>
</arg>
<arg type="boolean" var="$body.properties.activeDirectories[].allowLocalNfsUsersWithLdap" options="allow-local-nfs-users-with-ldap">
<help short=" If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes."/>
</arg>
<arg type="array<string>" var="$body.properties.activeDirectories[].backupOperators" options="backup-operators">
<help short="Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier"/>
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].dns" options="dns">
<help short="Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain"/>
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].domain" options="domain">
<help short="Name of the Active Directory domain"/>
</arg>
<arg type="boolean" var="$body.properties.activeDirectories[].encryptDCConnections" options="encrypt-dc-connections">
<help short="If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted."/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].kdcIP" options="kdc-ip">
<help short="kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume."/>
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</arg>
<arg type="boolean" var="$body.properties.activeDirectories[].ldapOverTLS" options="ldap-over-tls">
<help short="Specifies whether or not the LDAP traffic needs to be secured via TLS."/>
</arg>
<arg type="object" var="$body.properties.activeDirectories[].ldapSearchScope" options="ldap-search-scope">
<help short="LDAP Search scope options"/>
<arg type="string" var="$body.properties.activeDirectories[].ldapSearchScope.groupDN" options="group-dn">
<help short="This specifies the group DN, which overrides the base DN for group lookups."/>
<format maxLength="255"/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].ldapSearchScope.groupMembershipFilter" options="group-membership-filter">
<help short="This specifies the custom LDAP search filter to be used when looking up group membership from LDAP server."/>
<format maxLength="255"/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].ldapSearchScope.userDN" options="user-dn">
<help short="This specifies the user DN, which overrides the base DN for user lookups."/>
<format maxLength="255"/>
</arg>
</arg>
<arg type="boolean" var="$body.properties.activeDirectories[].ldapSigning" options="ldap-signing">
<help short="Specifies whether or not the LDAP traffic needs to be signed."/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].organizationalUnit" options="organizational-unit">
<help short="The Organizational Unit (OU) within the Windows Active Directory"/>
<default value=""CN=Computers""/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].password" options="password">
<help short="Plain text password of Active Directory domain administrator, value is masked in the response"/>
<format maxLength="64"/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].preferredServersForLdapClient" options="preferred-servers-for-ldap-client">
<help short="Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed."/>
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</arg>
<arg type="array<string>" var="$body.properties.activeDirectories[].securityOperators" options="security-operators">
<help short="Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier"/>
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].serverRootCACertificate" options="server-root-ca-certificate">
<help short="When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes."/>
<format maxLength="10240" minLength="1"/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].site" options="site">
<help short="The Active Directory site the service will limit Domain Controller discovery to"/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].smbServerName" options="smb-server-name">
<help short="NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes"/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].username" options="username">
<help short="A domain user account with permission to create machine accounts"/>
</arg>
</item>
</arg>
<arg nullable="True" type="string" var="$body.properties.nfsV4IDDomain" options="nfs-v4-id-domain" group="Properties">
<help short="Domain for NFSv4 user ID mapping. This property will be set for all NetApp accounts in the subscription and region and only affect non ldap NFSv4 volumes."/>
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[a-zA-Z0-9]$" maxLength="255"/>
</arg>
</argGroup>
<operation operationId="Accounts_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}">
<request method="put">
<path>
<param type="string" name="accountName" arg="$Path.accountName" required="True">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
<body>
<json>
<schema type="object" name="body" required="True" clientFlatten="True">
<prop type="IdentityObject" name="identity">
<prop type="string" name="type" arg="$body.identity.type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities" arg="$body.identity.userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object"/>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" arg="$body.location" required="True"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="activeDirectories" arg="$body.properties.activeDirectories" identifiers="activeDirectoryId">
<item type="object">
<prop nullable="True" type="string" name="activeDirectoryId" arg="$body.properties.activeDirectories[].activeDirectoryId"/>
<prop type="string" name="adName" arg="$body.properties.activeDirectories[].adName">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="array<string>" name="administrators" arg="$body.properties.activeDirectories[].administrators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="boolean" name="aesEncryption" arg="$body.properties.activeDirectories[].aesEncryption"/>
<prop type="boolean" name="allowLocalNfsUsersWithLdap" arg="$body.properties.activeDirectories[].allowLocalNfsUsersWithLdap"/>
<prop type="array<string>" name="backupOperators" arg="$body.properties.activeDirectories[].backupOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="dns" arg="$body.properties.activeDirectories[].dns">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="string" name="domain" arg="$body.properties.activeDirectories[].domain"/>
<prop type="boolean" name="encryptDCConnections" arg="$body.properties.activeDirectories[].encryptDCConnections"/>
<prop type="string" name="kdcIP" arg="$body.properties.activeDirectories[].kdcIP">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="boolean" name="ldapOverTLS" arg="$body.properties.activeDirectories[].ldapOverTLS"/>
<prop type="object" name="ldapSearchScope" arg="$body.properties.activeDirectories[].ldapSearchScope">
<prop type="string" name="groupDN" arg="$body.properties.activeDirectories[].ldapSearchScope.groupDN">
<format maxLength="255"/>
</prop>
<prop type="string" name="groupMembershipFilter" arg="$body.properties.activeDirectories[].ldapSearchScope.groupMembershipFilter">
<format maxLength="255"/>
</prop>
<prop type="string" name="userDN" arg="$body.properties.activeDirectories[].ldapSearchScope.userDN">
<format maxLength="255"/>
</prop>
</prop>
<prop type="boolean" name="ldapSigning" arg="$body.properties.activeDirectories[].ldapSigning"/>
<prop type="string" name="organizationalUnit" arg="$body.properties.activeDirectories[].organizationalUnit">
<default value=""CN=Computers""/>
</prop>
<prop type="string" name="password" arg="$body.properties.activeDirectories[].password" secret="True">
<format maxLength="64"/>
</prop>
<prop type="string" name="preferredServersForLdapClient" arg="$body.properties.activeDirectories[].preferredServersForLdapClient">
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</prop>
<prop type="array<string>" name="securityOperators" arg="$body.properties.activeDirectories[].securityOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="serverRootCACertificate" arg="$body.properties.activeDirectories[].serverRootCACertificate" secret="True">
<format maxLength="10240" minLength="1"/>
</prop>
<prop type="string" name="site" arg="$body.properties.activeDirectories[].site"/>
<prop type="string" name="smbServerName" arg="$body.properties.activeDirectories[].smbServerName"/>
<prop type="string" name="username" arg="$body.properties.activeDirectories[].username"/>
</item>
</prop>
<prop type="object" name="encryption">
<prop type="object" name="identity">
<prop type="string" name="federatedClientId" arg="$body.properties.encryption.identity.federatedClientId"/>
<prop type="string" name="userAssignedIdentity" arg="$body.properties.encryption.identity.userAssignedIdentity"/>
</prop>
<prop type="string" name="keySource" arg="$body.properties.encryption.keySource">
<default value=""Microsoft.NetApp""/>
<enum>
<item value=""Microsoft.KeyVault""/>
<item value=""Microsoft.NetApp""/>
</enum>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyName" arg="$body.properties.encryption.keyVaultProperties.keyName" required="True"/>
<prop type="ResourceId" name="keyVaultResourceId" arg="$body.properties.encryption.keyVaultProperties.keyVaultResourceId"/>
<prop type="string" name="keyVaultUri" arg="$body.properties.encryption.keyVaultProperties.keyVaultUri" required="True"/>
</prop>
</prop>
<prop nullable="True" type="string" name="nfsV4IDDomain" arg="$body.properties.nfsV4IDDomain">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[a-zA-Z0-9]$" maxLength="255"/>
</prop>
</prop>
<prop type="object" name="tags" arg="$body.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</schema>
</json>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.NetApp/netAppAccounts/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="uuid" name="principalId"/>
<prop readOnly="True" type="uuid" name="tenantId"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="activeDirectories" identifiers="activeDirectoryId">
<item type="object">
<prop nullable="True" type="string" name="activeDirectoryId"/>
<prop type="string" name="adName">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="array<string>" name="administrators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="boolean" name="aesEncryption"/>
<prop type="boolean" name="allowLocalNfsUsersWithLdap"/>
<prop type="array<string>" name="backupOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="dns">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="string" name="domain"/>
<prop type="boolean" name="encryptDCConnections"/>
<prop type="string" name="kdcIP">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="boolean" name="ldapOverTLS"/>
<prop type="object" name="ldapSearchScope">
<prop type="string" name="groupDN">
<format maxLength="255"/>
</prop>
<prop type="string" name="groupMembershipFilter">
<format maxLength="255"/>
</prop>
<prop type="string" name="userDN">
<format maxLength="255"/>
</prop>
</prop>
<prop type="boolean" name="ldapSigning"/>
<prop type="string" name="organizationalUnit">
<default value=""CN=Computers""/>
</prop>
<prop type="string" name="password" secret="True">
<format maxLength="64"/>
</prop>
<prop type="string" name="preferredServersForLdapClient">
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</prop>
<prop type="array<string>" name="securityOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="serverRootCACertificate" secret="True">
<format maxLength="10240" minLength="1"/>
</prop>
<prop type="string" name="site"/>
<prop type="string" name="smbServerName"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="statusDetails"/>
<prop type="string" name="username"/>
</item>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="disableShowmount"/>
<prop type="object" name="encryption">
<prop type="object" name="identity">
<prop type="string" name="federatedClientId"/>
<prop readOnly="True" type="string" name="principalId"/>
<prop type="string" name="userAssignedIdentity"/>
</prop>
<prop type="string" name="keySource">
<default value=""Microsoft.NetApp""/>
<enum>
<item value=""Microsoft.KeyVault""/>
<item value=""Microsoft.NetApp""/>
</enum>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyName" required="True"/>
<prop readOnly="True" type="string" name="keyVaultId">
<format pattern="^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" maxLength="36" minLength="36"/>
</prop>
<prop type="ResourceId" name="keyVaultResourceId"/>
<prop type="string" name="keyVaultUri" required="True"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="isMultiAdEnabled"/>
<prop nullable="True" type="string" name="nfsV4IDDomain">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[a-zA-Z0-9]$" maxLength="255"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="update" version="2024-03-01-preview">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}" version="2024-03-01-preview" swagger="mgmt-plane/netapp/ResourceProviders/Microsoft.NetApp/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0QXBwL25ldEFwcEFjY291bnRzL3thY2NvdW50TmFtZX0=/V/MjAyNC0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.accountName" options="account-name name a n" required="True" group="" idPart="name">
<help short="The name of the NetApp account"/>
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<argGroup name="Body">
<arg nullable="True" type="object" var="$body.tags" options="tags" group="Body">
<help short="Resource tags."/>
<additionalProp>
<item nullable="True" type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Encryption">
<arg nullable="True" type="object" var="$body.properties.encryption.identity" options="encryption-identity" group="Encryption">
<help short="Identity used to authenticate to KeyVault. Applicable if keySource is 'Microsoft.KeyVault'."/>
<arg nullable="True" type="string" var="$body.properties.encryption.identity.federatedClientId" options="federated-client-id">
<help short="ClientId of the multi-tenant AAD Application. Used to access cross-tenant KeyVaults."/>
</arg>
<arg nullable="True" type="string" var="$body.properties.encryption.identity.userAssignedIdentity" options="user-assigned-identity">
<help short="The ARM resource identifier of the user assigned identity used to authenticate with key vault. Applicable if identity.type has 'UserAssigned'. It should match key of identity.userAssignedIdentities."/>
</arg>
</arg>
<arg nullable="True" type="string" var="$body.properties.encryption.keySource" options="key-source" group="Encryption">
<help short="The encryption keySource (provider). Possible values (case-insensitive): Microsoft.NetApp, Microsoft.KeyVault"/>
<enum>
<item name="Microsoft.KeyVault" value=""Microsoft.KeyVault""/>
<item name="Microsoft.NetApp" value=""Microsoft.NetApp""/>
</enum>
</arg>
<arg type="string" var="$body.properties.encryption.keyVaultProperties.keyName" options="key-name" group="Encryption">
<help short="The name of KeyVault key."/>
</arg>
<arg nullable="True" type="ResourceId" var="$body.properties.encryption.keyVaultProperties.keyVaultResourceId" options="key-vault-resource-id keyvault-resource-id" group="Encryption">
<help short="The resource ID of KeyVault."/>
</arg>
<arg type="string" var="$body.properties.encryption.keyVaultProperties.keyVaultUri" options="key-vault-uri v" group="Encryption">
<help short="The Uri of KeyVault."/>
</arg>
</argGroup>
<argGroup name="Identity">
<arg type="string" var="$body.identity.type" options="identity-type type" group="Identity">
<help short="Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed)."/>
<enum>
<item name="None" value=""None""/>
<item name="SystemAssigned" value=""SystemAssigned""/>
<item name="SystemAssigned,UserAssigned" value=""SystemAssigned,UserAssigned""/>
<item name="UserAssigned" value=""UserAssigned""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$body.identity.userAssignedIdentities" options="user-assigned-identities user-ids" group="Identity">
<help short="The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests."/>
<additionalProp>
<item nullable="True" type="object">
<blank value="{}"/>
</item>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Properties">
<arg nullable="True" type="array<object>" var="$body.properties.activeDirectories" options="active-directories" group="Properties">
<help short="Active Directories"/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].activeDirectoryId" options="active-directory-id">
<help short="Id of the Active Directory"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].adName" options="ad-name">
<help short="Name of the active directory machine. This optional parameter is used only while creating kerberos volume"/>
<format maxLength="64" minLength="1"/>
</arg>
<arg nullable="True" type="array<string>" var="$body.properties.activeDirectories[].administrators" options="administrators">
<help short="Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier"/>
<item nullable="True" type="string">
<format maxLength="255" minLength="1"/>
</item>
</arg>
<arg nullable="True" type="boolean" var="$body.properties.activeDirectories[].aesEncryption" options="aes-encryption">
<help short="If enabled, AES encryption will be enabled for SMB communication."/>
</arg>
<arg nullable="True" type="boolean" var="$body.properties.activeDirectories[].allowLocalNfsUsersWithLdap" options="allow-local-nfs-users-with-ldap">
<help short=" If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes."/>
</arg>
<arg nullable="True" type="array<string>" var="$body.properties.activeDirectories[].backupOperators" options="backup-operators">
<help short="Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier"/>
<item nullable="True" type="string">
<format maxLength="255" minLength="1"/>
</item>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].dns" options="dns">
<help short="Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain"/>
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].domain" options="domain">
<help short="Name of the Active Directory domain"/>
</arg>
<arg nullable="True" type="boolean" var="$body.properties.activeDirectories[].encryptDCConnections" options="encrypt-dc-connections">
<help short="If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted."/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].kdcIP" options="kdc-ip">
<help short="kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume."/>
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</arg>
<arg nullable="True" type="boolean" var="$body.properties.activeDirectories[].ldapOverTLS" options="ldap-over-tls">
<help short="Specifies whether or not the LDAP traffic needs to be secured via TLS."/>
</arg>
<arg nullable="True" type="object" var="$body.properties.activeDirectories[].ldapSearchScope" options="ldap-search-scope">
<help short="LDAP Search scope options"/>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].ldapSearchScope.groupDN" options="group-dn">
<help short="This specifies the group DN, which overrides the base DN for group lookups."/>
<format maxLength="255"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].ldapSearchScope.groupMembershipFilter" options="group-membership-filter">
<help short="This specifies the custom LDAP search filter to be used when looking up group membership from LDAP server."/>
<format maxLength="255"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].ldapSearchScope.userDN" options="user-dn">
<help short="This specifies the user DN, which overrides the base DN for user lookups."/>
<format maxLength="255"/>
</arg>
</arg>
<arg nullable="True" type="boolean" var="$body.properties.activeDirectories[].ldapSigning" options="ldap-signing">
<help short="Specifies whether or not the LDAP traffic needs to be signed."/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].organizationalUnit" options="organizational-unit">
<help short="The Organizational Unit (OU) within the Windows Active Directory"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].password" options="password">
<help short="Plain text password of Active Directory domain administrator, value is masked in the response"/>
<format maxLength="64"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].preferredServersForLdapClient" options="preferred-servers-for-ldap-client">
<help short="Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed."/>
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</arg>
<arg nullable="True" type="array<string>" var="$body.properties.activeDirectories[].securityOperators" options="security-operators">
<help short="Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier"/>
<item nullable="True" type="string">
<format maxLength="255" minLength="1"/>
</item>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].serverRootCACertificate" options="server-root-ca-certificate">
<help short="When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes."/>
<format maxLength="10240" minLength="1"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].site" options="site">
<help short="The Active Directory site the service will limit Domain Controller discovery to"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].smbServerName" options="smb-server-name">
<help short="NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].username" options="username">
<help short="A domain user account with permission to create machine accounts"/>
</arg>
</item>
</arg>
<arg nullable="True" type="string" var="$body.properties.nfsV4IDDomain" options="nfs-v4-id-domain" group="Properties">
<help short="Domain for NFSv4 user ID mapping. This property will be set for all NetApp accounts in the subscription and region and only affect non ldap NFSv4 volumes."/>
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[a-zA-Z0-9]$" maxLength="255"/>
</arg>
</argGroup>
<operation operationId="Accounts_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}">
<request method="get">
<path>
<param type="string" name="accountName" arg="$Path.accountName" required="True">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="NetAppAccount_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.NetApp/netAppAccounts/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="uuid" name="principalId"/>
<prop readOnly="True" type="uuid" name="tenantId"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="activeDirectories" identifiers="activeDirectoryId">
<item type="object">
<prop nullable="True" type="string" name="activeDirectoryId"/>
<prop type="string" name="adName">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="array<string>" name="administrators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="boolean" name="aesEncryption"/>
<prop type="boolean" name="allowLocalNfsUsersWithLdap"/>
<prop type="array<string>" name="backupOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="dns">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="string" name="domain"/>
<prop type="boolean" name="encryptDCConnections"/>
<prop type="string" name="kdcIP">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="boolean" name="ldapOverTLS"/>
<prop type="object" name="ldapSearchScope">
<prop type="string" name="groupDN">
<format maxLength="255"/>
</prop>
<prop type="string" name="groupMembershipFilter">
<format maxLength="255"/>
</prop>
<prop type="string" name="userDN">
<format maxLength="255"/>
</prop>
</prop>
<prop type="boolean" name="ldapSigning"/>
<prop type="string" name="organizationalUnit">
<default value=""CN=Computers""/>
</prop>
<prop type="string" name="password" secret="True">
<format maxLength="64"/>
</prop>
<prop type="string" name="preferredServersForLdapClient">
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</prop>
<prop type="array<string>" name="securityOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="serverRootCACertificate" secret="True">
<format maxLength="10240" minLength="1"/>
</prop>
<prop type="string" name="site"/>
<prop type="string" name="smbServerName"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="statusDetails"/>
<prop type="string" name="username"/>
</item>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="disableShowmount"/>
<prop type="object" name="encryption">
<prop type="object" name="identity">
<prop type="string" name="federatedClientId"/>
<prop readOnly="True" type="string" name="principalId"/>
<prop type="string" name="userAssignedIdentity"/>
</prop>
<prop type="string" name="keySource">
<default value=""Microsoft.NetApp""/>
<enum>
<item value=""Microsoft.KeyVault""/>
<item value=""Microsoft.NetApp""/>
</enum>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyName" required="True"/>
<prop readOnly="True" type="string" name="keyVaultId">
<format pattern="^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" maxLength="36" minLength="36"/>
</prop>
<prop type="ResourceId" name="keyVaultResourceId"/>
<prop type="string" name="keyVaultUri" required="True"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="isMultiAdEnabled"/>
<prop nullable="True" type="string" name="nfsV4IDDomain">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[a-zA-Z0-9]$" maxLength="255"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Instance">
<json>
<schema type="object" name="body" required="True" clientFlatten="True">
<prop type="IdentityObject" name="identity">
<prop type="string" name="type" arg="$body.identity.type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities" arg="$body.identity.userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object"/>
</additionalProp>
</prop>
</prop>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="activeDirectories" arg="$body.properties.activeDirectories" identifiers="activeDirectoryId">
<item type="object">
<prop nullable="True" type="string" name="activeDirectoryId" arg="$body.properties.activeDirectories[].activeDirectoryId"/>
<prop type="string" name="adName" arg="$body.properties.activeDirectories[].adName">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="array<string>" name="administrators" arg="$body.properties.activeDirectories[].administrators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="boolean" name="aesEncryption" arg="$body.properties.activeDirectories[].aesEncryption"/>
<prop type="boolean" name="allowLocalNfsUsersWithLdap" arg="$body.properties.activeDirectories[].allowLocalNfsUsersWithLdap"/>
<prop type="array<string>" name="backupOperators" arg="$body.properties.activeDirectories[].backupOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="dns" arg="$body.properties.activeDirectories[].dns">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="string" name="domain" arg="$body.properties.activeDirectories[].domain"/>
<prop type="boolean" name="encryptDCConnections" arg="$body.properties.activeDirectories[].encryptDCConnections"/>
<prop type="string" name="kdcIP" arg="$body.properties.activeDirectories[].kdcIP">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="boolean" name="ldapOverTLS" arg="$body.properties.activeDirectories[].ldapOverTLS"/>
<prop type="object" name="ldapSearchScope" arg="$body.properties.activeDirectories[].ldapSearchScope">
<prop type="string" name="groupDN" arg="$body.properties.activeDirectories[].ldapSearchScope.groupDN">
<format maxLength="255"/>
</prop>
<prop type="string" name="groupMembershipFilter" arg="$body.properties.activeDirectories[].ldapSearchScope.groupMembershipFilter">
<format maxLength="255"/>
</prop>
<prop type="string" name="userDN" arg="$body.properties.activeDirectories[].ldapSearchScope.userDN">
<format maxLength="255"/>
</prop>
</prop>
<prop type="boolean" name="ldapSigning" arg="$body.properties.activeDirectories[].ldapSigning"/>
<prop type="string" name="organizationalUnit" arg="$body.properties.activeDirectories[].organizationalUnit">
<default value=""CN=Computers""/>
</prop>
<prop type="string" name="password" arg="$body.properties.activeDirectories[].password" secret="True">
<format maxLength="64"/>
</prop>
<prop type="string" name="preferredServersForLdapClient" arg="$body.properties.activeDirectories[].preferredServersForLdapClient">
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</prop>
<prop type="array<string>" name="securityOperators" arg="$body.properties.activeDirectories[].securityOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="serverRootCACertificate" arg="$body.properties.activeDirectories[].serverRootCACertificate" secret="True">
<format maxLength="10240" minLength="1"/>
</prop>
<prop type="string" name="site" arg="$body.properties.activeDirectories[].site"/>
<prop type="string" name="smbServerName" arg="$body.properties.activeDirectories[].smbServerName"/>
<prop type="string" name="username" arg="$body.properties.activeDirectories[].username"/>
</item>
</prop>
<prop type="object" name="encryption">
<prop type="object" name="identity" arg="$body.properties.encryption.identity">
<prop type="string" name="federatedClientId" arg="$body.properties.encryption.identity.federatedClientId"/>
<prop type="string" name="userAssignedIdentity" arg="$body.properties.encryption.identity.userAssignedIdentity"/>
</prop>
<prop type="string" name="keySource" arg="$body.properties.encryption.keySource">
<default value=""Microsoft.NetApp""/>
<enum>
<item value=""Microsoft.KeyVault""/>
<item value=""Microsoft.NetApp""/>
</enum>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyName" arg="$body.properties.encryption.keyVaultProperties.keyName" required="True"/>
<prop type="ResourceId" name="keyVaultResourceId" arg="$body.properties.encryption.keyVaultProperties.keyVaultResourceId"/>
<prop type="string" name="keyVaultUri" arg="$body.properties.encryption.keyVaultProperties.keyVaultUri" required="True"/>
</prop>
</prop>
<prop nullable="True" type="string" name="nfsV4IDDomain" arg="$body.properties.nfsV4IDDomain">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[a-zA-Z0-9]$" maxLength="255"/>
</prop>
</prop>
<prop type="object" name="tags" arg="$body.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="Accounts_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}">
<request method="put">
<path>
<param type="string" name="accountName" arg="$Path.accountName" required="True">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@NetAppAccount_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<commandGroup name="ad">
<command name="list" version="2024-03-01-preview" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}" version="2024-03-01-preview" subresource="properties.activeDirectories" swagger="mgmt-plane/netapp/ResourceProviders/Microsoft.NetApp/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0QXBwL25ldEFwcEFjY291bnRzL3thY2NvdW50TmFtZX0=/V/MjAyNC0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.accountName" options="account-name name a n" required="True" group="" idPart="name">
<help short="The name of the NetApp account"/>
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="body">
<prop type="array" name="properties.activeDirectories"/>
</json>
</subresourceSelector>
<operation operationId="Accounts_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}">
<request method="get">
<path>
<param type="string" name="accountName" arg="$Path.accountName" required="True">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="NetAppAccount_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.NetApp/netAppAccounts/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="uuid" name="principalId"/>
<prop readOnly="True" type="uuid" name="tenantId"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="activeDirectories" identifiers="activeDirectoryId">
<item type="object">
<prop nullable="True" type="string" name="activeDirectoryId"/>
<prop type="string" name="adName">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="array<string>" name="administrators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="boolean" name="aesEncryption"/>
<prop type="boolean" name="allowLocalNfsUsersWithLdap"/>
<prop type="array<string>" name="backupOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="dns">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="string" name="domain"/>
<prop type="boolean" name="encryptDCConnections"/>
<prop type="string" name="kdcIP">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="boolean" name="ldapOverTLS"/>
<prop type="object" name="ldapSearchScope">
<prop type="string" name="groupDN">
<format maxLength="255"/>
</prop>
<prop type="string" name="groupMembershipFilter">
<format maxLength="255"/>
</prop>
<prop type="string" name="userDN">
<format maxLength="255"/>
</prop>
</prop>
<prop type="boolean" name="ldapSigning"/>
<prop type="string" name="organizationalUnit">
<default value=""CN=Computers""/>
</prop>
<prop type="string" name="password" secret="True">
<format maxLength="64"/>
</prop>
<prop type="string" name="preferredServersForLdapClient">
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</prop>
<prop type="array<string>" name="securityOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="serverRootCACertificate" secret="True">
<format maxLength="10240" minLength="1"/>
</prop>
<prop type="string" name="site"/>
<prop type="string" name="smbServerName"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="statusDetails"/>
<prop type="string" name="username"/>
</item>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="disableShowmount"/>
<prop type="object" name="encryption">
<prop type="object" name="identity">
<prop type="string" name="federatedClientId"/>
<prop readOnly="True" type="string" name="principalId"/>
<prop type="string" name="userAssignedIdentity"/>
</prop>
<prop type="string" name="keySource">
<default value=""Microsoft.NetApp""/>
<enum>
<item value=""Microsoft.KeyVault""/>
<item value=""Microsoft.NetApp""/>
</enum>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyName" required="True"/>
<prop readOnly="True" type="string" name="keyVaultId">
<format pattern="^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" maxLength="36" minLength="36"/>
</prop>
<prop type="ResourceId" name="keyVaultResourceId"/>
<prop type="string" name="keyVaultUri" required="True"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="isMultiAdEnabled"/>
<prop nullable="True" type="string" name="nfsV4IDDomain">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[a-zA-Z0-9]$" maxLength="255"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="array" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="add" version="2024-03-01-preview" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}" version="2024-03-01-preview" subresource="properties.activeDirectories[]" swagger="mgmt-plane/netapp/ResourceProviders/Microsoft.NetApp/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0QXBwL25ldEFwcEFjY291bnRzL3thY2NvdW50TmFtZX0=/V/MjAyNC0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.accountName" options="account-name name a n" required="True" group="" idPart="name">
<help short="The name of the NetApp account"/>
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].activeDirectoryId" options="active-directory-id" required="True">
<help short="Id of the Active Directory"/>
</arg>
</argGroup>
<argGroup name="Body.properties.activeDirectories[]">
<arg type="string" var="$body.properties.activeDirectories[].adName" options="ad-name" group="Body.properties.activeDirectories[]">
<help short="Name of the active directory machine. This optional parameter is used only while creating kerberos volume"/>
<format maxLength="64" minLength="1"/>
</arg>
<arg type="array<string>" var="$body.properties.activeDirectories[].administrators" options="administrators" group="Body.properties.activeDirectories[]">
<help short="Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier"/>
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</arg>
<arg type="boolean" var="$body.properties.activeDirectories[].aesEncryption" options="aes-encryption" group="Body.properties.activeDirectories[]">
<help short="If enabled, AES encryption will be enabled for SMB communication."/>
</arg>
<arg type="boolean" var="$body.properties.activeDirectories[].allowLocalNfsUsersWithLdap" options="allow-local-nfs-users-with-ldap allow-local-ldap-users" group="Body.properties.activeDirectories[]">
<help short="If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes."/>
</arg>
<arg type="array<string>" var="$body.properties.activeDirectories[].backupOperators" options="backup-operators" group="Body.properties.activeDirectories[]">
<help short="Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier"/>
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].dns" options="dns" group="Body.properties.activeDirectories[]">
<help short="Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain"/>
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].domain" options="domain" group="Body.properties.activeDirectories[]">
<help short="Name of the Active Directory domain"/>
</arg>
<arg type="boolean" var="$body.properties.activeDirectories[].encryptDCConnections" options="encrypt-dc-connections encrypt-dc-conn" group="Body.properties.activeDirectories[]">
<help short="If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted."/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].kdcIP" options="kdc-ip" group="Body.properties.activeDirectories[]">
<help short="kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume."/>
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</arg>
<arg type="boolean" var="$body.properties.activeDirectories[].ldapOverTLS" options="ldap-over-tls" group="Body.properties.activeDirectories[]">
<help short="Specifies whether or not the LDAP traffic needs to be secured via TLS."/>
</arg>
<arg type="object" var="$body.properties.activeDirectories[].ldapSearchScope" options="ldap-search-scope" group="Body.properties.activeDirectories[]">
<help short="LDAP Search scope options"/>
<arg type="string" var="$body.properties.activeDirectories[].ldapSearchScope.groupDN" options="group-dn">
<help short="This specifies the group DN, which overrides the base DN for group lookups."/>
<format maxLength="255"/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].ldapSearchScope.groupMembershipFilter" options="group-membership-filter">
<help short="This specifies the custom LDAP search filter to be used when looking up group membership from LDAP server."/>
<format maxLength="255"/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].ldapSearchScope.userDN" options="user-dn">
<help short="This specifies the user DN, which overrides the base DN for user lookups."/>
<format maxLength="255"/>
</arg>
</arg>
<arg type="boolean" var="$body.properties.activeDirectories[].ldapSigning" options="ldap-signing" group="Body.properties.activeDirectories[]">
<help short="Specifies whether or not the LDAP traffic needs to be signed."/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].organizationalUnit" options="organizational-unit" group="Body.properties.activeDirectories[]">
<help short="The Organizational Unit (OU) within the Windows Active Directory"/>
<default value=""CN=Computers""/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].password" options="password" group="Body.properties.activeDirectories[]">
<help short="Plain text password of Active Directory domain administrator, value is masked in the response"/>
<format maxLength="64"/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].preferredServersForLdapClient" options="preferred-servers-for-ldap-client p" group="Body.properties.activeDirectories[]">
<help short="Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed."/>
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</arg>
<arg type="array<string>" var="$body.properties.activeDirectories[].securityOperators" options="security-operators" group="Body.properties.activeDirectories[]">
<help short="Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier"/>
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].serverRootCACertificate" options="server-root-ca-certificate server-root-ca-cert" group="Body.properties.activeDirectories[]">
<help short="When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes."/>
<format maxLength="10240" minLength="1"/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].site" options="site" group="Body.properties.activeDirectories[]">
<help short="The Active Directory site the service will limit Domain Controller discovery to"/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].smbServerName" options="smb-server-name" group="Body.properties.activeDirectories[]">
<help short="NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes"/>
</arg>
<arg type="string" var="$body.properties.activeDirectories[].username" options="username" group="Body.properties.activeDirectories[]">
<help short="A domain user account with permission to create machine accounts"/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="body">
<prop type="array" name="properties.activeDirectories">
<item type="object"/>
<identifier nullable="True" type="string" name="[].activeDirectoryId" arg="$body.properties.activeDirectories[].activeDirectoryId" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="Accounts_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}">
<request method="get">
<path>
<param type="string" name="accountName" arg="$Path.accountName" required="True">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="NetAppAccount_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.NetApp/netAppAccounts/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="uuid" name="principalId"/>
<prop readOnly="True" type="uuid" name="tenantId"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="activeDirectories" identifiers="activeDirectoryId">
<item type="object">
<prop nullable="True" type="string" name="activeDirectoryId"/>
<prop type="string" name="adName">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="array<string>" name="administrators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="boolean" name="aesEncryption"/>
<prop type="boolean" name="allowLocalNfsUsersWithLdap"/>
<prop type="array<string>" name="backupOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="dns">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="string" name="domain"/>
<prop type="boolean" name="encryptDCConnections"/>
<prop type="string" name="kdcIP">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="boolean" name="ldapOverTLS"/>
<prop type="object" name="ldapSearchScope">
<prop type="string" name="groupDN">
<format maxLength="255"/>
</prop>
<prop type="string" name="groupMembershipFilter">
<format maxLength="255"/>
</prop>
<prop type="string" name="userDN">
<format maxLength="255"/>
</prop>
</prop>
<prop type="boolean" name="ldapSigning"/>
<prop type="string" name="organizationalUnit">
<default value=""CN=Computers""/>
</prop>
<prop type="string" name="password" secret="True">
<format maxLength="64"/>
</prop>
<prop type="string" name="preferredServersForLdapClient">
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</prop>
<prop type="array<string>" name="securityOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="serverRootCACertificate" secret="True">
<format maxLength="10240" minLength="1"/>
</prop>
<prop type="string" name="site"/>
<prop type="string" name="smbServerName"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="statusDetails"/>
<prop type="string" name="username"/>
</item>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="disableShowmount"/>
<prop type="object" name="encryption">
<prop type="object" name="identity">
<prop type="string" name="federatedClientId"/>
<prop readOnly="True" type="string" name="principalId"/>
<prop type="string" name="userAssignedIdentity"/>
</prop>
<prop type="string" name="keySource">
<default value=""Microsoft.NetApp""/>
<enum>
<item value=""Microsoft.KeyVault""/>
<item value=""Microsoft.NetApp""/>
</enum>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyName" required="True"/>
<prop readOnly="True" type="string" name="keyVaultId">
<format pattern="^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" maxLength="36" minLength="36"/>
</prop>
<prop type="ResourceId" name="keyVaultResourceId"/>
<prop type="string" name="keyVaultUri" required="True"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="isMultiAdEnabled"/>
<prop nullable="True" type="string" name="nfsV4IDDomain">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[a-zA-Z0-9]$" maxLength="255"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceCreate ref="$Subresource">
<json>
<schema type="object" name="body.properties.activeDirectories[]" required="True">
<prop nullable="True" type="string" name="activeDirectoryId" arg="$body.properties.activeDirectories[].activeDirectoryId"/>
<prop type="string" name="adName" arg="$body.properties.activeDirectories[].adName">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="array<string>" name="administrators" arg="$body.properties.activeDirectories[].administrators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="boolean" name="aesEncryption" arg="$body.properties.activeDirectories[].aesEncryption"/>
<prop type="boolean" name="allowLocalNfsUsersWithLdap" arg="$body.properties.activeDirectories[].allowLocalNfsUsersWithLdap"/>
<prop type="array<string>" name="backupOperators" arg="$body.properties.activeDirectories[].backupOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="dns" arg="$body.properties.activeDirectories[].dns">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="string" name="domain" arg="$body.properties.activeDirectories[].domain"/>
<prop type="boolean" name="encryptDCConnections" arg="$body.properties.activeDirectories[].encryptDCConnections"/>
<prop type="string" name="kdcIP" arg="$body.properties.activeDirectories[].kdcIP">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="boolean" name="ldapOverTLS" arg="$body.properties.activeDirectories[].ldapOverTLS"/>
<prop type="object" name="ldapSearchScope" arg="$body.properties.activeDirectories[].ldapSearchScope">
<prop type="string" name="groupDN" arg="$body.properties.activeDirectories[].ldapSearchScope.groupDN">
<format maxLength="255"/>
</prop>
<prop type="string" name="groupMembershipFilter" arg="$body.properties.activeDirectories[].ldapSearchScope.groupMembershipFilter">
<format maxLength="255"/>
</prop>
<prop type="string" name="userDN" arg="$body.properties.activeDirectories[].ldapSearchScope.userDN">
<format maxLength="255"/>
</prop>
</prop>
<prop type="boolean" name="ldapSigning" arg="$body.properties.activeDirectories[].ldapSigning"/>
<prop type="string" name="organizationalUnit" arg="$body.properties.activeDirectories[].organizationalUnit">
<default value=""CN=Computers""/>
</prop>
<prop type="string" name="password" arg="$body.properties.activeDirectories[].password" secret="True">
<format maxLength="64"/>
</prop>
<prop type="string" name="preferredServersForLdapClient" arg="$body.properties.activeDirectories[].preferredServersForLdapClient">
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</prop>
<prop type="array<string>" name="securityOperators" arg="$body.properties.activeDirectories[].securityOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="serverRootCACertificate" arg="$body.properties.activeDirectories[].serverRootCACertificate" secret="True">
<format maxLength="10240" minLength="1"/>
</prop>
<prop type="string" name="site" arg="$body.properties.activeDirectories[].site"/>
<prop type="string" name="smbServerName" arg="$body.properties.activeDirectories[].smbServerName"/>
<prop type="string" name="username" arg="$body.properties.activeDirectories[].username"/>
</schema>
</json>
</instanceCreate>
</operation>
<operation operationId="Accounts_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}">
<request method="put">
<path>
<param type="string" name="accountName" arg="$Path.accountName" required="True">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@NetAppAccount_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="update" version="2024-03-01-preview" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}" version="2024-03-01-preview" subresource="properties.activeDirectories[]" swagger="mgmt-plane/netapp/ResourceProviders/Microsoft.NetApp/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0QXBwL25ldEFwcEFjY291bnRzL3thY2NvdW50TmFtZX0=/V/MjAyNC0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.accountName" options="account-name name a n" required="True" group="" idPart="name">
<help short="The name of the NetApp account"/>
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].activeDirectoryId" options="active-directory-id" required="True">
<help short="Id of the Active Directory"/>
</arg>
</argGroup>
<argGroup name="Body.properties.activeDirectories[]">
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].adName" options="ad-name" group="Body.properties.activeDirectories[]">
<help short="Name of the active directory machine. This optional parameter is used only while creating kerberos volume"/>
<format maxLength="64" minLength="1"/>
</arg>
<arg nullable="True" type="array<string>" var="$body.properties.activeDirectories[].administrators" options="administrators" group="Body.properties.activeDirectories[]">
<help short="Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier"/>
<item nullable="True" type="string">
<format maxLength="255" minLength="1"/>
</item>
</arg>
<arg nullable="True" type="boolean" var="$body.properties.activeDirectories[].aesEncryption" options="aes-encryption" group="Body.properties.activeDirectories[]">
<help short="If enabled, AES encryption will be enabled for SMB communication."/>
</arg>
<arg nullable="True" type="boolean" var="$body.properties.activeDirectories[].allowLocalNfsUsersWithLdap" options="allow-local-nfs-users-with-ldap allow-local-ldap-users" group="Body.properties.activeDirectories[]">
<help short="If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes."/>
</arg>
<arg nullable="True" type="array<string>" var="$body.properties.activeDirectories[].backupOperators" options="backup-operators" group="Body.properties.activeDirectories[]">
<help short="Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier"/>
<item nullable="True" type="string">
<format maxLength="255" minLength="1"/>
</item>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].dns" options="dns" group="Body.properties.activeDirectories[]">
<help short="Comma separated list of DNS server IP addresses (IPv4 only) for the Active Directory domain"/>
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].domain" options="domain" group="Body.properties.activeDirectories[]">
<help short="Name of the Active Directory domain"/>
</arg>
<arg nullable="True" type="boolean" var="$body.properties.activeDirectories[].encryptDCConnections" options="encrypt-dc-connections" group="Body.properties.activeDirectories[]">
<help short="If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted."/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].kdcIP" options="kdc-ip" group="Body.properties.activeDirectories[]">
<help short="kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume."/>
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</arg>
<arg nullable="True" type="boolean" var="$body.properties.activeDirectories[].ldapOverTLS" options="ldap-over-tls" group="Body.properties.activeDirectories[]">
<help short="Specifies whether or not the LDAP traffic needs to be secured via TLS."/>
</arg>
<arg nullable="True" type="object" var="$body.properties.activeDirectories[].ldapSearchScope" options="ldap-search-scope" group="Body.properties.activeDirectories[]">
<help short="LDAP Search scope options"/>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].ldapSearchScope.groupDN" options="group-dn">
<help short="This specifies the group DN, which overrides the base DN for group lookups."/>
<format maxLength="255"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].ldapSearchScope.groupMembershipFilter" options="group-membership-filter">
<help short="This specifies the custom LDAP search filter to be used when looking up group membership from LDAP server."/>
<format maxLength="255"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].ldapSearchScope.userDN" options="user-dn">
<help short="This specifies the user DN, which overrides the base DN for user lookups."/>
<format maxLength="255"/>
</arg>
</arg>
<arg nullable="True" type="boolean" var="$body.properties.activeDirectories[].ldapSigning" options="ldap-signing" group="Body.properties.activeDirectories[]">
<help short="Specifies whether or not the LDAP traffic needs to be signed."/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].organizationalUnit" options="organizational-unit" group="Body.properties.activeDirectories[]">
<help short="The Organizational Unit (OU) within the Windows Active Directory"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].password" options="password" group="Body.properties.activeDirectories[]">
<help short="Plain text password of Active Directory domain administrator, value is masked in the response"/>
<format maxLength="64"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].preferredServersForLdapClient" options="preferred-servers-for-ldap-client p" group="Body.properties.activeDirectories[]">
<help short="Comma separated list of IPv4 addresses of preferred servers for LDAP client. At most two comma separated IPv4 addresses can be passed."/>
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</arg>
<arg nullable="True" type="array<string>" var="$body.properties.activeDirectories[].securityOperators" options="security-operators" group="Body.properties.activeDirectories[]">
<help short="Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier"/>
<item nullable="True" type="string">
<format maxLength="255" minLength="1"/>
</item>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].serverRootCACertificate" options="server-root-ca-certificate server-root-ca-cert" group="Body.properties.activeDirectories[]">
<help short="When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes."/>
<format maxLength="10240" minLength="1"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].site" options="site" group="Body.properties.activeDirectories[]">
<help short="The Active Directory site the service will limit Domain Controller discovery to"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].smbServerName" options="smb-server-name" group="Body.properties.activeDirectories[]">
<help short="NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes"/>
</arg>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].username" options="username" group="Body.properties.activeDirectories[]">
<help short="A domain user account with permission to create machine accounts"/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="body">
<prop type="array" name="properties.activeDirectories">
<item type="object"/>
<identifier nullable="True" type="string" name="[].activeDirectoryId" arg="$body.properties.activeDirectories[].activeDirectoryId" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="Accounts_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}">
<request method="get">
<path>
<param type="string" name="accountName" arg="$Path.accountName" required="True">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="NetAppAccount_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.NetApp/netAppAccounts/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="uuid" name="principalId"/>
<prop readOnly="True" type="uuid" name="tenantId"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="activeDirectories" identifiers="activeDirectoryId">
<item type="object">
<prop nullable="True" type="string" name="activeDirectoryId"/>
<prop type="string" name="adName">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="array<string>" name="administrators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="boolean" name="aesEncryption"/>
<prop type="boolean" name="allowLocalNfsUsersWithLdap"/>
<prop type="array<string>" name="backupOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="dns">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="string" name="domain"/>
<prop type="boolean" name="encryptDCConnections"/>
<prop type="string" name="kdcIP">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="boolean" name="ldapOverTLS"/>
<prop type="object" name="ldapSearchScope">
<prop type="string" name="groupDN">
<format maxLength="255"/>
</prop>
<prop type="string" name="groupMembershipFilter">
<format maxLength="255"/>
</prop>
<prop type="string" name="userDN">
<format maxLength="255"/>
</prop>
</prop>
<prop type="boolean" name="ldapSigning"/>
<prop type="string" name="organizationalUnit">
<default value=""CN=Computers""/>
</prop>
<prop type="string" name="password" secret="True">
<format maxLength="64"/>
</prop>
<prop type="string" name="preferredServersForLdapClient">
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</prop>
<prop type="array<string>" name="securityOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="serverRootCACertificate" secret="True">
<format maxLength="10240" minLength="1"/>
</prop>
<prop type="string" name="site"/>
<prop type="string" name="smbServerName"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="statusDetails"/>
<prop type="string" name="username"/>
</item>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="disableShowmount"/>
<prop type="object" name="encryption">
<prop type="object" name="identity">
<prop type="string" name="federatedClientId"/>
<prop readOnly="True" type="string" name="principalId"/>
<prop type="string" name="userAssignedIdentity"/>
</prop>
<prop type="string" name="keySource">
<default value=""Microsoft.NetApp""/>
<enum>
<item value=""Microsoft.KeyVault""/>
<item value=""Microsoft.NetApp""/>
</enum>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyName" required="True"/>
<prop readOnly="True" type="string" name="keyVaultId">
<format pattern="^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" maxLength="36" minLength="36"/>
</prop>
<prop type="ResourceId" name="keyVaultResourceId"/>
<prop type="string" name="keyVaultUri" required="True"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="isMultiAdEnabled"/>
<prop nullable="True" type="string" name="nfsV4IDDomain">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[a-zA-Z0-9]$" maxLength="255"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Subresource">
<json>
<schema type="object" name="body.properties.activeDirectories[]" required="True">
<prop nullable="True" type="string" name="activeDirectoryId" arg="$body.properties.activeDirectories[].activeDirectoryId"/>
<prop type="string" name="adName" arg="$body.properties.activeDirectories[].adName">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="array<string>" name="administrators" arg="$body.properties.activeDirectories[].administrators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="boolean" name="aesEncryption" arg="$body.properties.activeDirectories[].aesEncryption"/>
<prop type="boolean" name="allowLocalNfsUsersWithLdap" arg="$body.properties.activeDirectories[].allowLocalNfsUsersWithLdap"/>
<prop type="array<string>" name="backupOperators" arg="$body.properties.activeDirectories[].backupOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="dns" arg="$body.properties.activeDirectories[].dns">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="string" name="domain" arg="$body.properties.activeDirectories[].domain"/>
<prop type="boolean" name="encryptDCConnections" arg="$body.properties.activeDirectories[].encryptDCConnections"/>
<prop type="string" name="kdcIP" arg="$body.properties.activeDirectories[].kdcIP">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="boolean" name="ldapOverTLS" arg="$body.properties.activeDirectories[].ldapOverTLS"/>
<prop type="object" name="ldapSearchScope" arg="$body.properties.activeDirectories[].ldapSearchScope">
<prop type="string" name="groupDN" arg="$body.properties.activeDirectories[].ldapSearchScope.groupDN">
<format maxLength="255"/>
</prop>
<prop type="string" name="groupMembershipFilter" arg="$body.properties.activeDirectories[].ldapSearchScope.groupMembershipFilter">
<format maxLength="255"/>
</prop>
<prop type="string" name="userDN" arg="$body.properties.activeDirectories[].ldapSearchScope.userDN">
<format maxLength="255"/>
</prop>
</prop>
<prop type="boolean" name="ldapSigning" arg="$body.properties.activeDirectories[].ldapSigning"/>
<prop type="string" name="organizationalUnit" arg="$body.properties.activeDirectories[].organizationalUnit">
<default value=""CN=Computers""/>
</prop>
<prop type="string" name="password" arg="$body.properties.activeDirectories[].password" secret="True">
<format maxLength="64"/>
</prop>
<prop type="string" name="preferredServersForLdapClient" arg="$body.properties.activeDirectories[].preferredServersForLdapClient">
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</prop>
<prop type="array<string>" name="securityOperators" arg="$body.properties.activeDirectories[].securityOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="serverRootCACertificate" arg="$body.properties.activeDirectories[].serverRootCACertificate" secret="True">
<format maxLength="10240" minLength="1"/>
</prop>
<prop type="string" name="site" arg="$body.properties.activeDirectories[].site"/>
<prop type="string" name="smbServerName" arg="$body.properties.activeDirectories[].smbServerName"/>
<prop type="string" name="username" arg="$body.properties.activeDirectories[].username"/>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="Accounts_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}">
<request method="put">
<path>
<param type="string" name="accountName" arg="$Path.accountName" required="True">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@NetAppAccount_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
<command name="remove" version="2024-03-01-preview" confirmation="Are you sure you want to perform this operation?">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}" version="2024-03-01-preview" subresource="properties.activeDirectories[]" swagger="mgmt-plane/netapp/ResourceProviders/Microsoft.NetApp/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0QXBwL25ldEFwcEFjY291bnRzL3thY2NvdW50TmFtZX0=/V/MjAyNC0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.accountName" options="account-name name a n" required="True" group="" idPart="name">
<help short="The name of the NetApp account"/>
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].activeDirectoryId" options="active-directory-id active-directory" required="True" group="">
<help short="Id of the Active Directory"/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="body">
<prop type="array" name="properties.activeDirectories">
<item type="object"/>
<identifier nullable="True" type="string" name="[].activeDirectoryId" arg="$body.properties.activeDirectories[].activeDirectoryId" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="Accounts_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}">
<request method="get">
<path>
<param type="string" name="accountName" arg="$Path.accountName" required="True">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="NetAppAccount_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.NetApp/netAppAccounts/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="uuid" name="principalId"/>
<prop readOnly="True" type="uuid" name="tenantId"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="activeDirectories" identifiers="activeDirectoryId">
<item type="object">
<prop nullable="True" type="string" name="activeDirectoryId"/>
<prop type="string" name="adName">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="array<string>" name="administrators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="boolean" name="aesEncryption"/>
<prop type="boolean" name="allowLocalNfsUsersWithLdap"/>
<prop type="array<string>" name="backupOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="dns">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="string" name="domain"/>
<prop type="boolean" name="encryptDCConnections"/>
<prop type="string" name="kdcIP">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="boolean" name="ldapOverTLS"/>
<prop type="object" name="ldapSearchScope">
<prop type="string" name="groupDN">
<format maxLength="255"/>
</prop>
<prop type="string" name="groupMembershipFilter">
<format maxLength="255"/>
</prop>
<prop type="string" name="userDN">
<format maxLength="255"/>
</prop>
</prop>
<prop type="boolean" name="ldapSigning"/>
<prop type="string" name="organizationalUnit">
<default value=""CN=Computers""/>
</prop>
<prop type="string" name="password" secret="True">
<format maxLength="64"/>
</prop>
<prop type="string" name="preferredServersForLdapClient">
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</prop>
<prop type="array<string>" name="securityOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="serverRootCACertificate" secret="True">
<format maxLength="10240" minLength="1"/>
</prop>
<prop type="string" name="site"/>
<prop type="string" name="smbServerName"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="statusDetails"/>
<prop type="string" name="username"/>
</item>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="disableShowmount"/>
<prop type="object" name="encryption">
<prop type="object" name="identity">
<prop type="string" name="federatedClientId"/>
<prop readOnly="True" type="string" name="principalId"/>
<prop type="string" name="userAssignedIdentity"/>
</prop>
<prop type="string" name="keySource">
<default value=""Microsoft.NetApp""/>
<enum>
<item value=""Microsoft.KeyVault""/>
<item value=""Microsoft.NetApp""/>
</enum>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyName" required="True"/>
<prop readOnly="True" type="string" name="keyVaultId">
<format pattern="^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" maxLength="36" minLength="36"/>
</prop>
<prop type="ResourceId" name="keyVaultResourceId"/>
<prop type="string" name="keyVaultUri" required="True"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="isMultiAdEnabled"/>
<prop nullable="True" type="string" name="nfsV4IDDomain">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[a-zA-Z0-9]$" maxLength="255"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceDelete ref="$Subresource">
<json/>
</instanceDelete>
</operation>
<operation operationId="Accounts_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}">
<request method="put">
<path>
<param type="string" name="accountName" arg="$Path.accountName" required="True">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@NetAppAccount_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="show" version="2024-03-01-preview" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.netapp/netappaccounts/{}" version="2024-03-01-preview" subresource="properties.activeDirectories[]" swagger="mgmt-plane/netapp/ResourceProviders/Microsoft.NetApp/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0QXBwL25ldEFwcEFjY291bnRzL3thY2NvdW50TmFtZX0=/V/MjAyNC0wMy0wMS1wcmV2aWV3"/>
<argGroup name="">
<arg type="string" var="$Path.accountName" options="account-name name a n" required="True" group="" idPart="name">
<help short="The name of the NetApp account"/>
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg nullable="True" type="string" var="$body.properties.activeDirectories[].activeDirectoryId" options="active-directory-id" required="True">
<help short="Id of the Active Directory"/>
</arg>
</argGroup>
<subresourceSelector var="$Subresource" ref="$Instance">
<json type="object" name="body">
<prop type="array" name="properties.activeDirectories">
<item type="object"/>
<identifier nullable="True" type="string" name="[].activeDirectoryId" arg="$body.properties.activeDirectories[].activeDirectoryId" required="True"/>
</prop>
</json>
</subresourceSelector>
<operation operationId="Accounts_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}">
<request method="get">
<path>
<param type="string" name="accountName" arg="$Path.accountName" required="True">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9\-_]{0,127}$"/>
</param>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True">
<format maxLength="90" minLength="1"/>
</param>
<param type="uuid" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2024-03-01-preview""/>
<format minLength="1"/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="NetAppAccount_read">
<prop readOnly="True" type="string" name="etag"/>
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.NetApp/netAppAccounts/{}"/>
</prop>
<prop type="IdentityObject" name="identity">
<prop readOnly="True" type="uuid" name="principalId"/>
<prop readOnly="True" type="uuid" name="tenantId"/>
<prop type="string" name="type" required="True">
<enum>
<item value=""None""/>
<item value=""SystemAssigned""/>
<item value=""SystemAssigned,UserAssigned""/>
<item value=""UserAssigned""/>
</enum>
</prop>
<prop type="object" name="userAssignedIdentities">
<additionalProp>
<item nullable="True" type="object">
<prop readOnly="True" type="uuid" name="clientId"/>
<prop readOnly="True" type="uuid" name="principalId"/>
</item>
</additionalProp>
</prop>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="array<object>" name="activeDirectories" identifiers="activeDirectoryId">
<item type="object">
<prop nullable="True" type="string" name="activeDirectoryId"/>
<prop type="string" name="adName">
<format maxLength="64" minLength="1"/>
</prop>
<prop type="array<string>" name="administrators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="boolean" name="aesEncryption"/>
<prop type="boolean" name="allowLocalNfsUsersWithLdap"/>
<prop type="array<string>" name="backupOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="dns">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="string" name="domain"/>
<prop type="boolean" name="encryptDCConnections"/>
<prop type="string" name="kdcIP">
<format pattern="^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$"/>
</prop>
<prop type="boolean" name="ldapOverTLS"/>
<prop type="object" name="ldapSearchScope">
<prop type="string" name="groupDN">
<format maxLength="255"/>
</prop>
<prop type="string" name="groupMembershipFilter">
<format maxLength="255"/>
</prop>
<prop type="string" name="userDN">
<format maxLength="255"/>
</prop>
</prop>
<prop type="boolean" name="ldapSigning"/>
<prop type="string" name="organizationalUnit">
<default value=""CN=Computers""/>
</prop>
<prop type="string" name="password" secret="True">
<format maxLength="64"/>
</prop>
<prop type="string" name="preferredServersForLdapClient">
<format pattern="^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))?)?$" maxLength="32"/>
</prop>
<prop type="array<string>" name="securityOperators">
<item type="string">
<format maxLength="255" minLength="1"/>
</item>
</prop>
<prop type="string" name="serverRootCACertificate" secret="True">
<format maxLength="10240" minLength="1"/>
</prop>
<prop type="string" name="site"/>
<prop type="string" name="smbServerName"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="statusDetails"/>
<prop type="string" name="username"/>
</item>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="disableShowmount"/>
<prop type="object" name="encryption">
<prop type="object" name="identity">
<prop type="string" name="federatedClientId"/>
<prop readOnly="True" type="string" name="principalId"/>
<prop type="string" name="userAssignedIdentity"/>
</prop>
<prop type="string" name="keySource">
<default value=""Microsoft.NetApp""/>
<enum>
<item value=""Microsoft.KeyVault""/>
<item value=""Microsoft.NetApp""/>
</enum>
</prop>
<prop type="object" name="keyVaultProperties">
<prop type="string" name="keyName" required="True"/>
<prop readOnly="True" type="string" name="keyVaultId">
<format pattern="^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" maxLength="36" minLength="36"/>
</prop>
<prop type="ResourceId" name="keyVaultResourceId"/>
<prop type="string" name="keyVaultUri" required="True"/>
<prop readOnly="True" type="string" name="status">
<enum>
<item value=""Created""/>
<item value=""Deleted""/>
<item value=""Error""/>
<item value=""InUse""/>
<item value=""Updating""/>
</enum>
</prop>
</prop>
</prop>
<prop readOnly="True" nullable="True" type="boolean" name="isMultiAdEnabled"/>
<prop nullable="True" type="string" name="nfsV4IDDomain">
<format pattern="^[a-zA-Z0-9][a-zA-Z0-9.-]{0,253}[a-zA-Z0-9]$" maxLength="255"/>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
</prop>
<prop readOnly="True" type="object" name="systemData">
<prop type="dateTime" name="createdAt"/>
<prop type="string" name="createdBy"/>
<prop type="string" name="createdByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
<prop type="dateTime" name="lastModifiedAt"/>
<prop type="string" name="lastModifiedBy"/>
<prop type="string" name="lastModifiedByType">
<enum>
<item value=""Application""/>
<item value=""Key""/>
<item value=""ManagedIdentity""/>
<item value=""User""/>
</enum>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Subresource" clientFlatten="True"/>
</command>
</commandGroup>
</commandGroup>
</CodeGen>