|
58 | 58 | }, |
59 | 59 | "configuration": [ |
60 | 60 | { |
61 | | - "key": "ibmcloud_api_key" |
| 61 | + "key": "ibmcloud_api_key", |
| 62 | + "type": "password", |
| 63 | + "description": "The IBM Cloud API key to deploy resources.", |
| 64 | + "required": true |
62 | 65 | }, |
63 | 66 | { |
64 | | - "key": "use_existing_resource_group" |
| 67 | + "key": "use_existing_resource_group", |
| 68 | + "type": "boolean", |
| 69 | + "default_value": false, |
| 70 | + "description": "Whether to use an existing resource group.", |
| 71 | + "required": false |
65 | 72 | }, |
66 | 73 | { |
67 | | - "key": "resource_group_name" |
| 74 | + "key": "resource_group_name", |
| 75 | + "type": "string", |
| 76 | + "default_value": "__NOT_SET__", |
| 77 | + "description": "The name of a new or an existing resource group in which to provision resources to. If a prefix input variable is specified, the prefix is added to the name in the `<prefix>-<name>` format.", |
| 78 | + "required": true |
68 | 79 | }, |
69 | 80 | { |
70 | | - "key": "prefix" |
| 81 | + "key": "prefix", |
| 82 | + "type": "string", |
| 83 | + "default_value": "__NULL__", |
| 84 | + "description": "The prefix to add to all resources created by this solution.", |
| 85 | + "required": false |
71 | 86 | }, |
72 | 87 | { |
73 | | - "key": "existing_monitoring_crn" |
| 88 | + "key": "existing_monitoring_crn", |
| 89 | + "type": "string", |
| 90 | + "default_value": "__NULL__", |
| 91 | + "description": "The CRN of an IBM Cloud Monitoring instance to to send Security and Compliance Object Storage bucket metrics to, as well as Workload Protection data. If no value passed, metrics are sent to the instance associated to the container's location unless otherwise specified in the Metrics Router service configuration. Ignored if using existing Object Storage bucket and not provisioning Workload Protection.", |
| 92 | + "required": false |
74 | 93 | }, |
75 | 94 | { |
76 | | - "key": "existing_kms_instance_crn" |
| 95 | + "key": "existing_kms_instance_crn", |
| 96 | + "type": "string", |
| 97 | + "default_value": "__NULL__", |
| 98 | + "description": "The CRN of the existing Hyper Protect Crypto Services or Key Protect instance. Applies only if not supplying an existing KMS root key and if `skip_cos_kms_auth_policy` is true.", |
| 99 | + "required": false |
77 | 100 | }, |
78 | 101 | { |
79 | | - "key": "existing_scc_instance_crn" |
| 102 | + "key": "existing_scc_instance_crn", |
| 103 | + "type": "string", |
| 104 | + "default_value": "__NULL__", |
| 105 | + "description": "The CRN of an existing Security and Compliance Center instance. If not supplied, a new instance will be created.", |
| 106 | + "required": false |
80 | 107 | }, |
81 | 108 | { |
82 | 109 | "key": "existing_scc_cos_kms_key_crn", |
83 | | - "required": true |
| 110 | + "type": "string", |
| 111 | + "default_value": "__NULL__", |
| 112 | + "description": "The CRN of an existing KMS key to use to encrypt the Security and Compliance Center Object Storage bucket. If no value is set for this variable, specify a value for either the `existing_kms_instance_crn` variable to create a key ring and key, or for the `existing_scc_cos_bucket_name` variable to use an existing bucket.", |
| 113 | + "required": false |
84 | 114 | }, |
85 | 115 | { |
86 | 116 | "key": "kms_endpoint_type", |
| 117 | + "type": "string", |
| 118 | + "default_value": "private", |
| 119 | + "description": "The endpoint for communicating with the KMS instance. Possible values: `public`, `private.`", |
| 120 | + "required": false, |
87 | 121 | "options": [ |
88 | 122 | { |
89 | 123 | "displayname": "Public", |
|
96 | 130 | ] |
97 | 131 | }, |
98 | 132 | { |
99 | | - "key": "scc_cos_key_ring_name" |
| 133 | + "key": "scc_cos_key_ring_name", |
| 134 | + "type": "string", |
| 135 | + "default_value": "scc-cos-key-ring", |
| 136 | + "description": "The name for the key ring created for the Security and Compliance Center Object Storage bucket key. Applies only if not specifying an existing key. If a prefix input variable is specified, the prefix is added to the name in the `<prefix>-<name>` format.", |
| 137 | + "required": false |
100 | 138 | }, |
101 | 139 | { |
102 | | - "key": "scc_cos_key_name" |
| 140 | + "key": "scc_cos_key_name", |
| 141 | + "type": "string", |
| 142 | + "default_value": "scc-cos-key", |
| 143 | + "description": "The name for the key created for the Security and Compliance Center Object Storage bucket. Applies only if not specifying an existing key. If a prefix input variable is specified, the prefix is added to the name in the `<prefix>-<name>` format.", |
| 144 | + "required": false |
103 | 145 | }, |
104 | 146 | { |
| 147 | + "key": "cos_region", |
| 148 | + "type": "string", |
| 149 | + "default_value": "us-south", |
| 150 | + "description": "The region for the Object Storage instance.", |
| 151 | + "required": true, |
105 | 152 | "custom_config": { |
106 | | - "config_constraints": { |
107 | | - "generationType": "2" |
108 | | - }, |
| 153 | + "type": "region", |
109 | 154 | "grouping": "deployment", |
110 | 155 | "original_grouping": "deployment", |
111 | | - "type": "region" |
112 | | - }, |
113 | | - "key": "cos_region", |
114 | | - "required": true, |
115 | | - "type": "string" |
| 156 | + "config_constraints": { |
| 157 | + "generationType": "2" |
| 158 | + } |
| 159 | + } |
116 | 160 | }, |
117 | 161 | { |
118 | | - "key": "cos_instance_name" |
| 162 | + "key": "cos_instance_name", |
| 163 | + "type": "string", |
| 164 | + "default_value": "base-security-services-cos", |
| 165 | + "description": "The name for the Object Storage instance. If a prefix input variable is specified, the prefix is added to the name in the `<prefix>-<name>` format.", |
| 166 | + "required": false |
119 | 167 | }, |
120 | 168 | { |
121 | | - "key": "cos_instance_tags" |
| 169 | + "key": "cos_instance_tags", |
| 170 | + "type": "array", |
| 171 | + "default_value": "[]", |
| 172 | + "description": "The list of tags to add to the Object Storage instance. Applies only if not specifying an existing instance.", |
| 173 | + "required": false |
122 | 174 | }, |
123 | 175 | { |
124 | | - "key": "cos_instance_access_tags" |
| 176 | + "key": "cos_instance_access_tags", |
| 177 | + "type": "array", |
| 178 | + "default_value": "[]", |
| 179 | + "description": "A list of access tags to apply to the Object Storage instance. Applies only if not specifying an existing instance.", |
| 180 | + "required": false |
125 | 181 | }, |
126 | 182 | { |
127 | | - "key": "scc_cos_bucket_name" |
| 183 | + "key": "scc_cos_bucket_name", |
| 184 | + "type": "string", |
| 185 | + "default_value": "base-security-services-bucket", |
| 186 | + "description": "The name for the Security and Compliance Center Object Storage bucket. Bucket names must globally unique. If `add_bucket_name_suffix` is true, a 4-character string is added to this name to ensure it's globally unique. If a prefix input variable is specified, the prefix is added to the name in the `<prefix>-<name>` format.", |
| 187 | + "required": false |
128 | 188 | }, |
129 | 189 | { |
130 | | - "key": "add_bucket_name_suffix" |
| 190 | + "key": "add_bucket_name_suffix", |
| 191 | + "type": "boolean", |
| 192 | + "default_value": true, |
| 193 | + "description": "Whether to add a generated 4-character suffix to the created Security and Compliance Center Object Storage bucket name. Applies only if not specifying an existing bucket. Set to `false` not to add the suffix to the bucket name in the `scc_cos_bucket_name` variable.", |
| 194 | + "required": false |
131 | 195 | }, |
132 | 196 | { |
133 | | - "key": "scc_cos_bucket_access_tags" |
| 197 | + "key": "scc_cos_bucket_access_tags", |
| 198 | + "type": "array", |
| 199 | + "default_value": "[]", |
| 200 | + "description": "The list of access tags to add to the Security and Compliance Center Object Storage bucket.", |
| 201 | + "required": false |
134 | 202 | }, |
135 | 203 | { |
136 | 204 | "key": "scc_cos_bucket_class", |
| 205 | + "type": "string", |
| 206 | + "default_value": "smart", |
| 207 | + "description": "The storage class of the newly provisioned Security and Compliance Center Object Storage bucket. Possible values: `standard`, `vault`, `cold`, `smart`, `onerate_active`. [Learn more](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-classes).", |
| 208 | + "required": false, |
137 | 209 | "options": [ |
138 | 210 | { |
139 | 211 | "displayname": "Cold", |
|
158 | 230 | ] |
159 | 231 | }, |
160 | 232 | { |
161 | | - "key": "existing_cos_instance_crn" |
| 233 | + "key": "existing_cos_instance_crn", |
| 234 | + "type": "string", |
| 235 | + "default_value": "__NULL__", |
| 236 | + "description": "The CRN of an existing Object Storage instance. If not specified, an instance is created.", |
| 237 | + "required": false |
162 | 238 | }, |
163 | 239 | { |
164 | | - "key": "existing_scc_cos_bucket_name" |
| 240 | + "key": "existing_scc_cos_bucket_name", |
| 241 | + "type": "string", |
| 242 | + "default_value": "__NULL__", |
| 243 | + "description": "The name of an existing bucket inside the existing Object Storage instance to use for Security and Compliance Center. If not specified, a bucket is created.", |
| 244 | + "required": false |
165 | 245 | }, |
166 | 246 | { |
167 | | - "key": "skip_cos_kms_auth_policy" |
| 247 | + "key": "skip_cos_kms_auth_policy", |
| 248 | + "type": "boolean", |
| 249 | + "default_value": false, |
| 250 | + "description": "Set to `true` to skip the creation of an IAM authorization policy that permits the Object Storage instance to read the encryption key from the KMS instance. An authorization policy must exist before an encrypted bucket can be created.", |
| 251 | + "required": false |
168 | 252 | }, |
169 | 253 | { |
170 | 254 | "key": "management_endpoint_type_for_bucket", |
| 255 | + "type": "string", |
| 256 | + "default_value": "private", |
| 257 | + "description": "The type of endpoint for the IBM Terraform provider to use to manage Object Storage buckets. Possible values: `public`, `private`m `direct`. If you specify `private`, enable virtual routing and forwarding in your account, and the Terraform runtime must have access to the the IBM Cloud private network.", |
| 258 | + "required": false, |
171 | 259 | "options": [ |
172 | 260 | { |
173 | 261 | "displayname": "Direct", |
|
184 | 272 | ] |
185 | 273 | }, |
186 | 274 | { |
187 | | - "key": "scc_instance_name" |
| 275 | + "key": "scc_instance_name", |
| 276 | + "type": "string", |
| 277 | + "default_value": "base-security-services-scc", |
| 278 | + "description": "The name for the Security and Compliance Center instance provisioned by this solution. If a prefix input variable is specified, the prefix is added to the name in the `<prefix>-<name>` format.", |
| 279 | + "required": false |
188 | 280 | }, |
189 | 281 | { |
190 | 282 | "key": "scc_region", |
| 283 | + "type": "string", |
| 284 | + "default_value": "us-south", |
| 285 | + "description": "The region to provision Security and Compliance Center resources in.", |
| 286 | + "required": false, |
191 | 287 | "options": [ |
192 | 288 | { |
193 | 289 | "displayname": "Dallas (us-south)", |
|
208 | 304 | ] |
209 | 305 | }, |
210 | 306 | { |
211 | | - "key": "skip_scc_cos_auth_policy" |
| 307 | + "key": "skip_scc_cos_auth_policy", |
| 308 | + "type": "boolean", |
| 309 | + "default_value": false, |
| 310 | + "description": "Set to `true` to skip creation of an IAM authorization policy that permits the Security and Compliance Center to write to the Object Storage instance created by this solution. Applies only if `existing_scc_instance_crn` is not provided.", |
| 311 | + "required": false |
212 | 312 | }, |
213 | 313 | { |
214 | 314 | "key": "scc_service_plan", |
| 315 | + "type": "string", |
| 316 | + "default_value": "security-compliance-center-standard-plan", |
| 317 | + "description": "The pricing plan to use when creating a new Security Compliance Center instance. Possible values: `security-compliance-center-standard-plan`, `security-compliance-center-trial-plan`. Applies only if `existing_scc_instance_crn` is not provided.", |
| 318 | + "required": false, |
215 | 319 | "options": [ |
216 | 320 | { |
217 | 321 | "displayname": "Standard", |
|
224 | 328 | ] |
225 | 329 | }, |
226 | 330 | { |
227 | | - "key": "existing_en_crn" |
| 331 | + "key": "existing_en_crn", |
| 332 | + "type": "string", |
| 333 | + "default_value": "__NULL__", |
| 334 | + "description": "The CRN of an Event Notification instance. Used to integrate with Security and Compliance Center.", |
| 335 | + "required": false |
228 | 336 | }, |
229 | 337 | { |
230 | | - "key": "scc_instance_tags" |
| 338 | + "key": "scc_instance_tags", |
| 339 | + "type": "array", |
| 340 | + "default_value": "[]", |
| 341 | + "description": "The list of tags to add to the Security and Compliance Center instance.", |
| 342 | + "required": false |
231 | 343 | }, |
232 | 344 | { |
233 | | - "key": "skip_scc_workload_protection_auth_policy" |
| 345 | + "key": "skip_scc_workload_protection_auth_policy", |
| 346 | + "type": "boolean", |
| 347 | + "default_value": false, |
| 348 | + "description": "Set to `true` to skip creating an IAM authorization policy that permits the Security and Compliance Center instance to read from the Workload Protection instance. Applies only if `provision_scc_workload_protection` is true.", |
| 349 | + "required": false |
234 | 350 | }, |
235 | 351 | { |
236 | | - "key": "profile_attachments" |
| 352 | + "key": "profile_attachments", |
| 353 | + "type": "array", |
| 354 | + "default_value": "[\"IBM Cloud Framework for Financial Services\"]", |
| 355 | + "description": "The list of Security and Compliance Center profile attachments to create that are scoped to your IBM Cloud account. The attachment schedule runs daily and defaults to the latest version of the specified profile attachments.", |
| 356 | + "required": false |
237 | 357 | }, |
238 | 358 | { |
239 | | - "key": "resource_groups_scope" |
| 359 | + "key": "resource_groups_scope", |
| 360 | + "type": "array", |
| 361 | + "default_value": "[]", |
| 362 | + "description": "The resource group to associate with the Security and Compliance Center profile attachments. If not specified, the attachments are scoped to the current account ID. Only one resource group is allowed.", |
| 363 | + "required": false |
240 | 364 | }, |
241 | 365 | { |
242 | 366 | "key": "attachment_schedule", |
| 367 | + "type": "string", |
| 368 | + "default_value": "every_30_days", |
| 369 | + "description": "The scanning schedule. Possible values: `daily`, `every_7_days`, `every_30_days`, `none`.", |
| 370 | + "required": false, |
243 | 371 | "options": [ |
244 | 372 | { |
245 | 373 | "displayname": "Daily", |
|
260 | 388 | ] |
261 | 389 | }, |
262 | 390 | { |
263 | | - "key": "provision_scc_workload_protection" |
| 391 | + "key": "provision_scc_workload_protection", |
| 392 | + "type": "boolean", |
| 393 | + "default_value": true, |
| 394 | + "description": "Whether to provision a Workload Protection instance.", |
| 395 | + "required": false |
264 | 396 | }, |
265 | 397 | { |
266 | | - "key": "scc_workload_protection_instance_name" |
| 398 | + "key": "scc_workload_protection_instance_name", |
| 399 | + "type": "string", |
| 400 | + "default_value": "base-security-services-scc-wp", |
| 401 | + "description": "The name for the Workload Protection instance that is created by this solution. Must begin with a letter. Applies only if `provision_scc_workload_protection` is true. If a prefix input variable is specified, the prefix is added to the name in the `<prefix>-<name>` format.", |
| 402 | + "required": false |
267 | 403 | }, |
268 | 404 | { |
269 | 405 | "key": "scc_workload_protection_service_plan", |
| 406 | + "type": "string", |
| 407 | + "default_value": "graduated-tier", |
| 408 | + "description": "The pricing plan for the Workload Protection instance service. Possible values: `free-trial`, `graduated-tier`.", |
| 409 | + "required": false, |
270 | 410 | "options": [ |
271 | 411 | { |
272 | 412 | "displayname": "Free trial", |
|
279 | 419 | ] |
280 | 420 | }, |
281 | 421 | { |
282 | | - "key": "scc_workload_protection_instance_tags" |
| 422 | + "key": "scc_workload_protection_instance_tags", |
| 423 | + "type": "array", |
| 424 | + "default_value": "[]", |
| 425 | + "description": "The list of tags to add to the Workload Protection instance.", |
| 426 | + "required": false |
| 427 | + }, |
| 428 | + { |
| 429 | + "key": "scc_workload_protection_resource_key_tags", |
| 430 | + "type": "array", |
| 431 | + "default_value": "[]", |
| 432 | + "description": "The tags associated with the Workload Protection resource key.", |
| 433 | + "required": false |
| 434 | + }, |
| 435 | + { |
| 436 | + "key": "scc_workload_protection_access_tags", |
| 437 | + "type": "array", |
| 438 | + "default_value": "[]", |
| 439 | + "description": "A list of access tags to apply to the Workload Protection instance. Maximum length: 128 characters. Possible characters are A-Z, 0-9, spaces, underscores, hyphens, periods, and colons. [Learn more](https://cloud.ibm.com/docs/account?topic=account-tag&interface=ui#limits).", |
| 440 | + "required": false |
| 441 | + }, |
| 442 | + { |
| 443 | + "key": "existing_activity_tracker_crn", |
| 444 | + "type": "string", |
| 445 | + "default_value": "__NULL__", |
| 446 | + "description": "The CRN of an Activity Tracker instance to send Security and Compliance Object Storage bucket events to. If no value passed, events are sent to the instance associated to the container's location unless otherwise specified in the Activity Tracker Event Routing service configuration. Ignored if using existing Object Storage bucket.", |
| 447 | + "required": false |
| 448 | + }, |
| 449 | + { |
| 450 | + "key": "scc_en_email_list", |
| 451 | + "type": "array", |
| 452 | + "default_value": "[]", |
| 453 | + "description": "The list of email addresses to notify when Security and Compliance Center triggers an event.", |
| 454 | + "required": false |
283 | 455 | }, |
284 | 456 | { |
285 | | - "key": "scc_workload_protection_resource_key_tags" |
| 457 | + "key": "scc_en_from_email", |
| 458 | + "type": "string", |
| 459 | + "default_value": "[email protected]", |
| 460 | + "description": "The `from` email address used in any Security and Compliance Center events from Event Notifications.", |
| 461 | + "required": false |
286 | 462 | }, |
287 | 463 | { |
288 | | - "key": "scc_workload_protection_access_tags" |
| 464 | + "key": "scc_en_reply_to_email", |
| 465 | + "type": "string", |
| 466 | + "default_value": "[email protected]", |
| 467 | + "description": "The `reply_to` email address used in any Security and Compliance Center events from Event Notifications.", |
| 468 | + "required": false |
289 | 469 | } |
290 | 470 | ], |
291 | 471 | "iam_permissions": [ |
|
0 commit comments