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

     1  package v7action
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/actor/actionerror"
     5  	"code.cloudfoundry.org/cli/api/cloudcontroller/ccv3"
     6  )
     7  
     8  type Stack ccv3.Stack
     9  
    10  func (actor *Actor) GetStackByName(stackName string) (Stack, Warnings, error) {
    11  	stacks, warnings, err := actor.CloudControllerClient.GetStacks(
    12  		ccv3.Query{Key: ccv3.NameFilter, Values: []string{stackName}},
    13  	)
    14  
    15  	if err != nil {
    16  		return Stack{}, Warnings(warnings), err
    17  	}
    18  
    19  	if len(stacks) == 0 {
    20  		return Stack{}, Warnings(warnings), actionerror.StackNotFoundError{Name: stackName}
    21  	}
    22  
    23  	return Stack(stacks[0]), Warnings(warnings), nil
    24  }
    25  
    26  func (actor Actor) GetStacks() ([]Stack, Warnings, error) {
    27  	ccv3Stacks, warnings, err := actor.CloudControllerClient.GetStacks()
    28  	if err != nil {
    29  		return nil, Warnings(warnings), err
    30  	}
    31  
    32  	var stacks []Stack
    33  	for _, stack := range ccv3Stacks {
    34  		stacks = append(stacks, Stack(stack))
    35  	}
    36  	return stacks, Warnings(warnings), nil
    37  }