import { ArmResource } from '@yetics/armkit-core' ; import { Construct } from 'constructs' ; schema export class Caches extends ArmResource { param scope param name param options public constructor ( scope , name , options ) { super ( scope , name , { ... options , armResourceType : 'caches' , } ) ; } } schema export class CachesStorageTargets extends ArmResource { param scope param name param options public constructor ( scope , name , options ) { super ( scope , name , { ... options , armResourceType : 'caches_storageTargets' , } ) ; } } schema export interface CachesOptions { schema readonly apiVersion ? : MicrosoftStorageCacheCachesApiVersion ; schema readonly identity ? : CacheIdentity ; schema readonly location ? : string ; schema readonly name : MicrosoftStorageCacheCachesNamePattern ; schema readonly properties : CacheProperties ; schema readonly resources ? : CachesStorageTargetsChildResource [ ] ; schema readonly sku ? : CacheSku ; schema readonly tags ? : MicrosoftStorageCacheCachesTags ; schema readonly type : MicrosoftStorageCacheCachesType ; } schema export interface CachesStorageTargetsOptions { schema readonly apiVersion ? : MicrosoftStorageCacheCachesStorageTargetsApiVersion ; schema readonly name : MicrosoftStorageCacheCachesStorageTargetsNamePattern ; schema readonly properties : StorageTargetProperties ; schema readonly type : MicrosoftStorageCacheCachesStorageTargetsType ; } export enum MicrosoftStorageCacheCachesApiVersion { "MicrosoftStorageCacheCachesApiVersion_2021_03_01" = '2021-03-01' } schema export interface CacheIdentity { schema readonly type ? : CacheIdentityType ; } schema export class MicrosoftStorageCacheCachesNamePattern { public static pattern ( value ) { return value ; } } schema export interface CacheProperties { schema readonly cacheSizeGB ? : number ; schema readonly directoryServicesSettings ? : CacheDirectorySettings ; schema readonly encryptionSettings ? : CacheEncryptionSettings ; schema readonly networkSettings ? : CacheNetworkSettings ; schema readonly provisioningState ? : CachePropertiesProvisioningState ; schema readonly securitySettings ? : CacheSecuritySettings ; schema readonly subnet ? : string ; schema readonly upgradeStatus ? : CacheUpgradeStatus ; } schema export interface CachesStorageTargetsChildResource { schema readonly apiVersion : CachesStorageTargetsChildResourceApiVersion ; schema readonly name : CachesStorageTargetsChildResourceNamePattern ; schema readonly properties : StorageTargetProperties ; schema readonly type : CachesStorageTargetsChildResourceType ; } schema export interface CacheSku { schema readonly name ? : string ; } schema export interface MicrosoftStorageCacheCachesTags { } export enum MicrosoftStorageCacheCachesType { "MicrosoftStorageCacheCachesType_MICROSOFT_STORAGE_CACHE_CACHES" = 'Microsoft.StorageCache/caches' } export enum MicrosoftStorageCacheCachesStorageTargetsApiVersion { "MicrosoftStorageCacheCachesStorageTargetsApiVersion_2021_03_01" = '2021-03-01' } schema export class MicrosoftStorageCacheCachesStorageTargetsNamePattern { public static pattern ( value ) { return value ; } } schema export interface StorageTargetProperties { schema readonly blobNfs ? : BlobNfsTarget ; schema readonly clfs ? : ClfsTarget ; schema readonly junctions ? : NamespaceJunction [ ] ; schema readonly nfs3 ? : Nfs3Target ; schema readonly provisioningState ? : StorageTargetPropertiesProvisioningState ; schema readonly targetType : StorageTargetPropertiesTargetType ; schema readonly unknown ? : UnknownTarget ; } export enum MicrosoftStorageCacheCachesStorageTargetsType { "MicrosoftStorageCacheCachesStorageTargetsType_MICROSOFT_STORAGE_CACHE_CACHES_STORAGE_TARGETS" = 'Microsoft.StorageCache/caches/storageTargets' } export enum CacheIdentityType { SYSTEM_ASSIGNED = 'SystemAssigned' , NONE = 'None' } schema export interface CacheDirectorySettings { schema readonly activeDirectory ? : CacheActiveDirectorySettings ; schema readonly usernameDownload ? : CacheUsernameDownloadSettings ; } schema export interface CacheEncryptionSettings { schema readonly keyEncryptionKey ? : KeyVaultKeyReference ; } schema export interface CacheNetworkSettings { schema readonly dnsSearchDomain ? : string ; schema readonly dnsServers ? : string [ ] ; schema readonly mtu ? : number ; schema readonly ntpServer ? : string ; } export enum CachePropertiesProvisioningState { SUCCEEDED = 'Succeeded' , FAILED = 'Failed' , CANCELLED = 'Cancelled' , CREATING = 'Creating' , DELETING = 'Deleting' , UPDATING = 'Updating' } schema export interface CacheSecuritySettings { schema readonly accessPolicies ? : NfsAccessPolicy [ ] ; } schema export interface CacheUpgradeStatus { } export enum CachesStorageTargetsChildResourceApiVersion { "CachesStorageTargetsChildResourceApiVersion_2021_03_01" = '2021-03-01' } schema export class CachesStorageTargetsChildResourceNamePattern { public static pattern ( value ) { return value ; } } export enum CachesStorageTargetsChildResourceType { STORAGE_TARGETS = 'storageTargets' } schema export interface BlobNfsTarget { schema readonly target ? : string ; schema readonly usageModel ? : string ; } schema export interface ClfsTarget { schema readonly target ? : string ; } schema export interface NamespaceJunction { schema readonly namespacePath ? : string ; schema readonly nfsAccessPolicy ? : string ; schema readonly nfsExport ? : string ; schema readonly targetPath ? : string ; } schema export interface Nfs3Target { schema readonly target ? : Nfs3TargetTargetPattern ; schema readonly usageModel ? : string ; } export enum StorageTargetPropertiesProvisioningState { SUCCEEDED = 'Succeeded' , FAILED = 'Failed' , CANCELLED = 'Cancelled' , CREATING = 'Creating' , DELETING = 'Deleting' , UPDATING = 'Updating' } export enum StorageTargetPropertiesTargetType { "StorageTargetPropertiesTargetType_NFS3" = 'nfs3' , CLFS = 'clfs' , UNKNOWN = 'unknown' , BLOB_NFS = 'blobNfs' } schema export interface UnknownTarget { schema readonly attributes ? : UnknownTargetAttributes ; } schema export interface CacheActiveDirectorySettings { schema readonly cacheNetBiosName : CacheActiveDirectorySettingsCacheNetBiosNamePattern ; schema readonly credentials ? : CacheActiveDirectorySettingsCredentials ; schema readonly domainName : string ; schema readonly domainNetBiosName : string ; schema readonly primaryDnsIpAddress : string ; schema readonly secondaryDnsIpAddress ? : string ; } schema export interface CacheUsernameDownloadSettings { schema readonly autoDownloadCertificate ? : boolean ; schema readonly caCertificateURI ? : string ; schema readonly credentials ? : CacheUsernameDownloadSettingsCredentials ; schema readonly encryptLdapConnection ? : boolean ; schema readonly extendedGroups ? : boolean ; schema readonly groupFileURI ? : string ; schema readonly ldapBaseDN ? : string ; schema readonly ldapServer ? : string ; schema readonly requireValidCertificate ? : boolean ; schema readonly userFileURI ? : string ; schema readonly usernameSource ? : CacheUsernameDownloadSettingsUsernameSource ; } schema export interface KeyVaultKeyReference { schema readonly keyUrl : string ; schema readonly sourceVault : KeyVaultKeyReferenceSourceVault ; } schema export interface NfsAccessPolicy { schema readonly accessRules : NfsAccessRule [ ] ; schema readonly name : string ; } schema export class Nfs3TargetTargetPattern { public static pattern ( value ) { return value ; } } schema export interface UnknownTargetAttributes { } schema export class CacheActiveDirectorySettingsCacheNetBiosNamePattern { public static pattern ( value ) { return value ; } } schema export interface CacheActiveDirectorySettingsCredentials { schema readonly password : string ; schema readonly username : string ; } schema export interface CacheUsernameDownloadSettingsCredentials { schema readonly bindDn ? : string ; schema readonly bindPassword ? : string ; } export enum CacheUsernameDownloadSettingsUsernameSource { AD = 'AD' , LDAP = 'LDAP' , FILE = 'File' , NONE = 'None' } schema export interface KeyVaultKeyReferenceSourceVault { schema readonly id ? : string ; } schema export interface NfsAccessRule { schema readonly access : NfsAccessRuleAccess ; schema readonly anonymousGID ? : string ; schema readonly anonymousUID ? : string ; schema readonly filter ? : string ; schema readonly rootSquash ? : boolean ; schema readonly scope : NfsAccessRuleScope ; schema readonly submountAccess ? : boolean ; schema readonly suid ? : boolean ; } export enum NfsAccessRuleAccess { NO = 'no' , RO = 'ro' , RW = 'rw' } export enum NfsAccessRuleScope { DEFAULT = 'default' , NETWORK = 'network' , HOST = 'host' }