|
"assured_workload_config": { |
|
"type": "object", |
|
"additionalProperties": false, |
|
"properties": { |
|
"compliance_regime": { |
|
"type": "string", |
|
"enum": [ |
|
"ASSURED_WORKLOADS_FOR_PARTNERS", |
|
"AU_REGIONS_AND_US_SUPPORT", |
|
"AUSTRALIA_DATA_BOUNDARY_AND_SUPPORT", |
|
"CA_PROTECTED_B", |
|
"CA_REGIONS_AND_SUPPORT", |
|
"CANADA_CONTROLLED_GOODS", |
|
"CANADA_DATA_BOUNDARY_AND_SUPPORT", |
|
"CJIS", |
|
"COMPLIANCE_REGIME_UNSPECIFIED", |
|
"DATA_BOUNDARY_FOR_CANADA_CONTROLLED_GOODS", |
|
"DATA_BOUNDARY_FOR_CANADA_PROTECTED_B", |
|
"DATA_BOUNDARY_FOR_CJIS", |
|
"DATA_BOUNDARY_FOR_FEDRAMP_HIGH", |
|
"DATA_BOUNDARY_FOR_FEDRAMP_MODERATE", |
|
"DATA_BOUNDARY_FOR_IL2", |
|
"DATA_BOUNDARY_FOR_IL4", |
|
"DATA_BOUNDARY_FOR_IL5", |
|
"DATA_BOUNDARY_FOR_IRS_PUBLICATION_1075", |
|
"DATA_BOUNDARY_FOR_ITAR", |
|
"EU_DATA_BOUNDARY_AND_SUPPORT", |
|
"EU_REGIONS_AND_SUPPORT", |
|
"FEDRAMP_HIGH", |
|
"FEDRAMP_MODERATE", |
|
"HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS", |
|
"HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT", |
|
"HIPAA", |
|
"HITRUST", |
|
"IL2", |
|
"IL4", |
|
"IL5", |
|
"IRS_1075", |
|
"ISR_REGIONS", |
|
"ISR_REGIONS_AND_SUPPORT", |
|
"ISRAEL_DATA_BOUNDARY_AND_SUPPORT", |
|
"ITAR", |
|
"JAPAN_DATA_BOUNDARY", |
|
"JP_REGIONS_AND_SUPPORT", |
|
"KSA_DATA_BOUNDARY_WITH_ACCESS_JUSTIFICATIONS", |
|
"KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS", |
|
"REGIONAL_CONTROLS", |
|
"REGIONAL_DATA_BOUNDARY", |
|
"US_DATA_BOUNDARY_AND_SUPPORT", |
|
"US_DATA_BOUNDARY_FOR_HEALTHCARE_AND_LIFE_SCIENCES", |
|
"US_DATA_BOUNDARY_FOR_HEALTHCARE_AND_LIFE_SCIENCES_WITH_SUPPORT", |
|
"US_REGIONAL_ACCESS" |
|
] |
|
}, |
|
"display_name": { |
|
"type": "string" |
|
}, |
|
"location": { |
|
"type": "string" |
|
}, |
|
"organization": { |
|
"type": "string" |
|
}, |
|
"enable_sovereign_controls": { |
|
"type": "boolean" |
|
}, |
|
"labels": { |
|
"$ref": "#/$defs/labels" |
|
}, |
|
"partner": { |
|
"type": "string", |
|
"enum": [ |
|
"LOCAL_CONTROLS_BY_S3NS", |
|
"PARTNER_UNSPECIFIED", |
|
"SOVEREIGN_CONTROLS_BY_CNTXT_NO_EKM", |
|
"SOVEREIGN_CONTROLS_BY_CNTXT", |
|
"SOVEREIGN_CONTROLS_BY_PSN", |
|
"SOVEREIGN_CONTROLS_BY_SIA_MINSAIT", |
|
"SOVEREIGN_CONTROLS_BY_T_SYSTEMS" |
|
] |
|
}, |
|
"partner_permissions": { |
|
"type": "object", |
|
"additionalProperties": false, |
|
"properties": { |
|
"assured_workloads_monitoring": { |
|
"type": "boolean" |
|
}, |
|
"data_logs_viewer": { |
|
"type": "boolean" |
|
}, |
|
"service_access_approver": { |
|
"type": "boolean" |
|
} |
|
} |
|
}, |
|
"violation_notifications_enabled": { |
|
"type": "boolean" |
|
} |
|
}, |
|
"required": [ |
|
"compliance_regime", |
|
"display_name", |
|
"location", |
|
"organization" |
|
] |
|
}, |
Affected components
The problem
JSON Schema validation is not correct in project-factory module. When creating folder with assured workloads enabled, partner field is required by folder module but JSON schema does not mark this field as required. Because of that, we do not catch this issue during JSON schema validation step - creating this folder fails on terraform plan.
Mentioned schema:
cloud-foundation-fabric/modules/project-factory/schemas/folder.schema.json
Lines 555 to 661 in 74ccc8a
Mentioned folder module validation:
cloud-foundation-fabric/modules/folder/variables.tf
Lines 130 to 141 in 74ccc8a
Release version
master
Terraform version
1.16
Steps to reproduce
Expected behavior
JSON Schema should mark
assured_workload_config.partnerfield as required or folder module should allow for putting null value here.According to Google provider this field is not required: https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/assured_workloads_workload#partner-1
Actual behavior
When
assured_workload_config.partneris not configured, JSON schema validation does not report any issue but terraform plan fails with error:Additional context
No response