forked from TrueCloudLab/restic
243 lines
9.7 KiB
Go
Executable file
243 lines
9.7 KiB
Go
Executable file
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 1.0.1.0
|
|
// 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/to"
|
|
"github.com/satori/uuid"
|
|
"net/http"
|
|
)
|
|
|
|
// CertificatePermissions enumerates the values for certificate permissions.
|
|
type CertificatePermissions string
|
|
|
|
const (
|
|
// All specifies the all state for certificate permissions.
|
|
All CertificatePermissions = "all"
|
|
// 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"
|
|
// Setissuers specifies the setissuers state for certificate permissions.
|
|
Setissuers CertificatePermissions = "setissuers"
|
|
// Update specifies the update state for certificate permissions.
|
|
Update CertificatePermissions = "update"
|
|
)
|
|
|
|
// KeyPermissions enumerates the values for key permissions.
|
|
type KeyPermissions string
|
|
|
|
const (
|
|
// KeyPermissionsAll specifies the key permissions all state for key
|
|
// permissions.
|
|
KeyPermissionsAll KeyPermissions = "all"
|
|
// 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"
|
|
// 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 (
|
|
// SecretPermissionsAll specifies the secret permissions all state for
|
|
// secret permissions.
|
|
SecretPermissionsAll SecretPermissions = "all"
|
|
// 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"
|
|
// 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"
|
|
)
|
|
|
|
// 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"`
|
|
}
|
|
|
|
// Permissions is permissions the identity has for keys, secrets and
|
|
// certificates.
|
|
type Permissions struct {
|
|
Keys *[]KeyPermissions `json:"keys,omitempty"`
|
|
Secrets *[]SecretPermissions `json:"secrets,omitempty"`
|
|
Certificates *[]CertificatePermissions `json:"certificates,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 {
|
|
VaultURI *string `json:"vaultUri,omitempty"`
|
|
TenantID *uuid.UUID `json:"tenantId,omitempty"`
|
|
Sku *Sku `json:"sku,omitempty"`
|
|
AccessPolicies *[]AccessPolicyEntry `json:"accessPolicies,omitempty"`
|
|
EnabledForDeployment *bool `json:"enabledForDeployment,omitempty"`
|
|
EnabledForDiskEncryption *bool `json:"enabledForDiskEncryption,omitempty"`
|
|
EnabledForTemplateDeployment *bool `json:"enabledForTemplateDeployment,omitempty"`
|
|
}
|