Skip to content

Commit a7c789d

Browse files
reidmitBrian Cunnie
and
Brian Cunnie
committed
V7 Quota Resource
We refactor the {ccv3|v7action}.{space|org|}quota → resources.{space|org|}quota [#171119141] Co-authored-by: Reid Mitchell <[email protected]> Co-authored-by: Brian Cunnie <[email protected]>
1 parent 9b7d89f commit a7c789d

27 files changed

+742
-633
lines changed

actor/v7action/cloud_controller_client.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ type CloudControllerClient interface {
3030
CreateDroplet(appGUID string) (ccv3.Droplet, ccv3.Warnings, error)
3131
CreateIsolationSegment(isolationSegment ccv3.IsolationSegment) (ccv3.IsolationSegment, ccv3.Warnings, error)
3232
CreateOrganization(orgName string) (ccv3.Organization, ccv3.Warnings, error)
33-
CreateOrganizationQuota(orgQuota ccv3.OrganizationQuota) (ccv3.OrganizationQuota, ccv3.Warnings, error)
33+
CreateOrganizationQuota(orgQuota resources.OrganizationQuota) (resources.OrganizationQuota, ccv3.Warnings, error)
3434
CreatePackage(pkg ccv3.Package) (ccv3.Package, ccv3.Warnings, error)
3535
CreateRole(role resources.Role) (resources.Role, ccv3.Warnings, error)
3636
CreateRoute(route resources.Route) (resources.Route, ccv3.Warnings, error)
3737
CreateServiceBroker(serviceBroker ccv3.ServiceBrokerModel) (ccv3.JobURL, ccv3.Warnings, error)
3838
CreateSecurityGroup(securityGroup resources.SecurityGroup) (resources.SecurityGroup, ccv3.Warnings, error)
3939
CreateSpace(space ccv3.Space) (ccv3.Space, ccv3.Warnings, error)
40-
CreateSpaceQuota(spaceQuota ccv3.SpaceQuota) (ccv3.SpaceQuota, ccv3.Warnings, error)
40+
CreateSpaceQuota(spaceQuota resources.SpaceQuota) (resources.SpaceQuota, ccv3.Warnings, error)
4141
CreateUser(userGUID string) (resources.User, ccv3.Warnings, error)
4242
DeleteApplication(guid string) (ccv3.JobURL, ccv3.Warnings, error)
4343
DeleteApplicationProcessInstance(appGUID string, processType string, instanceIndex int) (ccv3.Warnings, error)
@@ -87,8 +87,8 @@ type CloudControllerClient interface {
8787
GetOrganization(orgGUID string) (ccv3.Organization, ccv3.Warnings, error)
8888
GetOrganizationDefaultIsolationSegment(orgGUID string) (resources.Relationship, ccv3.Warnings, error)
8989
GetOrganizationDomains(orgGUID string, query ...ccv3.Query) ([]ccv3.Domain, ccv3.Warnings, error)
90-
GetOrganizationQuota(quotaGUID string) (ccv3.OrganizationQuota, ccv3.Warnings, error)
91-
GetOrganizationQuotas(query ...ccv3.Query) ([]ccv3.OrganizationQuota, ccv3.Warnings, error)
90+
GetOrganizationQuota(quotaGUID string) (resources.OrganizationQuota, ccv3.Warnings, error)
91+
GetOrganizationQuotas(query ...ccv3.Query) ([]resources.OrganizationQuota, ccv3.Warnings, error)
9292
GetOrganizations(query ...ccv3.Query) ([]ccv3.Organization, ccv3.Warnings, error)
9393
GetPackage(guid string) (ccv3.Package, ccv3.Warnings, error)
9494
GetPackages(query ...ccv3.Query) ([]ccv3.Package, ccv3.Warnings, error)
@@ -113,9 +113,9 @@ type CloudControllerClient interface {
113113
GetServicePlansWithSpaceAndOrganization(query ...ccv3.Query) ([]ccv3.ServicePlanWithSpaceAndOrganization, ccv3.Warnings, error)
114114
GetSpaceFeature(spaceGUID string, featureName string) (bool, ccv3.Warnings, error)
115115
GetSpaceIsolationSegment(spaceGUID string) (resources.Relationship, ccv3.Warnings, error)
116-
GetSpaceQuota(spaceQuotaGUID string) (ccv3.SpaceQuota, ccv3.Warnings, error)
116+
GetSpaceQuota(spaceQuotaGUID string) (resources.SpaceQuota, ccv3.Warnings, error)
117117
GetSpaces(query ...ccv3.Query) ([]ccv3.Space, ccv3.IncludedResources, ccv3.Warnings, error)
118-
GetSpaceQuotas(query ...ccv3.Query) ([]ccv3.SpaceQuota, ccv3.Warnings, error)
118+
GetSpaceQuotas(query ...ccv3.Query) ([]resources.SpaceQuota, ccv3.Warnings, error)
119119
GetSSHEnabled(appGUID string) (ccv3.SSHEnabled, ccv3.Warnings, error)
120120
GetAppFeature(appGUID string, featureName string) (ccv3.ApplicationFeature, ccv3.Warnings, error)
121121
GetStacks(query ...ccv3.Query) ([]ccv3.Stack, ccv3.Warnings, error)
@@ -146,7 +146,7 @@ type CloudControllerClient interface {
146146
UpdateFeatureFlag(flag ccv3.FeatureFlag) (ccv3.FeatureFlag, ccv3.Warnings, error)
147147
UpdateOrganization(org ccv3.Organization) (ccv3.Organization, ccv3.Warnings, error)
148148
UpdateOrganizationDefaultIsolationSegmentRelationship(orgGUID string, isolationSegmentGUID string) (resources.Relationship, ccv3.Warnings, error)
149-
UpdateOrganizationQuota(orgQuota ccv3.OrganizationQuota) (ccv3.OrganizationQuota, ccv3.Warnings, error)
149+
UpdateOrganizationQuota(orgQuota resources.OrganizationQuota) (resources.OrganizationQuota, ccv3.Warnings, error)
150150
UpdateProcess(process ccv3.Process) (ccv3.Process, ccv3.Warnings, error)
151151
UpdateResourceMetadata(resource string, resourceGUID string, metadata ccv3.Metadata) (ccv3.JobURL, ccv3.Warnings, error)
152152
UpdateSecurityGroupRunningSpace(securityGroupGUID string, spaceGUID string) (ccv3.Warnings, error)
@@ -156,7 +156,7 @@ type CloudControllerClient interface {
156156
UpdateSpaceApplyManifest(spaceGUID string, rawManifest []byte) (ccv3.JobURL, ccv3.Warnings, error)
157157
UpdateSpaceFeature(spaceGUID string, enabled bool, featureName string) (ccv3.Warnings, error)
158158
UpdateSpaceIsolationSegmentRelationship(spaceGUID string, isolationSegmentGUID string) (resources.Relationship, ccv3.Warnings, error)
159-
UpdateSpaceQuota(spaceQuota ccv3.SpaceQuota) (ccv3.SpaceQuota, ccv3.Warnings, error)
159+
UpdateSpaceQuota(spaceQuota resources.SpaceQuota) (resources.SpaceQuota, ccv3.Warnings, error)
160160
UnsetSpaceQuota(spaceQuotaGUID, spaceGUID string) (ccv3.Warnings, error)
161161
UpdateServiceBroker(serviceBrokerGUID string, serviceBroker ccv3.ServiceBrokerModel) (ccv3.JobURL, ccv3.Warnings, error)
162162
UpdateTaskCancel(taskGUID string) (ccv3.Task, ccv3.Warnings, error)

actor/v7action/organization_quota.go

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,10 @@ package v7action
33
import (
44
"code.cloudfoundry.org/cli/actor/actionerror"
55
"code.cloudfoundry.org/cli/api/cloudcontroller/ccv3"
6+
"code.cloudfoundry.org/cli/resources"
67
"code.cloudfoundry.org/cli/types"
78
)
89

9-
type Quota ccv3.Quota
10-
11-
type OrganizationQuota ccv3.OrganizationQuota
12-
1310
type QuotaLimits struct {
1411
TotalMemoryInMB *types.NullInt
1512
PerProcessMemoryInMB *types.NullInt
@@ -67,38 +64,32 @@ func (actor Actor) DeleteOrganizationQuota(quotaName string) (Warnings, error) {
6764
return allWarnings, err
6865
}
6966

70-
func (actor Actor) GetOrganizationQuotas() ([]OrganizationQuota, Warnings, error) {
71-
ccv3OrgQuotas, warnings, err := actor.CloudControllerClient.GetOrganizationQuotas()
67+
func (actor Actor) GetOrganizationQuotas() ([]resources.OrganizationQuota, Warnings, error) {
68+
orgQuotas, warnings, err := actor.CloudControllerClient.GetOrganizationQuotas()
7269
if err != nil {
73-
return []OrganizationQuota{}, Warnings(warnings), err
74-
}
75-
76-
var orgQuotas []OrganizationQuota
77-
for _, quota := range ccv3OrgQuotas {
78-
orgQuotas = append(orgQuotas, OrganizationQuota(quota))
70+
return []resources.OrganizationQuota{}, Warnings(warnings), err
7971
}
8072

8173
return orgQuotas, Warnings(warnings), nil
8274
}
8375

84-
func (actor Actor) GetOrganizationQuotaByName(orgQuotaName string) (OrganizationQuota, Warnings, error) {
76+
func (actor Actor) GetOrganizationQuotaByName(orgQuotaName string) (resources.OrganizationQuota, Warnings, error) {
8577
ccv3OrgQuotas, warnings, err := actor.CloudControllerClient.GetOrganizationQuotas(
8678
ccv3.Query{
8779
Key: ccv3.NameFilter,
8880
Values: []string{orgQuotaName},
8981
},
9082
)
9183
if err != nil {
92-
return OrganizationQuota{}, Warnings(warnings), err
84+
return resources.OrganizationQuota{}, Warnings(warnings), err
9385

9486
}
9587

9688
if len(ccv3OrgQuotas) == 0 {
97-
return OrganizationQuota{}, Warnings(warnings), actionerror.OrganizationQuotaNotFoundForNameError{Name: orgQuotaName}
89+
return resources.OrganizationQuota{}, Warnings(warnings), actionerror.OrganizationQuotaNotFoundForNameError{Name: orgQuotaName}
9890
}
99-
orgQuota := OrganizationQuota(ccv3OrgQuotas[0])
10091

101-
return orgQuota, Warnings(warnings), nil
92+
return ccv3OrgQuotas[0], Warnings(warnings), nil
10293
}
10394

10495
func (actor Actor) UpdateOrganizationQuota(quotaName string, newName string, limits QuotaLimits) (Warnings, error) {
@@ -123,23 +114,23 @@ func (actor Actor) UpdateOrganizationQuota(quotaName string, newName string, lim
123114
return allWarnings, err
124115
}
125116

126-
func createQuotaStruct(name string, limits QuotaLimits) ccv3.OrganizationQuota {
127-
AppLimit := ccv3.AppLimit{
117+
func createQuotaStruct(name string, limits QuotaLimits) resources.OrganizationQuota {
118+
AppLimit := resources.AppLimit{
128119
TotalMemory: limits.TotalMemoryInMB,
129120
InstanceMemory: limits.PerProcessMemoryInMB,
130121
TotalAppInstances: limits.TotalInstances,
131122
}
132-
ServiceLimit := ccv3.ServiceLimit{
123+
ServiceLimit := resources.ServiceLimit{
133124
TotalServiceInstances: limits.TotalServiceInstances,
134125
PaidServicePlans: limits.PaidServicesAllowed,
135126
}
136-
RouteLimit := ccv3.RouteLimit{
127+
RouteLimit := resources.RouteLimit{
137128
TotalRoutes: limits.TotalRoutes,
138129
TotalReservedPorts: limits.TotalReservedPorts,
139130
}
140131

141-
quota := ccv3.OrganizationQuota{
142-
Quota: ccv3.Quota{
132+
quota := resources.OrganizationQuota{
133+
Quota: resources.Quota{
143134
Name: name,
144135
Apps: AppLimit,
145136
Services: ServiceLimit,
@@ -150,7 +141,7 @@ func createQuotaStruct(name string, limits QuotaLimits) ccv3.OrganizationQuota {
150141
return quota
151142
}
152143

153-
func setZeroDefaultsForQuotaCreation(apps *ccv3.AppLimit, routes *ccv3.RouteLimit, services *ccv3.ServiceLimit) {
144+
func setZeroDefaultsForQuotaCreation(apps *resources.AppLimit, routes *resources.RouteLimit, services *resources.ServiceLimit) {
154145
if apps.TotalMemory == nil {
155146
apps.TotalMemory = &types.NullInt{IsSet: true, Value: 0}
156147
}
@@ -168,7 +159,7 @@ func setZeroDefaultsForQuotaCreation(apps *ccv3.AppLimit, routes *ccv3.RouteLimi
168159
}
169160
}
170161

171-
func convertUnlimitedToNil(apps *ccv3.AppLimit, routes *ccv3.RouteLimit, services *ccv3.ServiceLimit) {
162+
func convertUnlimitedToNil(apps *resources.AppLimit, routes *resources.RouteLimit, services *resources.ServiceLimit) {
172163
flags := []*types.NullInt{
173164
apps.TotalMemory,
174165
apps.InstanceMemory,

0 commit comments

Comments
 (0)