-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvariables.tf
138 lines (118 loc) · 5.06 KB
/
variables.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
variable "powervs_zone" {
description = "IBM Cloud data center location where IBM PowerVS infrastructure will be created."
type = string
}
variable "powervs_resource_group_name" {
description = "Existing IBM Cloud resource group name."
type = string
}
variable "prefix" {
description = "A unique identifier for resources. Must begin with a lowercase letter and end with a lowercase letter or number. This prefix will be prepended to any resources provisioned by this template. Prefixes must be 16 or fewer characters."
type = string
}
variable "preset" {
description = "Use one of supported [configurations](https://github.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/tree/main/examples/ibm-catalog/presets/slz_json_configs_for_powervs). Copy the configuration from the link into the `preset` deployment value."
type = string
validation {
condition = (var.preset != null && var.preset != "")
error_message = "Please enter the required preset json."
}
}
variable "ssh_public_key" {
description = "Public SSH Key for VSI creation. Must be an RSA key with a key size of either 2048 bits or 4096 bits (recommended). Must be a valid SSH key that does not already exist in the deployment region."
type = string
}
variable "ssh_private_key" {
description = "Private SSH key (RSA format) used to login to IBM PowerVS instances. Should match to public SSH key referenced by 'ssh_public_key'. Entered data must be in [heredoc strings format](https://www.terraform.io/language/expressions/strings#heredoc-strings). The key is not uploaded or stored. For more information about SSH keys, see [SSH keys](https://cloud.ibm.com/docs/vpc?topic=vpc-ssh-keys)."
type = string
sensitive = true
}
variable "configure_dns_forwarder" {
description = "Specify if DNS forwarder will be configured. This will allow you to use central DNS servers (e.g. IBM Cloud DNS servers) sitting outside of the created IBM PowerVS infrastructure. If yes, ensure 'dns_forwarder_config' optional variable is set properly. DNS forwarder will be installed on the private-svs vsi."
type = bool
default = true
}
variable "configure_ntp_forwarder" {
description = "Specify if NTP forwarder will be configured. This will allow you to synchronize time between IBM PowerVS instances. NTP forwarder will be installed on the private-svs vsi."
type = bool
default = true
}
variable "configure_nfs_server" {
description = "Specify if NFS server will be configured. This will allow you easily to share files between PowerVS instances (e.g., SAP installation files). NFS server will be installed on the private-svs vsi."
type = bool
default = true
}
#####################################################
# Optional Parameters
#####################################################
variable "powervs_management_network" {
description = "Name of the IBM Cloud PowerVS management subnet and CIDR to create."
type = object({
name = string
cidr = string
})
default = {
name = "mgmt_net"
cidr = "10.51.0.0/24"
}
}
variable "powervs_backup_network" {
description = "Name of the IBM Cloud PowerVS backup network and CIDR to create."
type = object({
name = string
cidr = string
})
default = {
name = "bkp_net"
cidr = "10.52.0.0/24"
}
}
variable "cloud_connection" {
description = "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)"
type = object({
count = number
speed = number
global_routing = bool
metered = bool
})
default = {
count = 2
speed = 5000
global_routing = true
metered = true
}
}
variable "powervs_image_names" {
description = "List of Images to be imported into cloud account from catalog images"
type = list(string)
default = ["SLES15-SP3-SAP", "SLES15-SP3-SAP-NETWEAVER", "RHEL8-SP4-SAP", "RHEL8-SP4-SAP-NETWEAVER"]
}
variable "tags" {
description = "List of tag names for the IBM Cloud PowerVS workspace"
type = list(string)
default = ["sap"]
}
variable "dns_forwarder_config" {
description = "Configuration for the DNS forwarder to a DNS service that is not reachable directly from PowerVS."
type = object({
dns_servers = string
})
default = {
"dns_servers" = "161.26.0.7; 161.26.0.8; 9.9.9.9;"
}
}
variable "ibmcloud_api_key" {
description = "The IBM Cloud platform API key needed to deploy IAM enabled resources."
type = string
sensitive = true
default = null
}
#############################################################################
# Schematics Output
#############################################################################
# tflint-ignore: terraform_naming_convention
variable "IC_SCHEMATICS_WORKSPACE_ID" {
default = ""
type = string
description = "leave blank if running locally. This variable will be automatically populated if running from an IBM Cloud Schematics workspace"
}