// PrepareForBootstrap is specified in the EnvironProvider interface. func (prov *azureEnvironProvider) PrepareForBootstrap(ctx environs.BootstrapContext, cfg *config.Config) (environs.Environ, error) { // Ensure that internal configuration is not specified, and then set // what we can now. We only need to do this during bootstrap. Validate // will check for changes later. unknownAttrs := cfg.UnknownAttrs() for _, key := range internalConfigAttributes { if _, ok := unknownAttrs[key]; ok { return nil, errors.Errorf(`internal config %q must not be specified`, key) } } // Record the UUID that will be used for the controller environment. cfg, err := cfg.Apply(map[string]interface{}{ configAttrControllerResourceGroup: resourceGroupName(cfg), }) if err != nil { return nil, errors.Annotate(err, "recording controller-resource-group") } env, err := prov.Open(cfg) if err != nil { return nil, errors.Trace(err) } if ctx.ShouldVerifyCredentials() { if err := verifyCredentials(env.(*azureEnviron)); err != nil { return nil, errors.Trace(err) } } return env, nil }
// PrepareForBootstrap implements environs.Environ. func (env *environ) PrepareForBootstrap(ctx environs.BootstrapContext) error { if ctx.ShouldVerifyCredentials() { if err := env.gce.VerifyCredentials(); err != nil { return errors.Trace(err) } } return nil }
// PrepareForBootstrap is specified in the EnvironProvider interface. func (p maasEnvironProvider) PrepareForBootstrap(ctx environs.BootstrapContext, cfg *config.Config) (environs.Environ, error) { env, err := p.Open(cfg) if err != nil { return nil, err } if ctx.ShouldVerifyCredentials() { if err := verifyCredentials(env.(*maasEnviron)); err != nil { return nil, err } } return env, nil }
// PrepareForBootstrap is specified in the EnvironProvider interface. func (p joyentProvider) PrepareForBootstrap(ctx environs.BootstrapContext, cfg *config.Config) (environs.Environ, error) { e, err := p.Open(cfg) if err != nil { return nil, errors.Trace(err) } if ctx.ShouldVerifyCredentials() { if err := verifyCredentials(e.(*joyentEnviron)); err != nil { return nil, errors.Trace(err) } } return e, nil }
// PrepareForBootstrap is specified in the EnvironProvider interface. func (prov azureEnvironProvider) PrepareForBootstrap(ctx environs.BootstrapContext, cfg *config.Config) (environs.Environ, error) { cfg, err := prov.PrepareForCreateEnvironment(cfg) if err != nil { return nil, errors.Trace(err) } env, err := prov.Open(cfg) if err != nil { return nil, errors.Trace(err) } if ctx.ShouldVerifyCredentials() { if err := verifyCredentials(env.(*azureEnviron)); err != nil { return nil, errors.Trace(err) } } return env, nil }
// PrepareForBootstrap implements environs.EnvironProvider. func (p environProvider) PrepareForBootstrap(ctx environs.BootstrapContext, cfg *config.Config) (environs.Environ, error) { // TODO(ericsnow) Do some of what happens in local provider's // PrepareForBootstrap()? Only if "remote" is local host? env, err := newEnviron(cfg, newRawProvider) if err != nil { return nil, errors.Trace(err) } if ctx.ShouldVerifyCredentials() { if err := env.verifyCredentials(); err != nil { return nil, errors.Trace(err) } } return env, nil }
func (p environProvider) PrepareForBootstrap(ctx environs.BootstrapContext, cfg *config.Config) (environs.Environ, error) { cfg, err := p.PrepareForCreateEnvironment(cfg) if err != nil { return nil, err } e, err := p.Open(cfg) if err != nil { return nil, err } if ctx.ShouldVerifyCredentials() { if err := verifyCredentials(e.(*environ)); err != nil { return nil, err } } return e, nil }