Skip to content
This repository was archived by the owner on Mar 19, 2025. It is now read-only.

Commit 24fabe9

Browse files
feat: addon poc content
1 parent 59600b4 commit 24fabe9

File tree

1 file changed

+219
-39
lines changed

1 file changed

+219
-39
lines changed

ibm_catalog.json

Lines changed: 219 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -58,32 +58,66 @@
5858
},
5959
"configuration": [
6060
{
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
6265
},
6366
{
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
6572
},
6673
{
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
6879
},
6980
{
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
7186
},
7287
{
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
7493
},
7594
{
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
77100
},
78101
{
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
80107
},
81108
{
82109
"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
84114
},
85115
{
86116
"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,
87121
"options": [
88122
{
89123
"displayname": "Public",
@@ -96,44 +130,82 @@
96130
]
97131
},
98132
{
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
100138
},
101139
{
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
103145
},
104146
{
147+
"key": "cos_region",
148+
"type": "string",
149+
"default_value": "us-south",
150+
"description": "The region for the Object Storage instance.",
151+
"required": true,
105152
"custom_config": {
106-
"config_constraints": {
107-
"generationType": "2"
108-
},
153+
"type": "region",
109154
"grouping": "deployment",
110155
"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+
}
116160
},
117161
{
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
119167
},
120168
{
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
122174
},
123175
{
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
125181
},
126182
{
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
128188
},
129189
{
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
131195
},
132196
{
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
134202
},
135203
{
136204
"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,
137209
"options": [
138210
{
139211
"displayname": "Cold",
@@ -158,16 +230,32 @@
158230
]
159231
},
160232
{
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
162238
},
163239
{
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
165245
},
166246
{
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
168252
},
169253
{
170254
"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,
171259
"options": [
172260
{
173261
"displayname": "Direct",
@@ -184,10 +272,18 @@
184272
]
185273
},
186274
{
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
188280
},
189281
{
190282
"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,
191287
"options": [
192288
{
193289
"displayname": "Dallas (us-south)",
@@ -208,10 +304,18 @@
208304
]
209305
},
210306
{
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
212312
},
213313
{
214314
"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,
215319
"options": [
216320
{
217321
"displayname": "Standard",
@@ -224,22 +328,46 @@
224328
]
225329
},
226330
{
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
228336
},
229337
{
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
231343
},
232344
{
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
234350
},
235351
{
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
237357
},
238358
{
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
240364
},
241365
{
242366
"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,
243371
"options": [
244372
{
245373
"displayname": "Daily",
@@ -260,13 +388,25 @@
260388
]
261389
},
262390
{
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
264396
},
265397
{
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
267403
},
268404
{
269405
"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,
270410
"options": [
271411
{
272412
"displayname": "Free trial",
@@ -279,13 +419,53 @@
279419
]
280420
},
281421
{
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
283455
},
284456
{
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
286462
},
287463
{
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
289469
}
290470
],
291471
"iam_permissions": [

0 commit comments

Comments
 (0)