terraform-ibm-modules / terraform-ibm-scc-da

A deployable architecture solution to deploy IBM Security and Compliance related resources
Apache License 2.0
0 stars 2 forks source link

fix: add output for attachment id, profile name, and version #198

Closed imprateeksh closed 2 months ago

imprateeksh commented 2 months ago

Description

Refer Issue - Issue-183

Release required?

Release notes content

Added scc_profile_attachment_id and scc_profile_info (profile name and version) to output.

Run the pipeline

If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.

Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:

/run pipeline

Checklist for reviewers

For mergers

imprateeksh commented 2 months ago

/run pipeline

imprateeksh commented 2 months ago

Output can be seen as below -

One way can be to have separate output variables.

Apply complete! Resources: 13 added, 0 changed, 0 destroyed.

Outputs:

profile_info = [
  {
    "name" = "IBM Cloud Framework for Financial Services"
    "version" = "1.7.0"
  },
]
resource_group_id = "9bd194e415744ce990600b2fcded990c"
resource_group_name = "pst-prateek-prateek-rg2"
scc_cos_bucket_name = "scc-test-tf"
scc_crn = "crn:v1:bluemix:public:compliance:us-south:a/abac0df06b644a9cabc6e44f55b3880e:d0d54422-0cee-4b99-88b4-f00ee8427189::"
scc_guid = "d0d54422-0cee-4b99-88b4-f00ee8427189"
scc_id = "crn:v1:bluemix:public:compliance:us-south:a/abac0df06b644a9cabc6e44f55b3880e:d0d54422-0cee-4b99-88b4-f00ee8427189::"
scc_name = "pst-base-security-services-scc"
scc_profile_attachment_id = [
  "d0d54422-0cee-4b99-88b4-f00ee8427189/fe96bd4d-9b37-40f2-b39f-a62760e326a3/32468076-cf0f-4d6b-9db1-023aa5b6bf70",
]
scc_workload_protection_access_key = <sensitive>
scc_workload_protection_api_endpoint = <sensitive>
scc_workload_protection_crn = "crn:v1:bluemix:public:sysdig-secure:us-south:a/abac0df06b644a9cabc6e44f55b3880e:f6f8de01-f03f-4ef7-8ac8-7f0a544c186b::"
scc_workload_protection_id = "crn:v1:bluemix:public:sysdig-secure:us-south:a/abac0df06b644a9cabc6e44f55b3880e:f6f8de01-f03f-4ef7-8ac8-7f0a544c186b::"
scc_workload_protection_ingestion_endpoint = "pst-base-security-services-scc-wp"
scc_workload_protection_name = "pst-base-security-services-scc-wp"

Another way to have a single output variable

Apply complete! Resources: 13 added, 0 changed, 0 destroyed.

Outputs:

resource_group_id = "afebb3ef4adf427ebdd307fc93b782d5"
resource_group_name = "pst-prateek-prateek-rg2"
scc_cos_bucket_name = "scc-test-tf"
scc_crn = "crn:v1:bluemix:public:compliance:us-south:a/abac0df06b644a9cabc6e44f55b3880e:6c46eede-7f25-4514-8172-a722f6ae7e72::"
scc_guid = "6c46eede-7f25-4514-8172-a722f6ae7e72"
scc_id = "crn:v1:bluemix:public:compliance:us-south:a/abac0df06b644a9cabc6e44f55b3880e:6c46eede-7f25-4514-8172-a722f6ae7e72::"
scc_name = "pst-base-security-services-scc"
scc_profile_info = [
  {
    "attachment_id" = "6c46eede-7f25-4514-8172-a722f6ae7e72/fe96bd4d-9b37-40f2-b39f-a62760e326a3/386f7fe8-6a64-4a84-97b2-ed8c7e5b07c6"
    "name" = "IBM Cloud Framework for Financial Services"
    "version" = "1.7.0"
  },
]
scc_workload_protection_access_key = <sensitive>
scc_workload_protection_api_endpoint = <sensitive>
scc_workload_protection_crn = "crn:v1:bluemix:public:sysdig-secure:us-south:a/abac0df06b644a9cabc6e44f55b3880e:631bb276-3bd7-4d32-9f1d-8a499397f3f9::"
scc_workload_protection_id = "crn:v1:bluemix:public:sysdig-secure:us-south:a/abac0df06b644a9cabc6e44f55b3880e:631bb276-3bd7-4d32-9f1d-8a499397f3f9::"
scc_workload_protection_ingestion_endpoint = "pst-base-security-services-scc-wp"
scc_workload_protection_name = "pst-base-security-services-scc-wp"

