Provisioning for AWS CloudFormation
AWS CloudFormation gives developers and systems administrators an easy way to create and manage a collection of related AWS resources, provisioning, and updating them in an orderly and predictable fashion.
BMC Cloud Lifecycle Management service blueprints allow specification of one or more external templates that are sequenced among other template constructs (servers, other PaaS elements, and so on). You can use AWS CloudFormation’s sample templates or create your own templates to describe the AWS resources, and any associated dependencies or runtime parameters, required to run your application.
You can create templates for the service or application architectures you want and have AWS CloudFormation use those templates for quick and reliable provisioning of the services or applications (called “stacks”). The End User Portal or My Cloud Service console shows end users information returned by the template invocation service about the provisioned artifacts, such as names, identifiers and connection details (all grouped under a name and/or identifier for the "stack".
After the AWS resources are deployed, you can also easily update the stack to conform to a newly submitted template (which might effectively roll back any changes in the artifacts, or drive a change into the resultant stack compared to its original state) or replicate the stack as needed.
The following sections describe the process to set up and provision an AWS CloudFormation resource:
- Downloading and deploying AWS CloudFormation artifacts
- Registering AWS CloudFormation as the proxy custom resource provider
- Managing AWS CloudFormation provider users
- Onboarding resources for AWS CloudFormation
- Mapping tenants to the logical data center
- Setting up service blueprints for custom resources
- Creating a service offering
- Provisioning an AWS CloudFormation service
- Managing AWS CloudFormation resources
- Related topics
Downloading and deploying AWS CloudFormation artifacts
To integrate BMC Cloud Lifecycle Management with AWS CloudFormation, install BMC Cloud Lifecycle Management 4.6.03 or later. (For more information, see Installing.) Then, make the necessary changes in your environment.
Registering AWS CloudFormation as the proxy custom resource provider
Registering a provider tells BMC Cloud Lifecycle Management where to obtain resources needed for provisioning. Perform the following steps to set up AWS CloudFormation as the proxy custom resource provider:
- From the BMC Cloud Lifecycle Management Administration Console, click the vertical Workspaces menu on the left side of the window and select Providers.
- Under Quick Links, select Custom.
- On the Providers page, click the Register icon
.
In the Register Provider dialog box, select awscfnprovider as the resource provider type to register.

Complete or modify the following fields, as necessary:
Field
Description
Name
(Required) Specify a name for this instance of the AWS CloudFormation provider.
Description
(Optional) Specify a useful description of the provider. Descriptions can help you distinguish provider instances and help you find a provider by using Search.
Retry count for AWS CloudFormation API execution
(Required) Specify the number of allowable attempts to access the AWS Management Console.
Retry interval for AWS CloudFormation API execution in seconds
(Required) Specify the interval (in seconds) between each retry.
Enter the name or IP address of the system that serves as the proxy host. If proxy is enabled, this field is required.
Enter the port on which BMC Cloud Lifecycle Management communicates with the proxy host (for example, 8080). If proxy is enabled, this field is required.
Enter the name of a user with Administrator privileges on the proxy host.
Enter the password for the above user.
If the proxy host is in a Microsoft NT LAN Manager (NTLM), select the domain name from the drop-down list.
If the proxy host is in a NTLM domain, select the workstation from the drop-down list.
Enable the flag to route requests to Amazon via a proxy
Select True to enable BMC Cloud Lifecycle Management to access the internet via a proxy host.
The default value is False; proxy mode is not enabled.
Managing AWS CloudFormation provider users
If you create a custom provider by using AWS CloudFormation, you can manage users who can access the provider.
- In the Providers workspace, select Custom provider type.
- Click the Mapping User Account button
to open the Manage User Accounts dialog box.
In the User Name field, enter the name of a user you would like to add, and press Enter.
This user is an AWS user who has an access key and secret key.
Enter the authentication parameter values for the user in the table.
The parameters that appear are determined when you set up the integration. The following table lists the parameters that you must use for AWS CloudFormation:Parameter
Description
accessKey
(Required) Specify the access key ID (for example AKIDIOSFORNN7EXAMPLE) that you will use to sign programmatic requests (AWS SDK, REST, or Query APIs) that you will make to AWS.
user
(Required) Specify the port on which the CloudFormation service is running on the host
secretKey
(Required) Specify the secret access key (for example wJalrXUtnFEMI/K7MDENG/sPxRgiCYEXAMPLEKEY) that you will use to sign programmatic requests (AWS SDK, REST, or Query APIs) that you will make to AWS.
New in 4.6.07.001default_region
(Optional) Specify the region, if you are using specific AWS environment. For example, if you are using AWS government environment, you can specify us-gov-west-1. If the field is blank, AWS Public platform is used.
- Click Save.
- To edit a user:
- Select the user name from the table on the left.
- Click the Edit button
. - Make the necessary changes in the parameter table.
- Click Save.
- To delete a user, select the user name, and click the Delete button
.
Onboarding resources for AWS CloudFormation
To prepare the AWS CloudFormation resources that are used for provisioning, you must onboard the logical data centers (LDCs). Then, BMC Cloud Lifecycle Management can use the designated resources.
- From the BMC Cloud Lifecycle Management Administration console, click the vertical Workspaces menu on the left side of the window and select Resources.
- Under Quick Links on the left, click Network Containers.
The system displays all resources currently onboarded. - Click Onboard Logical Data Center
.

- On the Onboard Logical Data Centers dialog box in the Provider field, select the name of the public provider that you set up for AWS CloudFormation, for example, awscfnprovider .
- In the Proxy Provider field that appears, select the name of the proxy provider that you set up for AWS CloudFormation, for example, CloudFormation.
- In the Account field that appears, select the Account that can access the AWS CloudFormation proxy provider.
The available logical data centers appear in the list on the left. - Under Available Logical Data Centers, select resources in the list on the left and move them to the list at right.
The naming convention for LDCs is in the format: Account_Name: Proxy_Provider_Name:Region - Click Onboard.
Mapping tenants to the logical data center
The next step is to map tenants to a logical data center. The steps are similar to mapping tenants to a network container:
- From the BMC Cloud Lifecycle Management – Administration Console, click the vertical Workspaces menu and select Resources.
- Under the Quick Links > Network section, click Network Containers.
- Select the network container to which you want to map one or more tenants.
- Click Manage Tenant Mappings
.
The Map Tenants dialog box is displayed for the selected network container. In the Name field, the name of the logical data center is displayed. In the Available Tenants table, the list of onboarded tenants is displayed.
Select one or more tenants from the tenants table and click Add >.
The selected tenant or tenants are moved to the Mapped Tenants table. You can search for a tenant by using the Search field.Click Save.
The selected tenant or tenants are mapped to the network container.
Setting up service blueprints for custom resources
The Service Designer workspace offers considerable flexibility when defining a blueprint. The following sections provide a set of steps for creating a multi-tier blueprint for a public PaaS service. You can use this approach or develop your own techniques for building a service blueprint.
To create a service blueprint
- In the Service Designer workspace, click Create New > Service Blueprint. Then, click Custom Resource.
A new Custom Resource is added to the service blueprint as shown in the following figure:
- Click Save.
- Enter a unique name for your blueprint to describe the custom resource type (for example, CFN_SingleLAMP).
- Provide a Description.
- Click OK.
To add an AWS CloudFormation resource set to a multi-tier service blueprint
- In the Service Designer workspace, click the AWS CFN resource in the service blueprint that you created.
In the edit pane for that resource set opens, under Custom Resource Properties, specify information for the new AWS ClodFormation resource.

Field
Instruction
Proxy Provider Definition
Select the proxy provider. For AWS CloudFormation, select awscfnprovider.
Type
Select the type of resource. For AWS CloudFormation, select CustomResource.
Subtype
Select the subtype of the resource. For AWS CloudFormation, select AWS CFN.
IR Type
Select the installable resource type. For AWS CloudFormation, select External Repository.
Location
Specify the location of the AWS template in Amazon S3 (for example, https://s3-us-west-2.amazonaws.com/cloudformation-templates-us-west-2/EC2InstanceWithSecurityGroupSample.template).
Account
(Version 4.6.04 and later)Select an AWS CloudFormation account.
Region
(Version 4.6.04 and later)Select the region for the account.
- (Version 4.6.04 and later) Click the Discover Parameters button to upload the parameters for the template file that you entered in the Location field.
The parameters appear on the Parameters panel. Open the Parameters panel, and add, edit, and delete the necessary parameters.

For more information about entering parameters, see Configuring-service-blueprint-parameters.
Click the custom resource set (the green box) to provide basic details.
Field
Instruction
Name
Enter a name for the custom resource set.
Description
Describe the purpose or nature of the custom resource set.
Number of Instances
Enter the number of instances to be provisioned. The number you enter appears in the upper-right corner of the box representing a resource instance.
Tags
Define any tags you want applied to this PaaS resource set. These tags must match the tags you specify in the logical data center.
For more information about tags in service blueprints, see Managing-blueprint-tags.
- To allow a custom resource set to be reused in other service blueprints, save it to the Blueprint Library:
- Right-click the custom resource set and click Convert to Reference.
- Enter a Name for the custom resource set. For example, CFN_Infrastructure. This name will be visible in the Blueprint Library; therefore, provide a name that enables cloud administrators to easily identify the custom resource set.
- Enter a Description of the custom resource set.
- Click OK.
The blueprint is added to the Service Blueprints section of the Blueprint Library.
- When you have finished defining the custom service blueprint, click Save and provide a name for the service blueprint. You can save a version of a blueprint and assign a tag to each version, as described in Creating-copying-or-editing-a-service-blueprint.
Creating a service offering
Many options exist for creating a service offering. The following procedures describe one way to create a typical service offering for a PaaS service.
For additional information, see Creating-cloud-services.
To create a service
Before you can create a service offering, you must first create a service.
- From the BMC Cloud Lifecycle Management Administration Console, click the vertical Workspaces menu on the left side of the window, and click Service Catalog.
- In the Service Catalog, click Create a New Service.
- Enter a service name.
- For Type, select Technical service.
- Enter a description of the service.
- Click Apply.
After you have created a service, you can create a service offering, as described in the next procedure.
To create a service offering
- Using the service you created in the previous procedure, click Create a New Service Offering.
In the General Information tab, define the options described in the following table.
Option
Description
Default Service Offering
Enable this option to make the selected service offering the default for the service. Unless users select a different service offering, the default service offering is used.
Name
Enter a short, descriptive name for the service offering.
Description
Enter a more detailed description of the service offering.
Service Blueprint
Specify the software and hardware to associate with the service offering by selecting one of the available blueprints.
Reference Definition
Specify how to select a version of a service blueprint. You can select a version by number, the latest version, or a version that is associated with a tag.
Definition
Select the definition that provides deployment details. Each service blueprint can include multiple definitions.
- Add a Base Customer Price to define the amount charged to the customer for the service offering. You can enter multiple customer prices for each service.
- Add a Base Deployment Cost to define the amount that it costs to provide the service offering. You can enter one deployment cost for each service.
- Click Apply.
After you have created a service offering, you can create a requestable offering, as described in the next procedure.
To create a requestable offering
Use this procedure to create the service offering that an end user can request.
- From the service offering, select the drop-down list beside the Create the request definition icon and select Create request definition.
The Request Definition dialog box opens. Under Request Definition Details, enter the following information:
Option
Description
Title
Enter a descriptive title for the requestable offering.
Description
Enter a detailed description of the requestable offering.
Start Date
Enter the date when this requestable offering goes online.
Change Policy
Select the change policy required.
Type
Select Compute. (Even when defining a service offering for custom resource provisioning, select Compute.)
- Click Next.
- Under Select Navigation Category, select Cloud Services.
- Under Request Definition Packages, associate one or more entitlement packages with the requestable offering by selecting a package from the Available Packages table and clicking Add.
- Click Finish.
Provisioning an AWS CloudFormation service
AWS CloudFormation resources are represented as Custom Resources with the specified resources and output properties in the My Cloud Services console or End User Portal.
To request a AWS CloudFormation service
After logging in to the My Cloud Services console, search the Catalog for a service that you want to request, add it to your cart, and then submit your request.
- In the Catalog tab of the My Cloud Services Console, use any of the following methods to locate a service:
- Use your browser's scroll bar to browse the tiles for available services.
- Enter search text in the Search Offerings field, and press Enter. You can add multiple search terms. The Catalog is updated automatically to list all the services that match any of the search terms you entered. Click the X next to a search term to remove it from the Search Offerings field.
Select one or more categories in the Filter list. Any categories you select are added to the Search Offerings field, and the Catalog is updated automatically to list only the services in the categories you selected.

For more information about searching, see Searching in the My Cloud Services Console.
- When you have located a service you want to select, click its tile in the Catalog.
The Catalog details page appears for the catalog item you selected.
The estimated cost is calculated in the left column. In the example above, there is no cost for the service. - (Optional) If you are a cloud administrator or a tenant administrator, click Change owner and set the owner for the request. (See To request a service on behalf of another user.)
- (Optional) If you want an email to be sent when this service is provisioned, select the Email technical owner when provisioned check box.
An email is sent to the user if an email address is assigned to that user in the system. (For information about configuring users, see Adding-people-records-from-a-template.) Enter the following information about the service:
Field
Description
Service Name
Name of the service as you would like it to appear in your list of services. This field is required. You can enter a maximum of 80 characters.
Custom Resource Name Prefix
String appended to the custom resource for ease of identification. This field is required.
Description
Description of your service. For example, you might describe the purpose of the service. This field is optional.
- (Optional) If you want to set AWS CloudFormation parameters at runtime, specify the required values.
- When you are satisfied with the configuration of this service, click Add to Cart.
- The Configuration screen remains open, with your options still selected. If you want to edit this instance of the service, enter new details for the instance, and click Update.
When you have added all of the services you want to request, perform one of the following actions:- In the My Cart drop-down window, showing a brief summary of the services in your cart, click Proceed to Checkout.
- From any screen in the My Cloud Services Console, click My Cart.
- On the My Cart screen, which shows the resources ready to be submitted, click Next.
- In the Cart Checkout Information screen > Order Details section, complete all fields present.
Your cloud administrator configures which fields appear in the Order Details section. By default, the following fields are available:- Charge Code—Select a code to which the cost of your request will be charged.
Decommission Date—Select the date at which your services will be decommissioned.
- Click Submit Request.
The My Requests section of the My Resources tab appears, showing the provisioning status of your request. You can also see the status in the Resource List or Activity Log section of the My Resources tab. When you click Submit Request, all of the items in the cart are submitted, and the cart is emptied.
Managing AWS CloudFormation resources
You can perform the following basic management actions if the template is modified:
- Decommission Service: When you create cloud services, you specify a date in the future when the service will be decommissioned. However, you can decommission a service before the planned decommission date.
- Extend Decommission Date: When you create cloud services, you specify a date in the future when the service will be decommissioned. However, you can extend the life of a service past the planned decommission date.
- Reprovision Service: When you create cloud services, you specify provisioning parameters. However, you can update the stack parameters and reprovision the service.
To reprovision a custom resource
Perform the following steps if you want to update the existing CloudFormation resources:
- Navigate to My Cloud Services console > My Resources tab > Resource Type > Custom Resources.
- Click the hyperlink for the specific custom resource as shown in the following figure:

On the Custom Resources details page, click Reprovision as shown in the following figure:

- On the Custom Resource Reprovision dialog box, under the Parameters field, specify new values for the the AWS resources that you want to reprovision.

- Click Reprovision.
Once reprovisioning is complete, the new values for the CloudFormation resources are displayed.
Related topics
