Skip to content

Commit cde492b

Browse files
Jeff Phillipsrashik-bhasin
authored andcommitted
Added - BM Platform Config Support
1 parent fb80d49 commit cde492b

11 files changed

+967
-50
lines changed

internal/integrationtest/core_instance_resource_test.go

Lines changed: 200 additions & 15 deletions
Large diffs are not rendered by default.

internal/service/core/core_instance_configuration_resource.go

Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -629,13 +629,33 @@ func CoreInstanceConfigurationResource() *schema.Resource {
629629
ValidateFunc: validation.StringInSlice([]string{
630630
"AMD_MILAN_BM",
631631
"AMD_ROME_BM",
632+
"AMD_ROME_BM_GPU",
632633
"AMD_VM",
634+
"INTEL_ICELAKE_BM",
633635
"INTEL_SKYLAKE_BM",
634636
"INTEL_VM",
635637
}, true),
636638
},
637639

638640
// Optional
641+
"are_virtual_instructions_enabled": {
642+
Type: schema.TypeBool,
643+
Optional: true,
644+
Computed: true,
645+
ForceNew: true,
646+
},
647+
"is_access_control_service_enabled": {
648+
Type: schema.TypeBool,
649+
Optional: true,
650+
Computed: true,
651+
ForceNew: true,
652+
},
653+
"is_input_output_memory_management_unit_enabled": {
654+
Type: schema.TypeBool,
655+
Optional: true,
656+
Computed: true,
657+
ForceNew: true,
658+
},
639659
"is_measured_boot_enabled": {
640660
Type: schema.TypeBool,
641661
Optional: true,
@@ -648,6 +668,12 @@ func CoreInstanceConfigurationResource() *schema.Resource {
648668
Computed: true,
649669
ForceNew: true,
650670
},
671+
"is_symmetric_multi_threading_enabled": {
672+
Type: schema.TypeBool,
673+
Optional: true,
674+
Computed: true,
675+
ForceNew: true,
676+
},
651677
"is_trusted_platform_module_enabled": {
652678
Type: schema.TypeBool,
653679
Optional: true,
@@ -660,6 +686,12 @@ func CoreInstanceConfigurationResource() *schema.Resource {
660686
Computed: true,
661687
ForceNew: true,
662688
},
689+
"percentage_of_cores_enabled": {
690+
Type: schema.TypeInt,
691+
Optional: true,
692+
Computed: true,
693+
ForceNew: true,
694+
},
663695

664696
// Computed
665697
},
@@ -2172,9 +2204,29 @@ func (s *CoreInstanceConfigurationResourceCrud) mapToInstanceConfigurationLaunch
21722204
switch strings.ToLower(type_) {
21732205
case strings.ToLower("AMD_MILAN_BM"):
21742206
details := oci_core.InstanceConfigurationAmdMilanBmLaunchInstancePlatformConfig{}
2207+
if areVirtualInstructionsEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "are_virtual_instructions_enabled")); ok {
2208+
tmp := areVirtualInstructionsEnabled.(bool)
2209+
details.AreVirtualInstructionsEnabled = &tmp
2210+
}
2211+
if isAccessControlServiceEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_access_control_service_enabled")); ok {
2212+
tmp := isAccessControlServiceEnabled.(bool)
2213+
details.IsAccessControlServiceEnabled = &tmp
2214+
}
2215+
if isInputOutputMemoryManagementUnitEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_input_output_memory_management_unit_enabled")); ok {
2216+
tmp := isInputOutputMemoryManagementUnitEnabled.(bool)
2217+
details.IsInputOutputMemoryManagementUnitEnabled = &tmp
2218+
}
2219+
if isSymmetricMultiThreadingEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_symmetric_multi_threading_enabled")); ok {
2220+
tmp := isSymmetricMultiThreadingEnabled.(bool)
2221+
details.IsSymmetricMultiThreadingEnabled = &tmp
2222+
}
21752223
if numaNodesPerSocket, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "numa_nodes_per_socket")); ok {
21762224
details.NumaNodesPerSocket = oci_core.InstanceConfigurationAmdMilanBmLaunchInstancePlatformConfigNumaNodesPerSocketEnum(numaNodesPerSocket.(string))
21772225
}
2226+
if percentageOfCoresEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "percentage_of_cores_enabled")); ok {
2227+
tmp := percentageOfCoresEnabled.(int)
2228+
details.PercentageOfCoresEnabled = &tmp
2229+
}
21782230
if isMeasuredBootEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_measured_boot_enabled")); ok {
21792231
tmp := isMeasuredBootEnabled.(bool)
21802232
details.IsMeasuredBootEnabled = &tmp
@@ -2190,6 +2242,63 @@ func (s *CoreInstanceConfigurationResourceCrud) mapToInstanceConfigurationLaunch
21902242
baseObject = details
21912243
case strings.ToLower("AMD_ROME_BM"):
21922244
details := oci_core.InstanceConfigurationAmdRomeBmLaunchInstancePlatformConfig{}
2245+
if areVirtualInstructionsEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "are_virtual_instructions_enabled")); ok {
2246+
tmp := areVirtualInstructionsEnabled.(bool)
2247+
details.AreVirtualInstructionsEnabled = &tmp
2248+
}
2249+
if isAccessControlServiceEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_access_control_service_enabled")); ok {
2250+
tmp := isAccessControlServiceEnabled.(bool)
2251+
details.IsAccessControlServiceEnabled = &tmp
2252+
}
2253+
if isInputOutputMemoryManagementUnitEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_input_output_memory_management_unit_enabled")); ok {
2254+
tmp := isInputOutputMemoryManagementUnitEnabled.(bool)
2255+
details.IsInputOutputMemoryManagementUnitEnabled = &tmp
2256+
}
2257+
if isSymmetricMultiThreadingEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_symmetric_multi_threading_enabled")); ok {
2258+
tmp := isSymmetricMultiThreadingEnabled.(bool)
2259+
details.IsSymmetricMultiThreadingEnabled = &tmp
2260+
}
2261+
if numaNodesPerSocket, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "numa_nodes_per_socket")); ok {
2262+
details.NumaNodesPerSocket = oci_core.InstanceConfigurationAmdRomeBmLaunchInstancePlatformConfigNumaNodesPerSocketEnum(numaNodesPerSocket.(string))
2263+
}
2264+
if percentageOfCoresEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "percentage_of_cores_enabled")); ok {
2265+
tmp := percentageOfCoresEnabled.(int)
2266+
details.PercentageOfCoresEnabled = &tmp
2267+
}
2268+
if isMeasuredBootEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_measured_boot_enabled")); ok {
2269+
tmp := isMeasuredBootEnabled.(bool)
2270+
details.IsMeasuredBootEnabled = &tmp
2271+
}
2272+
if isSecureBootEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_secure_boot_enabled")); ok {
2273+
tmp := isSecureBootEnabled.(bool)
2274+
details.IsSecureBootEnabled = &tmp
2275+
}
2276+
if isTrustedPlatformModuleEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_trusted_platform_module_enabled")); ok {
2277+
tmp := isTrustedPlatformModuleEnabled.(bool)
2278+
details.IsTrustedPlatformModuleEnabled = &tmp
2279+
}
2280+
baseObject = details
2281+
case strings.ToLower("AMD_ROME_BM_GPU"):
2282+
details := oci_core.InstanceConfigurationAmdRomeBmGpuLaunchInstancePlatformConfig{}
2283+
if areVirtualInstructionsEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "are_virtual_instructions_enabled")); ok {
2284+
tmp := areVirtualInstructionsEnabled.(bool)
2285+
details.AreVirtualInstructionsEnabled = &tmp
2286+
}
2287+
if isAccessControlServiceEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_access_control_service_enabled")); ok {
2288+
tmp := isAccessControlServiceEnabled.(bool)
2289+
details.IsAccessControlServiceEnabled = &tmp
2290+
}
2291+
if isInputOutputMemoryManagementUnitEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_input_output_memory_management_unit_enabled")); ok {
2292+
tmp := isInputOutputMemoryManagementUnitEnabled.(bool)
2293+
details.IsInputOutputMemoryManagementUnitEnabled = &tmp
2294+
}
2295+
if isSymmetricMultiThreadingEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_symmetric_multi_threading_enabled")); ok {
2296+
tmp := isSymmetricMultiThreadingEnabled.(bool)
2297+
details.IsSymmetricMultiThreadingEnabled = &tmp
2298+
}
2299+
if numaNodesPerSocket, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "numa_nodes_per_socket")); ok {
2300+
details.NumaNodesPerSocket = oci_core.InstanceConfigurationAmdRomeBmGpuLaunchInstancePlatformConfigNumaNodesPerSocketEnum(numaNodesPerSocket.(string))
2301+
}
21932302
if isMeasuredBootEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_measured_boot_enabled")); ok {
21942303
tmp := isMeasuredBootEnabled.(bool)
21952304
details.IsMeasuredBootEnabled = &tmp
@@ -2218,6 +2327,36 @@ func (s *CoreInstanceConfigurationResourceCrud) mapToInstanceConfigurationLaunch
22182327
details.IsTrustedPlatformModuleEnabled = &tmp
22192328
}
22202329
baseObject = details
2330+
case strings.ToLower("INTEL_ICELAKE_BM"):
2331+
details := oci_core.InstanceConfigurationIntelIcelakeBmLaunchInstancePlatformConfig{}
2332+
if isInputOutputMemoryManagementUnitEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_input_output_memory_management_unit_enabled")); ok {
2333+
tmp := isInputOutputMemoryManagementUnitEnabled.(bool)
2334+
details.IsInputOutputMemoryManagementUnitEnabled = &tmp
2335+
}
2336+
if isSymmetricMultiThreadingEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_symmetric_multi_threading_enabled")); ok {
2337+
tmp := isSymmetricMultiThreadingEnabled.(bool)
2338+
details.IsSymmetricMultiThreadingEnabled = &tmp
2339+
}
2340+
if numaNodesPerSocket, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "numa_nodes_per_socket")); ok {
2341+
details.NumaNodesPerSocket = oci_core.InstanceConfigurationIntelIcelakeBmLaunchInstancePlatformConfigNumaNodesPerSocketEnum(numaNodesPerSocket.(string))
2342+
}
2343+
if percentageOfCoresEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "percentage_of_cores_enabled")); ok {
2344+
tmp := percentageOfCoresEnabled.(int)
2345+
details.PercentageOfCoresEnabled = &tmp
2346+
}
2347+
if isMeasuredBootEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_measured_boot_enabled")); ok {
2348+
tmp := isMeasuredBootEnabled.(bool)
2349+
details.IsMeasuredBootEnabled = &tmp
2350+
}
2351+
if isSecureBootEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_secure_boot_enabled")); ok {
2352+
tmp := isSecureBootEnabled.(bool)
2353+
details.IsSecureBootEnabled = &tmp
2354+
}
2355+
if isTrustedPlatformModuleEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_trusted_platform_module_enabled")); ok {
2356+
tmp := isTrustedPlatformModuleEnabled.(bool)
2357+
details.IsTrustedPlatformModuleEnabled = &tmp
2358+
}
2359+
baseObject = details
22212360
case strings.ToLower("INTEL_SKYLAKE_BM"):
22222361
details := oci_core.InstanceConfigurationIntelSkylakeBmLaunchInstancePlatformConfig{}
22232362
if isMeasuredBootEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_measured_boot_enabled")); ok {
@@ -2260,11 +2399,89 @@ func InstanceConfigurationLaunchInstancePlatformConfigToMap(obj *oci_core.Instan
22602399
case oci_core.InstanceConfigurationAmdMilanBmLaunchInstancePlatformConfig:
22612400
result["type"] = "AMD_MILAN_BM"
22622401

2402+
if v.AreVirtualInstructionsEnabled != nil {
2403+
result["are_virtual_instructions_enabled"] = bool(*v.AreVirtualInstructionsEnabled)
2404+
}
2405+
2406+
if v.IsAccessControlServiceEnabled != nil {
2407+
result["is_access_control_service_enabled"] = bool(*v.IsAccessControlServiceEnabled)
2408+
}
2409+
2410+
if v.IsInputOutputMemoryManagementUnitEnabled != nil {
2411+
result["is_input_output_memory_management_unit_enabled"] = bool(*v.IsInputOutputMemoryManagementUnitEnabled)
2412+
}
2413+
2414+
if v.IsSymmetricMultiThreadingEnabled != nil {
2415+
result["is_symmetric_multi_threading_enabled"] = bool(*v.IsSymmetricMultiThreadingEnabled)
2416+
}
2417+
22632418
result["numa_nodes_per_socket"] = string(v.NumaNodesPerSocket)
2419+
2420+
if v.PercentageOfCoresEnabled != nil {
2421+
result["percentage_of_cores_enabled"] = int(*v.PercentageOfCoresEnabled)
2422+
}
22642423
case oci_core.InstanceConfigurationAmdRomeBmLaunchInstancePlatformConfig:
22652424
result["type"] = "AMD_ROME_BM"
2425+
2426+
if v.AreVirtualInstructionsEnabled != nil {
2427+
result["are_virtual_instructions_enabled"] = bool(*v.AreVirtualInstructionsEnabled)
2428+
}
2429+
2430+
if v.IsAccessControlServiceEnabled != nil {
2431+
result["is_access_control_service_enabled"] = bool(*v.IsAccessControlServiceEnabled)
2432+
}
2433+
2434+
if v.IsInputOutputMemoryManagementUnitEnabled != nil {
2435+
result["is_input_output_memory_management_unit_enabled"] = bool(*v.IsInputOutputMemoryManagementUnitEnabled)
2436+
}
2437+
2438+
if v.IsSymmetricMultiThreadingEnabled != nil {
2439+
result["is_symmetric_multi_threading_enabled"] = bool(*v.IsSymmetricMultiThreadingEnabled)
2440+
}
2441+
2442+
result["numa_nodes_per_socket"] = string(v.NumaNodesPerSocket)
2443+
2444+
if v.PercentageOfCoresEnabled != nil {
2445+
result["percentage_of_cores_enabled"] = int(*v.PercentageOfCoresEnabled)
2446+
}
2447+
case oci_core.InstanceConfigurationAmdRomeBmGpuLaunchInstancePlatformConfig:
2448+
result["type"] = "AMD_ROME_BM_GPU"
2449+
2450+
if v.AreVirtualInstructionsEnabled != nil {
2451+
result["are_virtual_instructions_enabled"] = bool(*v.AreVirtualInstructionsEnabled)
2452+
}
2453+
2454+
if v.IsAccessControlServiceEnabled != nil {
2455+
result["is_access_control_service_enabled"] = bool(*v.IsAccessControlServiceEnabled)
2456+
}
2457+
2458+
if v.IsInputOutputMemoryManagementUnitEnabled != nil {
2459+
result["is_input_output_memory_management_unit_enabled"] = bool(*v.IsInputOutputMemoryManagementUnitEnabled)
2460+
}
2461+
2462+
if v.IsSymmetricMultiThreadingEnabled != nil {
2463+
result["is_symmetric_multi_threading_enabled"] = bool(*v.IsSymmetricMultiThreadingEnabled)
2464+
}
2465+
2466+
result["numa_nodes_per_socket"] = string(v.NumaNodesPerSocket)
22662467
case oci_core.InstanceConfigurationAmdVmLaunchInstancePlatformConfig:
22672468
result["type"] = "AMD_VM"
2469+
case oci_core.InstanceConfigurationIntelIcelakeBmLaunchInstancePlatformConfig:
2470+
result["type"] = "INTEL_ICELAKE_BM"
2471+
2472+
if v.IsInputOutputMemoryManagementUnitEnabled != nil {
2473+
result["is_input_output_memory_management_unit_enabled"] = bool(*v.IsInputOutputMemoryManagementUnitEnabled)
2474+
}
2475+
2476+
if v.IsSymmetricMultiThreadingEnabled != nil {
2477+
result["is_symmetric_multi_threading_enabled"] = bool(*v.IsSymmetricMultiThreadingEnabled)
2478+
}
2479+
2480+
result["numa_nodes_per_socket"] = string(v.NumaNodesPerSocket)
2481+
2482+
if v.PercentageOfCoresEnabled != nil {
2483+
result["percentage_of_cores_enabled"] = int(*v.PercentageOfCoresEnabled)
2484+
}
22682485
case oci_core.InstanceConfigurationIntelSkylakeBmLaunchInstancePlatformConfig:
22692486
result["type"] = "INTEL_SKYLAKE_BM"
22702487
case oci_core.InstanceConfigurationIntelVmLaunchInstancePlatformConfig:

0 commit comments

Comments
 (0)