github.com/dcarley/cf-cli@v6.24.1-0.20170220111324-4225ff346898+incompatible/cf/configuration/coreconfig/config_data.go (about)

     1  package coreconfig
     2  
     3  import (
     4  	"encoding/json"
     5  
     6  	"code.cloudfoundry.org/cli/cf/models"
     7  )
     8  
     9  type AuthPromptType string
    10  
    11  const (
    12  	AuthPromptTypeText     AuthPromptType = "TEXT"
    13  	AuthPromptTypePassword AuthPromptType = "PASSWORD"
    14  )
    15  
    16  type AuthPrompt struct {
    17  	Type        AuthPromptType
    18  	DisplayName string
    19  }
    20  
    21  type Data struct {
    22  	ConfigVersion            int
    23  	Target                   string
    24  	APIVersion               string
    25  	AuthorizationEndpoint    string
    26  	DopplerEndPoint          string
    27  	UaaEndpoint              string
    28  	RoutingAPIEndpoint       string
    29  	AccessToken              string
    30  	UAAOAuthClient           string
    31  	UAAOAuthClientSecret     string
    32  	SSHOAuthClient           string
    33  	RefreshToken             string
    34  	OrganizationFields       models.OrganizationFields
    35  	SpaceFields              models.SpaceFields
    36  	SSLDisabled              bool
    37  	AsyncTimeout             uint
    38  	Trace                    string
    39  	ColorEnabled             string
    40  	Locale                   string
    41  	PluginRepos              []models.PluginRepo
    42  	MinCLIVersion            string
    43  	MinRecommendedCLIVersion string
    44  }
    45  
    46  func NewData() *Data {
    47  	data := new(Data)
    48  
    49  	data.UAAOAuthClient = "cf"
    50  	data.UAAOAuthClientSecret = ""
    51  
    52  	return data
    53  }
    54  
    55  func (d *Data) JSONMarshalV3() ([]byte, error) {
    56  	d.ConfigVersion = 3
    57  	return json.MarshalIndent(d, "", "  ")
    58  }
    59  
    60  func (d *Data) JSONUnmarshalV3(input []byte) error {
    61  	err := json.Unmarshal(input, d)
    62  	if err != nil {
    63  		return err
    64  	}
    65  
    66  	if d.ConfigVersion != 3 {
    67  		*d = Data{}
    68  		return nil
    69  	}
    70  
    71  	return nil
    72  }