From 9da306c5deef2cbaef5a6c84fb7e1736a9ce0aa0 Mon Sep 17 00:00:00 2001 From: stafaniasaju Date: Thu, 16 Jan 2025 15:45:41 +0100 Subject: [PATCH 1/4] fix: input for intel OS images --- modules/powervs-vpc-landing-zone/README.md | 1 + modules/powervs-vpc-landing-zone/locals.tf | 10 +++++++--- modules/powervs-vpc-landing-zone/main.tf | 1 - modules/powervs-vpc-landing-zone/variables.tf | 8 ++++++++ solutions/standard-plus-vsi/README.md | 1 + solutions/standard-plus-vsi/main.tf | 1 + solutions/standard-plus-vsi/variables.tf | 16 +++++++++++++++ solutions/standard/README.md | 1 + solutions/standard/main.tf | 1 + solutions/standard/variables.tf | 20 +++++++++++++++++++ 10 files changed, 56 insertions(+), 4 deletions(-) diff --git a/modules/powervs-vpc-landing-zone/README.md b/modules/powervs-vpc-landing-zone/README.md index a1546f23..50835be6 100644 --- a/modules/powervs-vpc-landing-zone/README.md +++ b/modules/powervs-vpc-landing-zone/README.md @@ -156,6 +156,7 @@ Creates VPC Landing Zone | Performs VPC VSI OS Config | Creates PowerVS Infrastr | [ssh\_public\_key](#input\_ssh\_public\_key) | 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. | `string` | n/a | yes | | [tags](#input\_tags) | List of tag names for the IBM Cloud PowerVS workspace | `list(string)` | `[]` | no | | [transit\_gateway\_global](#input\_transit\_gateway\_global) | Connect to the networks outside the associated region. | `bool` | `false` | no | +| [vpc\_intel\_images](#input\_vpc\_intel\_images) | Stock OS image names for creating VPC landing zone VSI instances: RHEL (management and network services) and SLES (monitoring). |
object({
rhel_image = string
sles_image = string
})
| n/a | yes | ### Outputs diff --git a/modules/powervs-vpc-landing-zone/locals.tf b/modules/powervs-vpc-landing-zone/locals.tf index 3185db02..91be9f93 100644 --- a/modules/powervs-vpc-landing-zone/locals.tf +++ b/modules/powervs-vpc-landing-zone/locals.tf @@ -27,15 +27,19 @@ locals { "wdc07" = "us-east" } - external_access_ip = var.external_access_ip != null && var.external_access_ip != "" ? length(regexall("/", var.external_access_ip)) > 0 ? var.external_access_ip : "${var.external_access_ip}/32" : "" + valid_sles_image = var.enable_monitoring ? (var.vpc_intel_images.sles_image != "" ? true : false) : true + sles_image_validation_msg = "The sles_image attribute of var.vpc_intel_images cannot be empty when enable_monitoring is set to true. Please provide a valid SLES OS stock image name to create monitoring VSI." + # tflint-ignore: terraform_unused_declarations + valid_sles_image_chk = regex("^${local.sles_image_validation_msg}$", (local.valid_sles_image ? local.sles_image_validation_msg : "")) + external_access_ip = var.external_access_ip != null && var.external_access_ip != "" ? length(regexall("/", var.external_access_ip)) > 0 ? var.external_access_ip : "${var.external_access_ip}/32" : "" override_json_string = templatefile("${path.module}/presets/slz-preset.json.tftpl", { external_access_ip = local.external_access_ip, - rhel_image = "ibm-redhat-9-4-amd64-sap-applications-3", + rhel_image = var.vpc_intel_images.rhel_image, network_services_vsi_profile = var.network_services_vsi_profile, transit_gateway_global = var.transit_gateway_global, enable_monitoring = var.enable_monitoring, - sles_image = "ibm-sles-15-5-amd64-sap-applications-3" + sles_image = var.vpc_intel_images.sles_image } ) } diff --git a/modules/powervs-vpc-landing-zone/main.tf b/modules/powervs-vpc-landing-zone/main.tf index c9932376..c9d2bd85 100644 --- a/modules/powervs-vpc-landing-zone/main.tf +++ b/modules/powervs-vpc-landing-zone/main.tf @@ -11,7 +11,6 @@ module "landing_zone" { region = lookup(local.ibm_powervs_zone_cloud_region_map, var.powervs_zone, null) prefix = var.prefix override_json_string = local.override_json_string - } ##################################################### diff --git a/modules/powervs-vpc-landing-zone/variables.tf b/modules/powervs-vpc-landing-zone/variables.tf index 3953ba72..74febf83 100644 --- a/modules/powervs-vpc-landing-zone/variables.tf +++ b/modules/powervs-vpc-landing-zone/variables.tf @@ -33,6 +33,14 @@ variable "client_to_site_vpn" { } } +variable "vpc_intel_images" { + description = "Stock OS image names for creating VPC landing zone VSI instances: RHEL (management and network services) and SLES (monitoring)." + type = object({ + rhel_image = string + sles_image = string + }) +} + 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 diff --git a/solutions/standard-plus-vsi/README.md b/solutions/standard-plus-vsi/README.md index 94c56d1a..34fbca10 100644 --- a/solutions/standard-plus-vsi/README.md +++ b/solutions/standard-plus-vsi/README.md @@ -92,6 +92,7 @@ No resources. | [ssh\_public\_key](#input\_ssh\_public\_key) | 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. | `string` | n/a | yes | | [tags](#input\_tags) | List of tag names for the IBM Cloud PowerVS workspace | `list(string)` | `[]` | no | | [tshirt\_size](#input\_tshirt\_size) | PowerVS instance profiles. These profiles can be overridden by specifying 'custom\_profile\_instance\_boot\_image' and 'custom\_profile' values in optional parameters. |
object({
tshirt_size = string
image = string
})
| n/a | yes | +| [vpc\_intel\_images](#input\_vpc\_intel\_images) | Stock OS image names for creating VPC landing zone VSI instances: RHEL (management and network services) and SLES (monitoring). |
object({
rhel_image = string
sles_image = string
})
|
{
"rhel_image": "ibm-redhat-9-4-amd64-sap-applications-3",
"sles_image": "ibm-sles-15-5-amd64-sap-applications-3"
}
| no | ### Outputs diff --git a/solutions/standard-plus-vsi/main.tf b/solutions/standard-plus-vsi/main.tf index 29c7c019..dfd879f2 100644 --- a/solutions/standard-plus-vsi/main.tf +++ b/solutions/standard-plus-vsi/main.tf @@ -13,6 +13,7 @@ module "standard" { ssh_public_key = var.ssh_public_key ssh_private_key = var.ssh_private_key client_to_site_vpn = var.client_to_site_vpn + vpc_intel_images = var.vpc_intel_images configure_dns_forwarder = var.configure_dns_forwarder configure_ntp_forwarder = var.configure_ntp_forwarder configure_nfs_server = var.configure_nfs_server diff --git a/solutions/standard-plus-vsi/variables.tf b/solutions/standard-plus-vsi/variables.tf index 00a9d2af..c2ce53cf 100644 --- a/solutions/standard-plus-vsi/variables.tf +++ b/solutions/standard-plus-vsi/variables.tf @@ -68,6 +68,22 @@ variable "enable_monitoring" { # Optional Parameters ##################################################### +variable "vpc_intel_images" { + description = "Stock OS image names for creating VPC landing zone VSI instances: RHEL (management and network services) and SLES (monitoring)." + type = object({ + rhel_image = string + sles_image = string + }) + default = { + rhel_image = "ibm-redhat-9-4-amd64-sap-applications-3" + sles_image = "ibm-sles-15-5-amd64-sap-applications-3" + } + validation { + condition = var.vpc_intel_images.rhel_image != "" + error_message = "The rhel_image attribute of vpc_intel_images must not be empty. Please specify an OS image name to be used for creating management and network services VSI instances." + } +} + variable "custom_profile_instance_boot_image" { description = "Override the t-shirt size specs of PowerVS Workspace instance by selecting an image name and providing valid 'custom_profile' optional parameter." type = string diff --git a/solutions/standard/README.md b/solutions/standard/README.md index 05e5cdb2..07bc4da1 100644 --- a/solutions/standard/README.md +++ b/solutions/standard/README.md @@ -92,6 +92,7 @@ No resources. | [ssh\_public\_key](#input\_ssh\_public\_key) | 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. | `string` | n/a | yes | | [tags](#input\_tags) | List of tag names for the IBM Cloud PowerVS workspace | `list(string)` | `[]` | no | | [transit\_gateway\_global](#input\_transit\_gateway\_global) | Connect to the networks outside the associated region. | `bool` | `false` | no | +| [vpc\_intel\_images](#input\_vpc\_intel\_images) | Stock OS image names for creating VPC landing zone VSI instances: RHEL (management and network services) and SLES (monitoring). |
object({
rhel_image = string
sles_image = string
})
|
{
"rhel_image": "ibm-redhat-9-4-amd64-sap-applications-3",
"sles_image": "ibm-sles-15-5-amd64-sap-applications-3"
}
| no | ### Outputs diff --git a/solutions/standard/main.tf b/solutions/standard/main.tf index 1c82219c..f0482922 100644 --- a/solutions/standard/main.tf +++ b/solutions/standard/main.tf @@ -13,6 +13,7 @@ module "standard" { ssh_public_key = var.ssh_public_key ssh_private_key = var.ssh_private_key client_to_site_vpn = var.client_to_site_vpn + vpc_intel_images = var.vpc_intel_images transit_gateway_global = var.transit_gateway_global configure_dns_forwarder = var.configure_dns_forwarder configure_ntp_forwarder = var.configure_ntp_forwarder diff --git a/solutions/standard/variables.tf b/solutions/standard/variables.tf index b81c7ffc..2fc1ad3c 100644 --- a/solutions/standard/variables.tf +++ b/solutions/standard/variables.tf @@ -65,6 +65,26 @@ variable "transit_gateway_global" { default = false } +##################################################### +# Optional Parameter VPC VSIs +##################################################### + +variable "vpc_intel_images" { + description = "Stock OS image names for creating VPC landing zone VSI instances: RHEL (management and network services) and SLES (monitoring)." + type = object({ + rhel_image = string + sles_image = string + }) + default = { + rhel_image = "ibm-redhat-9-4-amd64-sap-applications-3" + sles_image = "ibm-sles-15-5-amd64-sap-applications-3" + } + validation { + condition = var.vpc_intel_images.rhel_image != "" + error_message = "The rhel_image attribute of vpc_intel_images must not be empty. Please specify an OS image name to be used for creating management and network services VSI instances." + } +} + ##################################################### # Optional Parameter Network Services VSI Profile ##################################################### From 0823c870259ef0ec71f6e6ec48c0a2856339a8b0 Mon Sep 17 00:00:00 2001 From: stafaniasaju Date: Thu, 16 Jan 2025 15:49:12 +0100 Subject: [PATCH 2/4] fix: ibm_catalog.json update --- ibm_catalog.json | 139 ++++++++++++++--------------------------------- 1 file changed, 42 insertions(+), 97 deletions(-) diff --git a/ibm_catalog.json b/ibm_catalog.json index 9cec8018..874bb8f5 100644 --- a/ibm_catalog.json +++ b/ibm_catalog.json @@ -228,6 +228,11 @@ "key": "enable_monitoring", "required": true }, + { + "key": "vpc_intel_images", + "required": true, + "hidden": true + }, { "key": "powervs_custom_images", "custom_config": { @@ -430,33 +435,23 @@ ], "iam_permissions": [ { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "appid" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "cloud-object-storage" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "hs-crypto" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::role:Administrator" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::role:Administrator"], "service_name": "iam-identity" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "kms" }, { @@ -467,27 +462,19 @@ "service_name": "is.vpc" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::role:Editor" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"], "service_name": "is.vpc" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::role:Editor" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"], "service_name": "transit.gateway" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::role:Editor" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"], "service_name": "directlink.connect" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "power-iaas" } ], @@ -784,6 +771,11 @@ "key": "enable_monitoring", "required": true }, + { + "key": "vpc_intel_images", + "required": true, + "hidden": true + }, { "key": "custom_profile_instance_boot_image", "type": "string", @@ -1058,33 +1050,23 @@ ], "iam_permissions": [ { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "appid" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "cloud-object-storage" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "hs-crypto" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::role:Administrator" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::role:Administrator"], "service_name": "iam-identity" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "kms" }, { @@ -1095,27 +1077,19 @@ "service_name": "is.vpc" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::role:Editor" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"], "service_name": "is.vpc" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::role:Editor" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"], "service_name": "transit.gateway" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::role:Editor" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"], "service_name": "directlink.connect" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "power-iaas" } ], @@ -1395,33 +1369,23 @@ ], "iam_permissions": [ { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "appid" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "cloud-object-storage" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "hs-crypto" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::role:Administrator" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::role:Administrator"], "service_name": "iam-identity" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "kms" }, { @@ -1432,27 +1396,19 @@ "service_name": "is.vpc" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::role:Editor" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"], "service_name": "is.vpc" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::role:Editor" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"], "service_name": "transit.gateway" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::role:Editor" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"], "service_name": "directlink.connect" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "power-iaas" } ], @@ -1500,10 +1456,7 @@ "compliance": {}, "dependencies": [ { - "flavors": [ - "standard", - "standard-plus-vsi" - ], + "flavors": ["standard", "standard-plus-vsi"], "install_type": "fullstack", "catalogID": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc", "id": "2dd486c7-b317-4aaa-907b-42671485ad96-global", @@ -1762,27 +1715,19 @@ ], "iam_permissions": [ { - "role_crns": [ - "crn:v1:bluemix:public:iam::::role:Editor" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"], "service_name": "is.vpc" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::role:Editor" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"], "service_name": "transit.gateway" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::role:Editor" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::role:Editor"], "service_name": "directlink.connect" }, { - "role_crns": [ - "crn:v1:bluemix:public:iam::::serviceRole:Manager" - ], + "role_crns": ["crn:v1:bluemix:public:iam::::serviceRole:Manager"], "service_name": "power-iaas" } ], From 441c40aa7e49ee5fa8e4a2db444c7cfd026de525 Mon Sep 17 00:00:00 2001 From: stafaniasaju Date: Thu, 16 Jan 2025 16:14:48 +0100 Subject: [PATCH 3/4] fix: validation updates --- modules/powervs-vpc-landing-zone/locals.tf | 6 +----- modules/powervs-vpc-landing-zone/variables.tf | 8 ++++++++ solutions/standard-plus-vsi/README.md | 2 +- solutions/standard-plus-vsi/variables.tf | 6 +----- solutions/standard/README.md | 2 +- solutions/standard/variables.tf | 6 +----- 6 files changed, 13 insertions(+), 17 deletions(-) diff --git a/modules/powervs-vpc-landing-zone/locals.tf b/modules/powervs-vpc-landing-zone/locals.tf index 91be9f93..14bb88dd 100644 --- a/modules/powervs-vpc-landing-zone/locals.tf +++ b/modules/powervs-vpc-landing-zone/locals.tf @@ -27,11 +27,7 @@ locals { "wdc07" = "us-east" } - valid_sles_image = var.enable_monitoring ? (var.vpc_intel_images.sles_image != "" ? true : false) : true - sles_image_validation_msg = "The sles_image attribute of var.vpc_intel_images cannot be empty when enable_monitoring is set to true. Please provide a valid SLES OS stock image name to create monitoring VSI." - # tflint-ignore: terraform_unused_declarations - valid_sles_image_chk = regex("^${local.sles_image_validation_msg}$", (local.valid_sles_image ? local.sles_image_validation_msg : "")) - external_access_ip = var.external_access_ip != null && var.external_access_ip != "" ? length(regexall("/", var.external_access_ip)) > 0 ? var.external_access_ip : "${var.external_access_ip}/32" : "" + external_access_ip = var.external_access_ip != null && var.external_access_ip != "" ? length(regexall("/", var.external_access_ip)) > 0 ? var.external_access_ip : "${var.external_access_ip}/32" : "" override_json_string = templatefile("${path.module}/presets/slz-preset.json.tftpl", { external_access_ip = local.external_access_ip, diff --git a/modules/powervs-vpc-landing-zone/variables.tf b/modules/powervs-vpc-landing-zone/variables.tf index 74febf83..2aaf8832 100644 --- a/modules/powervs-vpc-landing-zone/variables.tf +++ b/modules/powervs-vpc-landing-zone/variables.tf @@ -39,6 +39,14 @@ variable "vpc_intel_images" { rhel_image = string sles_image = string }) + validation { + condition = var.vpc_intel_images.rhel_image != "" + error_message = "The rhel_image attribute of vpc_intel_images must not be empty. Please specify an OS image name to be used for creating management and network services VSI instances." + } + validation { + condition = var.enable_monitoring ? (var.vpc_intel_images.sles_image != "" ? true : false) : true + error_message = "The sles_image attribute of var.vpc_intel_images cannot be empty when enable_monitoring is set to true. Please provide a valid SLES OS stock image name to create monitoring VSI." + } } variable "ssh_public_key" { diff --git a/solutions/standard-plus-vsi/README.md b/solutions/standard-plus-vsi/README.md index 34fbca10..ff360643 100644 --- a/solutions/standard-plus-vsi/README.md +++ b/solutions/standard-plus-vsi/README.md @@ -92,7 +92,7 @@ No resources. | [ssh\_public\_key](#input\_ssh\_public\_key) | 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. | `string` | n/a | yes | | [tags](#input\_tags) | List of tag names for the IBM Cloud PowerVS workspace | `list(string)` | `[]` | no | | [tshirt\_size](#input\_tshirt\_size) | PowerVS instance profiles. These profiles can be overridden by specifying 'custom\_profile\_instance\_boot\_image' and 'custom\_profile' values in optional parameters. |
object({
tshirt_size = string
image = string
})
| n/a | yes | -| [vpc\_intel\_images](#input\_vpc\_intel\_images) | Stock OS image names for creating VPC landing zone VSI instances: RHEL (management and network services) and SLES (monitoring). |
object({
rhel_image = string
sles_image = string
})
|
{
"rhel_image": "ibm-redhat-9-4-amd64-sap-applications-3",
"sles_image": "ibm-sles-15-5-amd64-sap-applications-3"
}
| no | +| [vpc\_intel\_images](#input\_vpc\_intel\_images) | Stock OS image names for creating VPC landing zone VSI instances: RHEL (management and network services) and SLES (monitoring). |
object({
rhel_image = string
sles_image = string
})
|
{
"rhel_image": "ibm-redhat-9-4-amd64-sap-applications-3",
"sles_image": "ibm-sles-15-5-amd64-sap-applications-4"
}
| no | ### Outputs diff --git a/solutions/standard-plus-vsi/variables.tf b/solutions/standard-plus-vsi/variables.tf index c2ce53cf..fd3d2c36 100644 --- a/solutions/standard-plus-vsi/variables.tf +++ b/solutions/standard-plus-vsi/variables.tf @@ -76,11 +76,7 @@ variable "vpc_intel_images" { }) default = { rhel_image = "ibm-redhat-9-4-amd64-sap-applications-3" - sles_image = "ibm-sles-15-5-amd64-sap-applications-3" - } - validation { - condition = var.vpc_intel_images.rhel_image != "" - error_message = "The rhel_image attribute of vpc_intel_images must not be empty. Please specify an OS image name to be used for creating management and network services VSI instances." + sles_image = "ibm-sles-15-5-amd64-sap-applications-4" } } diff --git a/solutions/standard/README.md b/solutions/standard/README.md index 07bc4da1..f3d1b2c5 100644 --- a/solutions/standard/README.md +++ b/solutions/standard/README.md @@ -92,7 +92,7 @@ No resources. | [ssh\_public\_key](#input\_ssh\_public\_key) | 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. | `string` | n/a | yes | | [tags](#input\_tags) | List of tag names for the IBM Cloud PowerVS workspace | `list(string)` | `[]` | no | | [transit\_gateway\_global](#input\_transit\_gateway\_global) | Connect to the networks outside the associated region. | `bool` | `false` | no | -| [vpc\_intel\_images](#input\_vpc\_intel\_images) | Stock OS image names for creating VPC landing zone VSI instances: RHEL (management and network services) and SLES (monitoring). |
object({
rhel_image = string
sles_image = string
})
|
{
"rhel_image": "ibm-redhat-9-4-amd64-sap-applications-3",
"sles_image": "ibm-sles-15-5-amd64-sap-applications-3"
}
| no | +| [vpc\_intel\_images](#input\_vpc\_intel\_images) | Stock OS image names for creating VPC landing zone VSI instances: RHEL (management and network services) and SLES (monitoring). |
object({
rhel_image = string
sles_image = string
})
|
{
"rhel_image": "ibm-redhat-9-4-amd64-sap-applications-3",
"sles_image": "ibm-sles-15-5-amd64-sap-applications-4"
}
| no | ### Outputs diff --git a/solutions/standard/variables.tf b/solutions/standard/variables.tf index 2fc1ad3c..ecc1559b 100644 --- a/solutions/standard/variables.tf +++ b/solutions/standard/variables.tf @@ -77,11 +77,7 @@ variable "vpc_intel_images" { }) default = { rhel_image = "ibm-redhat-9-4-amd64-sap-applications-3" - sles_image = "ibm-sles-15-5-amd64-sap-applications-3" - } - validation { - condition = var.vpc_intel_images.rhel_image != "" - error_message = "The rhel_image attribute of vpc_intel_images must not be empty. Please specify an OS image name to be used for creating management and network services VSI instances." + sles_image = "ibm-sles-15-5-amd64-sap-applications-4" } } From e3058e549d5cdfeac3b5179f17b550a7ab30c062 Mon Sep 17 00:00:00 2001 From: stafaniasaju Date: Thu, 16 Jan 2025 17:04:00 +0100 Subject: [PATCH 4/4] fix: release updates --- ibm_catalog.json | 8 ++++---- .../import/deploy-arch-ibm-pvs-inf-import.md | 6 +++--- .../deploy-arch-ibm-pvs-inf-standard-extend.md | 6 +++--- .../deploy-arch-ibm-pvs-inf-standard-plus-vsi.md | 6 +++--- .../standard/deploy-arch-ibm-pvs-inf-standard.md | 6 +++--- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/ibm_catalog.json b/ibm_catalog.json index 874bb8f5..e23cf2da 100644 --- a/ibm_catalog.json +++ b/ibm_catalog.json @@ -517,7 +517,7 @@ { "diagram": { "caption": "Power Virtual Server with VPC landing zone 'Standard' variation", - "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/main/reference-architectures/standard/deploy-arch-ibm-pvs-inf-standard.svg", + "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/refs/tags/v8.1.2/reference-architectures/standard/deploy-arch-ibm-pvs-inf-standard.svg", "type": "image/svg+xml" }, "description": "The Power Virtual Server with VPC landing zone as variation 'Create a new architecture' deploys VPC services and a Power Virtual Server workspace and interconnects them.\n \nRequired and optional management components are configured." @@ -1132,7 +1132,7 @@ { "diagram": { "caption": "Power Virtual Server with VPC landing zone 'Quickstart' variation", - "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/main/reference-architectures/standard-plus-vsi/deploy-arch-ibm-pvs-inf-standard-plus-vsi.svg", + "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/refs/tags/v8.1.2/reference-architectures/standard-plus-vsi/deploy-arch-ibm-pvs-inf-standard-plus-vsi.svg", "type": "image/svg+xml" }, "description": "The Power Virtual Server with VPC landing zone as 'Quickstart' variation of 'Create a new architecture' option deploys VPC services and a Power Virtual Server workspace and interconnects them. It also creates one Power virtual server instance of chosen t-shirt size or custom configuration.\n \nRequired and optional management components are configured." @@ -1439,7 +1439,7 @@ { "diagram": { "caption": "Power Virtual Server with VPC landing zone 'Import' variation", - "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/main/reference-architectures/import/deploy-arch-ibm-pvs-inf-import.svg", + "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/refs/tags/v8.1.2/reference-architectures/import/deploy-arch-ibm-pvs-inf-import.svg", "type": "image/svg+xml" }, "description": "This solution helps to install the deployable architecture 'Power Virtual Server for SAP HANA' on top of a pre-existing Power Virtual Server(PowerVS) landscape. 'Power Virtual Server for SAP HANA' automation requires a schematics workspace id for installation. The 'Import' solution creates a schematics workspace by taking pre-existing VPC and PowerVS infrastructure resource details as inputs. The ID of this schematics workspace will be the pre-requisite workspace id required by 'Power Virtual Server for SAP HANA' to create and configure the PowerVS instances for SAP on top of the existing infrastructure.\n \nRequired and optional management components are configured." @@ -1742,7 +1742,7 @@ { "diagram": { "caption": "Power Virtual Server with VPC landing zone 'Standard Extend' variation", - "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/main/reference-architectures/standard-extend/deploy-arch-ibm-pvs-inf-standard-extend.svg", + "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-powervs-infrastructure/refs/tags/v8.1.2/reference-architectures/standard-extend/deploy-arch-ibm-pvs-inf-standard-extend.svg", "type": "image/svg+xml" }, "description": "The Power Virtual Server with VPC landing zone as variation 'Extend Power Virtual Server with VPC landing zone' creates an additional Power Virtual Server workspace and connects it with already created Power Virtual Server with VPC landing zone. It builds on existing Power Virtual Server with VPC landing zone deployed as a variation 'Create a new architecture'." diff --git a/reference-architectures/import/deploy-arch-ibm-pvs-inf-import.md b/reference-architectures/import/deploy-arch-ibm-pvs-inf-import.md index 2ea47da9..82fea5b3 100644 --- a/reference-architectures/import/deploy-arch-ibm-pvs-inf-import.md +++ b/reference-architectures/import/deploy-arch-ibm-pvs-inf-import.md @@ -1,7 +1,7 @@ --- copyright: years: 2024, 2025 -lastupdated: "2025-01-07" +lastupdated: "2025-01-16" keywords: subcollection: deployable-reference-architectures authors: @@ -15,7 +15,7 @@ use-case: ITServiceManagement industry: Technology compliance: content-type: reference-architecture -version: v8.1.1 +version: v8.1.2 --- @@ -26,7 +26,7 @@ version: v8.1.1 {: toc-industry="Technology"} {: toc-use-case="ITServiceManagement"} {: toc-compliance="SAPCertified"} -{: toc-version="8.1.1"} +{: toc-version="8.1.2"} This solution helps to install the deployable architecture ['Power Virtual Server for SAP HANA'](https://cloud.ibm.com/catalog/architecture/deploy-arch-ibm-pvs-sap-9aa6135e-75d5-467e-9f4a-ac2a21c069b8-global) on top of a pre-existing Power Virtual Server(PowerVS) landscape. 'Power Virtual Server for SAP HANA' automation requires a schematics workspace id for installation. The 'Import' solution creates a schematics workspace by taking pre-existing VPC and PowerVS infrastructure resource details as inputs. The ID of this schematics workspace will be the pre-requisite workspace id required by 'Power Virtual Server for SAP HANA' to create and configure the PowerVS instances for SAP on top of the existing infrastructure. diff --git a/reference-architectures/standard-extend/deploy-arch-ibm-pvs-inf-standard-extend.md b/reference-architectures/standard-extend/deploy-arch-ibm-pvs-inf-standard-extend.md index b2ee38dc..bf29cee3 100644 --- a/reference-architectures/standard-extend/deploy-arch-ibm-pvs-inf-standard-extend.md +++ b/reference-architectures/standard-extend/deploy-arch-ibm-pvs-inf-standard-extend.md @@ -1,7 +1,7 @@ --- copyright: years: 2024, 2025 -lastupdated: "2025-01-07" +lastupdated: "2025-01-16" keywords: subcollection: deployable-reference-architectures authors: @@ -15,7 +15,7 @@ image_source: https://github.com/terraform-ibm-modules/terraform-ibm-powervs-inf use-case: ITServiceManagement industry: Technology content-type: reference-architecture -version: v8.1.1 +version: v8.1.2 compliance: SAPCertified --- @@ -28,7 +28,7 @@ compliance: SAPCertified {: toc-industry="Technology"} {: toc-use-case="ITServiceManagement"} {: toc-compliance="SAPCertified"} -{: toc-version="8.1.1"} +{: toc-version="8.1.2"} The Power Virtual Server with VPC landing zone as variation 'Extend Power Virtual Server with VPC landing zone' creates an additional Power Virtual Server workspace and connects it with the already created Power Virtual Server with VPC landing zone. It builds on the existing Power Virtual Server with VPC landing zone deployed as a variation 'Create a new architecture'. diff --git a/reference-architectures/standard-plus-vsi/deploy-arch-ibm-pvs-inf-standard-plus-vsi.md b/reference-architectures/standard-plus-vsi/deploy-arch-ibm-pvs-inf-standard-plus-vsi.md index df705b22..58fb0e26 100644 --- a/reference-architectures/standard-plus-vsi/deploy-arch-ibm-pvs-inf-standard-plus-vsi.md +++ b/reference-architectures/standard-plus-vsi/deploy-arch-ibm-pvs-inf-standard-plus-vsi.md @@ -1,7 +1,7 @@ --- copyright: years: 2024, 2025 -lastupdated: "2025-01-07" +lastupdated: "2025-01-16" keywords: subcollection: deployable-reference-architectures authors: @@ -15,7 +15,7 @@ image_source: https://github.com/terraform-ibm-modules/terraform-ibm-powervs-inf use-case: ITServiceManagement industry: Technology content-type: reference-architecture -version: v8.1.1 +version: v8.1.2 compliance: --- @@ -28,7 +28,7 @@ compliance: {: toc-industry="Technology"} {: toc-use-case="ITServiceManagement"} {: toc-compliance=""} -{: toc-version="8.1.1"} +{: toc-version="8.1.2"} Quickstart deployment of the Power Virtual Server with VPC landing zone creates VPC services, a Power Virtual Server workspace, and interconnects them. It also deploys a Power Virtual Server of chosen T-shirt size or custom configuration. Supported Os are Aix, IBM i, and Linux images. diff --git a/reference-architectures/standard/deploy-arch-ibm-pvs-inf-standard.md b/reference-architectures/standard/deploy-arch-ibm-pvs-inf-standard.md index 48d3af1e..53e0142f 100644 --- a/reference-architectures/standard/deploy-arch-ibm-pvs-inf-standard.md +++ b/reference-architectures/standard/deploy-arch-ibm-pvs-inf-standard.md @@ -1,7 +1,7 @@ --- copyright: years: 2024, 2025 -lastupdated: "2025-01-07" +lastupdated: "2025-01-16" keywords: subcollection: deployable-reference-architectures authors: @@ -15,7 +15,7 @@ image_source: https://github.com/terraform-ibm-modules/terraform-ibm-powervs-inf use-case: ITServiceManagement industry: Technology content-type: reference-architecture -version: v8.1.1 +version: v8.1.2 compliance: SAPCertified --- @@ -28,7 +28,7 @@ compliance: SAPCertified {: toc-industry="Technology"} {: toc-use-case="ITServiceManagement"} {: toc-compliance="SAPCertified"} -{: toc-version="8.1.1"} +{: toc-version="8.1.2"} The Standard deployment of the Power Virtual Server with VPC landing zone creates VPC services and a Power Virtual Server workspace and interconnects them.