Add GCP Services to the Catalog
GCP published services can include deployment configurations as well as custom components. Through deployments, you can use Commander to provision any resource supported by Google Cloud Deployment Manager.
- Specifying parameter values for a deployment configuration isn't currently supported; all parameter values must be specified in the configuration itself.
- Multi-cloud services aren't supported for GCP.
See also:
- Configurations Overview in the Google Cloud documentation
- GCP Deployments to learn how Commander handles deployments
- Google Cloud Platform to learn how to get started with GCP
Add new GCPs service to the catalog
Access: | Configuration > Self-Service |
Available to: | Commander Roles of Superuser and Enterprise Admin |
- Click the Catalog tab.
- On the Catalog tab, click Add Service.
You can select an existing service and click Copy. This can save time because it copies much of the service's existing configuration.
Service Description page
Customize display options for this service.
Field | Description |
---|---|
Name | The display name for this service in the Service Catalog (maximum 100 characters). This name is used as the label for the Service section of the Request New Service form. Choose a distinctive Service Name to help requesters fill out the form. |
Description | Optional; up to 1000 characters. Along with the Name field, the Description field is used in Service Catalog searches, so adding a description can help users find service catalog entries. |
Icon | Choose an icon from those available, or click Manage Icons to add an icon. See Managing Icons for the Service Catalog for more details. |
Categories | To help users find this service in a long list, choose one or more categories from those available, or click Manage Categories to add a category. See Managing Categories for the Service Catalog for more details. |
Components page
On this page, you can add GCP deployment configurations and custom components to the service.
The maximum number of components in a service is 15.
To add a GCP deployment configuration to the service:
- Click Add and select GCP Deployment Configuration.
- In the Add GCP Deployment Configuration dialog, browse to a YAML configuration file or a ZIP file.
The maximum uncompressed size of a deployment configuration is 1 MB.
If you upload a YAML file, it must not import external files.
If you upload a ZIP file:
- The ZIP file must include:
- One YAML configuration file, at the root level. If your ZIP file contains multiple YAML files, Commander uses the YAML file whose name matches the name of the ZIP file.
- All Jinja or Python template files imported by the YAML configuration file.
- Any schema files for the templates, in JSON format.
- File and directory names must include only simple ASCII characters.
-
The ZIP file must use relative paths, not absolute paths (for example,
network/firewall.py
, notC:/network/firewall.py
). - You must replace all backslashes in references and imports with forward slashes. Commander doesn't support the use of backslash as path separator when uploading a ZIP file. For example, a YAML file with the following imports will generate the error "GCP deployment configurations must use forward slash as path separator":
imports:
- path: network\network-template.jinja
- path: network\firewall-template.jinjaWhen the imports section is edited as follows, validation is successful:
imports:
- path: network/network-template.jinja
- path: network/firewall-template.jinja - Click OK.
The YAML file and any schema files are parsed, and basic validation for size and schema imports is performed. Commander displays an error if any files imported by the YAML and schema files are missing.
The new Deployment Configuration component appears on the Component Blueprints page.
- Add more deployment configurations or custom components to the service as required.
Component-specific pages
A subpage is added to the Add Service wizard for each component added to the service.
On each subpage, you see tabs allowing you to customize options for each component in the service.
Adding elements to the Form tab allows requesters to change the default settings you configure on the other tabs. If a requester changes your configured defaults, the changes are displayed in approval emails, on the approval landing page, and in the Request Details dialog.
Specifying parameter values for a GCP deployment configuration isn't yet supported; in this release, all parameter values must be specified in the configuration.
Infrastructure tab
Set infrastructure options for this specific component.
Field | Description |
---|---|
Name | Optional: Customize the display name for this component in the Service Catalog (maximum 100 characters). This name is used as the label for the Component section of the Request New Service form. Choose a distinctive component name to help requesters fill out the form. |
Description | Optional: Customize the description for this component in the service catalog (maximum 1000 characters). A user sees the component description when viewing service details and when completing a service request form. |
Deployed Name | Specify the name for this deployment when it's provisioned. Select Use default naming format to use the default global naming convention for virtual services, or enter a customized name. To prevent deployment failure, your naming convention must adhere to GCP's strict naming rules. GCP mandates that deployment names comply with RFC 1035. Names must contain between 1 and 63 characters and must match the following regular expression:
Names must start with a letter, end with a letter or digit, and have as interior characters only letters, digits and hyphen. If you don't want to edit your global naming convention to adhere to GCP's strict rules, we recommend customizing the name in the service catalog entry instead. The name specified in the service catalog takes precedence over the global naming convention. Click Configure global text replacement rules to shorten your component names. For more information, see Set up text replacement rules for service names |
Completion Workflow | If you have set up one or more component-level completion workflows, you can select one from the menu. Completion workflows allow you to specify actions to be carried out after deployment. You can click Add Workflow to create a new workflow. You can click Edit Workflow to edit the workflow that's currently selected in the drop-down list. Note that when you edit the workflow using this link, you're editing the workflow for all of the components or services it's assigned to. While it's possible to create completion workflows for all component types, they're especially recommended for custom components. If no completion workflow is assigned, a custom component moves immediately to the Completed state once approved. A completion workflow allows for provisioning steps to be carried out before the component moves to Completed. The completion workflow for a database instance, for example, could include a script to create the database. Completion workflows don't act on a GCP Deployment's resources (that is, its child VMs). Completion workflows act only on the GCP Deployment component itself. |
Enter an estimated annual cost for the entire deployment and select a currency. For more information, seeCosts for deployment configurations. You can click Google Cost Calculator to go to GCP and calculate the cost of all resources in the deployment. The GCP cost calculator provides a monthly cost, while Commander requires an annual cost. |
Attributes tab: Custom Attributes
Set custom attributes and their default values for this specific component. On the Form tab, you can allow requesters to set values for custom attributes. If you don't specify a default value, no default is set for the component. If you add an attribute on the Form tab, the default value you set on the Attributes tab is presented to the requester as the default value.
To be able to add a custom attribute for this component on the request form, you must add the custom attribute on the Attributes tab first.
Click Add Attributes to select from the list of existing custom attributes. In the Add Attributes dialog, Form attributes and custom attributes applicable to the current component type are displayed.
To edit existing custom attributes, click Manage Attributes. On the Custom Attributes page, you can add and edit custom attributes. Click the browser's Back button to return to the Attributes tab.
If you add list-type custom attributes that are interrelated, the attributes are displayed in the order of parent to child to grandchild (if applicable). Your selection of a default value for the parent affects the selectable values for the sublist attribute. For more information, see Create Relationships Between Attributes Used on Forms.
Attributes tab: Groups
Set the default groups for this component. To learn about groups, including other methods for assigning groups to new services, see Manage Service Groups.
If this component is a VM or VM template, groups assigned to the source template or VM aren't prepopulated on the Attributes tab.
Click Add Groups to select one or more group types and click OK. On the Attributes tab, select a group from the relevant menu.
To add, edit, or delete groups, click Manage Groups; when finished, click your browser's Back button to return to the Attributes tab.
Form tab
On this tab, you customize the form users see when they request this specific component. Adding elements to the Form tab allows requesters to change the default settings you configured on the other tabs.
If you leave the Form tab blank, requesters won't see a Component form; they will see only the Service-level form that's configured as part of a new service request. For more information, see Create New Service Requests.
Form Element | Description |
---|---|
Header | Adds heading text to the form. |
Text | Adds explanatory text to the form. |
Allows the requester to enter a value, such as a note or a password. Important: If users will be entering a password on the request form, enable Hide User Input. When Hide User Input is enabled:
| |
Dynamic List | Allows the requester to select options from lists that are updated in real time from an external source. If the lists can depend on other form elements, the selection of one form element can dictate the available choices for another list. For more information, see Add Dynamic Lists to Forms. |
Allows the requester to specify the name of the deployment. The Maximum Length field allows you to change the maximum number of characters (default: 50). See also Order of precedence for deployed service names. Important: Commander doesn't validate that the name entered by a requester complies with GCP naming restrictions. To prevent provisioning failure, if you add this element to the request form, we recommend also adding a Text form element to explain GCP's naming restrictions. Here's some text you can copy/paste into the Text form element: Names must contain between 1 and 63 characters, start with a letter, end with a letter or digit, and have as interior characters only letters, digits, and hyphen. | |
Allows the requester to specify custom attribute values for a component. If you added custom attributes on the Attributes tab, or if custom attributes were assigned to the source VM template, these attributes appear in the Attributes list. Click a custom attribute to add it to the form. If the attribute is a list-type attribute and configured to apply only to forms, you can enable Select Multiple to allow users to select multiple values for this attribute. For more information, see Form custom attributes. If you add a custom attribute to the Form tab and add the same attribute to the Service form (see Create New Service Requests), the value specified on the Service form takes precedence. |
Deployment page
When you've finished setting options for each component in the service, specify deployment options for the entire service.
Field | Description |
---|---|
Deployment Type | Specify the policy for creating the resources in this deployment. With the default selection, Create Or Acquire, the deployment acquires any existing resources in the target project and creates the rest. Select Acquire if you have a number of resources already in your project, and you want to manage them together, as a single deployment. Notes:
|
Deployment Order | Some components in a multi-tier service may require other components to be started and running before they can start. Within each group, components are sorted in alphabetical order. Components are deployed serially, not in parallel. An administrator can override this deployment order by manually deploying components in a different order. |
Completion Workflow | If you have set up one or more service-level completion workflows, you can select one from the drop-down menu. Completion workflows allow you to specify actions to be carried out after deployment. You can click Add Workflow to create a new workflow. You can click Edit Workflow to edit the workflow that's currently selected in the drop-down list. Note that when you edit the workflow using this link, you're editing the workflow for all of the components or services it's assigned to. |
Placement page
When you assign a placement attribute value to a published service, you're identifying the requirements of that published service to help ensure that services are deployed to the best destination.
- Click Edit Placement Attributes.
- In the Edit Placement Attributes dialog, in the Not Required pane, select an attribute value that's provided by this destination and click Add to move it to the Required pane.
- Click OK to close the Edit Placement Attributes dialog.
- The placement attribute values you've assigned to this service are displayed on the Placement page.
- For a placement attribute with selectable values, use the Up and Down arrow buttons to order the attribute values by preference. For example, if a service can be deployed on either private or public cloud, but private cloud is preferable, make sure the Private Cloud attribute value is first in the list.
For more information, see Configure Placement Attributes.
Visibility page
Specify which users and groups can request this service.
Summary page
Review the details and click Finish.
The service is displayed in the Service Catalog List View or Table View.
What's next
Users with visibility of the service can now submit a service request. For more information, see Request New Services.
You can edit the service at any time by selecting it in the list and clicking Edit.