image

imprateeksh commented 2 months ago

This is the output from one of the terraform-ibm-scc runs, where value of profile is a map and scc_profile_attachment_id is a separate value (refer image below)

@ocofaigh @akocbek - Should I add this as part of one single output like below or the current output is good to have?

scc_profile_info = [
  {
    "attachment_id" = "6c46eede-7f25-4514-8172-a722f6ae7e72/fe96bd4d-9b37-40f2-b39f-a62760e326a3/386f7fe8-6a64-4a84-97b2-ed8c7e5b07c6"
    "name" = "IBM Cloud Framework for Financial Services"
    "version" = "1.7.0"
  },
]
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: Apply complete! Resources: 17 added, 0 changed, 0 destroyed.
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: 
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: Outputs:
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: 
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: cos_bucket = "scc-cb"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: cos_instance_id = "crn:v1:bluemix:public:cloud-object-storage:global:a/abac0df06b644a9cabc6e44f55b3880e:54842342-467e-4912-9d31-1adb8439b6ab::"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: crn = "crn:v1:bluemix:public:compliance:us-south:a/abac0df06b644a9cabc6e44f55b3880e:68acc585-2f1a-484f-83ae-999b6c7b94e4::"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: en_crn = "crn:v1:bluemix:public:event-notifications:us-south:a/abac0df06b644a9cabc6e44f55b3880e:ac4c0e32-5244-4a99-81cf-ccb8c5f79fc1::"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: guid = "68acc585-2f1a-484f-83ae-999b6c7b94e4"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: id = "crn:v1:bluemix:public:compliance:us-south:a/abac0df06b644a9cabc6e44f55b3880e:68acc585-2f1a-484f-83ae-999b6c7b94e4::"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: location = "us-south"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: name = "scc-existing-4ywsju-instance"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: plan = "security-compliance-center-standard-plan"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: profile = {
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66:   "attachments_count" = 0
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66:   "control_parents_count" = 0
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66:   "controls_count" = 36
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66:   "created_by" = "IBM Cloud"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66:   "created_on" = "2023-12-06T03:37:10.000Z"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66:   "hierarchy_enabled" = false
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66:   "id" = "f54b4962-06c6-46bb-bb04-396d9fa9bd60"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66:   "latest" = true
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66:   "profile_description" = "Service Organization Control (SOC) reports are independent, third-party reports issued by assessors certified by the American Institute of Certified Public Accountants (AICPA) addressing the risk associated with an outsourced service. A SOC 2 report evaluates the internal controls that an organization has put in place to protect customer-owned data and provides details about the nature of those internal controls."
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66:   "profile_name" = "SOC 2"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66:   "profile_type" = "predefined"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66:   "profile_version" = "1.0.0"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66:   "updated_by" = "IBM Cloud"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66:   "updated_on" = "2023-12-06T03:37:10.000Z"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66:   "version_group_label" = "9758fa5b-4177-4f88-9be5-e35ddc0f68e3"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: }
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: resource_group_id = "c5fc97561e834d5eb63e9f0184abc812"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: scc_profile_attachment_id = "68acc585-2f1a-484f-83ae-999b6c7b94e4/f54b4962-06c6-46bb-bb04-396d9fa9bd60/e28ffa94-652e-4683-ba0c-0e1dbf169123"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z logger.go:66: wp_crn = "crn:v1:bluemix:public:sysdig-secure:us-south:a/abac0df06b644a9cabc6e44f55b3880e:01c191f6-7b53-4d98-aeb6-0346110a57c7::"
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z tests.go:880: FINISHED: Init / Apply
TestRunExistingResourcesInstances 2024-09-10T10:25:18Z tests.go:834: START: Init / Plan / Show w/Struct
image
imprateeksh commented 2 months ago

/run pipeline

ocofaigh commented 2 months ago

@imprateeksh I think it would also really help if we included a sample of the output in a markdown doc, and had the variable description point to it. Similar to what we have in https://github.com/terraform-ibm-modules/terraform-ibm-kms-all-inclusive/blob/main/solutions/standard/DA-keys.md

imprateeksh commented 2 months ago

/run pipeline

imprateeksh commented 2 months ago

/run pipeline

terraform-ibm-modules-ops commented 2 months ago

:tada: This PR is included in version 1.20.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: