restic/vendor/github.com/Azure/azure-sdk-for-go/arm/keyvault/models.go
2017-08-06 21:47:04 +02:00

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"`
}