github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/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  
     9  	"github.com/juju/juju/cloud"
    10  	"github.com/juju/juju/environs"
    11  )
    12  
    13  type environProviderCredentials struct{}
    14  
    15  const (
    16  	credAttrUsername = "username"
    17  	credAttrPassword = "password"
    18  )
    19  
    20  // CredentialSchemas is part of the environs.ProviderCredentials interface.
    21  func (environProviderCredentials) CredentialSchemas() map[cloud.AuthType]cloud.CredentialSchema {
    22  	return map[cloud.AuthType]cloud.CredentialSchema{
    23  		cloud.UserPassAuthType: {{
    24  			"username", cloud.CredentialAttr{
    25  				Description: "account username",
    26  			},
    27  		}, {
    28  			"password", cloud.CredentialAttr{
    29  				Description: "account password",
    30  				Hidden:      true,
    31  			},
    32  		}},
    33  	}
    34  }
    35  
    36  // DetectCredentials is part of the environs.ProviderCredentials interface.
    37  func (environProviderCredentials) DetectCredentials() (*cloud.CloudCredential, error) {
    38  	return nil, errors.NotFoundf("credentials")
    39  }
    40  
    41  // FinalizeCredential is part of the environs.ProviderCredentials interface.
    42  func (environProviderCredentials) FinalizeCredential(_ environs.FinalizeCredentialContext, args environs.FinalizeCredentialParams) (*cloud.Credential, error) {
    43  	return &args.Credential, nil
    44  }