vault: github.com/hashicorp/vault/vendor/github.com/hashicorp/vault-plugin-secrets-azure Index | Files

package azuresecrets

import "github.com/hashicorp/vault/vendor/github.com/hashicorp/vault-plugin-secrets-azure"

Index

Package Files

backend.go client.go path_config.go path_roles.go path_service_principal.go provider.go

Constants

const (
    SecretTypeSP       = "service_principal"
    SecretTypeStaticSP = "static_service_principal"
)

func Factory Uses

func Factory(ctx context.Context, conf *logical.BackendConfig) (logical.Backend, error)

type ApplicationsClient Uses

type ApplicationsClient interface {
    CreateApplication(ctx context.Context, parameters graphrbac.ApplicationCreateParameters) (graphrbac.Application, error)
    DeleteApplication(ctx context.Context, applicationObjectID string) (autorest.Response, error)
    GetApplication(ctx context.Context, applicationObjectID string) (graphrbac.Application, error)
    UpdateApplicationPasswordCredentials(
        ctx context.Context,
        applicationObjectID string,
        parameters graphrbac.PasswordCredentialsUpdateParameters) (result autorest.Response, err error)
    ListApplicationPasswordCredentials(ctx context.Context, applicationObjectID string) (result graphrbac.PasswordCredentialListResult, err error)
}

type AzureProvider Uses

type AzureProvider interface {
    ApplicationsClient
    ServicePrincipalsClient
    RoleAssignmentsClient
    RoleDefinitionsClient
}

AzureProvider is an interface to access underlying Azure client objects and supporting services. Where practical the original function signature is preserved. client provides higher level operations atop AzureProvider.

type Role Uses

type Role struct {
    CredentialType      int           `json:"credential_type"` // Reserved. Always SP at this time.
    AzureRoles          []*azureRole  `json:"azure_roles"`
    ApplicationID       string        `json:"application_id"`
    ApplicationObjectID string        `json:"application_object_id"`
    TTL                 time.Duration `json:"ttl"`
    MaxTTL              time.Duration `json:"max_ttl"`
}

Role is a Vault role construct that maps to Azure roles or Applications

type RoleAssignmentsClient Uses

type RoleAssignmentsClient interface {
    CreateRoleAssignment(
        ctx context.Context,
        scope string,
        roleAssignmentName string,
        parameters authorization.RoleAssignmentCreateParameters) (authorization.RoleAssignment, error)
    DeleteRoleAssignmentByID(ctx context.Context, roleID string) (authorization.RoleAssignment, error)
}

type RoleDefinitionsClient Uses

type RoleDefinitionsClient interface {
    ListRoles(ctx context.Context, scope string, filter string) ([]authorization.RoleDefinition, error)
    GetRoleByID(ctx context.Context, roleID string) (result authorization.RoleDefinition, err error)
}

type ServicePrincipalsClient Uses

type ServicePrincipalsClient interface {
    CreateServicePrincipal(ctx context.Context, parameters graphrbac.ServicePrincipalCreateParameters) (graphrbac.ServicePrincipal, error)
}

Package azuresecrets imports 23 packages (graph). Updated 2019-07-19. Refresh now. Tools for package owners.