github.com/wanddynosios/cli/v8@v8.7.9-0.20240221182337-1a92e3a7017f/api/cloudcontroller/ccv3/application_feature.go (about)

     1  package ccv3
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/api/cloudcontroller/ccv3/internal"
     5  	"code.cloudfoundry.org/cli/resources"
     6  )
     7  
     8  type SSHEnabled struct {
     9  	Enabled bool
    10  	Reason  string
    11  }
    12  
    13  func (client *Client) GetAppFeature(appGUID string, featureName string) (resources.ApplicationFeature, Warnings, error) {
    14  	var responseBody resources.ApplicationFeature
    15  
    16  	_, warnings, err := client.MakeRequest(RequestParams{
    17  		RequestName:  internal.GetApplicationFeaturesRequest,
    18  		URIParams:    internal.Params{"app_guid": appGUID, "name": featureName},
    19  		ResponseBody: &responseBody,
    20  	})
    21  
    22  	return responseBody, warnings, err
    23  }
    24  
    25  func (client *Client) GetSSHEnabled(appGUID string) (SSHEnabled, Warnings, error) {
    26  	var responseBody SSHEnabled
    27  
    28  	_, warnings, err := client.MakeRequest(RequestParams{
    29  		RequestName:  internal.GetSSHEnabled,
    30  		URIParams:    internal.Params{"app_guid": appGUID},
    31  		ResponseBody: &responseBody,
    32  	})
    33  
    34  	return responseBody, warnings, err
    35  }
    36  
    37  // UpdateAppFeature enables/disables the ability to ssh for a given application.
    38  func (client *Client) UpdateAppFeature(appGUID string, enabled bool, featureName string) (Warnings, error) {
    39  	_, warnings, err := client.MakeRequest(RequestParams{
    40  		RequestName: internal.PatchApplicationFeaturesRequest,
    41  		RequestBody: struct {
    42  			Enabled bool `json:"enabled"`
    43  		}{Enabled: enabled},
    44  		URIParams: internal.Params{"app_guid": appGUID, "name": featureName},
    45  	})
    46  
    47  	return warnings, err
    48  }