github.com/axw/juju@v0.0.0-20161005053422-4bd6544d08d4/provider/cloudsigma/credentials.go (about)

     1  // Copyright 2016 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package cloudsigma
     5  
     6  import (
     7  	"github.com/juju/errors"
     8  	"github.com/juju/juju/cloud"
     9  	"github.com/juju/juju/environs"
    10  )
    11  
    12  type environProviderCredentials struct{}
    13  
    14  const (
    15  	credAttrUsername = "username"
    16  	credAttrPassword = "password"
    17  )
    18  
    19  // CredentialSchemas is part of the environs.ProviderCredentials interface.
    20  func (environProviderCredentials) CredentialSchemas() map[cloud.AuthType]cloud.CredentialSchema {
    21  	return map[cloud.AuthType]cloud.CredentialSchema{
    22  		cloud.UserPassAuthType: {{
    23  			"username", cloud.CredentialAttr{
    24  				Description: "account username",
    25  			},
    26  		}, {
    27  			"password", cloud.CredentialAttr{
    28  				Description: "account password",
    29  				Hidden:      true,
    30  			},
    31  		}},
    32  	}
    33  }
    34  
    35  // DetectCredentials is part of the environs.ProviderCredentials interface.
    36  func (environProviderCredentials) DetectCredentials() (*cloud.CloudCredential, error) {
    37  	return nil, errors.NotFoundf("credentials")
    38  }
    39  
    40  // FinalizeCredential is part of the environs.ProviderCredentials interface.
    41  func (environProviderCredentials) FinalizeCredential(_ environs.FinalizeCredentialContext, args environs.FinalizeCredentialParams) (*cloud.Credential, error) {
    42  	return &args.Credential, nil
    43  }