Documentation
¶
Index ¶
- func ValidateExistingModelCredential(backend PersistentBackend, callCtx context.ProviderCallContext, ...) (params.ErrorResults, error)
- func ValidateNewModelCredential(backend PersistentBackend, callCtx context.ProviderCallContext, ...) (params.ErrorResults, error)
- type CloudProvider
- type ControllerConfig
- type CredentialManagerAPI
- type Machine
- type Model
- type PersistentBackend
- type StateBackend
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ValidateExistingModelCredential ¶
func ValidateExistingModelCredential(backend PersistentBackend, callCtx context.ProviderCallContext, checkCloudInstances bool) (params.ErrorResults, error)
ValidateExistingModelCredential checks if the cloud credential that a given model uses is valid for it.
func ValidateNewModelCredential ¶
func ValidateNewModelCredential(backend PersistentBackend, callCtx context.ProviderCallContext, credentialTag names.CloudCredentialTag, credential *cloud.Credential, checkCloudInstances bool) (params.ErrorResults, error)
ValidateNewModelCredential checks if a new cloud credential could be valid for a given model.
Types ¶
type CloudProvider ¶
type CloudProvider interface {
// AllInstances returns all instances currently known to the cloud provider.
AllInstances(ctx context.ProviderCallContext) ([]instances.Instance, error)
}
CloudProvider defines methods needed from the cloud provider to perform the check.
type ControllerConfig ¶
type ControllerConfig interface {
ControllerUUID() string
}
ControllerConfig defines methods needed from the cloud provider to perform the check.
type CredentialManagerAPI ¶
type CredentialManagerAPI struct {
// contains filtered or unexported fields
}
func NewCredentialManagerAPI ¶
func NewCredentialManagerAPI(backend StateBackend) *CredentialManagerAPI
NewCredentialManagerAPI creates new model credential manager api endpoint.
func (*CredentialManagerAPI) InvalidateModelCredential ¶
func (api *CredentialManagerAPI) InvalidateModelCredential(args params.InvalidateCredentialArg) (params.ErrorResult, error)
InvalidateModelCredential marks the cloud credential for this model as invalid.
type Machine ¶
type Machine interface {
// IsManual returns true if the machine was manually provisioned.
IsManual() (bool, error)
// IsContainer returns true if the machine is a container.
IsContainer() bool
// InstanceId returns the provider specific instance id for this
// machine, or a NotProvisionedError, if not set.
InstanceId() (instance.Id, error)
// Id returns the machine id.
Id() string
}
Machine defines machine methods needed for the check.
type Model ¶
type Model interface {
// CloudName returns the name of the cloud to which the model is deployed.
CloudName() string
// CloudRegion returns the name of the cloud region to which the model is deployed.
CloudRegion() string
// Config returns the config for the model.
Config() (*config.Config, error)
// ValidateCloudCredential validates new cloud credential for this model.
ValidateCloudCredential(tag names.CloudCredentialTag, credential cloud.Credential) error
// Type returns the type of the model.
Type() state.ModelType
// CloudCredentialTag returns the tag of the cloud credential used for managing the
// model's cloud resources, and a boolean indicating whether a credential is set.
CloudCredentialTag() (names.CloudCredentialTag, bool)
}
Model defines model methods needed for the check.
type PersistentBackend ¶
type PersistentBackend interface {
// Model returns the model entity.
Model() (Model, error)
// Cloud returns the controller's cloud definition.
Cloud(name string) (cloud.Cloud, error)
// CloudCredential returns the cloud credential for the given tag.
CloudCredential(tag names.CloudCredentialTag) (state.Credential, error)
// AllMachines returns all machines in the model.
AllMachines() ([]Machine, error)
// ControllerConfig returns controller config.
ControllerConfig() (ControllerConfig, error)
}
PersistentBackend defines persisted entities that are accessed during credential validity check.
func NewPersistentBackend ¶
func NewPersistentBackend(p *state.State) PersistentBackend
NewPersistentBackend creates a credential validity backend to use, based on state.State.
type StateBackend ¶
StateBackend exposes State methods needed by credential manager.