PowerVS Workspace
Summary
This root module automates and provisions a IBM Power Virtual Server Workspace with following components:
Creates an IBM® Power Virtual Server (PowerVS) workspace.
Creates an SSH key.
Optionally create one or two or three private subnets.
Optionally create one public subnet.
Optionally create one or two IBM Cloud connections and attaches the private subnets to the IBM Cloud connections in non-PER DC.
Optionally attach the IBM Cloud connections to a transit gateway in non-PER DC.
Optionally attach the PowerVS workspace to transit gateway in PER DC.
Optionally import list of stock catalog images.
Overview
terraform-ibm-powervs-workspace
Usage
Required IAM access policies
You need the following permissions to run this module.
Account Management
Resource Group service
IAM Services
Workspace for Power Virtual Server service
Power Virtual Server service
VPC Infrastructure Services service
Transit Gateway service
Direct Link service
Requirements
Modules
Resources
Inputs
Name
Description
Type
Default
Required
pi_cloud_connection
Cloud connection configuration: speed (50, 100, 200, 500, 1000, 2000, 5000, 10000 Mb/s), count (1 or 2 connections), global_routing (true or false), metered (true or false). Not applicable for PER enabled DC and CCs will not be created.
object({ count = number speed = number global_routing = bool metered = bool })
{ "count": 2, "global_routing": true, "metered": true, "speed": 5000 }
no
pi_image_names
List of images to be imported into cloud account from catalog images. Supported values can be found here
list(string)
n/a
yes
pi_private_subnet_1
IBM Cloud PowerVS first private subnet name and cidr which will be created. Set value to null to not create this subnet.
object({ name = string cidr = string })
{ "cidr": "10.51.0.0/24", "name": "sub_1" }
no
pi_private_subnet_2
IBM Cloud PowerVS second private subnet name and cidr which will be created. Set value to null to not create this subnet.
object({ name = string cidr = string })
null
no
pi_private_subnet_3
IBM Cloud PowerVS third private subnet name and cidr which will be created. Set value to null to not create this subnet.
object({ name = string cidr = string })
null
no
pi_public_subnet_enable
IBM Cloud PowerVS Public Network. Set to true to enable this.
bool
false
no
pi_resource_group_name
Existing Resource Group Name.
string
n/a
yes
pi_ssh_public_key
Name and value of the Public SSH key to create.
object({ name = string value = string })
n/a
yes
pi_tags
List of Tag names for IBM Cloud PowerVS workspace. Can be set to null.
list(string)
null
no
pi_transit_gateway_connection
Set enable to true and provide ID of the existing transit gateway to attach the CCs( Non PER DC) to TGW or to attach PowerVS workspace to TGW (PER DC). If enable is false, CCs will not be attached to TGW , or PowerVS workspace will not be attached to TGW, but CCs in (Non PER DC) will be created.
object({ enable = bool transit_gateway_id = string })
{ "enable": false, "transit_gateway_id": "" }
no
pi_workspace_name
Name of IBM Cloud PowerVS workspace which will be created.
string
n/a
yes
pi_zone
IBM Cloud PowerVS zone.
string
n/a
yes
Outputs
Contributing
You can report issues and request features for this module in GitHub issues in the module repo. See Report an issue or request a feature .
To set up your local development environment see Local development setup in the project documentation.