-
Notifications
You must be signed in to change notification settings - Fork 69
/
quota-plans.html.md.erb
144 lines (105 loc) · 5.88 KB
/
quota-plans.html.md.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
---
title: Creating and Modifying Quota Plans
---
<strong><%= modified_date %></strong>
_This page assumes you are using cf CLI v6._
Quota plans are named sets of memory, service, and instance usage quotas. For example, one quota plan might allow up to 10 services, 10 routes, and 2 GB of RAM, while another might offer 100 services, 100 routes, and 10 GB of RAM. Quota plans have user-friendly names, but are referenced in Cloud Foundry internal systems by unique GUIDs.
Quota plans are not directly associated with user accounts. Instead, every organization has a list of available quota plans, and the account admin assigns a specific quota plan from the list to the organization. Everyone in the organization shares the quotas described by the plan. There is no limit to the number of defined quota plans an account can have, but only one plan can be assigned at a time.
# <a id='attributes'></a>Quota Plan Attributes #
<table border="1" class="nic" >
<tr>
<th><strong>Name</strong></th>
<th><strong>Description</strong></th>
<th><strong>Valid Values</strong></th>
<th><strong>Example Value</strong></th>
</tr>
<tr>
<td>name</td><td>The name you use to identify the plan</td><td>A sequence of letters, digits, and underscore characters. Quota plan names within an account must be unique.</td><td>silver_quota</td>
</tr>
<tr>
<td>memory_limit</td><td>Maximum memory usage allowed</td><td>An integer and a unit of measurement like M, MB, G, or GB</td><td>2048M</td>
</tr>
<tr>
<td>non_basic_services_allowed</td><td>Determines whether users can provision instances of non-free service plans. Does not control plan visibility. When false, non-free service plans may be visible in the marketplace but instances can not be provisioned.</td><td><code>true</code> or <code>false</code></td><td>true</td>
</tr>
<tr>
<td>total_routes</td><td>Maximum routes allowed</td><td>An integer</td><td>500</td>
</tr>
<tr>
<td>total_services</td><td>Maximum services allowed</td><td>An integer</td><td>25</td>
</tr>
<tr>
<td>trial_db_allowed</td><td>Legacy Field. Value can be ignored.</td><td><code>true</code> or <code>false</code></td><td>true</td>
</tr>
</table>
# <a id='default'></a>Default Quota Plan #
Cloud Foundry installs with one `default` quota plan with the following limits:
* Memory Limit: 10240 MB
* Total Routes: 1000
* Total Services: 100
* Non-basic Services Allowed: True
* Trial DB Allowed: True
# <a id='new'></a>Creating a New Quota Plan #
You can create a new quota plan in one of two ways:
* Directly modify the CF deployment manifest before deploying.
* Use `cf create-quota` after deploying.
## <a id='manifest'></a> Modifying the Manifest ##
1. In a terminal window, run `bosh edit deployment` to open the deployment manifest YAML file in your default text editor.
1. Search for "quota_definitions".
1. Add a new quota definition with limits that you specify. Use the default quota definition as a formatting template.
The following example shows the `quota_definitions` portion of the `cf.yml` manifest after adding the “silver_quota” plan:
```
quota_definitions:
default:
memory_limit: 10240M
non_basic_services_allowed: true
total_routes: 1000
total_services: 100
trial_db_allowed: true
silver_quota:
memory_limit: 2048M
non_basic_services_allowed: true
total_routes: 500
total_services: 25
trial_db_allowed: true
```
1. Save and close the deployment manifest.
## <a id='create-quota'></a>Using cf create-quota ##
In a terminal window, run the following command. Replace the placeholder attributes with the values for this quota plan:
```
$ cf create-quota QUOTA [-m MEMORY] [-r ROUTES] [-s SERVICE_INSTANCES] [--allow-paid-service-plans]
```
Example:
```
$ cf create-quota small -m 2048M -r 10 -s 10 --allow-paid-service-plans
```
# <a id='modify'></a> Modifying a Quota Plan #
You can modify an existing quota plan in one of two ways:
* Directly modify the CF deployment manifest before deploying.
* Use `cf update-quota` after deploying.
## <a id='modify'></a> Modifying the Manifest ##
1. In a terminal window, run `bosh edit deployment` to open the deployment manifest YAML file in your default text editor.
1. Search for "quota_definitions".
1. Modify the value of the attribute.
1. Save and close the deployment manifest.
## <a id='update-quota'></a> Using cf update-quota ##
1. Run `cf quotas` to find the names of all quota definitions available to your organization. Note the name of the quota plan to be modified.
```
$ cf quotas
Getting quotas as admin@example.com...
OK
name total memory limit instance memory limit routes service instances paid service plans
free 0 0 1000 0 disallowed
paid 10G 0 1000 -1 allowed
small 2G 0 10 10 allowed
trial 2G 0 1000 10 disallowed
```
1. Run `cf update-quota` with the name of the quota. Use the appropriate flags to specify the attributes.
```
cf update-quota QUOTA [-m MEMORY] [-n NEW_NAME] [-r ROUTES] [-s SERVICE_INSTANCES] [--allow-paid-service-plans | --disallow-paid-service-plans]
```
Example:
```
$ cf update-quota small -m 4096M -n medium -r 20 -s 20 --allow-paid-service-plans
```
<p class="note"><strong>Note</strong>: To create or modify quotas for individual spaces rather than across an entire organization, you can use the <code>space-quota</code> command. It is almost identical to the <code>quota</code> command. For example: to create a quota for a space, use <code>create-space-quota</code>. To modify that quota, use the <code>update-quota</code> command. The org manager sets and manages the space quotas.