package keyvault // Copyright (c) Microsoft and contributors. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // // See the License for the specific language governing permissions and // limitations under the License. // // Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is regenerated. import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" uuid "github.com/satori/go.uuid" "net/http" ) // CertificatePermissions enumerates the values for certificate permissions. type CertificatePermissions string const ( // Create specifies the create state for certificate permissions. Create CertificatePermissions = "create" // Delete specifies the delete state for certificate permissions. Delete CertificatePermissions = "delete" // Deleteissuers specifies the deleteissuers state for certificate permissions. Deleteissuers CertificatePermissions = "deleteissuers" // Get specifies the get state for certificate permissions. Get CertificatePermissions = "get" // Getissuers specifies the getissuers state for certificate permissions. Getissuers CertificatePermissions = "getissuers" // Import specifies the import state for certificate permissions. Import CertificatePermissions = "import" // List specifies the list state for certificate permissions. List CertificatePermissions = "list" // Listissuers specifies the listissuers state for certificate permissions. Listissuers CertificatePermissions = "listissuers" // Managecontacts specifies the managecontacts state for certificate permissions. Managecontacts CertificatePermissions = "managecontacts" // Manageissuers specifies the manageissuers state for certificate permissions. Manageissuers CertificatePermissions = "manageissuers" // Purge specifies the purge state for certificate permissions. Purge CertificatePermissions = "purge" // Recover specifies the recover state for certificate permissions. Recover CertificatePermissions = "recover" // Setissuers specifies the setissuers state for certificate permissions. Setissuers CertificatePermissions = "setissuers" // Update specifies the update state for certificate permissions. Update CertificatePermissions = "update" ) // CreateMode enumerates the values for create mode. type CreateMode string const ( // CreateModeDefault specifies the create mode default state for create mode. CreateModeDefault CreateMode = "default" // CreateModeRecover specifies the create mode recover state for create mode. CreateModeRecover CreateMode = "recover" ) // KeyPermissions enumerates the values for key permissions. type KeyPermissions string const ( // KeyPermissionsBackup specifies the key permissions backup state for key permissions. KeyPermissionsBackup KeyPermissions = "backup" // KeyPermissionsCreate specifies the key permissions create state for key permissions. KeyPermissionsCreate KeyPermissions = "create" // KeyPermissionsDecrypt specifies the key permissions decrypt state for key permissions. KeyPermissionsDecrypt KeyPermissions = "decrypt" // KeyPermissionsDelete specifies the key permissions delete state for key permissions. KeyPermissionsDelete KeyPermissions = "delete" // KeyPermissionsEncrypt specifies the key permissions encrypt state for key permissions. KeyPermissionsEncrypt KeyPermissions = "encrypt" // KeyPermissionsGet specifies the key permissions get state for key permissions. KeyPermissionsGet KeyPermissions = "get" // KeyPermissionsImport specifies the key permissions import state for key permissions. KeyPermissionsImport KeyPermissions = "import" // KeyPermissionsList specifies the key permissions list state for key permissions. KeyPermissionsList KeyPermissions = "list" // KeyPermissionsPurge specifies the key permissions purge state for key permissions. KeyPermissionsPurge KeyPermissions = "purge" // KeyPermissionsRecover specifies the key permissions recover state for key permissions. KeyPermissionsRecover KeyPermissions = "recover" // KeyPermissionsRestore specifies the key permissions restore state for key permissions. KeyPermissionsRestore KeyPermissions = "restore" // KeyPermissionsSign specifies the key permissions sign state for key permissions. KeyPermissionsSign KeyPermissions = "sign" // KeyPermissionsUnwrapKey specifies the key permissions unwrap key state for key permissions. KeyPermissionsUnwrapKey KeyPermissions = "unwrapKey" // KeyPermissionsUpdate specifies the key permissions update state for key permissions. KeyPermissionsUpdate KeyPermissions = "update" // KeyPermissionsVerify specifies the key permissions verify state for key permissions. KeyPermissionsVerify KeyPermissions = "verify" // KeyPermissionsWrapKey specifies the key permissions wrap key state for key permissions. KeyPermissionsWrapKey KeyPermissions = "wrapKey" ) // SecretPermissions enumerates the values for secret permissions. type SecretPermissions string const ( // SecretPermissionsBackup specifies the secret permissions backup state for secret permissions. SecretPermissionsBackup SecretPermissions = "backup" // SecretPermissionsDelete specifies the secret permissions delete state for secret permissions. SecretPermissionsDelete SecretPermissions = "delete" // SecretPermissionsGet specifies the secret permissions get state for secret permissions. SecretPermissionsGet SecretPermissions = "get" // SecretPermissionsList specifies the secret permissions list state for secret permissions. SecretPermissionsList SecretPermissions = "list" // SecretPermissionsPurge specifies the secret permissions purge state for secret permissions. SecretPermissionsPurge SecretPermissions = "purge" // SecretPermissionsRecover specifies the secret permissions recover state for secret permissions. SecretPermissionsRecover SecretPermissions = "recover" // SecretPermissionsRestore specifies the secret permissions restore state for secret permissions. SecretPermissionsRestore SecretPermissions = "restore" // SecretPermissionsSet specifies the secret permissions set state for secret permissions. SecretPermissionsSet SecretPermissions = "set" ) // SkuName enumerates the values for sku name. type SkuName string const ( // Premium specifies the premium state for sku name. Premium SkuName = "premium" // Standard specifies the standard state for sku name. Standard SkuName = "standard" ) // StoragePermissions enumerates the values for storage permissions. type StoragePermissions string const ( // StoragePermissionsDelete specifies the storage permissions delete state for storage permissions. StoragePermissionsDelete StoragePermissions = "delete" // StoragePermissionsDeletesas specifies the storage permissions deletesas state for storage permissions. StoragePermissionsDeletesas StoragePermissions = "deletesas" // StoragePermissionsGet specifies the storage permissions get state for storage permissions. StoragePermissionsGet StoragePermissions = "get" // StoragePermissionsGetsas specifies the storage permissions getsas state for storage permissions. StoragePermissionsGetsas StoragePermissions = "getsas" // StoragePermissionsList specifies the storage permissions list state for storage permissions. StoragePermissionsList StoragePermissions = "list" // StoragePermissionsListsas specifies the storage permissions listsas state for storage permissions. StoragePermissionsListsas StoragePermissions = "listsas" // StoragePermissionsRegeneratekey specifies the storage permissions regeneratekey state for storage permissions. StoragePermissionsRegeneratekey StoragePermissions = "regeneratekey" // StoragePermissionsSet specifies the storage permissions set state for storage permissions. StoragePermissionsSet StoragePermissions = "set" // StoragePermissionsSetsas specifies the storage permissions setsas state for storage permissions. StoragePermissionsSetsas StoragePermissions = "setsas" // StoragePermissionsUpdate specifies the storage permissions update state for storage permissions. StoragePermissionsUpdate StoragePermissions = "update" ) // AccessPolicyEntry is an identity that have access to the key vault. All identities in the array must use the same // tenant ID as the key vault's tenant ID. type AccessPolicyEntry struct { TenantID *uuid.UUID `json:"tenantId,omitempty"` ObjectID *string `json:"objectId,omitempty"` ApplicationID *uuid.UUID `json:"applicationId,omitempty"` Permissions *Permissions `json:"permissions,omitempty"` } // DeletedVault is deleted vault information with extended details. type DeletedVault struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Properties *DeletedVaultProperties `json:"properties,omitempty"` } // DeletedVaultListResult is list of vaults type DeletedVaultListResult struct { autorest.Response `json:"-"` Value *[]DeletedVault `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // DeletedVaultListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client DeletedVaultListResult) DeletedVaultListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // DeletedVaultProperties is properties of the deleted vault. type DeletedVaultProperties struct { VaultID *string `json:"vaultId,omitempty"` Location *string `json:"location,omitempty"` DeletionDate *date.Time `json:"deletionDate,omitempty"` ScheduledPurgeDate *date.Time `json:"scheduledPurgeDate,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` } // Permissions is permissions the identity has for keys, secrets, certificates and storage. type Permissions struct { Keys *[]KeyPermissions `json:"keys,omitempty"` Secrets *[]SecretPermissions `json:"secrets,omitempty"` Certificates *[]CertificatePermissions `json:"certificates,omitempty"` Storage *[]StoragePermissions `json:"storage,omitempty"` } // Resource is key Vault resource type Resource struct { ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` } // ResourceListResult is list of vault resources. type ResourceListResult struct { autorest.Response `json:"-"` Value *[]Resource `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // ResourceListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client ResourceListResult) ResourceListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // Sku is SKU details type Sku struct { Family *string `json:"family,omitempty"` Name SkuName `json:"name,omitempty"` } // Vault is resource information with extended details. type Vault struct { autorest.Response `json:"-"` ID *string `json:"id,omitempty"` Name *string `json:"name,omitempty"` Type *string `json:"type,omitempty"` Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` Properties *VaultProperties `json:"properties,omitempty"` } // VaultCreateOrUpdateParameters is parameters for creating or updating a vault type VaultCreateOrUpdateParameters struct { Location *string `json:"location,omitempty"` Tags *map[string]*string `json:"tags,omitempty"` Properties *VaultProperties `json:"properties,omitempty"` } // VaultListResult is list of vaults type VaultListResult struct { autorest.Response `json:"-"` Value *[]Vault `json:"value,omitempty"` NextLink *string `json:"nextLink,omitempty"` } // VaultListResultPreparer prepares a request to retrieve the next set of results. It returns // nil if no more results exist. func (client VaultListResult) VaultListResultPreparer() (*http.Request, error) { if client.NextLink == nil || len(to.String(client.NextLink)) <= 0 { return nil, nil } return autorest.Prepare(&http.Request{}, autorest.AsJSON(), autorest.AsGet(), autorest.WithBaseURL(to.String(client.NextLink))) } // VaultProperties is properties of the vault type VaultProperties struct { TenantID *uuid.UUID `json:"tenantId,omitempty"` Sku *Sku `json:"sku,omitempty"` AccessPolicies *[]AccessPolicyEntry `json:"accessPolicies,omitempty"` VaultURI *string `json:"vaultUri,omitempty"` EnabledForDeployment *bool `json:"enabledForDeployment,omitempty"` EnabledForDiskEncryption *bool `json:"enabledForDiskEncryption,omitempty"` EnabledForTemplateDeployment *bool `json:"enabledForTemplateDeployment,omitempty"` EnableSoftDelete *bool `json:"enableSoftDelete,omitempty"` CreateMode CreateMode `json:"createMode,omitempty"` }