func validateCloudSpec(spec environs.CloudSpec) error { if err := spec.Validate(); err != nil { return errors.Trace(err) } if spec.Credential == nil { return errors.NotValidf("missing credential") } if authType := spec.Credential.AuthType(); authType != cloud.UserPassAuthType { return errors.NotSupportedf("%q auth-type", authType) } return nil }
func validateCloudSpec(spec environs.CloudSpec) error { if err := spec.Validate(); err != nil { return errors.Trace(err) } if spec.Endpoint != "" { return errors.NotValidf("non-empty endpoint %q", spec.Endpoint) } if spec.Credential != nil { if authType := spec.Credential.AuthType(); authType != cloud.EmptyAuthType { return errors.NotSupportedf("%q auth-type", authType) } } return nil }
func validateCloudSpec(spec environs.CloudSpec) error { if err := spec.Validate(); err != nil { return errors.Trace(err) } if spec.Credential == nil { return errors.NotValidf("missing credential") } switch authType := spec.Credential.AuthType(); authType { case cloud.OAuth2AuthType, cloud.JSONFileAuthType: default: return errors.NotSupportedf("%q auth-type", authType) } return nil }
func validateCloudSpec(c environs.CloudSpec) error { if err := c.Validate(); err != nil { return errors.Trace(err) } if _, ok := aws.Regions[c.Region]; !ok { return errors.NotValidf("region name %q", c.Region) } if c.Credential == nil { return errors.NotValidf("missing credential") } if authType := c.Credential.AuthType(); authType != cloud.AccessKeyAuthType { return errors.NotSupportedf("%q auth-type", authType) } return nil }
func transformCloudSpec(spec environs.CloudSpec) environs.CloudSpec { // Rackspace regions are expected to be uppercase, but Juju // stores and displays them in lowercase in the CLI. Ensure // they're uppercase when they get to the Rackspace API. spec.Region = strings.ToUpper(spec.Region) return spec }
func validateCloudSpec(spec environs.CloudSpec) error { if err := spec.Validate(); err != nil { return errors.Trace(err) } if _, err := parseCloudEndpoint(spec.Endpoint); err != nil { return errors.Annotate(err, "validating endpoint") } if spec.Credential == nil { return errors.NotValidf("missing credential") } if authType := spec.Credential.AuthType(); authType != cloud.OAuth1AuthType { return errors.NotSupportedf("%q auth-type", authType) } if _, err := parseOAuthToken(*spec.Credential); err != nil { return errors.Annotate(err, "validating MAAS OAuth token") } return nil }
func validateCloudSpec(spec environs.CloudSpec) error { if err := spec.Validate(); err != nil { return errors.Trace(err) } if err := validateAuthURL(spec.Endpoint); err != nil { return errors.Annotate(err, "validating auth-url") } if spec.Credential == nil { return errors.NotValidf("missing credential") } switch authType := spec.Credential.AuthType(); authType { case cloud.UserPassAuthType: case cloud.AccessKeyAuthType: default: return errors.NotSupportedf("%q auth-type", authType) } return nil }
func (s *controllerSuite) makeCloudSpec(c *gc.C, pSpec *params.CloudSpec) environs.CloudSpec { c.Assert(pSpec, gc.NotNil) var credential *cloud.Credential if pSpec.Credential != nil { credentialValue := cloud.NewCredential( cloud.AuthType(pSpec.Credential.AuthType), pSpec.Credential.Attributes, ) credential = &credentialValue } spec := environs.CloudSpec{ Type: pSpec.Type, Name: pSpec.Name, Region: pSpec.Region, Endpoint: pSpec.Endpoint, IdentityEndpoint: pSpec.IdentityEndpoint, StorageEndpoint: pSpec.StorageEndpoint, Credential: credential, } c.Assert(spec.Validate(), jc.ErrorIsNil) return spec }