github.com/cloudfoundry-community/cloudfoundry-cli@v6.44.1-0.20240130060226-cda5ed8e89a5+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 "code.cloudfoundry.org/cli/resources" 7 ) 8 9 type Stack resources.Stack 10 11 func (actor *Actor) GetStackByName(stackName string) (Stack, Warnings, error) { 12 stacks, warnings, err := actor.CloudControllerClient.GetStacks( 13 ccv3.Query{Key: ccv3.NameFilter, Values: []string{stackName}}, 14 ) 15 16 if err != nil { 17 return Stack{}, Warnings(warnings), err 18 } 19 20 if len(stacks) == 0 { 21 return Stack{}, Warnings(warnings), actionerror.StackNotFoundError{Name: stackName} 22 } 23 24 return Stack(stacks[0]), Warnings(warnings), nil 25 } 26 27 func (actor Actor) GetStacks() ([]Stack, Warnings, error) { 28 ccv3Stacks, warnings, err := actor.CloudControllerClient.GetStacks() 29 if err != nil { 30 return nil, Warnings(warnings), err 31 } 32 33 var stacks []Stack 34 for _, stack := range ccv3Stacks { 35 stacks = append(stacks, Stack(stack)) 36 } 37 return stacks, Warnings(warnings), nil 38 }