本文整理汇总了Golang中github.com/juju/juju/environs.CloudSpec类的典型用法代码示例。如果您正苦于以下问题:Golang CloudSpec类的具体用法?Golang CloudSpec怎么用?Golang CloudSpec使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CloudSpec类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: validateCloudSpec
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
}
示例2: validateCloudSpec
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
}
示例3: transformCloudSpec
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
}
示例4: validateCloudSpec
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
}
示例5: makeCloudSpec
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
}