github.com/arunkumar7540/cli@v6.45.0+incompatible/actor/v7action/label.go (about)

     1  package v7action
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/api/cloudcontroller/ccv3"
     5  	"code.cloudfoundry.org/cli/types"
     6  )
     7  
     8  func (actor *Actor) GetApplicationLabels(appName string, spaceGUID string) (map[string]types.NullString, Warnings, error) {
     9  	var labels map[string]types.NullString
    10  	resource, warnings, err := actor.GetApplicationByNameAndSpace(appName, spaceGUID)
    11  	if err != nil {
    12  		return labels, warnings, err
    13  	}
    14  	if resource.Metadata != nil {
    15  		labels = resource.Metadata.Labels
    16  	}
    17  	return labels, warnings, nil
    18  }
    19  
    20  func (actor *Actor) GetOrganizationLabels(orgName string) (map[string]types.NullString, Warnings, error) {
    21  	var labels map[string]types.NullString
    22  	resource, warnings, err := actor.GetOrganizationByName(orgName)
    23  	if err != nil {
    24  		return labels, warnings, err
    25  	}
    26  	if resource.Metadata != nil {
    27  		labels = resource.Metadata.Labels
    28  	}
    29  	return labels, warnings, nil
    30  }
    31  
    32  func (actor *Actor) GetSpaceLabels(spaceName string, orgGUID string) (map[string]types.NullString, Warnings, error) {
    33  	var labels map[string]types.NullString
    34  	resource, warnings, err := actor.GetSpaceByNameAndOrganization(spaceName, orgGUID)
    35  	if err != nil {
    36  		return labels, warnings, err
    37  	}
    38  	if resource.Metadata != nil {
    39  		labels = resource.Metadata.Labels
    40  	}
    41  	return labels, warnings, nil
    42  }
    43  
    44  func (actor *Actor) UpdateApplicationLabelsByApplicationName(appName string, spaceGUID string, labels map[string]types.NullString) (Warnings, error) {
    45  	app, appWarnings, err := actor.GetApplicationByNameAndSpace(appName, spaceGUID)
    46  	if err != nil {
    47  		return appWarnings, err
    48  	}
    49  	app.Metadata = &Metadata{Labels: labels}
    50  	_, updateWarnings, err := actor.UpdateApplication(app)
    51  	return append(appWarnings, updateWarnings...), err
    52  }
    53  
    54  func (actor *Actor) UpdateOrganizationLabelsByOrganizationName(orgName string, labels map[string]types.NullString) (Warnings, error) {
    55  	org, warnings, err := actor.GetOrganizationByName(orgName)
    56  	if err != nil {
    57  		return warnings, err
    58  	}
    59  	org.Metadata = &Metadata{Labels: labels}
    60  	_, updateWarnings, err := actor.UpdateOrganization(org)
    61  	return append(warnings, updateWarnings...), err
    62  }
    63  
    64  func (actor *Actor) UpdateSpaceLabelsBySpaceName(spaceName string, orgGUID string, labels map[string]types.NullString) (Warnings, error) {
    65  	space, warnings, err := actor.GetSpaceByNameAndOrganization(spaceName, orgGUID)
    66  	if err != nil {
    67  		return warnings, err
    68  	}
    69  	space.Metadata = &ccv3.Metadata{Labels: labels}
    70  	_, updateWarnings, err := actor.CloudControllerClient.UpdateSpace(ccv3.Space(space))
    71  	return append(warnings, updateWarnings...), err
    72  }