github.com/orange-cloudfoundry/cli@v7.1.0+incompatible/api/cloudcontroller/ccv2/feature_flag.go (about)

     1  package ccv2
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/api/cloudcontroller"
     5  	"code.cloudfoundry.org/cli/api/cloudcontroller/ccv2/internal"
     6  )
     7  
     8  // FeatureFlag represents a Cloud Controller feature flag.
     9  type FeatureFlag struct {
    10  	// Name is a string representation of the Cloud Controller
    11  	// feature flag's name.
    12  	Name string `json:"name"`
    13  
    14  	// Enabled is the status of the Cloud Controller feature
    15  	// flag.
    16  	Enabled bool `json:"enabled"`
    17  }
    18  
    19  // GetConfigFeatureFlags retrieves a list of FeatureFlag from the Cloud
    20  // Controller.
    21  func (client Client) GetConfigFeatureFlags() ([]FeatureFlag, Warnings, error) {
    22  	request, err := client.newHTTPRequest(requestOptions{
    23  		RequestName: internal.GetConfigFeatureFlagsRequest,
    24  	})
    25  	if err != nil {
    26  		return nil, nil, err
    27  	}
    28  
    29  	var featureFlags []FeatureFlag
    30  	response := cloudcontroller.Response{
    31  		DecodeJSONResponseInto: &featureFlags,
    32  	}
    33  
    34  	err = client.connection.Make(request, &response)
    35  	return featureFlags, response.Warnings, err
    36  }