github.com/sleungcy/cli@v7.1.0+incompatible/actor/v2action/organization_quota.go (about) 1 package v2action 2 3 import ( 4 "code.cloudfoundry.org/cli/actor/actionerror" 5 "code.cloudfoundry.org/cli/api/cloudcontroller/ccerror" 6 "code.cloudfoundry.org/cli/api/cloudcontroller/ccv2" 7 "code.cloudfoundry.org/cli/api/cloudcontroller/ccv2/constant" 8 ) 9 10 type OrganizationQuota ccv2.OrganizationQuota 11 12 func (actor Actor) GetOrganizationQuota(guid string) (OrganizationQuota, Warnings, error) { 13 orgQuota, warnings, err := actor.CloudControllerClient.GetOrganizationQuota(guid) 14 15 if _, ok := err.(ccerror.ResourceNotFoundError); ok { 16 return OrganizationQuota{}, Warnings(warnings), actionerror.OrganizationQuotaNotFoundError{GUID: guid} 17 } 18 19 return OrganizationQuota(orgQuota), Warnings(warnings), err 20 } 21 22 func (actor Actor) GetOrganizationQuotaByName(quotaName string) (OrganizationQuota, Warnings, error) { 23 orgQuotas, warnings, err := actor.CloudControllerClient.GetOrganizationQuotas(ccv2.Filter{ 24 Type: constant.NameFilter, 25 Operator: constant.EqualOperator, 26 Values: []string{quotaName}, 27 }) 28 if err != nil { 29 return OrganizationQuota{}, Warnings(warnings), err 30 } 31 32 if len(orgQuotas) > 1 { 33 var GUIDs []string 34 for _, orgQuota := range orgQuotas { 35 GUIDs = append(GUIDs, orgQuota.GUID) 36 } 37 return OrganizationQuota{}, Warnings(warnings), actionerror.MultipleOrganizationQuotasFoundForNameError{Name: quotaName, GUIDs: GUIDs} 38 } else if len(orgQuotas) == 0 { 39 return OrganizationQuota{}, Warnings(warnings), actionerror.QuotaNotFoundForNameError{Name: quotaName} 40 } 41 42 return OrganizationQuota(orgQuotas[0]), Warnings(warnings), nil 43 }