github.com/rakutentech/cli@v6.12.5-0.20151006231303-24468b65536e+incompatible/cf/configuration/core_config/config_data.go (about)

     1  package core_config
     2  
     3  import (
     4  	"encoding/json"
     5  
     6  	"github.com/cloudfoundry/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  	LoggregatorEndPoint      string
    27  	DopplerEndPoint          string
    28  	UaaEndpoint              string
    29  	AccessToken              string
    30  	RefreshToken             string
    31  	OrganizationFields       models.OrganizationFields
    32  	SpaceFields              models.SpaceFields
    33  	SSLDisabled              bool
    34  	AsyncTimeout             uint
    35  	Trace                    string
    36  	ColorEnabled             string
    37  	Locale                   string
    38  	PluginRepos              []models.PluginRepo
    39  	MinCliVersion            string
    40  	MinRecommendedCliVersion string
    41  }
    42  
    43  func NewData() (data *Data) {
    44  	data = new(Data)
    45  	return
    46  }
    47  
    48  func (d *Data) JsonMarshalV3() (output []byte, err error) {
    49  	d.ConfigVersion = 3
    50  	return json.MarshalIndent(d, "", "  ")
    51  }
    52  
    53  func (d *Data) JsonUnmarshalV3(input []byte) (err error) {
    54  	err = json.Unmarshal(input, d)
    55  	if err != nil {
    56  		return
    57  	}
    58  
    59  	if d.ConfigVersion != 3 {
    60  		*d = Data{}
    61  		return
    62  	}
    63  
    64  	return
    65  }