vpc-vsi
cloud-native-toolkit/vpc-vsi/ibm
Module to provision a Virtual Server instance in an IBM Cloud Virtual Private Cloud instance
VPC Virtual Server instance Module to provision a Virtual Server Instance (VSI) within an existing Virtual Private Cloud instance. The VSI can optionally be configured with Flow Logs to satisfy requirements imposed by security contraints. Software dependencies The module depends on the following software components: Command-line tools - terraform - v13 Terraform providers - IBM Cloud provider >= 1.23.0 Module dependencies Example usage Refer Test cases for more details ``hcl-terraform terraform { required_providers { ibm = { source = "ibm-cloud/ibm" } } required_version = ">= 0.13" } provider "ibm" { ibmcloud_api_key = var.ibmcloud_api_key region = var.region } module "vsi" { source = "github.com/cloud-native-toolkit/terraform-ibm-vpc-vsi.git" resource_group_id = module.resource_group.id r
| Name | Type | Description | Default |
|---|---|---|---|
| vpc_name | string | The name of the vpc instance | required |
| vpc_subnet_count | number | Number of vpc subnets | required |
| ibmcloud_api_key | string | The IBM Cloud api token | required |
| resource_group_id | string | The id of the IBM Cloud resource group where the VPC has been provisioned. | required |
| region | string | The IBM Cloud region where the cluster will be/has been installed. | required |
| vpc_subnets | list(object({ label = stri | List of subnets with labels | required |
| kms_enabled | bool | Flag indicating that the volumes should be encrypted using a KMS. | false |
| image_name | string | The name of the image to use for the virtual server | "ibm-ubuntu-18-04-6-minimal-amd64-3" |
| allow_ssh_from | string | An IP address, a CIDR block, or a single security group identifier to allow inco | "" |
| create_public_ip | bool | Set whether to allocate a public IP address for the virtual server instance | false |
| tags | list(string) | Tags that should be added to the instance | [] |
| kms_key_crn | string | The crn of the root key in the kms instance. Required if kms_enabled is true | "" |
| security_group_rules | list(object({ name=string | List of security group rules to set on the bastion security group in addition to | [] |
| profile_name | string | Instance profile to use for the bastion instance | "cx2-2x4" |
| ssh_key_id | string | SSH key ID to inject into the virtual server instance | "" |
| init_script | string | Script to run during the instance initialization. Defaults to an Ubuntu specific | "" |
| auto_delete_volume | bool | Flag indicating that any attached volumes should be deleted when the instance is | true |
| target_network_range | string | The ip address range that should be used for the network acl rules generated fro | "0.0.0.0/0" |
| label | string | The label for the server instance | "server" |
| allow_deprecated_image | bool | Flag indicating that deprecated images should be allowed for use in the Virtual | true |
| base_security_group | string | The id of the base security group to use for the VSI instance. If not provided t | null |
| acl_rules | list(object({ name=string | List of rules to set on the subnet access control list | [] |
service — The name of the service for the instancetype — The type of the service for the instancelabel — The label used for the instancesecurity_group_id — The id of the security group that was createdsecurity_group — The security group that was creatednames — The instance namepublic_ips — The public ips of the instanceslocation — The instance locationnetwork_interface_idscount — The number of vsi instances created. Should be the same as length(names)ids — The instance idcrns — The crn of the instanceprivate_ips — The private ips of the instancesAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,