This topic gives you reference information about the Google Pub/Sub service (csb-google-pubsub). It details the plans, configuration parameters, and binding credentials.
Caution The Google Pub/Sub service offering is currently in beta and is intended for evaluation and test purposes only. Do not use this product in a production environment.
When configuring Cloud Service Broker for GCP, you can add additional plans. For how to configure plans, see Configure Services with Cloud Service Broker for GCP.
The following table lists parameters that can only be configured for additional plans.
Parameter Name | Values | Default |
---|---|---|
name * |
The plan name | n/a |
id * |
A unique GUID | n/a |
description * |
Description of the new plan | n/a |
free |
When false, Service Instances of this Service Plan have a cost | true |
bindable |
Specifies whether Service Instances of the Service Plan can bind to applications | true |
plan_updateable |
Whether the Plan supports upgrade/downgrade/sidegrade to another version | true |
* Required
You can also add any of the configuration parameters listed in the parameters section to your plan.
Note If you set a parameter at plan level, developers cannot change the value when creating or updating service instances.
You can provision a service by running:
cf create-service csb-google-pubsub PLAN-NAME SERVICE-INSTANCE-NAME -c '{"PARAMETER-NAME": "PARAMETER-VALUE"}'
You can update the configuration parameters for a service instance by running:
cf update-service SERVICE-INSTANCE-NAME -c '{"PARAMETER-NAME": "PARAMETER-VALUE"}'
The following table lists the parameters that you can configure, by using the -c
flag, when provisioning a csb-google-pubsub service:
Parameter Name | Type | Description | Default | Operation |
---|---|---|---|---|
topic_name |
string | The name of the topic to create. | csb-topic-INSTANCE-ID |
provision and update |
subscription_name |
string | The name of the subscription to create and associate to the topic. If it is not specified, then no subscription is created. | "" |
provision and update |
ack_deadline |
integer | Subscription config- This value is the maximum time after a subscriber receives a message before the subscriber should acknowledge the message (10-600 seconds). | 10 |
provision and update |
push_endpoint |
string | Subscription config- A URL locating the endpoint to which messages should be pushed. If this is set, push delivery is used with this subscription; otherwise, the subscription has pull delivery. | "" |
provision and update |
credentials |
string | The GCP credentials. | The value the operator entered for Credentials in Tanzu Operations Manager. | provision and update |
project |
string | The GCP project to use. | The value the operator entered for Project in Tanzu Operations Manager. | provision and update |
You can bind a service by running:
cf bind-service APP-NAME SERVICE-INSTANCE-NAME --binding-name BINDING-NAME
You can bind a service by running:
cf bind-service APP-NAME SERVICE-INSTANCE --binding-name BINDING-NAME -c '{"PARAMETER-NAME": "PARAMETER-VALUE"}'
The following table lists the parameters that you can configure, by using the -c
flag, when binding to a csb-google-pubsub service:
Parameter Name | Type | Description | Default |
---|---|---|---|
role |
string | (Required) The role for the account without the "roles" prefix. For more information, see the Google Cloud documentation. Your operator can override the default enumeration. Options are pubsub.publisher , pubsub.subscriber , pubsub.viewer and, pubsub.editor . |
pubsub.editor |
credentials |
string | The GCP credentials. | The value the operator entered for Credentials in Tanzu Operations Manager. |
project |
string | The GCP project to use. | The value the operator entered for Project in Tanzu Operations Manager. |
Binding to a Cloud Storage bucket creates a Google Cloud service account that is granted a role within the bucket. The role granted depends on the role
property specified when the binding is created.
The format for binding credentials for a Cloud Storage bucket is as follows:
{
"topic_name" : "TOPIC-NAME",
"subscription_name" : "SUBSCRIPTION-NAME",
"Email" : "SERVICE-ACCOUNT-EMAIL",
"Name" : "SERVICE-ACCOUNT-NAME",
"PrivateKeyData" : "SERVICE-ACCOUNT-PRIVATE-KEY",
"credentials" : "SERVICE-ACCOUNT-CREDENTIALS",
"ProjectId" : "GCP-PROJECT-ID",
"UniqueId" : "SERVICE-ACCOUNT-UNIQUE-ID"
}
Where:
SERVICE-ACCOUNT-CREDENTIALS
is what you normally get as a file when creating service account keys through the CLI or web console (JSON format).SERVICE-ACCOUNT-PRIVATE-KEY
is the base64-encoded private key in JSON format.