import { ArmResource } from '@yetics/armkit-core' ; import { Construct } from 'constructs' ; schema export class Vaults extends ArmResource { param scope param name param options public constructor ( scope , name , options ) { super ( scope , name , { ... options , armResourceType : 'vaults' , } ) ; } } schema export class VaultsAccessPolicies extends ArmResource { param scope param name param options public constructor ( scope , name , options ) { super ( scope , name , { ... options , armResourceType : 'vaults_accessPolicies' , } ) ; } } schema export class VaultsKeys extends ArmResource { param scope param name param options public constructor ( scope , name , options ) { super ( scope , name , { ... options , armResourceType : 'vaults_keys' , } ) ; } } schema export class VaultsPrivateEndpointConnections extends ArmResource { param scope param name param options public constructor ( scope , name , options ) { super ( scope , name , { ... options , armResourceType : 'vaults_privateEndpointConnections' , } ) ; } } schema export class VaultsSecrets extends ArmResource { param scope param name param options public constructor ( scope , name , options ) { super ( scope , name , { ... options , armResourceType : 'vaults_secrets' , } ) ; } } schema export interface VaultsOptions { schema readonly apiVersion ? : MicrosoftKeyVaultVaultsApiVersion ; schema readonly location : string ; schema readonly name : MicrosoftKeyVaultVaultsNamePattern ; schema readonly properties : VaultProperties ; schema readonly resources ? : MicrosoftKeyVaultVaultsResources [ ] ; schema readonly tags ? : MicrosoftKeyVaultVaultsTags ; schema readonly type : MicrosoftKeyVaultVaultsType ; } schema export interface VaultsAccessPoliciesOptions { schema readonly apiVersion ? : MicrosoftKeyVaultVaultsAccessPoliciesApiVersion ; schema readonly name : MicrosoftKeyVaultVaultsAccessPoliciesName ; schema readonly properties : VaultAccessPolicyProperties ; schema readonly type : MicrosoftKeyVaultVaultsAccessPoliciesType ; } schema export interface VaultsKeysOptions { schema readonly apiVersion ? : MicrosoftKeyVaultVaultsKeysApiVersion ; schema readonly name : MicrosoftKeyVaultVaultsKeysNamePattern ; schema readonly properties : KeyProperties ; schema readonly tags ? : MicrosoftKeyVaultVaultsKeysTags ; schema readonly type : MicrosoftKeyVaultVaultsKeysType ; } schema export interface VaultsPrivateEndpointConnectionsOptions { schema readonly apiVersion ? : MicrosoftKeyVaultVaultsPrivateEndpointConnectionsApiVersion ; schema readonly etag ? : string ; schema readonly name : string ; schema readonly properties : PrivateEndpointConnectionProperties ; schema readonly type : MicrosoftKeyVaultVaultsPrivateEndpointConnectionsType ; } schema export interface VaultsSecretsOptions { schema readonly apiVersion ? : MicrosoftKeyVaultVaultsSecretsApiVersion ; schema readonly name : MicrosoftKeyVaultVaultsSecretsNamePattern ; schema readonly properties : SecretProperties ; schema readonly tags ? : MicrosoftKeyVaultVaultsSecretsTags ; schema readonly type : MicrosoftKeyVaultVaultsSecretsType ; } export enum MicrosoftKeyVaultVaultsApiVersion { "MicrosoftKeyVaultVaultsApiVersion_2019_09_01" = '2019-09-01' } schema export class MicrosoftKeyVaultVaultsNamePattern { public static pattern ( value ) { return value ; } } schema export interface VaultProperties { schema readonly accessPolicies ? : AccessPolicyEntry [ ] ; schema readonly createMode ? : VaultPropertiesCreateMode ; schema readonly enabledForDeployment ? : boolean ; schema readonly enabledForDiskEncryption ? : boolean ; schema readonly enabledForTemplateDeployment ? : boolean ; schema readonly enablePurgeProtection ? : boolean ; schema readonly enableRbacAuthorization ? : boolean ; schema readonly enableSoftDelete ? : boolean ; schema readonly networkAcls ? : NetworkRuleSet ; schema readonly provisioningState ? : VaultPropertiesProvisioningState ; schema readonly sku : Sku ; schema readonly softDeleteRetentionInDays ? : number ; schema readonly tenantId : VaultPropertiesTenantIdPattern ; schema readonly vaultUri ? : string ; } schema export class MicrosoftKeyVaultVaultsResources { public static fromVaultsAccessPoliciesChildResource ( value ) { return new MicrosoftKeyVaultVaultsResources ( value ) ; } public static fromVaultsPrivateEndpointConnectionsChildResource ( value ) { return new MicrosoftKeyVaultVaultsResources ( value ) ; } public static fromVaultsKeysChildResource ( value ) { return new MicrosoftKeyVaultVaultsResources ( value ) ; } public static fromVaultsSecretsChildResource ( value ) { return new MicrosoftKeyVaultVaultsResources ( value ) ; } private constructor ( value ) { Object . defineProperty ( this , 'resolve' , { value : ( ) => value } ) ; } } schema export interface MicrosoftKeyVaultVaultsTags { } export enum MicrosoftKeyVaultVaultsType { "MicrosoftKeyVaultVaultsType_MICROSOFT_KEY_VAULT_VAULTS" = 'Microsoft.KeyVault/vaults' } export enum MicrosoftKeyVaultVaultsAccessPoliciesApiVersion { "MicrosoftKeyVaultVaultsAccessPoliciesApiVersion_2019_09_01" = '2019-09-01' } export enum MicrosoftKeyVaultVaultsAccessPoliciesName { ADD = 'add' , REPLACE = 'replace' , REMOVE = 'remove' } schema export interface VaultAccessPolicyProperties { schema readonly accessPolicies : AccessPolicyEntry [ ] ; } export enum MicrosoftKeyVaultVaultsAccessPoliciesType { "MicrosoftKeyVaultVaultsAccessPoliciesType_MICROSOFT_KEY_VAULT_VAULTS_ACCESS_POLICIES" = 'Microsoft.KeyVault/vaults/accessPolicies' } export enum MicrosoftKeyVaultVaultsKeysApiVersion { "MicrosoftKeyVaultVaultsKeysApiVersion_2019_09_01" = '2019-09-01' } schema export class MicrosoftKeyVaultVaultsKeysNamePattern { public static pattern ( value ) { return value ; } } schema export interface KeyProperties { schema readonly attributes ? : KeyAttributes ; schema readonly curveName ? : KeyPropertiesCurveName ; schema readonly keyOps ? : KeyPropertiesKeyOps [ ] ; schema readonly keySize ? : number ; schema readonly kty ? : KeyPropertiesKty ; } schema export interface MicrosoftKeyVaultVaultsKeysTags { } export enum MicrosoftKeyVaultVaultsKeysType { "MicrosoftKeyVaultVaultsKeysType_MICROSOFT_KEY_VAULT_VAULTS_KEYS" = 'Microsoft.KeyVault/vaults/keys' } export enum MicrosoftKeyVaultVaultsPrivateEndpointConnectionsApiVersion { "MicrosoftKeyVaultVaultsPrivateEndpointConnectionsApiVersion_2019_09_01" = '2019-09-01' } schema export interface PrivateEndpointConnectionProperties { schema readonly privateEndpoint ? : PrivateEndpoint ; schema readonly privateLinkServiceConnectionState ? : PrivateLinkServiceConnectionState ; schema readonly provisioningState ? : PrivateEndpointConnectionPropertiesProvisioningState ; } export enum MicrosoftKeyVaultVaultsPrivateEndpointConnectionsType { "MicrosoftKeyVaultVaultsPrivateEndpointConnectionsType_MICROSOFT_KEY_VAULT_VAULTS_PRIVATE_ENDPOINT_CONNECTIONS" = 'Microsoft.KeyVault/vaults/privateEndpointConnections' } export enum MicrosoftKeyVaultVaultsSecretsApiVersion { "MicrosoftKeyVaultVaultsSecretsApiVersion_2019_09_01" = '2019-09-01' } schema export class MicrosoftKeyVaultVaultsSecretsNamePattern { public static pattern ( value ) { return value ; } } schema export interface SecretProperties { schema readonly attributes ? : SecretAttributes ; schema readonly contentType ? : string ; schema readonly value ? : string ; } schema export interface MicrosoftKeyVaultVaultsSecretsTags { } export enum MicrosoftKeyVaultVaultsSecretsType { "MicrosoftKeyVaultVaultsSecretsType_MICROSOFT_KEY_VAULT_VAULTS_SECRETS" = 'Microsoft.KeyVault/vaults/secrets' } schema export interface AccessPolicyEntry { schema readonly applicationId ? : AccessPolicyEntryApplicationIdPattern ; schema readonly objectId : string ; schema readonly permissions : Permissions ; schema readonly tenantId : AccessPolicyEntryTenantIdPattern ; } export enum VaultPropertiesCreateMode { RECOVER = 'recover' , DEFAULT = 'default' } schema export interface NetworkRuleSet { schema readonly bypass ? : NetworkRuleSetBypass ; schema readonly defaultAction ? : NetworkRuleSetDefaultAction ; schema readonly ipRules ? : IpRule [ ] ; schema readonly virtualNetworkRules ? : VirtualNetworkRule [ ] ; } export enum VaultPropertiesProvisioningState { SUCCEEDED = 'Succeeded' , REGISTERING_DNS = 'RegisteringDns' } schema export interface Sku { schema readonly family : SkuFamily ; schema readonly name : SkuName ; } schema export class VaultPropertiesTenantIdPattern { public static pattern ( value ) { return value ; } } schema export interface VaultsAccessPoliciesChildResource { schema readonly apiVersion : VaultsAccessPoliciesChildResourceApiVersion ; schema readonly name : VaultsAccessPoliciesChildResourceName ; schema readonly properties : VaultAccessPolicyProperties ; schema readonly type : VaultsAccessPoliciesChildResourceType ; } schema export interface VaultsPrivateEndpointConnectionsChildResource { schema readonly apiVersion : VaultsPrivateEndpointConnectionsChildResourceApiVersion ; schema readonly etag ? : string ; schema readonly name : string ; schema readonly properties : PrivateEndpointConnectionProperties ; schema readonly type : VaultsPrivateEndpointConnectionsChildResourceType ; } schema export interface VaultsKeysChildResource { schema readonly apiVersion : VaultsKeysChildResourceApiVersion ; schema readonly name : VaultsKeysChildResourceNamePattern ; schema readonly properties : KeyProperties ; schema readonly tags ? : VaultsKeysChildResourceTags ; schema readonly type : VaultsKeysChildResourceType ; } schema export interface VaultsSecretsChildResource { schema readonly apiVersion : VaultsSecretsChildResourceApiVersion ; schema readonly name : VaultsSecretsChildResourceNamePattern ; schema readonly properties : SecretProperties ; schema readonly tags ? : VaultsSecretsChildResourceTags ; schema readonly type : VaultsSecretsChildResourceType ; } schema export interface KeyAttributes { schema readonly enabled ? : boolean ; schema readonly exp ? : number ; schema readonly nbf ? : number ; } export enum KeyPropertiesCurveName { "KeyPropertiesCurveName_P_256" = 'P-256' , "KeyPropertiesCurveName_P_384" = 'P-384' , "KeyPropertiesCurveName_P_521" = 'P-521' , "KeyPropertiesCurveName_P_256_K" = 'P-256K' } export enum KeyPropertiesKeyOps { ENCRYPT = 'encrypt' , DECRYPT = 'decrypt' , SIGN = 'sign' , VERIFY = 'verify' , WRAP_KEY = 'wrapKey' , UNWRAP_KEY = 'unwrapKey' , IMPORT = 'import' } export enum KeyPropertiesKty { EC = 'EC' , "KeyPropertiesKty_EC_HSM" = 'EC-HSM' , RSA = 'RSA' , "KeyPropertiesKty_RSA_HSM" = 'RSA-HSM' } schema export interface PrivateEndpoint { } schema export interface PrivateLinkServiceConnectionState { schema readonly actionsRequired ? : string ; schema readonly description ? : string ; schema readonly status ? : PrivateLinkServiceConnectionStateStatus ; } export enum PrivateEndpointConnectionPropertiesProvisioningState { SUCCEEDED = 'Succeeded' , CREATING = 'Creating' , UPDATING = 'Updating' , DELETING = 'Deleting' , FAILED = 'Failed' , DISCONNECTED = 'Disconnected' } schema export interface SecretAttributes { schema readonly enabled ? : boolean ; schema readonly exp ? : number ; schema readonly nbf ? : number ; } schema export class AccessPolicyEntryApplicationIdPattern { public static pattern ( value ) { return value ; } } schema export interface Permissions { schema readonly certificates ? : PermissionsCertificates [ ] ; schema readonly keys ? : PermissionsKeys [ ] ; schema readonly secrets ? : PermissionsSecrets [ ] ; schema readonly storage ? : PermissionsStorage [ ] ; } schema export class AccessPolicyEntryTenantIdPattern { public static pattern ( value ) { return value ; } } export enum NetworkRuleSetBypass { AZURE_SERVICES = 'AzureServices' , NONE = 'None' } export enum NetworkRuleSetDefaultAction { ALLOW = 'Allow' , DENY = 'Deny' } schema export interface IpRule { schema readonly value : string ; } schema export interface VirtualNetworkRule { schema readonly id : string ; schema readonly ignoreMissingVnetServiceEndpoint ? : boolean ; } export enum SkuFamily { A = 'A' } export enum SkuName { STANDARD = 'standard' , PREMIUM = 'premium' } export enum VaultsAccessPoliciesChildResourceApiVersion { "VaultsAccessPoliciesChildResourceApiVersion_2019_09_01" = '2019-09-01' } export enum VaultsAccessPoliciesChildResourceName { ADD = 'add' , REPLACE = 'replace' , REMOVE = 'remove' } export enum VaultsAccessPoliciesChildResourceType { ACCESS_POLICIES = 'accessPolicies' } export enum VaultsPrivateEndpointConnectionsChildResourceApiVersion { "VaultsPrivateEndpointConnectionsChildResourceApiVersion_2019_09_01" = '2019-09-01' } export enum VaultsPrivateEndpointConnectionsChildResourceType { PRIVATE_ENDPOINT_CONNECTIONS = 'privateEndpointConnections' } export enum VaultsKeysChildResourceApiVersion { "VaultsKeysChildResourceApiVersion_2019_09_01" = '2019-09-01' } schema export class VaultsKeysChildResourceNamePattern { public static pattern ( value ) { return value ; } } schema export interface VaultsKeysChildResourceTags { } export enum VaultsKeysChildResourceType { KEYS = 'keys' } export enum VaultsSecretsChildResourceApiVersion { "VaultsSecretsChildResourceApiVersion_2019_09_01" = '2019-09-01' } schema export class VaultsSecretsChildResourceNamePattern { public static pattern ( value ) { return value ; } } schema export interface VaultsSecretsChildResourceTags { } export enum VaultsSecretsChildResourceType { SECRETS = 'secrets' } export enum PrivateLinkServiceConnectionStateStatus { PENDING = 'Pending' , APPROVED = 'Approved' , REJECTED = 'Rejected' , DISCONNECTED = 'Disconnected' } export enum PermissionsCertificates { ALL = 'all' , GET = 'get' , LIST = 'list' , DELETE = 'delete' , CREATE = 'create' , IMPORT = 'import' , UPDATE = 'update' , MANAGECONTACTS = 'managecontacts' , GETISSUERS = 'getissuers' , LISTISSUERS = 'listissuers' , SETISSUERS = 'setissuers' , DELETEISSUERS = 'deleteissuers' , MANAGEISSUERS = 'manageissuers' , RECOVER = 'recover' , PURGE = 'purge' , BACKUP = 'backup' , RESTORE = 'restore' } export enum PermissionsKeys { ALL = 'all' , ENCRYPT = 'encrypt' , DECRYPT = 'decrypt' , WRAP_KEY = 'wrapKey' , UNWRAP_KEY = 'unwrapKey' , SIGN = 'sign' , VERIFY = 'verify' , GET = 'get' , LIST = 'list' , CREATE = 'create' , UPDATE = 'update' , IMPORT = 'import' , DELETE = 'delete' , BACKUP = 'backup' , RESTORE = 'restore' , RECOVER = 'recover' , PURGE = 'purge' } export enum PermissionsSecrets { ALL = 'all' , GET = 'get' , LIST = 'list' , SET = 'set' , DELETE = 'delete' , BACKUP = 'backup' , RESTORE = 'restore' , RECOVER = 'recover' , PURGE = 'purge' } export enum PermissionsStorage { ALL = 'all' , GET = 'get' , LIST = 'list' , DELETE = 'delete' , SET = 'set' , UPDATE = 'update' , REGENERATEKEY = 'regeneratekey' , RECOVER = 'recover' , PURGE = 'purge' , BACKUP = 'backup' , RESTORE = 'restore' , SETSAS = 'setsas' , LISTSAS = 'listsas' , GETSAS = 'getsas' , DELETESAS = 'deletesas' }