Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow uppercase chars in service and plan names #433

Merged
merged 1 commit into from
Feb 6, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 13 additions & 5 deletions spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -334,9 +334,17 @@ $ curl http://username:password@service-broker-url/v2/catalog -H "X-Broker-API-V

CLI clients will typically have restrictions on how names, such as service
and plan names, will be provided by users. Therefore, this specification
defines a "CLI-friendly" string as a short string that MUST only use lowercase
characters, numbers and hyphens, with no spaces. This will make it easier for
users when they have to type it as an argument on the command line.
defines a "CLI-friendly" string as a short string that MUST only use
alphanumeric characters and hyphens, with no spaces. This will make it easier
for users when they have to type it as an argument on the command line.
For comparison purposes, service and plan names MUST be treated as
case-sensitive strings.

Note: In previous versions of the specification service and plan names
were not allowed to use uppercase characters. However, this requirement was
not enforced and therefore to ensure backwards compatibility with existing
Service Brokers that might use uppercase characters the specification
as been changed.

For backwards compatibility reasons, this specification does not preclude
the use of CLI-unfriendly strings that might cause problems for command line
Expand All @@ -353,7 +361,7 @@ It is therefore RECOMMENDED that implementations avoid such strings.

| Response field | Type | Description |
| --- | --- | --- |
| name* | string | A CLI-friendly name of the service. MUST only contain lowercase characters, numbers and hyphens (no spaces). MUST be unique across all service objects returned in this response. MUST be a non-empty string. |
| name* | string | A CLI-friendly name of the service. MUST only contain alphanumeric characters and hyphens (no spaces). MUST be unique across all service objects returned in this response. MUST be a non-empty string. |
| id* | string | An identifier used to correlate this service in future requests to the Service Broker. This MUST be globally unique. MUST be a non-empty string. Using a GUID is RECOMMENDED. |
| description* | string | A short description of the service. MUST be a non-empty string. |
| tags | array-of-strings | Tags provide a flexible mechanism to expose a classification, attribute, or base technology of a service, enabling equivalent services to be swapped out without changes to dependent logic in applications, buildpacks, or other services. E.g. mysql, relational, redis, key-value, caching, messaging, amqp. |
Expand Down Expand Up @@ -389,7 +397,7 @@ how Platforms might expose these values to their users.
| Response field | Type | Description |
| --- | --- | --- |
| id* | string | An identifier used to correlate this plan in future requests to the Service Broker. This MUST be globally unique. MUST be a non-empty string. Using a GUID is RECOMMENDED. |
| name* | string | The CLI-friendly name of the plan. MUST only contain lowercase characters, numbers and hyphens (no spaces). MUST be unique within the service. MUST be a non-empty string. |
| name* | string | The CLI-friendly name of the plan. MUST only contain alphanumeric characters and hyphens (no spaces). MUST be unique within the service. MUST be a non-empty string. |
| description* | string | A short description of the plan. MUST be a non-empty string. |
| metadata | object | An opaque object of metadata for a Service Plan. Controller treats this as a blob. Note that there are [conventions](profile.md#service-metadata) in existing Service Brokers and controllers for fields that aid in the display of catalog data. |
| free | boolean | When false, Service Instances of this plan have a cost. The default is true. |
Expand Down