import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface AccountProperties { activeDirectories?: Expressionable; } export interface ActiveDirectory { activeDirectoryId?: Expressionable; dns?: Expressionable; domain?: Expressionable; organizationalUnit?: Expressionable; password?: Expressionable; site?: Expressionable; smbServerName?: Expressionable; status?: Expressionable; username?: Expressionable; } export interface ExportPolicyRule { allowedClients?: Expressionable; cifs?: Expressionable; nfsv3?: Expressionable; nfsv41?: Expressionable; ruleIndex?: Expressionable; unixReadOnly?: Expressionable; unixReadWrite?: Expressionable; } export interface PoolProperties { serviceLevel: Expressionable<('Standard' | 'Premium' | 'Ultra')>; size: Expressionable; } export interface ReplicationObject { endpointType?: Expressionable<('src' | 'dst')>; remoteVolumeRegion?: Expressionable; remoteVolumeResourceId: Expressionable; replicationId?: Expressionable; replicationSchedule: Expressionable<('_10minutely' | 'hourly' | 'daily' | 'weekly' | 'monthly')>; } export interface SnapshotProperties { fileSystemId?: Expressionable; } export interface VolumeProperties { creationToken: Expressionable; dataProtection?: Expressionable; exportPolicy?: Expressionable; isRestoring?: Expressionable; mountTargets?: Expressionable; protocolTypes?: Expressionable; serviceLevel?: Expressionable<('Standard' | 'Premium' | 'Ultra')>; snapshotId?: Expressionable; subnetId: Expressionable; usageThreshold: Expressionable; volumeType?: Expressionable; } export interface VolumePropertiesDataProtection { replication?: Expressionable; } export interface VolumePropertiesExportPolicy { rules?: Expressionable; } export declare namespace netAppAccounts { interface AdditionalProps { tags?: Expressionable; } type NetAppAccountsResource = ResourceDefinition; function create(name: Expressionable, properties: AccountProperties, location: Expressionable, tags?: Expressionable): NetAppAccountsResource; } export declare namespace netAppAccounts { namespace capacityPools { interface AdditionalProps { tags?: Expressionable; } type CapacityPoolsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: PoolProperties, location: Expressionable, tags?: Expressionable): CapacityPoolsResource; } } export declare namespace netAppAccounts { namespace capacityPools { namespace volumes { interface AdditionalProps { tags?: Expressionable; } type VolumesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: VolumeProperties, location: Expressionable, tags?: Expressionable): VolumesResource; } } } export declare namespace netAppAccounts { namespace capacityPools { namespace volumes { namespace snapshots { type SnapshotsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable, Expressionable], properties: SnapshotProperties, location: Expressionable): SnapshotsResource; } } } }