github.com/jasonkeene/cli@v6.14.1-0.20160816203908-ca5715166dfb+incompatible/cf/configuration/coreconfig/config_data.go (about)

     1  package coreconfig
     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  	RoutingAPIEndpoint       string
    30  	AccessToken              string
    31  	SSHOAuthClient           string
    32  	RefreshToken             string
    33  	OrganizationFields       models.OrganizationFields
    34  	SpaceFields              models.SpaceFields
    35  	SSLDisabled              bool
    36  	AsyncTimeout             uint
    37  	Trace                    string
    38  	ColorEnabled             string
    39  	Locale                   string
    40  	PluginRepos              []models.PluginRepo
    41  	MinCLIVersion            string
    42  	MinRecommendedCLIVersion string
    43  }
    44  
    45  func NewData() *Data {
    46  	return new(Data)
    47  }
    48  
    49  func (d *Data) JSONMarshalV3() ([]byte, error) {
    50  	d.ConfigVersion = 3
    51  	return json.MarshalIndent(d, "", "  ")
    52  }
    53  
    54  func (d *Data) JSONUnmarshalV3(input []byte) error {
    55  	err := json.Unmarshal(input, d)
    56  	if err != nil {
    57  		return err
    58  	}
    59  
    60  	if d.ConfigVersion != 3 {
    61  		*d = Data{}
    62  		return nil
    63  	}
    64  
    65  	return nil
    66  }