1. Packages
  2. Oracle Cloud Infrastructure
  3. API Docs
  4. Core
  5. InstanceConfiguration
Oracle Cloud Infrastructure v1.32.0 published on Thursday, Apr 18, 2024 by Pulumi

oci.Core.InstanceConfiguration

Explore with Pulumi AI

oci logo
Oracle Cloud Infrastructure v1.32.0 published on Thursday, Apr 18, 2024 by Pulumi

    This resource provides the Instance Configuration resource in Oracle Cloud Infrastructure Core service.

    Creates an instance configuration. An instance configuration is a template that defines the settings to use when creating Compute instances.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as oci from "@pulumi/oci";
    
    const testInstanceConfiguration = new oci.core.InstanceConfiguration("testInstanceConfiguration", {
        compartmentId: _var.compartment_id,
        definedTags: {
            "Operations.CostCenter": "42",
        },
        displayName: _var.instance_configuration_display_name,
        freeformTags: {
            Department: "Finance",
        },
        instanceDetails: {
            instanceType: _var.instance_configuration_instance_details_instance_type,
            blockVolumes: [{
                attachDetails: {
                    type: _var.instance_configuration_instance_details_block_volumes_attach_details_type,
                    device: _var.instance_configuration_instance_details_block_volumes_attach_details_device,
                    displayName: _var.instance_configuration_instance_details_block_volumes_attach_details_display_name,
                    isPvEncryptionInTransitEnabled: _var.instance_configuration_instance_details_block_volumes_attach_details_is_pv_encryption_in_transit_enabled,
                    isReadOnly: _var.instance_configuration_instance_details_block_volumes_attach_details_is_read_only,
                    isShareable: _var.instance_configuration_instance_details_block_volumes_attach_details_is_shareable,
                    useChap: _var.instance_configuration_instance_details_block_volumes_attach_details_use_chap,
                },
                createDetails: {
                    autotunePolicies: [{
                        autotuneType: _var.instance_configuration_instance_details_block_volumes_create_details_autotune_policies_autotune_type,
                        maxVpusPerGb: _var.instance_configuration_instance_details_block_volumes_create_details_autotune_policies_max_vpus_per_gb,
                    }],
                    availabilityDomain: _var.instance_configuration_instance_details_block_volumes_create_details_availability_domain,
                    backupPolicyId: data.oci_core_volume_backup_policies.test_volume_backup_policies.volume_backup_policies[0].id,
                    blockVolumeReplicas: {
                        availabilityDomain: _var.instance_configuration_instance_details_block_volumes_create_details_block_volume_replicas_availability_domain,
                        displayName: _var.instance_configuration_instance_details_block_volumes_create_details_block_volume_replicas_display_name,
                    },
                    compartmentId: _var.compartment_id,
                    definedTags: {
                        "Operations.CostCenter": "42",
                    },
                    displayName: _var.instance_configuration_instance_details_block_volumes_create_details_display_name,
                    freeformTags: {
                        Department: "Finance",
                    },
                    isAutoTuneEnabled: _var.instance_configuration_instance_details_block_volumes_create_details_is_auto_tune_enabled,
                    kmsKeyId: oci_kms_key.test_key.id,
                    sizeInGbs: _var.instance_configuration_instance_details_block_volumes_create_details_size_in_gbs,
                    sourceDetails: {
                        type: _var.instance_configuration_instance_details_block_volumes_create_details_source_details_type,
                        id: _var.instance_configuration_instance_details_block_volumes_create_details_source_details_id,
                    },
                    vpusPerGb: _var.instance_configuration_instance_details_block_volumes_create_details_vpus_per_gb,
                },
                volumeId: oci_core_volume.test_volume.id,
            }],
            launchDetails: {
                agentConfig: {
                    areAllPluginsDisabled: _var.instance_configuration_instance_details_launch_details_agent_config_are_all_plugins_disabled,
                    isManagementDisabled: _var.instance_configuration_instance_details_launch_details_agent_config_is_management_disabled,
                    isMonitoringDisabled: _var.instance_configuration_instance_details_launch_details_agent_config_is_monitoring_disabled,
                    pluginsConfigs: [{
                        desiredState: _var.instance_configuration_instance_details_launch_details_agent_config_plugins_config_desired_state,
                        name: _var.instance_configuration_instance_details_launch_details_agent_config_plugins_config_name,
                    }],
                },
                availabilityConfig: {
                    isLiveMigrationPreferred: _var.instance_configuration_instance_details_launch_details_availability_config_is_live_migration_preferred,
                    recoveryAction: _var.instance_configuration_instance_details_launch_details_availability_config_recovery_action,
                },
                availabilityDomain: _var.instance_configuration_instance_details_launch_details_availability_domain,
                capacityReservationId: oci_core_capacity_reservation.test_capacity_reservation.id,
                compartmentId: _var.compartment_id,
                createVnicDetails: {
                    assignIpv6ip: _var.instance_configuration_instance_details_launch_details_create_vnic_details_assign_ipv6ip,
                    assignPrivateDnsRecord: _var.instance_configuration_instance_details_launch_details_create_vnic_details_assign_private_dns_record,
                    assignPublicIp: _var.instance_configuration_instance_details_launch_details_create_vnic_details_assign_public_ip,
                    definedTags: {
                        "Operations.CostCenter": "42",
                    },
                    displayName: _var.instance_configuration_instance_details_launch_details_create_vnic_details_display_name,
                    freeformTags: {
                        Department: "Finance",
                    },
                    hostnameLabel: _var.instance_configuration_instance_details_launch_details_create_vnic_details_hostname_label,
                    ipv6addressIpv6subnetCidrPairDetails: [{
                        ipv6address: _var.instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address,
                        ipv6subnetCidr: _var.instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr,
                    }],
                    nsgIds: _var.instance_configuration_instance_details_launch_details_create_vnic_details_nsg_ids,
                    privateIp: _var.instance_configuration_instance_details_launch_details_create_vnic_details_private_ip,
                    skipSourceDestCheck: _var.instance_configuration_instance_details_launch_details_create_vnic_details_skip_source_dest_check,
                    subnetId: oci_core_subnet.test_subnet.id,
                },
                dedicatedVmHostId: oci_core_dedicated_vm_host.test_dedicated_vm_host.id,
                definedTags: {
                    "Operations.CostCenter": "42",
                },
                displayName: _var.instance_configuration_instance_details_launch_details_display_name,
                extendedMetadata: _var.instance_configuration_instance_details_launch_details_extended_metadata,
                faultDomain: _var.instance_configuration_instance_details_launch_details_fault_domain,
                freeformTags: {
                    Department: "Finance",
                },
                instanceOptions: {
                    areLegacyImdsEndpointsDisabled: _var.instance_configuration_instance_details_launch_details_instance_options_are_legacy_imds_endpoints_disabled,
                },
                ipxeScript: _var.instance_configuration_instance_details_launch_details_ipxe_script,
                isPvEncryptionInTransitEnabled: _var.instance_configuration_instance_details_launch_details_is_pv_encryption_in_transit_enabled,
                launchMode: _var.instance_configuration_instance_details_launch_details_launch_mode,
                launchOptions: {
                    bootVolumeType: _var.instance_configuration_instance_details_launch_details_launch_options_boot_volume_type,
                    firmware: _var.instance_configuration_instance_details_launch_details_launch_options_firmware,
                    isConsistentVolumeNamingEnabled: _var.instance_configuration_instance_details_launch_details_launch_options_is_consistent_volume_naming_enabled,
                    isPvEncryptionInTransitEnabled: _var.instance_configuration_instance_details_launch_details_launch_options_is_pv_encryption_in_transit_enabled,
                    networkType: _var.instance_configuration_instance_details_launch_details_launch_options_network_type,
                    remoteDataVolumeType: _var.instance_configuration_instance_details_launch_details_launch_options_remote_data_volume_type,
                },
                metadata: _var.instance_configuration_instance_details_launch_details_metadata,
                platformConfig: {
                    type: _var.instance_configuration_instance_details_launch_details_platform_config_type,
                    areVirtualInstructionsEnabled: _var.instance_configuration_instance_details_launch_details_platform_config_are_virtual_instructions_enabled,
                    configMap: _var.instance_configuration_instance_details_launch_details_platform_config_config_map,
                    isAccessControlServiceEnabled: _var.instance_configuration_instance_details_launch_details_platform_config_is_access_control_service_enabled,
                    isInputOutputMemoryManagementUnitEnabled: _var.instance_configuration_instance_details_launch_details_platform_config_is_input_output_memory_management_unit_enabled,
                    isMeasuredBootEnabled: _var.instance_configuration_instance_details_launch_details_platform_config_is_measured_boot_enabled,
                    isMemoryEncryptionEnabled: _var.instance_configuration_instance_details_launch_details_platform_config_is_memory_encryption_enabled,
                    isSecureBootEnabled: _var.instance_configuration_instance_details_launch_details_platform_config_is_secure_boot_enabled,
                    isSymmetricMultiThreadingEnabled: _var.instance_configuration_instance_details_launch_details_platform_config_is_symmetric_multi_threading_enabled,
                    isTrustedPlatformModuleEnabled: _var.instance_configuration_instance_details_launch_details_platform_config_is_trusted_platform_module_enabled,
                    numaNodesPerSocket: _var.instance_configuration_instance_details_launch_details_platform_config_numa_nodes_per_socket,
                    percentageOfCoresEnabled: _var.instance_configuration_instance_details_launch_details_platform_config_percentage_of_cores_enabled,
                },
                preemptibleInstanceConfig: {
                    preemptionAction: {
                        type: _var.instance_configuration_instance_details_launch_details_preemptible_instance_config_preemption_action_type,
                        preserveBootVolume: _var.instance_configuration_instance_details_launch_details_preemptible_instance_config_preemption_action_preserve_boot_volume,
                    },
                },
                preferredMaintenanceAction: _var.instance_configuration_instance_details_launch_details_preferred_maintenance_action,
                shape: _var.instance_configuration_instance_details_launch_details_shape,
                shapeConfig: {
                    baselineOcpuUtilization: _var.instance_configuration_instance_details_launch_details_shape_config_baseline_ocpu_utilization,
                    memoryInGbs: _var.instance_configuration_instance_details_launch_details_shape_config_memory_in_gbs,
                    nvmes: _var.instance_configuration_instance_details_launch_details_shape_config_nvmes,
                    ocpus: _var.instance_configuration_instance_details_launch_details_shape_config_ocpus,
                    vcpus: _var.instance_configuration_instance_details_launch_details_shape_config_vcpus,
                },
                sourceDetails: {
                    sourceType: _var.instance_configuration_instance_details_launch_details_source_details_source_type,
                    bootVolumeId: oci_core_boot_volume.test_boot_volume.id,
                    bootVolumeSizeInGbs: _var.instance_configuration_instance_details_launch_details_source_details_boot_volume_size_in_gbs,
                    bootVolumeVpusPerGb: _var.instance_configuration_instance_details_launch_details_source_details_boot_volume_vpus_per_gb,
                    imageId: oci_core_image.test_image.id,
                    kmsKeyId: oci_kms_key.test_key.id,
                    instanceSourceImageFilterDetails: {
                        compartmentId: _var.compartment_id,
                        definedTagsFilter: _var.instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_defined_tags_filter,
                        operatingSystem: _var.instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_operating_system,
                        operatingSystemVersion: _var.instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_operating_system_version,
                    },
                },
            },
            options: [{
                blockVolumes: [{
                    attachDetails: {
                        type: _var.instance_configuration_instance_details_options_block_volumes_attach_details_type,
                        device: _var.instance_configuration_instance_details_options_block_volumes_attach_details_device,
                        displayName: _var.instance_configuration_instance_details_options_block_volumes_attach_details_display_name,
                        isPvEncryptionInTransitEnabled: _var.instance_configuration_instance_details_options_block_volumes_attach_details_is_pv_encryption_in_transit_enabled,
                        isReadOnly: _var.instance_configuration_instance_details_options_block_volumes_attach_details_is_read_only,
                        isShareable: _var.instance_configuration_instance_details_options_block_volumes_attach_details_is_shareable,
                        useChap: _var.instance_configuration_instance_details_options_block_volumes_attach_details_use_chap,
                    },
                    createDetails: {
                        autotunePolicies: [{
                            autotuneType: _var.instance_configuration_instance_details_options_block_volumes_create_details_autotune_policies_autotune_type,
                            maxVpusPerGb: _var.instance_configuration_instance_details_options_block_volumes_create_details_autotune_policies_max_vpus_per_gb,
                        }],
                        availabilityDomain: _var.instance_configuration_instance_details_options_block_volumes_create_details_availability_domain,
                        backupPolicyId: data.oci_core_volume_backup_policies.test_volume_backup_policies.volume_backup_policies[0].id,
                        compartmentId: _var.compartment_id,
                        definedTags: {
                            "Operations.CostCenter": "42",
                        },
                        displayName: _var.instance_configuration_instance_details_options_block_volumes_create_details_display_name,
                        freeformTags: {
                            Department: "Finance",
                        },
                        kmsKeyId: oci_kms_key.test_key.id,
                        sizeInGbs: _var.instance_configuration_instance_details_options_block_volumes_create_details_size_in_gbs,
                        sourceDetails: {
                            type: _var.instance_configuration_instance_details_options_block_volumes_create_details_source_details_type,
                            id: _var.instance_configuration_instance_details_options_block_volumes_create_details_source_details_id,
                        },
                        vpusPerGb: _var.instance_configuration_instance_details_options_block_volumes_create_details_vpus_per_gb,
                    },
                    volumeId: oci_core_volume.test_volume.id,
                }],
                launchDetails: {
                    agentConfig: {
                        areAllPluginsDisabled: _var.instance_configuration_instance_details_options_launch_details_agent_config_are_all_plugins_disabled,
                        isManagementDisabled: _var.instance_configuration_instance_details_options_launch_details_agent_config_is_management_disabled,
                        isMonitoringDisabled: _var.instance_configuration_instance_details_options_launch_details_agent_config_is_monitoring_disabled,
                        pluginsConfigs: [{
                            desiredState: _var.instance_configuration_instance_details_options_launch_details_agent_config_plugins_config_desired_state,
                            name: _var.instance_configuration_instance_details_options_launch_details_agent_config_plugins_config_name,
                        }],
                    },
                    availabilityConfig: {
                        recoveryAction: _var.instance_configuration_instance_details_options_launch_details_availability_config_recovery_action,
                    },
                    availabilityDomain: _var.instance_configuration_instance_details_options_launch_details_availability_domain,
                    capacityReservationId: oci_core_capacity_reservation.test_capacity_reservation.id,
                    compartmentId: _var.compartment_id,
                    createVnicDetails: {
                        assignIpv6ip: _var.instance_configuration_instance_details_launch_details_create_vnic_details_assign_ipv6ip,
                        assignPrivateDnsRecord: _var.instance_configuration_instance_details_options_launch_details_create_vnic_details_assign_private_dns_record,
                        assignPublicIp: _var.instance_configuration_instance_details_options_launch_details_create_vnic_details_assign_public_ip,
                        definedTags: {
                            "Operations.CostCenter": "42",
                        },
                        displayName: _var.instance_configuration_instance_details_options_launch_details_create_vnic_details_display_name,
                        freeformTags: {
                            Department: "Finance",
                        },
                        hostnameLabel: _var.instance_configuration_instance_details_options_launch_details_create_vnic_details_hostname_label,
                        ipv6addressIpv6subnetCidrPairDetails: [{
                            ipv6address: _var.instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address,
                            ipv6subnetCidr: _var.instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr,
                        }],
                        nsgIds: _var.instance_configuration_instance_details_options_launch_details_create_vnic_details_nsg_ids,
                        privateIp: _var.instance_configuration_instance_details_options_launch_details_create_vnic_details_private_ip,
                        skipSourceDestCheck: _var.instance_configuration_instance_details_options_launch_details_create_vnic_details_skip_source_dest_check,
                        subnetId: oci_core_subnet.test_subnet.id,
                    },
                    dedicatedVmHostId: oci_core_dedicated_vm_host.test_dedicated_vm_host.id,
                    definedTags: {
                        "Operations.CostCenter": "42",
                    },
                    displayName: _var.instance_configuration_instance_details_options_launch_details_display_name,
                    extendedMetadata: _var.instance_configuration_instance_details_options_launch_details_extended_metadata,
                    faultDomain: _var.instance_configuration_instance_details_options_launch_details_fault_domain,
                    freeformTags: {
                        Department: "Finance",
                    },
                    instanceOptions: {
                        areLegacyImdsEndpointsDisabled: _var.instance_configuration_instance_details_options_launch_details_instance_options_are_legacy_imds_endpoints_disabled,
                    },
                    ipxeScript: _var.instance_configuration_instance_details_options_launch_details_ipxe_script,
                    isPvEncryptionInTransitEnabled: _var.instance_configuration_instance_details_options_launch_details_is_pv_encryption_in_transit_enabled,
                    launchMode: _var.instance_configuration_instance_details_options_launch_details_launch_mode,
                    launchOptions: {
                        bootVolumeType: _var.instance_configuration_instance_details_options_launch_details_launch_options_boot_volume_type,
                        firmware: _var.instance_configuration_instance_details_options_launch_details_launch_options_firmware,
                        isConsistentVolumeNamingEnabled: _var.instance_configuration_instance_details_options_launch_details_launch_options_is_consistent_volume_naming_enabled,
                        isPvEncryptionInTransitEnabled: _var.instance_configuration_instance_details_options_launch_details_launch_options_is_pv_encryption_in_transit_enabled,
                        networkType: _var.instance_configuration_instance_details_options_launch_details_launch_options_network_type,
                        remoteDataVolumeType: _var.instance_configuration_instance_details_options_launch_details_launch_options_remote_data_volume_type,
                    },
                    metadata: _var.instance_configuration_instance_details_options_launch_details_metadata,
                    platformConfig: {
                        type: _var.instance_configuration_instance_details_options_launch_details_platform_config_type,
                        areVirtualInstructionsEnabled: _var.instance_configuration_instance_details_options_launch_details_platform_config_are_virtual_instructions_enabled,
                        isAccessControlServiceEnabled: _var.instance_configuration_instance_details_options_launch_details_platform_config_is_access_control_service_enabled,
                        isInputOutputMemoryManagementUnitEnabled: _var.instance_configuration_instance_details_options_launch_details_platform_config_is_input_output_memory_management_unit_enabled,
                        isMeasuredBootEnabled: _var.instance_configuration_instance_details_options_launch_details_platform_config_is_measured_boot_enabled,
                        isMemoryEncryptionEnabled: _var.instance_configuration_instance_details_options_launch_details_platform_config_is_memory_encryption_enabled,
                        isSecureBootEnabled: _var.instance_configuration_instance_details_options_launch_details_platform_config_is_secure_boot_enabled,
                        isSymmetricMultiThreadingEnabled: _var.instance_configuration_instance_details_options_launch_details_platform_config_is_symmetric_multi_threading_enabled,
                        isTrustedPlatformModuleEnabled: _var.instance_configuration_instance_details_options_launch_details_platform_config_is_trusted_platform_module_enabled,
                        numaNodesPerSocket: _var.instance_configuration_instance_details_options_launch_details_platform_config_numa_nodes_per_socket,
                        percentageOfCoresEnabled: _var.instance_configuration_instance_details_options_launch_details_platform_config_percentage_of_cores_enabled,
                    },
                    preemptibleInstanceConfig: {
                        preemptionAction: {
                            type: _var.instance_configuration_instance_details_options_launch_details_preemptible_instance_config_preemption_action_type,
                            preserveBootVolume: _var.instance_configuration_instance_details_options_launch_details_preemptible_instance_config_preemption_action_preserve_boot_volume,
                        },
                    },
                    preferredMaintenanceAction: _var.instance_configuration_instance_details_options_launch_details_preferred_maintenance_action,
                    shape: _var.instance_configuration_instance_details_options_launch_details_shape,
                    shapeConfig: {
                        baselineOcpuUtilization: _var.instance_configuration_instance_details_options_launch_details_shape_config_baseline_ocpu_utilization,
                        memoryInGbs: _var.instance_configuration_instance_details_options_launch_details_shape_config_memory_in_gbs,
                        nvmes: _var.instance_configuration_instance_details_options_launch_details_shape_config_nvmes,
                        ocpus: _var.instance_configuration_instance_details_options_launch_details_shape_config_ocpus,
                        vcpus: _var.instance_configuration_instance_details_options_launch_details_shape_config_vcpus,
                    },
                    sourceDetails: {
                        sourceType: _var.instance_configuration_instance_details_options_launch_details_source_details_source_type,
                        bootVolumeId: oci_core_boot_volume.test_boot_volume.id,
                        bootVolumeSizeInGbs: _var.instance_configuration_instance_details_options_launch_details_source_details_boot_volume_size_in_gbs,
                        bootVolumeVpusPerGb: _var.instance_configuration_instance_details_options_launch_details_source_details_boot_volume_vpus_per_gb,
                        imageId: oci_core_image.test_image.id,
                        instanceSourceImageFilterDetails: {
                            compartmentId: _var.compartment_id,
                            definedTagsFilter: _var.instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_defined_tags_filter,
                            operatingSystem: _var.instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_operating_system,
                            operatingSystemVersion: _var.instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_operating_system_version,
                        },
                    },
                },
                secondaryVnics: [{
                    createVnicDetails: {
                        assignIpv6ip: _var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_ipv6ip,
                        assignPrivateDnsRecord: _var.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_assign_private_dns_record,
                        assignPublicIp: _var.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_assign_public_ip,
                        definedTags: {
                            "Operations.CostCenter": "42",
                        },
                        displayName: _var.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_display_name,
                        freeformTags: {
                            Department: "Finance",
                        },
                        hostnameLabel: _var.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_hostname_label,
                        ipv6addressIpv6subnetCidrPairDetails: [{
                            ipv6address: _var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address,
                            ipv6subnetCidr: _var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr,
                        }],
                        nsgIds: _var.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_nsg_ids,
                        privateIp: _var.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_private_ip,
                        skipSourceDestCheck: _var.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_skip_source_dest_check,
                        subnetId: oci_core_subnet.test_subnet.id,
                    },
                    displayName: _var.instance_configuration_instance_details_options_secondary_vnics_display_name,
                    nicIndex: _var.instance_configuration_instance_details_options_secondary_vnics_nic_index,
                }],
            }],
            secondaryVnics: [{
                createVnicDetails: {
                    assignPrivateDnsRecord: _var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_private_dns_record,
                    assignPublicIp: _var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_public_ip,
                    definedTags: {
                        "Operations.CostCenter": "42",
                    },
                    displayName: _var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_display_name,
                    freeformTags: {
                        Department: "Finance",
                    },
                    hostnameLabel: _var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_hostname_label,
                    nsgIds: _var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_nsg_ids,
                    privateIp: _var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_private_ip,
                    skipSourceDestCheck: _var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_skip_source_dest_check,
                    subnetId: oci_core_subnet.test_subnet.id,
                },
                displayName: _var.instance_configuration_instance_details_secondary_vnics_display_name,
                nicIndex: _var.instance_configuration_instance_details_secondary_vnics_nic_index,
            }],
        },
        instanceId: oci_core_instance.test_instance.id,
        source: _var.instance_configuration_source,
    });
    
    import pulumi
    import pulumi_oci as oci
    
    test_instance_configuration = oci.core.InstanceConfiguration("testInstanceConfiguration",
        compartment_id=var["compartment_id"],
        defined_tags={
            "Operations.CostCenter": "42",
        },
        display_name=var["instance_configuration_display_name"],
        freeform_tags={
            "Department": "Finance",
        },
        instance_details=oci.core.InstanceConfigurationInstanceDetailsArgs(
            instance_type=var["instance_configuration_instance_details_instance_type"],
            block_volumes=[oci.core.InstanceConfigurationInstanceDetailsBlockVolumeArgs(
                attach_details=oci.core.InstanceConfigurationInstanceDetailsBlockVolumeAttachDetailsArgs(
                    type=var["instance_configuration_instance_details_block_volumes_attach_details_type"],
                    device=var["instance_configuration_instance_details_block_volumes_attach_details_device"],
                    display_name=var["instance_configuration_instance_details_block_volumes_attach_details_display_name"],
                    is_pv_encryption_in_transit_enabled=var["instance_configuration_instance_details_block_volumes_attach_details_is_pv_encryption_in_transit_enabled"],
                    is_read_only=var["instance_configuration_instance_details_block_volumes_attach_details_is_read_only"],
                    is_shareable=var["instance_configuration_instance_details_block_volumes_attach_details_is_shareable"],
                    use_chap=var["instance_configuration_instance_details_block_volumes_attach_details_use_chap"],
                ),
                create_details=oci.core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsArgs(
                    autotune_policies=[oci.core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicyArgs(
                        autotune_type=var["instance_configuration_instance_details_block_volumes_create_details_autotune_policies_autotune_type"],
                        max_vpus_per_gb=var["instance_configuration_instance_details_block_volumes_create_details_autotune_policies_max_vpus_per_gb"],
                    )],
                    availability_domain=var["instance_configuration_instance_details_block_volumes_create_details_availability_domain"],
                    backup_policy_id=data["oci_core_volume_backup_policies"]["test_volume_backup_policies"]["volume_backup_policies"][0]["id"],
                    block_volume_replicas=oci.core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsBlockVolumeReplicasArgs(
                        availability_domain=var["instance_configuration_instance_details_block_volumes_create_details_block_volume_replicas_availability_domain"],
                        display_name=var["instance_configuration_instance_details_block_volumes_create_details_block_volume_replicas_display_name"],
                    ),
                    compartment_id=var["compartment_id"],
                    defined_tags={
                        "Operations.CostCenter": "42",
                    },
                    display_name=var["instance_configuration_instance_details_block_volumes_create_details_display_name"],
                    freeform_tags={
                        "Department": "Finance",
                    },
                    is_auto_tune_enabled=var["instance_configuration_instance_details_block_volumes_create_details_is_auto_tune_enabled"],
                    kms_key_id=oci_kms_key["test_key"]["id"],
                    size_in_gbs=var["instance_configuration_instance_details_block_volumes_create_details_size_in_gbs"],
                    source_details=oci.core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsSourceDetailsArgs(
                        type=var["instance_configuration_instance_details_block_volumes_create_details_source_details_type"],
                        id=var["instance_configuration_instance_details_block_volumes_create_details_source_details_id"],
                    ),
                    vpus_per_gb=var["instance_configuration_instance_details_block_volumes_create_details_vpus_per_gb"],
                ),
                volume_id=oci_core_volume["test_volume"]["id"],
            )],
            launch_details=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsArgs(
                agent_config=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigArgs(
                    are_all_plugins_disabled=var["instance_configuration_instance_details_launch_details_agent_config_are_all_plugins_disabled"],
                    is_management_disabled=var["instance_configuration_instance_details_launch_details_agent_config_is_management_disabled"],
                    is_monitoring_disabled=var["instance_configuration_instance_details_launch_details_agent_config_is_monitoring_disabled"],
                    plugins_configs=[oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfigArgs(
                        desired_state=var["instance_configuration_instance_details_launch_details_agent_config_plugins_config_desired_state"],
                        name=var["instance_configuration_instance_details_launch_details_agent_config_plugins_config_name"],
                    )],
                ),
                availability_config=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfigArgs(
                    is_live_migration_preferred=var["instance_configuration_instance_details_launch_details_availability_config_is_live_migration_preferred"],
                    recovery_action=var["instance_configuration_instance_details_launch_details_availability_config_recovery_action"],
                ),
                availability_domain=var["instance_configuration_instance_details_launch_details_availability_domain"],
                capacity_reservation_id=oci_core_capacity_reservation["test_capacity_reservation"]["id"],
                compartment_id=var["compartment_id"],
                create_vnic_details=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsArgs(
                    assign_ipv6ip=var["instance_configuration_instance_details_launch_details_create_vnic_details_assign_ipv6ip"],
                    assign_private_dns_record=var["instance_configuration_instance_details_launch_details_create_vnic_details_assign_private_dns_record"],
                    assign_public_ip=var["instance_configuration_instance_details_launch_details_create_vnic_details_assign_public_ip"],
                    defined_tags={
                        "Operations.CostCenter": "42",
                    },
                    display_name=var["instance_configuration_instance_details_launch_details_create_vnic_details_display_name"],
                    freeform_tags={
                        "Department": "Finance",
                    },
                    hostname_label=var["instance_configuration_instance_details_launch_details_create_vnic_details_hostname_label"],
                    ipv6address_ipv6subnet_cidr_pair_details=[oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs(
                        ipv6address=var["instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address"],
                        ipv6subnet_cidr=var["instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr"],
                    )],
                    nsg_ids=var["instance_configuration_instance_details_launch_details_create_vnic_details_nsg_ids"],
                    private_ip=var["instance_configuration_instance_details_launch_details_create_vnic_details_private_ip"],
                    skip_source_dest_check=var["instance_configuration_instance_details_launch_details_create_vnic_details_skip_source_dest_check"],
                    subnet_id=oci_core_subnet["test_subnet"]["id"],
                ),
                dedicated_vm_host_id=oci_core_dedicated_vm_host["test_dedicated_vm_host"]["id"],
                defined_tags={
                    "Operations.CostCenter": "42",
                },
                display_name=var["instance_configuration_instance_details_launch_details_display_name"],
                extended_metadata=var["instance_configuration_instance_details_launch_details_extended_metadata"],
                fault_domain=var["instance_configuration_instance_details_launch_details_fault_domain"],
                freeform_tags={
                    "Department": "Finance",
                },
                instance_options=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptionsArgs(
                    are_legacy_imds_endpoints_disabled=var["instance_configuration_instance_details_launch_details_instance_options_are_legacy_imds_endpoints_disabled"],
                ),
                ipxe_script=var["instance_configuration_instance_details_launch_details_ipxe_script"],
                is_pv_encryption_in_transit_enabled=var["instance_configuration_instance_details_launch_details_is_pv_encryption_in_transit_enabled"],
                launch_mode=var["instance_configuration_instance_details_launch_details_launch_mode"],
                launch_options=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptionsArgs(
                    boot_volume_type=var["instance_configuration_instance_details_launch_details_launch_options_boot_volume_type"],
                    firmware=var["instance_configuration_instance_details_launch_details_launch_options_firmware"],
                    is_consistent_volume_naming_enabled=var["instance_configuration_instance_details_launch_details_launch_options_is_consistent_volume_naming_enabled"],
                    is_pv_encryption_in_transit_enabled=var["instance_configuration_instance_details_launch_details_launch_options_is_pv_encryption_in_transit_enabled"],
                    network_type=var["instance_configuration_instance_details_launch_details_launch_options_network_type"],
                    remote_data_volume_type=var["instance_configuration_instance_details_launch_details_launch_options_remote_data_volume_type"],
                ),
                metadata=var["instance_configuration_instance_details_launch_details_metadata"],
                platform_config=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfigArgs(
                    type=var["instance_configuration_instance_details_launch_details_platform_config_type"],
                    are_virtual_instructions_enabled=var["instance_configuration_instance_details_launch_details_platform_config_are_virtual_instructions_enabled"],
                    config_map=var["instance_configuration_instance_details_launch_details_platform_config_config_map"],
                    is_access_control_service_enabled=var["instance_configuration_instance_details_launch_details_platform_config_is_access_control_service_enabled"],
                    is_input_output_memory_management_unit_enabled=var["instance_configuration_instance_details_launch_details_platform_config_is_input_output_memory_management_unit_enabled"],
                    is_measured_boot_enabled=var["instance_configuration_instance_details_launch_details_platform_config_is_measured_boot_enabled"],
                    is_memory_encryption_enabled=var["instance_configuration_instance_details_launch_details_platform_config_is_memory_encryption_enabled"],
                    is_secure_boot_enabled=var["instance_configuration_instance_details_launch_details_platform_config_is_secure_boot_enabled"],
                    is_symmetric_multi_threading_enabled=var["instance_configuration_instance_details_launch_details_platform_config_is_symmetric_multi_threading_enabled"],
                    is_trusted_platform_module_enabled=var["instance_configuration_instance_details_launch_details_platform_config_is_trusted_platform_module_enabled"],
                    numa_nodes_per_socket=var["instance_configuration_instance_details_launch_details_platform_config_numa_nodes_per_socket"],
                    percentage_of_cores_enabled=var["instance_configuration_instance_details_launch_details_platform_config_percentage_of_cores_enabled"],
                ),
                preemptible_instance_config=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigArgs(
                    preemption_action=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs(
                        type=var["instance_configuration_instance_details_launch_details_preemptible_instance_config_preemption_action_type"],
                        preserve_boot_volume=var["instance_configuration_instance_details_launch_details_preemptible_instance_config_preemption_action_preserve_boot_volume"],
                    ),
                ),
                preferred_maintenance_action=var["instance_configuration_instance_details_launch_details_preferred_maintenance_action"],
                shape=var["instance_configuration_instance_details_launch_details_shape"],
                shape_config=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfigArgs(
                    baseline_ocpu_utilization=var["instance_configuration_instance_details_launch_details_shape_config_baseline_ocpu_utilization"],
                    memory_in_gbs=var["instance_configuration_instance_details_launch_details_shape_config_memory_in_gbs"],
                    nvmes=var["instance_configuration_instance_details_launch_details_shape_config_nvmes"],
                    ocpus=var["instance_configuration_instance_details_launch_details_shape_config_ocpus"],
                    vcpus=var["instance_configuration_instance_details_launch_details_shape_config_vcpus"],
                ),
                source_details=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsArgs(
                    source_type=var["instance_configuration_instance_details_launch_details_source_details_source_type"],
                    boot_volume_id=oci_core_boot_volume["test_boot_volume"]["id"],
                    boot_volume_size_in_gbs=var["instance_configuration_instance_details_launch_details_source_details_boot_volume_size_in_gbs"],
                    boot_volume_vpus_per_gb=var["instance_configuration_instance_details_launch_details_source_details_boot_volume_vpus_per_gb"],
                    image_id=oci_core_image["test_image"]["id"],
                    kms_key_id=oci_kms_key["test_key"]["id"],
                    instance_source_image_filter_details=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs(
                        compartment_id=var["compartment_id"],
                        defined_tags_filter=var["instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_defined_tags_filter"],
                        operating_system=var["instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_operating_system"],
                        operating_system_version=var["instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_operating_system_version"],
                    ),
                ),
            ),
            options=[oci.core.InstanceConfigurationInstanceDetailsOptionArgs(
                block_volumes=[oci.core.InstanceConfigurationInstanceDetailsOptionBlockVolumeArgs(
                    attach_details=oci.core.InstanceConfigurationInstanceDetailsOptionBlockVolumeAttachDetailsArgs(
                        type=var["instance_configuration_instance_details_options_block_volumes_attach_details_type"],
                        device=var["instance_configuration_instance_details_options_block_volumes_attach_details_device"],
                        display_name=var["instance_configuration_instance_details_options_block_volumes_attach_details_display_name"],
                        is_pv_encryption_in_transit_enabled=var["instance_configuration_instance_details_options_block_volumes_attach_details_is_pv_encryption_in_transit_enabled"],
                        is_read_only=var["instance_configuration_instance_details_options_block_volumes_attach_details_is_read_only"],
                        is_shareable=var["instance_configuration_instance_details_options_block_volumes_attach_details_is_shareable"],
                        use_chap=var["instance_configuration_instance_details_options_block_volumes_attach_details_use_chap"],
                    ),
                    create_details=oci.core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsArgs(
                        autotune_policies=[oci.core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicyArgs(
                            autotune_type=var["instance_configuration_instance_details_options_block_volumes_create_details_autotune_policies_autotune_type"],
                            max_vpus_per_gb=var["instance_configuration_instance_details_options_block_volumes_create_details_autotune_policies_max_vpus_per_gb"],
                        )],
                        availability_domain=var["instance_configuration_instance_details_options_block_volumes_create_details_availability_domain"],
                        backup_policy_id=data["oci_core_volume_backup_policies"]["test_volume_backup_policies"]["volume_backup_policies"][0]["id"],
                        compartment_id=var["compartment_id"],
                        defined_tags={
                            "Operations.CostCenter": "42",
                        },
                        display_name=var["instance_configuration_instance_details_options_block_volumes_create_details_display_name"],
                        freeform_tags={
                            "Department": "Finance",
                        },
                        kms_key_id=oci_kms_key["test_key"]["id"],
                        size_in_gbs=var["instance_configuration_instance_details_options_block_volumes_create_details_size_in_gbs"],
                        source_details=oci.core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsSourceDetailsArgs(
                            type=var["instance_configuration_instance_details_options_block_volumes_create_details_source_details_type"],
                            id=var["instance_configuration_instance_details_options_block_volumes_create_details_source_details_id"],
                        ),
                        vpus_per_gb=var["instance_configuration_instance_details_options_block_volumes_create_details_vpus_per_gb"],
                    ),
                    volume_id=oci_core_volume["test_volume"]["id"],
                )],
                launch_details=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsArgs(
                    agent_config=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigArgs(
                        are_all_plugins_disabled=var["instance_configuration_instance_details_options_launch_details_agent_config_are_all_plugins_disabled"],
                        is_management_disabled=var["instance_configuration_instance_details_options_launch_details_agent_config_is_management_disabled"],
                        is_monitoring_disabled=var["instance_configuration_instance_details_options_launch_details_agent_config_is_monitoring_disabled"],
                        plugins_configs=[oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfigArgs(
                            desired_state=var["instance_configuration_instance_details_options_launch_details_agent_config_plugins_config_desired_state"],
                            name=var["instance_configuration_instance_details_options_launch_details_agent_config_plugins_config_name"],
                        )],
                    ),
                    availability_config=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAvailabilityConfigArgs(
                        recovery_action=var["instance_configuration_instance_details_options_launch_details_availability_config_recovery_action"],
                    ),
                    availability_domain=var["instance_configuration_instance_details_options_launch_details_availability_domain"],
                    capacity_reservation_id=oci_core_capacity_reservation["test_capacity_reservation"]["id"],
                    compartment_id=var["compartment_id"],
                    create_vnic_details=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsArgs(
                        assign_ipv6ip=var["instance_configuration_instance_details_launch_details_create_vnic_details_assign_ipv6ip"],
                        assign_private_dns_record=var["instance_configuration_instance_details_options_launch_details_create_vnic_details_assign_private_dns_record"],
                        assign_public_ip=var["instance_configuration_instance_details_options_launch_details_create_vnic_details_assign_public_ip"],
                        defined_tags={
                            "Operations.CostCenter": "42",
                        },
                        display_name=var["instance_configuration_instance_details_options_launch_details_create_vnic_details_display_name"],
                        freeform_tags={
                            "Department": "Finance",
                        },
                        hostname_label=var["instance_configuration_instance_details_options_launch_details_create_vnic_details_hostname_label"],
                        ipv6address_ipv6subnet_cidr_pair_details=[oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs(
                            ipv6address=var["instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address"],
                            ipv6subnet_cidr=var["instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr"],
                        )],
                        nsg_ids=var["instance_configuration_instance_details_options_launch_details_create_vnic_details_nsg_ids"],
                        private_ip=var["instance_configuration_instance_details_options_launch_details_create_vnic_details_private_ip"],
                        skip_source_dest_check=var["instance_configuration_instance_details_options_launch_details_create_vnic_details_skip_source_dest_check"],
                        subnet_id=oci_core_subnet["test_subnet"]["id"],
                    ),
                    dedicated_vm_host_id=oci_core_dedicated_vm_host["test_dedicated_vm_host"]["id"],
                    defined_tags={
                        "Operations.CostCenter": "42",
                    },
                    display_name=var["instance_configuration_instance_details_options_launch_details_display_name"],
                    extended_metadata=var["instance_configuration_instance_details_options_launch_details_extended_metadata"],
                    fault_domain=var["instance_configuration_instance_details_options_launch_details_fault_domain"],
                    freeform_tags={
                        "Department": "Finance",
                    },
                    instance_options=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsInstanceOptionsArgs(
                        are_legacy_imds_endpoints_disabled=var["instance_configuration_instance_details_options_launch_details_instance_options_are_legacy_imds_endpoints_disabled"],
                    ),
                    ipxe_script=var["instance_configuration_instance_details_options_launch_details_ipxe_script"],
                    is_pv_encryption_in_transit_enabled=var["instance_configuration_instance_details_options_launch_details_is_pv_encryption_in_transit_enabled"],
                    launch_mode=var["instance_configuration_instance_details_options_launch_details_launch_mode"],
                    launch_options=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsLaunchOptionsArgs(
                        boot_volume_type=var["instance_configuration_instance_details_options_launch_details_launch_options_boot_volume_type"],
                        firmware=var["instance_configuration_instance_details_options_launch_details_launch_options_firmware"],
                        is_consistent_volume_naming_enabled=var["instance_configuration_instance_details_options_launch_details_launch_options_is_consistent_volume_naming_enabled"],
                        is_pv_encryption_in_transit_enabled=var["instance_configuration_instance_details_options_launch_details_launch_options_is_pv_encryption_in_transit_enabled"],
                        network_type=var["instance_configuration_instance_details_options_launch_details_launch_options_network_type"],
                        remote_data_volume_type=var["instance_configuration_instance_details_options_launch_details_launch_options_remote_data_volume_type"],
                    ),
                    metadata=var["instance_configuration_instance_details_options_launch_details_metadata"],
                    platform_config=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPlatformConfigArgs(
                        type=var["instance_configuration_instance_details_options_launch_details_platform_config_type"],
                        are_virtual_instructions_enabled=var["instance_configuration_instance_details_options_launch_details_platform_config_are_virtual_instructions_enabled"],
                        is_access_control_service_enabled=var["instance_configuration_instance_details_options_launch_details_platform_config_is_access_control_service_enabled"],
                        is_input_output_memory_management_unit_enabled=var["instance_configuration_instance_details_options_launch_details_platform_config_is_input_output_memory_management_unit_enabled"],
                        is_measured_boot_enabled=var["instance_configuration_instance_details_options_launch_details_platform_config_is_measured_boot_enabled"],
                        is_memory_encryption_enabled=var["instance_configuration_instance_details_options_launch_details_platform_config_is_memory_encryption_enabled"],
                        is_secure_boot_enabled=var["instance_configuration_instance_details_options_launch_details_platform_config_is_secure_boot_enabled"],
                        is_symmetric_multi_threading_enabled=var["instance_configuration_instance_details_options_launch_details_platform_config_is_symmetric_multi_threading_enabled"],
                        is_trusted_platform_module_enabled=var["instance_configuration_instance_details_options_launch_details_platform_config_is_trusted_platform_module_enabled"],
                        numa_nodes_per_socket=var["instance_configuration_instance_details_options_launch_details_platform_config_numa_nodes_per_socket"],
                        percentage_of_cores_enabled=var["instance_configuration_instance_details_options_launch_details_platform_config_percentage_of_cores_enabled"],
                    ),
                    preemptible_instance_config=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigArgs(
                        preemption_action=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs(
                            type=var["instance_configuration_instance_details_options_launch_details_preemptible_instance_config_preemption_action_type"],
                            preserve_boot_volume=var["instance_configuration_instance_details_options_launch_details_preemptible_instance_config_preemption_action_preserve_boot_volume"],
                        ),
                    ),
                    preferred_maintenance_action=var["instance_configuration_instance_details_options_launch_details_preferred_maintenance_action"],
                    shape=var["instance_configuration_instance_details_options_launch_details_shape"],
                    shape_config=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsShapeConfigArgs(
                        baseline_ocpu_utilization=var["instance_configuration_instance_details_options_launch_details_shape_config_baseline_ocpu_utilization"],
                        memory_in_gbs=var["instance_configuration_instance_details_options_launch_details_shape_config_memory_in_gbs"],
                        nvmes=var["instance_configuration_instance_details_options_launch_details_shape_config_nvmes"],
                        ocpus=var["instance_configuration_instance_details_options_launch_details_shape_config_ocpus"],
                        vcpus=var["instance_configuration_instance_details_options_launch_details_shape_config_vcpus"],
                    ),
                    source_details=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsArgs(
                        source_type=var["instance_configuration_instance_details_options_launch_details_source_details_source_type"],
                        boot_volume_id=oci_core_boot_volume["test_boot_volume"]["id"],
                        boot_volume_size_in_gbs=var["instance_configuration_instance_details_options_launch_details_source_details_boot_volume_size_in_gbs"],
                        boot_volume_vpus_per_gb=var["instance_configuration_instance_details_options_launch_details_source_details_boot_volume_vpus_per_gb"],
                        image_id=oci_core_image["test_image"]["id"],
                        instance_source_image_filter_details=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs(
                            compartment_id=var["compartment_id"],
                            defined_tags_filter=var["instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_defined_tags_filter"],
                            operating_system=var["instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_operating_system"],
                            operating_system_version=var["instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_operating_system_version"],
                        ),
                    ),
                ),
                secondary_vnics=[oci.core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicArgs(
                    create_vnic_details=oci.core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsArgs(
                        assign_ipv6ip=var["instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_ipv6ip"],
                        assign_private_dns_record=var["instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_assign_private_dns_record"],
                        assign_public_ip=var["instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_assign_public_ip"],
                        defined_tags={
                            "Operations.CostCenter": "42",
                        },
                        display_name=var["instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_display_name"],
                        freeform_tags={
                            "Department": "Finance",
                        },
                        hostname_label=var["instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_hostname_label"],
                        ipv6address_ipv6subnet_cidr_pair_details=[oci.core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs(
                            ipv6address=var["instance_configuration_instance_details_secondary_vnics_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address"],
                            ipv6subnet_cidr=var["instance_configuration_instance_details_secondary_vnics_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr"],
                        )],
                        nsg_ids=var["instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_nsg_ids"],
                        private_ip=var["instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_private_ip"],
                        skip_source_dest_check=var["instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_skip_source_dest_check"],
                        subnet_id=oci_core_subnet["test_subnet"]["id"],
                    ),
                    display_name=var["instance_configuration_instance_details_options_secondary_vnics_display_name"],
                    nic_index=var["instance_configuration_instance_details_options_secondary_vnics_nic_index"],
                )],
            )],
            secondary_vnics=[oci.core.InstanceConfigurationInstanceDetailsSecondaryVnicArgs(
                create_vnic_details=oci.core.InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsArgs(
                    assign_private_dns_record=var["instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_private_dns_record"],
                    assign_public_ip=var["instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_public_ip"],
                    defined_tags={
                        "Operations.CostCenter": "42",
                    },
                    display_name=var["instance_configuration_instance_details_secondary_vnics_create_vnic_details_display_name"],
                    freeform_tags={
                        "Department": "Finance",
                    },
                    hostname_label=var["instance_configuration_instance_details_secondary_vnics_create_vnic_details_hostname_label"],
                    nsg_ids=var["instance_configuration_instance_details_secondary_vnics_create_vnic_details_nsg_ids"],
                    private_ip=var["instance_configuration_instance_details_secondary_vnics_create_vnic_details_private_ip"],
                    skip_source_dest_check=var["instance_configuration_instance_details_secondary_vnics_create_vnic_details_skip_source_dest_check"],
                    subnet_id=oci_core_subnet["test_subnet"]["id"],
                ),
                display_name=var["instance_configuration_instance_details_secondary_vnics_display_name"],
                nic_index=var["instance_configuration_instance_details_secondary_vnics_nic_index"],
            )],
        ),
        instance_id=oci_core_instance["test_instance"]["id"],
        source=var["instance_configuration_source"])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-oci/sdk/go/oci/Core"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := Core.NewInstanceConfiguration(ctx, "testInstanceConfiguration", &Core.InstanceConfigurationArgs{
    			CompartmentId: pulumi.Any(_var.Compartment_id),
    			DefinedTags: pulumi.Map{
    				"Operations.CostCenter": pulumi.Any("42"),
    			},
    			DisplayName: pulumi.Any(_var.Instance_configuration_display_name),
    			FreeformTags: pulumi.Map{
    				"Department": pulumi.Any("Finance"),
    			},
    			InstanceDetails: &core.InstanceConfigurationInstanceDetailsArgs{
    				InstanceType: pulumi.Any(_var.Instance_configuration_instance_details_instance_type),
    				BlockVolumes: core.InstanceConfigurationInstanceDetailsBlockVolumeArray{
    					&core.InstanceConfigurationInstanceDetailsBlockVolumeArgs{
    						AttachDetails: &core.InstanceConfigurationInstanceDetailsBlockVolumeAttachDetailsArgs{
    							Type:                           pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_attach_details_type),
    							Device:                         pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_attach_details_device),
    							DisplayName:                    pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_attach_details_display_name),
    							IsPvEncryptionInTransitEnabled: pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_attach_details_is_pv_encryption_in_transit_enabled),
    							IsReadOnly:                     pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_attach_details_is_read_only),
    							IsShareable:                    pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_attach_details_is_shareable),
    							UseChap:                        pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_attach_details_use_chap),
    						},
    						CreateDetails: &core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsArgs{
    							AutotunePolicies: core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicyArray{
    								&core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicyArgs{
    									AutotuneType: pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_create_details_autotune_policies_autotune_type),
    									MaxVpusPerGb: pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_create_details_autotune_policies_max_vpus_per_gb),
    								},
    							},
    							AvailabilityDomain: pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_create_details_availability_domain),
    							BackupPolicyId:     pulumi.Any(data.Oci_core_volume_backup_policies.Test_volume_backup_policies.Volume_backup_policies[0].Id),
    							BlockVolumeReplicas: &core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsBlockVolumeReplicasArgs{
    								AvailabilityDomain: pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_create_details_block_volume_replicas_availability_domain),
    								DisplayName:        pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_create_details_block_volume_replicas_display_name),
    							},
    							CompartmentId: pulumi.Any(_var.Compartment_id),
    							DefinedTags: pulumi.Map{
    								"Operations.CostCenter": pulumi.Any("42"),
    							},
    							DisplayName: pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_create_details_display_name),
    							FreeformTags: pulumi.Map{
    								"Department": pulumi.Any("Finance"),
    							},
    							IsAutoTuneEnabled: pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_create_details_is_auto_tune_enabled),
    							KmsKeyId:          pulumi.Any(oci_kms_key.Test_key.Id),
    							SizeInGbs:         pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_create_details_size_in_gbs),
    							SourceDetails: &core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsSourceDetailsArgs{
    								Type: pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_create_details_source_details_type),
    								Id:   pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_create_details_source_details_id),
    							},
    							VpusPerGb: pulumi.Any(_var.Instance_configuration_instance_details_block_volumes_create_details_vpus_per_gb),
    						},
    						VolumeId: pulumi.Any(oci_core_volume.Test_volume.Id),
    					},
    				},
    				LaunchDetails: &core.InstanceConfigurationInstanceDetailsLaunchDetailsArgs{
    					AgentConfig: &core.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigArgs{
    						AreAllPluginsDisabled: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_agent_config_are_all_plugins_disabled),
    						IsManagementDisabled:  pulumi.Any(_var.Instance_configuration_instance_details_launch_details_agent_config_is_management_disabled),
    						IsMonitoringDisabled:  pulumi.Any(_var.Instance_configuration_instance_details_launch_details_agent_config_is_monitoring_disabled),
    						PluginsConfigs: core.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfigArray{
    							&core.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfigArgs{
    								DesiredState: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_agent_config_plugins_config_desired_state),
    								Name:         pulumi.Any(_var.Instance_configuration_instance_details_launch_details_agent_config_plugins_config_name),
    							},
    						},
    					},
    					AvailabilityConfig: &core.InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfigArgs{
    						IsLiveMigrationPreferred: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_availability_config_is_live_migration_preferred),
    						RecoveryAction:           pulumi.Any(_var.Instance_configuration_instance_details_launch_details_availability_config_recovery_action),
    					},
    					AvailabilityDomain:    pulumi.Any(_var.Instance_configuration_instance_details_launch_details_availability_domain),
    					CapacityReservationId: pulumi.Any(oci_core_capacity_reservation.Test_capacity_reservation.Id),
    					CompartmentId:         pulumi.Any(_var.Compartment_id),
    					CreateVnicDetails: &core.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsArgs{
    						AssignIpv6ip:           pulumi.Any(_var.Instance_configuration_instance_details_launch_details_create_vnic_details_assign_ipv6ip),
    						AssignPrivateDnsRecord: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_create_vnic_details_assign_private_dns_record),
    						AssignPublicIp:         pulumi.Any(_var.Instance_configuration_instance_details_launch_details_create_vnic_details_assign_public_ip),
    						DefinedTags: pulumi.Map{
    							"Operations.CostCenter": pulumi.Any("42"),
    						},
    						DisplayName: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_create_vnic_details_display_name),
    						FreeformTags: pulumi.Map{
    							"Department": pulumi.Any("Finance"),
    						},
    						HostnameLabel: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_create_vnic_details_hostname_label),
    						Ipv6addressIpv6subnetCidrPairDetails: core.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArray{
    							&core.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs{
    								Ipv6address:    pulumi.Any(_var.Instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address),
    								Ipv6subnetCidr: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr),
    							},
    						},
    						NsgIds:              pulumi.Any(_var.Instance_configuration_instance_details_launch_details_create_vnic_details_nsg_ids),
    						PrivateIp:           pulumi.Any(_var.Instance_configuration_instance_details_launch_details_create_vnic_details_private_ip),
    						SkipSourceDestCheck: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_create_vnic_details_skip_source_dest_check),
    						SubnetId:            pulumi.Any(oci_core_subnet.Test_subnet.Id),
    					},
    					DedicatedVmHostId: pulumi.Any(oci_core_dedicated_vm_host.Test_dedicated_vm_host.Id),
    					DefinedTags: pulumi.Map{
    						"Operations.CostCenter": pulumi.Any("42"),
    					},
    					DisplayName:      pulumi.Any(_var.Instance_configuration_instance_details_launch_details_display_name),
    					ExtendedMetadata: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_extended_metadata),
    					FaultDomain:      pulumi.Any(_var.Instance_configuration_instance_details_launch_details_fault_domain),
    					FreeformTags: pulumi.Map{
    						"Department": pulumi.Any("Finance"),
    					},
    					InstanceOptions: &core.InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptionsArgs{
    						AreLegacyImdsEndpointsDisabled: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_instance_options_are_legacy_imds_endpoints_disabled),
    					},
    					IpxeScript:                     pulumi.Any(_var.Instance_configuration_instance_details_launch_details_ipxe_script),
    					IsPvEncryptionInTransitEnabled: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_is_pv_encryption_in_transit_enabled),
    					LaunchMode:                     pulumi.Any(_var.Instance_configuration_instance_details_launch_details_launch_mode),
    					LaunchOptions: &core.InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptionsArgs{
    						BootVolumeType:                  pulumi.Any(_var.Instance_configuration_instance_details_launch_details_launch_options_boot_volume_type),
    						Firmware:                        pulumi.Any(_var.Instance_configuration_instance_details_launch_details_launch_options_firmware),
    						IsConsistentVolumeNamingEnabled: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_launch_options_is_consistent_volume_naming_enabled),
    						IsPvEncryptionInTransitEnabled:  pulumi.Any(_var.Instance_configuration_instance_details_launch_details_launch_options_is_pv_encryption_in_transit_enabled),
    						NetworkType:                     pulumi.Any(_var.Instance_configuration_instance_details_launch_details_launch_options_network_type),
    						RemoteDataVolumeType:            pulumi.Any(_var.Instance_configuration_instance_details_launch_details_launch_options_remote_data_volume_type),
    					},
    					Metadata: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_metadata),
    					PlatformConfig: &core.InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfigArgs{
    						Type:                                     pulumi.Any(_var.Instance_configuration_instance_details_launch_details_platform_config_type),
    						AreVirtualInstructionsEnabled:            pulumi.Any(_var.Instance_configuration_instance_details_launch_details_platform_config_are_virtual_instructions_enabled),
    						ConfigMap:                                pulumi.Any(_var.Instance_configuration_instance_details_launch_details_platform_config_config_map),
    						IsAccessControlServiceEnabled:            pulumi.Any(_var.Instance_configuration_instance_details_launch_details_platform_config_is_access_control_service_enabled),
    						IsInputOutputMemoryManagementUnitEnabled: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_platform_config_is_input_output_memory_management_unit_enabled),
    						IsMeasuredBootEnabled:                    pulumi.Any(_var.Instance_configuration_instance_details_launch_details_platform_config_is_measured_boot_enabled),
    						IsMemoryEncryptionEnabled:                pulumi.Any(_var.Instance_configuration_instance_details_launch_details_platform_config_is_memory_encryption_enabled),
    						IsSecureBootEnabled:                      pulumi.Any(_var.Instance_configuration_instance_details_launch_details_platform_config_is_secure_boot_enabled),
    						IsSymmetricMultiThreadingEnabled:         pulumi.Any(_var.Instance_configuration_instance_details_launch_details_platform_config_is_symmetric_multi_threading_enabled),
    						IsTrustedPlatformModuleEnabled:           pulumi.Any(_var.Instance_configuration_instance_details_launch_details_platform_config_is_trusted_platform_module_enabled),
    						NumaNodesPerSocket:                       pulumi.Any(_var.Instance_configuration_instance_details_launch_details_platform_config_numa_nodes_per_socket),
    						PercentageOfCoresEnabled:                 pulumi.Any(_var.Instance_configuration_instance_details_launch_details_platform_config_percentage_of_cores_enabled),
    					},
    					PreemptibleInstanceConfig: &core.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigArgs{
    						PreemptionAction: &core.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs{
    							Type:               pulumi.Any(_var.Instance_configuration_instance_details_launch_details_preemptible_instance_config_preemption_action_type),
    							PreserveBootVolume: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_preemptible_instance_config_preemption_action_preserve_boot_volume),
    						},
    					},
    					PreferredMaintenanceAction: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_preferred_maintenance_action),
    					Shape:                      pulumi.Any(_var.Instance_configuration_instance_details_launch_details_shape),
    					ShapeConfig: &core.InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfigArgs{
    						BaselineOcpuUtilization: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_shape_config_baseline_ocpu_utilization),
    						MemoryInGbs:             pulumi.Any(_var.Instance_configuration_instance_details_launch_details_shape_config_memory_in_gbs),
    						Nvmes:                   pulumi.Any(_var.Instance_configuration_instance_details_launch_details_shape_config_nvmes),
    						Ocpus:                   pulumi.Any(_var.Instance_configuration_instance_details_launch_details_shape_config_ocpus),
    						Vcpus:                   pulumi.Any(_var.Instance_configuration_instance_details_launch_details_shape_config_vcpus),
    					},
    					SourceDetails: &core.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsArgs{
    						SourceType:          pulumi.Any(_var.Instance_configuration_instance_details_launch_details_source_details_source_type),
    						BootVolumeId:        pulumi.Any(oci_core_boot_volume.Test_boot_volume.Id),
    						BootVolumeSizeInGbs: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_source_details_boot_volume_size_in_gbs),
    						BootVolumeVpusPerGb: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_source_details_boot_volume_vpus_per_gb),
    						ImageId:             pulumi.Any(oci_core_image.Test_image.Id),
    						KmsKeyId:            pulumi.Any(oci_kms_key.Test_key.Id),
    						InstanceSourceImageFilterDetails: &core.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs{
    							CompartmentId:          pulumi.Any(_var.Compartment_id),
    							DefinedTagsFilter:      pulumi.Any(_var.Instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_defined_tags_filter),
    							OperatingSystem:        pulumi.Any(_var.Instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_operating_system),
    							OperatingSystemVersion: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_operating_system_version),
    						},
    					},
    				},
    				Options: core.InstanceConfigurationInstanceDetailsOptionArray{
    					&core.InstanceConfigurationInstanceDetailsOptionArgs{
    						BlockVolumes: core.InstanceConfigurationInstanceDetailsOptionBlockVolumeArray{
    							&core.InstanceConfigurationInstanceDetailsOptionBlockVolumeArgs{
    								AttachDetails: &core.InstanceConfigurationInstanceDetailsOptionBlockVolumeAttachDetailsArgs{
    									Type:                           pulumi.Any(_var.Instance_configuration_instance_details_options_block_volumes_attach_details_type),
    									Device:                         pulumi.Any(_var.Instance_configuration_instance_details_options_block_volumes_attach_details_device),
    									DisplayName:                    pulumi.Any(_var.Instance_configuration_instance_details_options_block_volumes_attach_details_display_name),
    									IsPvEncryptionInTransitEnabled: pulumi.Any(_var.Instance_configuration_instance_details_options_block_volumes_attach_details_is_pv_encryption_in_transit_enabled),
    									IsReadOnly:                     pulumi.Any(_var.Instance_configuration_instance_details_options_block_volumes_attach_details_is_read_only),
    									IsShareable:                    pulumi.Any(_var.Instance_configuration_instance_details_options_block_volumes_attach_details_is_shareable),
    									UseChap:                        pulumi.Any(_var.Instance_configuration_instance_details_options_block_volumes_attach_details_use_chap),
    								},
    								CreateDetails: &core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsArgs{
    									AutotunePolicies: core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicyArray{
    										&core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicyArgs{
    											AutotuneType: pulumi.Any(_var.Instance_configuration_instance_details_options_block_volumes_create_details_autotune_policies_autotune_type),
    											MaxVpusPerGb: pulumi.Any(_var.Instance_configuration_instance_details_options_block_volumes_create_details_autotune_policies_max_vpus_per_gb),
    										},
    									},
    									AvailabilityDomain: pulumi.Any(_var.Instance_configuration_instance_details_options_block_volumes_create_details_availability_domain),
    									BackupPolicyId:     pulumi.Any(data.Oci_core_volume_backup_policies.Test_volume_backup_policies.Volume_backup_policies[0].Id),
    									CompartmentId:      pulumi.Any(_var.Compartment_id),
    									DefinedTags: pulumi.Map{
    										"Operations.CostCenter": pulumi.Any("42"),
    									},
    									DisplayName: pulumi.Any(_var.Instance_configuration_instance_details_options_block_volumes_create_details_display_name),
    									FreeformTags: pulumi.Map{
    										"Department": pulumi.Any("Finance"),
    									},
    									KmsKeyId:  pulumi.Any(oci_kms_key.Test_key.Id),
    									SizeInGbs: pulumi.Any(_var.Instance_configuration_instance_details_options_block_volumes_create_details_size_in_gbs),
    									SourceDetails: &core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsSourceDetailsArgs{
    										Type: pulumi.Any(_var.Instance_configuration_instance_details_options_block_volumes_create_details_source_details_type),
    										Id:   pulumi.Any(_var.Instance_configuration_instance_details_options_block_volumes_create_details_source_details_id),
    									},
    									VpusPerGb: pulumi.Any(_var.Instance_configuration_instance_details_options_block_volumes_create_details_vpus_per_gb),
    								},
    								VolumeId: pulumi.Any(oci_core_volume.Test_volume.Id),
    							},
    						},
    						LaunchDetails: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsArgs{
    							AgentConfig: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigArgs{
    								AreAllPluginsDisabled: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_agent_config_are_all_plugins_disabled),
    								IsManagementDisabled:  pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_agent_config_is_management_disabled),
    								IsMonitoringDisabled:  pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_agent_config_is_monitoring_disabled),
    								PluginsConfigs: core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfigArray{
    									&core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfigArgs{
    										DesiredState: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_agent_config_plugins_config_desired_state),
    										Name:         pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_agent_config_plugins_config_name),
    									},
    								},
    							},
    							AvailabilityConfig: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAvailabilityConfigArgs{
    								RecoveryAction: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_availability_config_recovery_action),
    							},
    							AvailabilityDomain:    pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_availability_domain),
    							CapacityReservationId: pulumi.Any(oci_core_capacity_reservation.Test_capacity_reservation.Id),
    							CompartmentId:         pulumi.Any(_var.Compartment_id),
    							CreateVnicDetails: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsArgs{
    								AssignIpv6ip:           pulumi.Any(_var.Instance_configuration_instance_details_launch_details_create_vnic_details_assign_ipv6ip),
    								AssignPrivateDnsRecord: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_create_vnic_details_assign_private_dns_record),
    								AssignPublicIp:         pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_create_vnic_details_assign_public_ip),
    								DefinedTags: pulumi.Map{
    									"Operations.CostCenter": pulumi.Any("42"),
    								},
    								DisplayName: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_create_vnic_details_display_name),
    								FreeformTags: pulumi.Map{
    									"Department": pulumi.Any("Finance"),
    								},
    								HostnameLabel: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_create_vnic_details_hostname_label),
    								Ipv6addressIpv6subnetCidrPairDetails: core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArray{
    									&core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs{
    										Ipv6address:    pulumi.Any(_var.Instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address),
    										Ipv6subnetCidr: pulumi.Any(_var.Instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr),
    									},
    								},
    								NsgIds:              pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_create_vnic_details_nsg_ids),
    								PrivateIp:           pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_create_vnic_details_private_ip),
    								SkipSourceDestCheck: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_create_vnic_details_skip_source_dest_check),
    								SubnetId:            pulumi.Any(oci_core_subnet.Test_subnet.Id),
    							},
    							DedicatedVmHostId: pulumi.Any(oci_core_dedicated_vm_host.Test_dedicated_vm_host.Id),
    							DefinedTags: pulumi.Map{
    								"Operations.CostCenter": pulumi.Any("42"),
    							},
    							DisplayName:      pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_display_name),
    							ExtendedMetadata: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_extended_metadata),
    							FaultDomain:      pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_fault_domain),
    							FreeformTags: pulumi.Map{
    								"Department": pulumi.Any("Finance"),
    							},
    							InstanceOptions: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsInstanceOptionsArgs{
    								AreLegacyImdsEndpointsDisabled: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_instance_options_are_legacy_imds_endpoints_disabled),
    							},
    							IpxeScript:                     pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_ipxe_script),
    							IsPvEncryptionInTransitEnabled: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_is_pv_encryption_in_transit_enabled),
    							LaunchMode:                     pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_launch_mode),
    							LaunchOptions: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsLaunchOptionsArgs{
    								BootVolumeType:                  pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_launch_options_boot_volume_type),
    								Firmware:                        pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_launch_options_firmware),
    								IsConsistentVolumeNamingEnabled: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_launch_options_is_consistent_volume_naming_enabled),
    								IsPvEncryptionInTransitEnabled:  pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_launch_options_is_pv_encryption_in_transit_enabled),
    								NetworkType:                     pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_launch_options_network_type),
    								RemoteDataVolumeType:            pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_launch_options_remote_data_volume_type),
    							},
    							Metadata: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_metadata),
    							PlatformConfig: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPlatformConfigArgs{
    								Type:                                     pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_platform_config_type),
    								AreVirtualInstructionsEnabled:            pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_platform_config_are_virtual_instructions_enabled),
    								IsAccessControlServiceEnabled:            pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_platform_config_is_access_control_service_enabled),
    								IsInputOutputMemoryManagementUnitEnabled: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_platform_config_is_input_output_memory_management_unit_enabled),
    								IsMeasuredBootEnabled:                    pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_platform_config_is_measured_boot_enabled),
    								IsMemoryEncryptionEnabled:                pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_platform_config_is_memory_encryption_enabled),
    								IsSecureBootEnabled:                      pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_platform_config_is_secure_boot_enabled),
    								IsSymmetricMultiThreadingEnabled:         pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_platform_config_is_symmetric_multi_threading_enabled),
    								IsTrustedPlatformModuleEnabled:           pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_platform_config_is_trusted_platform_module_enabled),
    								NumaNodesPerSocket:                       pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_platform_config_numa_nodes_per_socket),
    								PercentageOfCoresEnabled:                 pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_platform_config_percentage_of_cores_enabled),
    							},
    							PreemptibleInstanceConfig: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigArgs{
    								PreemptionAction: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs{
    									Type:               pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_preemptible_instance_config_preemption_action_type),
    									PreserveBootVolume: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_preemptible_instance_config_preemption_action_preserve_boot_volume),
    								},
    							},
    							PreferredMaintenanceAction: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_preferred_maintenance_action),
    							Shape:                      pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_shape),
    							ShapeConfig: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsShapeConfigArgs{
    								BaselineOcpuUtilization: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_shape_config_baseline_ocpu_utilization),
    								MemoryInGbs:             pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_shape_config_memory_in_gbs),
    								Nvmes:                   pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_shape_config_nvmes),
    								Ocpus:                   pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_shape_config_ocpus),
    								Vcpus:                   pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_shape_config_vcpus),
    							},
    							SourceDetails: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsArgs{
    								SourceType:          pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_source_details_source_type),
    								BootVolumeId:        pulumi.Any(oci_core_boot_volume.Test_boot_volume.Id),
    								BootVolumeSizeInGbs: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_source_details_boot_volume_size_in_gbs),
    								BootVolumeVpusPerGb: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_source_details_boot_volume_vpus_per_gb),
    								ImageId:             pulumi.Any(oci_core_image.Test_image.Id),
    								InstanceSourceImageFilterDetails: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs{
    									CompartmentId:          pulumi.Any(_var.Compartment_id),
    									DefinedTagsFilter:      pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_defined_tags_filter),
    									OperatingSystem:        pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_operating_system),
    									OperatingSystemVersion: pulumi.Any(_var.Instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_operating_system_version),
    								},
    							},
    						},
    						SecondaryVnics: core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicArray{
    							&core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicArgs{
    								CreateVnicDetails: &core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsArgs{
    									AssignIpv6ip:           pulumi.Any(_var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_ipv6ip),
    									AssignPrivateDnsRecord: pulumi.Any(_var.Instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_assign_private_dns_record),
    									AssignPublicIp:         pulumi.Any(_var.Instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_assign_public_ip),
    									DefinedTags: pulumi.Map{
    										"Operations.CostCenter": pulumi.Any("42"),
    									},
    									DisplayName: pulumi.Any(_var.Instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_display_name),
    									FreeformTags: pulumi.Map{
    										"Department": pulumi.Any("Finance"),
    									},
    									HostnameLabel: pulumi.Any(_var.Instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_hostname_label),
    									Ipv6addressIpv6subnetCidrPairDetails: core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArray{
    										&core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs{
    											Ipv6address:    pulumi.Any(_var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address),
    											Ipv6subnetCidr: pulumi.Any(_var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr),
    										},
    									},
    									NsgIds:              pulumi.Any(_var.Instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_nsg_ids),
    									PrivateIp:           pulumi.Any(_var.Instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_private_ip),
    									SkipSourceDestCheck: pulumi.Any(_var.Instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_skip_source_dest_check),
    									SubnetId:            pulumi.Any(oci_core_subnet.Test_subnet.Id),
    								},
    								DisplayName: pulumi.Any(_var.Instance_configuration_instance_details_options_secondary_vnics_display_name),
    								NicIndex:    pulumi.Any(_var.Instance_configuration_instance_details_options_secondary_vnics_nic_index),
    							},
    						},
    					},
    				},
    				SecondaryVnics: core.InstanceConfigurationInstanceDetailsSecondaryVnicArray{
    					&core.InstanceConfigurationInstanceDetailsSecondaryVnicArgs{
    						CreateVnicDetails: &core.InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsArgs{
    							AssignPrivateDnsRecord: pulumi.Any(_var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_private_dns_record),
    							AssignPublicIp:         pulumi.Any(_var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_public_ip),
    							DefinedTags: pulumi.Map{
    								"Operations.CostCenter": pulumi.Any("42"),
    							},
    							DisplayName: pulumi.Any(_var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_display_name),
    							FreeformTags: pulumi.Map{
    								"Department": pulumi.Any("Finance"),
    							},
    							HostnameLabel:       pulumi.Any(_var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_hostname_label),
    							NsgIds:              pulumi.Any(_var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_nsg_ids),
    							PrivateIp:           pulumi.Any(_var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_private_ip),
    							SkipSourceDestCheck: pulumi.Any(_var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_skip_source_dest_check),
    							SubnetId:            pulumi.Any(oci_core_subnet.Test_subnet.Id),
    						},
    						DisplayName: pulumi.Any(_var.Instance_configuration_instance_details_secondary_vnics_display_name),
    						NicIndex:    pulumi.Any(_var.Instance_configuration_instance_details_secondary_vnics_nic_index),
    					},
    				},
    			},
    			InstanceId: pulumi.Any(oci_core_instance.Test_instance.Id),
    			Source:     pulumi.Any(_var.Instance_configuration_source),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Oci = Pulumi.Oci;
    
    return await Deployment.RunAsync(() => 
    {
        var testInstanceConfiguration = new Oci.Core.InstanceConfiguration("testInstanceConfiguration", new()
        {
            CompartmentId = @var.Compartment_id,
            DefinedTags = 
            {
                { "Operations.CostCenter", "42" },
            },
            DisplayName = @var.Instance_configuration_display_name,
            FreeformTags = 
            {
                { "Department", "Finance" },
            },
            InstanceDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsArgs
            {
                InstanceType = @var.Instance_configuration_instance_details_instance_type,
                BlockVolumes = new[]
                {
                    new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsBlockVolumeArgs
                    {
                        AttachDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsBlockVolumeAttachDetailsArgs
                        {
                            Type = @var.Instance_configuration_instance_details_block_volumes_attach_details_type,
                            Device = @var.Instance_configuration_instance_details_block_volumes_attach_details_device,
                            DisplayName = @var.Instance_configuration_instance_details_block_volumes_attach_details_display_name,
                            IsPvEncryptionInTransitEnabled = @var.Instance_configuration_instance_details_block_volumes_attach_details_is_pv_encryption_in_transit_enabled,
                            IsReadOnly = @var.Instance_configuration_instance_details_block_volumes_attach_details_is_read_only,
                            IsShareable = @var.Instance_configuration_instance_details_block_volumes_attach_details_is_shareable,
                            UseChap = @var.Instance_configuration_instance_details_block_volumes_attach_details_use_chap,
                        },
                        CreateDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsArgs
                        {
                            AutotunePolicies = new[]
                            {
                                new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicyArgs
                                {
                                    AutotuneType = @var.Instance_configuration_instance_details_block_volumes_create_details_autotune_policies_autotune_type,
                                    MaxVpusPerGb = @var.Instance_configuration_instance_details_block_volumes_create_details_autotune_policies_max_vpus_per_gb,
                                },
                            },
                            AvailabilityDomain = @var.Instance_configuration_instance_details_block_volumes_create_details_availability_domain,
                            BackupPolicyId = data.Oci_core_volume_backup_policies.Test_volume_backup_policies.Volume_backup_policies[0].Id,
                            BlockVolumeReplicas = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsBlockVolumeReplicasArgs
                            {
                                AvailabilityDomain = @var.Instance_configuration_instance_details_block_volumes_create_details_block_volume_replicas_availability_domain,
                                DisplayName = @var.Instance_configuration_instance_details_block_volumes_create_details_block_volume_replicas_display_name,
                            },
                            CompartmentId = @var.Compartment_id,
                            DefinedTags = 
                            {
                                { "Operations.CostCenter", "42" },
                            },
                            DisplayName = @var.Instance_configuration_instance_details_block_volumes_create_details_display_name,
                            FreeformTags = 
                            {
                                { "Department", "Finance" },
                            },
                            IsAutoTuneEnabled = @var.Instance_configuration_instance_details_block_volumes_create_details_is_auto_tune_enabled,
                            KmsKeyId = oci_kms_key.Test_key.Id,
                            SizeInGbs = @var.Instance_configuration_instance_details_block_volumes_create_details_size_in_gbs,
                            SourceDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsSourceDetailsArgs
                            {
                                Type = @var.Instance_configuration_instance_details_block_volumes_create_details_source_details_type,
                                Id = @var.Instance_configuration_instance_details_block_volumes_create_details_source_details_id,
                            },
                            VpusPerGb = @var.Instance_configuration_instance_details_block_volumes_create_details_vpus_per_gb,
                        },
                        VolumeId = oci_core_volume.Test_volume.Id,
                    },
                },
                LaunchDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsArgs
                {
                    AgentConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigArgs
                    {
                        AreAllPluginsDisabled = @var.Instance_configuration_instance_details_launch_details_agent_config_are_all_plugins_disabled,
                        IsManagementDisabled = @var.Instance_configuration_instance_details_launch_details_agent_config_is_management_disabled,
                        IsMonitoringDisabled = @var.Instance_configuration_instance_details_launch_details_agent_config_is_monitoring_disabled,
                        PluginsConfigs = new[]
                        {
                            new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfigArgs
                            {
                                DesiredState = @var.Instance_configuration_instance_details_launch_details_agent_config_plugins_config_desired_state,
                                Name = @var.Instance_configuration_instance_details_launch_details_agent_config_plugins_config_name,
                            },
                        },
                    },
                    AvailabilityConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfigArgs
                    {
                        IsLiveMigrationPreferred = @var.Instance_configuration_instance_details_launch_details_availability_config_is_live_migration_preferred,
                        RecoveryAction = @var.Instance_configuration_instance_details_launch_details_availability_config_recovery_action,
                    },
                    AvailabilityDomain = @var.Instance_configuration_instance_details_launch_details_availability_domain,
                    CapacityReservationId = oci_core_capacity_reservation.Test_capacity_reservation.Id,
                    CompartmentId = @var.Compartment_id,
                    CreateVnicDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsArgs
                    {
                        AssignIpv6ip = @var.Instance_configuration_instance_details_launch_details_create_vnic_details_assign_ipv6ip,
                        AssignPrivateDnsRecord = @var.Instance_configuration_instance_details_launch_details_create_vnic_details_assign_private_dns_record,
                        AssignPublicIp = @var.Instance_configuration_instance_details_launch_details_create_vnic_details_assign_public_ip,
                        DefinedTags = 
                        {
                            { "Operations.CostCenter", "42" },
                        },
                        DisplayName = @var.Instance_configuration_instance_details_launch_details_create_vnic_details_display_name,
                        FreeformTags = 
                        {
                            { "Department", "Finance" },
                        },
                        HostnameLabel = @var.Instance_configuration_instance_details_launch_details_create_vnic_details_hostname_label,
                        Ipv6addressIpv6subnetCidrPairDetails = new[]
                        {
                            new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs
                            {
                                Ipv6address = @var.Instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address,
                                Ipv6subnetCidr = @var.Instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr,
                            },
                        },
                        NsgIds = @var.Instance_configuration_instance_details_launch_details_create_vnic_details_nsg_ids,
                        PrivateIp = @var.Instance_configuration_instance_details_launch_details_create_vnic_details_private_ip,
                        SkipSourceDestCheck = @var.Instance_configuration_instance_details_launch_details_create_vnic_details_skip_source_dest_check,
                        SubnetId = oci_core_subnet.Test_subnet.Id,
                    },
                    DedicatedVmHostId = oci_core_dedicated_vm_host.Test_dedicated_vm_host.Id,
                    DefinedTags = 
                    {
                        { "Operations.CostCenter", "42" },
                    },
                    DisplayName = @var.Instance_configuration_instance_details_launch_details_display_name,
                    ExtendedMetadata = @var.Instance_configuration_instance_details_launch_details_extended_metadata,
                    FaultDomain = @var.Instance_configuration_instance_details_launch_details_fault_domain,
                    FreeformTags = 
                    {
                        { "Department", "Finance" },
                    },
                    InstanceOptions = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptionsArgs
                    {
                        AreLegacyImdsEndpointsDisabled = @var.Instance_configuration_instance_details_launch_details_instance_options_are_legacy_imds_endpoints_disabled,
                    },
                    IpxeScript = @var.Instance_configuration_instance_details_launch_details_ipxe_script,
                    IsPvEncryptionInTransitEnabled = @var.Instance_configuration_instance_details_launch_details_is_pv_encryption_in_transit_enabled,
                    LaunchMode = @var.Instance_configuration_instance_details_launch_details_launch_mode,
                    LaunchOptions = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptionsArgs
                    {
                        BootVolumeType = @var.Instance_configuration_instance_details_launch_details_launch_options_boot_volume_type,
                        Firmware = @var.Instance_configuration_instance_details_launch_details_launch_options_firmware,
                        IsConsistentVolumeNamingEnabled = @var.Instance_configuration_instance_details_launch_details_launch_options_is_consistent_volume_naming_enabled,
                        IsPvEncryptionInTransitEnabled = @var.Instance_configuration_instance_details_launch_details_launch_options_is_pv_encryption_in_transit_enabled,
                        NetworkType = @var.Instance_configuration_instance_details_launch_details_launch_options_network_type,
                        RemoteDataVolumeType = @var.Instance_configuration_instance_details_launch_details_launch_options_remote_data_volume_type,
                    },
                    Metadata = @var.Instance_configuration_instance_details_launch_details_metadata,
                    PlatformConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfigArgs
                    {
                        Type = @var.Instance_configuration_instance_details_launch_details_platform_config_type,
                        AreVirtualInstructionsEnabled = @var.Instance_configuration_instance_details_launch_details_platform_config_are_virtual_instructions_enabled,
                        ConfigMap = @var.Instance_configuration_instance_details_launch_details_platform_config_config_map,
                        IsAccessControlServiceEnabled = @var.Instance_configuration_instance_details_launch_details_platform_config_is_access_control_service_enabled,
                        IsInputOutputMemoryManagementUnitEnabled = @var.Instance_configuration_instance_details_launch_details_platform_config_is_input_output_memory_management_unit_enabled,
                        IsMeasuredBootEnabled = @var.Instance_configuration_instance_details_launch_details_platform_config_is_measured_boot_enabled,
                        IsMemoryEncryptionEnabled = @var.Instance_configuration_instance_details_launch_details_platform_config_is_memory_encryption_enabled,
                        IsSecureBootEnabled = @var.Instance_configuration_instance_details_launch_details_platform_config_is_secure_boot_enabled,
                        IsSymmetricMultiThreadingEnabled = @var.Instance_configuration_instance_details_launch_details_platform_config_is_symmetric_multi_threading_enabled,
                        IsTrustedPlatformModuleEnabled = @var.Instance_configuration_instance_details_launch_details_platform_config_is_trusted_platform_module_enabled,
                        NumaNodesPerSocket = @var.Instance_configuration_instance_details_launch_details_platform_config_numa_nodes_per_socket,
                        PercentageOfCoresEnabled = @var.Instance_configuration_instance_details_launch_details_platform_config_percentage_of_cores_enabled,
                    },
                    PreemptibleInstanceConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigArgs
                    {
                        PreemptionAction = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs
                        {
                            Type = @var.Instance_configuration_instance_details_launch_details_preemptible_instance_config_preemption_action_type,
                            PreserveBootVolume = @var.Instance_configuration_instance_details_launch_details_preemptible_instance_config_preemption_action_preserve_boot_volume,
                        },
                    },
                    PreferredMaintenanceAction = @var.Instance_configuration_instance_details_launch_details_preferred_maintenance_action,
                    Shape = @var.Instance_configuration_instance_details_launch_details_shape,
                    ShapeConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfigArgs
                    {
                        BaselineOcpuUtilization = @var.Instance_configuration_instance_details_launch_details_shape_config_baseline_ocpu_utilization,
                        MemoryInGbs = @var.Instance_configuration_instance_details_launch_details_shape_config_memory_in_gbs,
                        Nvmes = @var.Instance_configuration_instance_details_launch_details_shape_config_nvmes,
                        Ocpus = @var.Instance_configuration_instance_details_launch_details_shape_config_ocpus,
                        Vcpus = @var.Instance_configuration_instance_details_launch_details_shape_config_vcpus,
                    },
                    SourceDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsArgs
                    {
                        SourceType = @var.Instance_configuration_instance_details_launch_details_source_details_source_type,
                        BootVolumeId = oci_core_boot_volume.Test_boot_volume.Id,
                        BootVolumeSizeInGbs = @var.Instance_configuration_instance_details_launch_details_source_details_boot_volume_size_in_gbs,
                        BootVolumeVpusPerGb = @var.Instance_configuration_instance_details_launch_details_source_details_boot_volume_vpus_per_gb,
                        ImageId = oci_core_image.Test_image.Id,
                        KmsKeyId = oci_kms_key.Test_key.Id,
                        InstanceSourceImageFilterDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs
                        {
                            CompartmentId = @var.Compartment_id,
                            DefinedTagsFilter = @var.Instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_defined_tags_filter,
                            OperatingSystem = @var.Instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_operating_system,
                            OperatingSystemVersion = @var.Instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_operating_system_version,
                        },
                    },
                },
                Options = new[]
                {
                    new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionArgs
                    {
                        BlockVolumes = new[]
                        {
                            new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionBlockVolumeArgs
                            {
                                AttachDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionBlockVolumeAttachDetailsArgs
                                {
                                    Type = @var.Instance_configuration_instance_details_options_block_volumes_attach_details_type,
                                    Device = @var.Instance_configuration_instance_details_options_block_volumes_attach_details_device,
                                    DisplayName = @var.Instance_configuration_instance_details_options_block_volumes_attach_details_display_name,
                                    IsPvEncryptionInTransitEnabled = @var.Instance_configuration_instance_details_options_block_volumes_attach_details_is_pv_encryption_in_transit_enabled,
                                    IsReadOnly = @var.Instance_configuration_instance_details_options_block_volumes_attach_details_is_read_only,
                                    IsShareable = @var.Instance_configuration_instance_details_options_block_volumes_attach_details_is_shareable,
                                    UseChap = @var.Instance_configuration_instance_details_options_block_volumes_attach_details_use_chap,
                                },
                                CreateDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsArgs
                                {
                                    AutotunePolicies = new[]
                                    {
                                        new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicyArgs
                                        {
                                            AutotuneType = @var.Instance_configuration_instance_details_options_block_volumes_create_details_autotune_policies_autotune_type,
                                            MaxVpusPerGb = @var.Instance_configuration_instance_details_options_block_volumes_create_details_autotune_policies_max_vpus_per_gb,
                                        },
                                    },
                                    AvailabilityDomain = @var.Instance_configuration_instance_details_options_block_volumes_create_details_availability_domain,
                                    BackupPolicyId = data.Oci_core_volume_backup_policies.Test_volume_backup_policies.Volume_backup_policies[0].Id,
                                    CompartmentId = @var.Compartment_id,
                                    DefinedTags = 
                                    {
                                        { "Operations.CostCenter", "42" },
                                    },
                                    DisplayName = @var.Instance_configuration_instance_details_options_block_volumes_create_details_display_name,
                                    FreeformTags = 
                                    {
                                        { "Department", "Finance" },
                                    },
                                    KmsKeyId = oci_kms_key.Test_key.Id,
                                    SizeInGbs = @var.Instance_configuration_instance_details_options_block_volumes_create_details_size_in_gbs,
                                    SourceDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsSourceDetailsArgs
                                    {
                                        Type = @var.Instance_configuration_instance_details_options_block_volumes_create_details_source_details_type,
                                        Id = @var.Instance_configuration_instance_details_options_block_volumes_create_details_source_details_id,
                                    },
                                    VpusPerGb = @var.Instance_configuration_instance_details_options_block_volumes_create_details_vpus_per_gb,
                                },
                                VolumeId = oci_core_volume.Test_volume.Id,
                            },
                        },
                        LaunchDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsArgs
                        {
                            AgentConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigArgs
                            {
                                AreAllPluginsDisabled = @var.Instance_configuration_instance_details_options_launch_details_agent_config_are_all_plugins_disabled,
                                IsManagementDisabled = @var.Instance_configuration_instance_details_options_launch_details_agent_config_is_management_disabled,
                                IsMonitoringDisabled = @var.Instance_configuration_instance_details_options_launch_details_agent_config_is_monitoring_disabled,
                                PluginsConfigs = new[]
                                {
                                    new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfigArgs
                                    {
                                        DesiredState = @var.Instance_configuration_instance_details_options_launch_details_agent_config_plugins_config_desired_state,
                                        Name = @var.Instance_configuration_instance_details_options_launch_details_agent_config_plugins_config_name,
                                    },
                                },
                            },
                            AvailabilityConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAvailabilityConfigArgs
                            {
                                RecoveryAction = @var.Instance_configuration_instance_details_options_launch_details_availability_config_recovery_action,
                            },
                            AvailabilityDomain = @var.Instance_configuration_instance_details_options_launch_details_availability_domain,
                            CapacityReservationId = oci_core_capacity_reservation.Test_capacity_reservation.Id,
                            CompartmentId = @var.Compartment_id,
                            CreateVnicDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsArgs
                            {
                                AssignIpv6ip = @var.Instance_configuration_instance_details_launch_details_create_vnic_details_assign_ipv6ip,
                                AssignPrivateDnsRecord = @var.Instance_configuration_instance_details_options_launch_details_create_vnic_details_assign_private_dns_record,
                                AssignPublicIp = @var.Instance_configuration_instance_details_options_launch_details_create_vnic_details_assign_public_ip,
                                DefinedTags = 
                                {
                                    { "Operations.CostCenter", "42" },
                                },
                                DisplayName = @var.Instance_configuration_instance_details_options_launch_details_create_vnic_details_display_name,
                                FreeformTags = 
                                {
                                    { "Department", "Finance" },
                                },
                                HostnameLabel = @var.Instance_configuration_instance_details_options_launch_details_create_vnic_details_hostname_label,
                                Ipv6addressIpv6subnetCidrPairDetails = new[]
                                {
                                    new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs
                                    {
                                        Ipv6address = @var.Instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address,
                                        Ipv6subnetCidr = @var.Instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr,
                                    },
                                },
                                NsgIds = @var.Instance_configuration_instance_details_options_launch_details_create_vnic_details_nsg_ids,
                                PrivateIp = @var.Instance_configuration_instance_details_options_launch_details_create_vnic_details_private_ip,
                                SkipSourceDestCheck = @var.Instance_configuration_instance_details_options_launch_details_create_vnic_details_skip_source_dest_check,
                                SubnetId = oci_core_subnet.Test_subnet.Id,
                            },
                            DedicatedVmHostId = oci_core_dedicated_vm_host.Test_dedicated_vm_host.Id,
                            DefinedTags = 
                            {
                                { "Operations.CostCenter", "42" },
                            },
                            DisplayName = @var.Instance_configuration_instance_details_options_launch_details_display_name,
                            ExtendedMetadata = @var.Instance_configuration_instance_details_options_launch_details_extended_metadata,
                            FaultDomain = @var.Instance_configuration_instance_details_options_launch_details_fault_domain,
                            FreeformTags = 
                            {
                                { "Department", "Finance" },
                            },
                            InstanceOptions = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsInstanceOptionsArgs
                            {
                                AreLegacyImdsEndpointsDisabled = @var.Instance_configuration_instance_details_options_launch_details_instance_options_are_legacy_imds_endpoints_disabled,
                            },
                            IpxeScript = @var.Instance_configuration_instance_details_options_launch_details_ipxe_script,
                            IsPvEncryptionInTransitEnabled = @var.Instance_configuration_instance_details_options_launch_details_is_pv_encryption_in_transit_enabled,
                            LaunchMode = @var.Instance_configuration_instance_details_options_launch_details_launch_mode,
                            LaunchOptions = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsLaunchOptionsArgs
                            {
                                BootVolumeType = @var.Instance_configuration_instance_details_options_launch_details_launch_options_boot_volume_type,
                                Firmware = @var.Instance_configuration_instance_details_options_launch_details_launch_options_firmware,
                                IsConsistentVolumeNamingEnabled = @var.Instance_configuration_instance_details_options_launch_details_launch_options_is_consistent_volume_naming_enabled,
                                IsPvEncryptionInTransitEnabled = @var.Instance_configuration_instance_details_options_launch_details_launch_options_is_pv_encryption_in_transit_enabled,
                                NetworkType = @var.Instance_configuration_instance_details_options_launch_details_launch_options_network_type,
                                RemoteDataVolumeType = @var.Instance_configuration_instance_details_options_launch_details_launch_options_remote_data_volume_type,
                            },
                            Metadata = @var.Instance_configuration_instance_details_options_launch_details_metadata,
                            PlatformConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPlatformConfigArgs
                            {
                                Type = @var.Instance_configuration_instance_details_options_launch_details_platform_config_type,
                                AreVirtualInstructionsEnabled = @var.Instance_configuration_instance_details_options_launch_details_platform_config_are_virtual_instructions_enabled,
                                IsAccessControlServiceEnabled = @var.Instance_configuration_instance_details_options_launch_details_platform_config_is_access_control_service_enabled,
                                IsInputOutputMemoryManagementUnitEnabled = @var.Instance_configuration_instance_details_options_launch_details_platform_config_is_input_output_memory_management_unit_enabled,
                                IsMeasuredBootEnabled = @var.Instance_configuration_instance_details_options_launch_details_platform_config_is_measured_boot_enabled,
                                IsMemoryEncryptionEnabled = @var.Instance_configuration_instance_details_options_launch_details_platform_config_is_memory_encryption_enabled,
                                IsSecureBootEnabled = @var.Instance_configuration_instance_details_options_launch_details_platform_config_is_secure_boot_enabled,
                                IsSymmetricMultiThreadingEnabled = @var.Instance_configuration_instance_details_options_launch_details_platform_config_is_symmetric_multi_threading_enabled,
                                IsTrustedPlatformModuleEnabled = @var.Instance_configuration_instance_details_options_launch_details_platform_config_is_trusted_platform_module_enabled,
                                NumaNodesPerSocket = @var.Instance_configuration_instance_details_options_launch_details_platform_config_numa_nodes_per_socket,
                                PercentageOfCoresEnabled = @var.Instance_configuration_instance_details_options_launch_details_platform_config_percentage_of_cores_enabled,
                            },
                            PreemptibleInstanceConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigArgs
                            {
                                PreemptionAction = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs
                                {
                                    Type = @var.Instance_configuration_instance_details_options_launch_details_preemptible_instance_config_preemption_action_type,
                                    PreserveBootVolume = @var.Instance_configuration_instance_details_options_launch_details_preemptible_instance_config_preemption_action_preserve_boot_volume,
                                },
                            },
                            PreferredMaintenanceAction = @var.Instance_configuration_instance_details_options_launch_details_preferred_maintenance_action,
                            Shape = @var.Instance_configuration_instance_details_options_launch_details_shape,
                            ShapeConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsShapeConfigArgs
                            {
                                BaselineOcpuUtilization = @var.Instance_configuration_instance_details_options_launch_details_shape_config_baseline_ocpu_utilization,
                                MemoryInGbs = @var.Instance_configuration_instance_details_options_launch_details_shape_config_memory_in_gbs,
                                Nvmes = @var.Instance_configuration_instance_details_options_launch_details_shape_config_nvmes,
                                Ocpus = @var.Instance_configuration_instance_details_options_launch_details_shape_config_ocpus,
                                Vcpus = @var.Instance_configuration_instance_details_options_launch_details_shape_config_vcpus,
                            },
                            SourceDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsArgs
                            {
                                SourceType = @var.Instance_configuration_instance_details_options_launch_details_source_details_source_type,
                                BootVolumeId = oci_core_boot_volume.Test_boot_volume.Id,
                                BootVolumeSizeInGbs = @var.Instance_configuration_instance_details_options_launch_details_source_details_boot_volume_size_in_gbs,
                                BootVolumeVpusPerGb = @var.Instance_configuration_instance_details_options_launch_details_source_details_boot_volume_vpus_per_gb,
                                ImageId = oci_core_image.Test_image.Id,
                                InstanceSourceImageFilterDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs
                                {
                                    CompartmentId = @var.Compartment_id,
                                    DefinedTagsFilter = @var.Instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_defined_tags_filter,
                                    OperatingSystem = @var.Instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_operating_system,
                                    OperatingSystemVersion = @var.Instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_operating_system_version,
                                },
                            },
                        },
                        SecondaryVnics = new[]
                        {
                            new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionSecondaryVnicArgs
                            {
                                CreateVnicDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsArgs
                                {
                                    AssignIpv6ip = @var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_ipv6ip,
                                    AssignPrivateDnsRecord = @var.Instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_assign_private_dns_record,
                                    AssignPublicIp = @var.Instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_assign_public_ip,
                                    DefinedTags = 
                                    {
                                        { "Operations.CostCenter", "42" },
                                    },
                                    DisplayName = @var.Instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_display_name,
                                    FreeformTags = 
                                    {
                                        { "Department", "Finance" },
                                    },
                                    HostnameLabel = @var.Instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_hostname_label,
                                    Ipv6addressIpv6subnetCidrPairDetails = new[]
                                    {
                                        new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs
                                        {
                                            Ipv6address = @var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address,
                                            Ipv6subnetCidr = @var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr,
                                        },
                                    },
                                    NsgIds = @var.Instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_nsg_ids,
                                    PrivateIp = @var.Instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_private_ip,
                                    SkipSourceDestCheck = @var.Instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_skip_source_dest_check,
                                    SubnetId = oci_core_subnet.Test_subnet.Id,
                                },
                                DisplayName = @var.Instance_configuration_instance_details_options_secondary_vnics_display_name,
                                NicIndex = @var.Instance_configuration_instance_details_options_secondary_vnics_nic_index,
                            },
                        },
                    },
                },
                SecondaryVnics = new[]
                {
                    new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsSecondaryVnicArgs
                    {
                        CreateVnicDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsArgs
                        {
                            AssignPrivateDnsRecord = @var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_private_dns_record,
                            AssignPublicIp = @var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_public_ip,
                            DefinedTags = 
                            {
                                { "Operations.CostCenter", "42" },
                            },
                            DisplayName = @var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_display_name,
                            FreeformTags = 
                            {
                                { "Department", "Finance" },
                            },
                            HostnameLabel = @var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_hostname_label,
                            NsgIds = @var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_nsg_ids,
                            PrivateIp = @var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_private_ip,
                            SkipSourceDestCheck = @var.Instance_configuration_instance_details_secondary_vnics_create_vnic_details_skip_source_dest_check,
                            SubnetId = oci_core_subnet.Test_subnet.Id,
                        },
                        DisplayName = @var.Instance_configuration_instance_details_secondary_vnics_display_name,
                        NicIndex = @var.Instance_configuration_instance_details_secondary_vnics_nic_index,
                    },
                },
            },
            InstanceId = oci_core_instance.Test_instance.Id,
            Source = @var.Instance_configuration_source,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.oci.Core.InstanceConfiguration;
    import com.pulumi.oci.Core.InstanceConfigurationArgs;
    import com.pulumi.oci.Core.inputs.InstanceConfigurationInstanceDetailsArgs;
    import com.pulumi.oci.Core.inputs.InstanceConfigurationInstanceDetailsLaunchDetailsArgs;
    import com.pulumi.oci.Core.inputs.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigArgs;
    import com.pulumi.oci.Core.inputs.InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfigArgs;
    import com.pulumi.oci.Core.inputs.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsArgs;
    import com.pulumi.oci.Core.inputs.InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptionsArgs;
    import com.pulumi.oci.Core.inputs.InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptionsArgs;
    import com.pulumi.oci.Core.inputs.InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfigArgs;
    import com.pulumi.oci.Core.inputs.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigArgs;
    import com.pulumi.oci.Core.inputs.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs;
    import com.pulumi.oci.Core.inputs.InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfigArgs;
    import com.pulumi.oci.Core.inputs.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsArgs;
    import com.pulumi.oci.Core.inputs.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var testInstanceConfiguration = new InstanceConfiguration("testInstanceConfiguration", InstanceConfigurationArgs.builder()        
                .compartmentId(var_.compartment_id())
                .definedTags(Map.of("Operations.CostCenter", "42"))
                .displayName(var_.instance_configuration_display_name())
                .freeformTags(Map.of("Department", "Finance"))
                .instanceDetails(InstanceConfigurationInstanceDetailsArgs.builder()
                    .instanceType(var_.instance_configuration_instance_details_instance_type())
                    .blockVolumes(InstanceConfigurationInstanceDetailsBlockVolumeArgs.builder()
                        .attachDetails(InstanceConfigurationInstanceDetailsBlockVolumeAttachDetailsArgs.builder()
                            .type(var_.instance_configuration_instance_details_block_volumes_attach_details_type())
                            .device(var_.instance_configuration_instance_details_block_volumes_attach_details_device())
                            .displayName(var_.instance_configuration_instance_details_block_volumes_attach_details_display_name())
                            .isPvEncryptionInTransitEnabled(var_.instance_configuration_instance_details_block_volumes_attach_details_is_pv_encryption_in_transit_enabled())
                            .isReadOnly(var_.instance_configuration_instance_details_block_volumes_attach_details_is_read_only())
                            .isShareable(var_.instance_configuration_instance_details_block_volumes_attach_details_is_shareable())
                            .useChap(var_.instance_configuration_instance_details_block_volumes_attach_details_use_chap())
                            .build())
                        .createDetails(InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsArgs.builder()
                            .autotunePolicies(InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicyArgs.builder()
                                .autotuneType(var_.instance_configuration_instance_details_block_volumes_create_details_autotune_policies_autotune_type())
                                .maxVpusPerGb(var_.instance_configuration_instance_details_block_volumes_create_details_autotune_policies_max_vpus_per_gb())
                                .build())
                            .availabilityDomain(var_.instance_configuration_instance_details_block_volumes_create_details_availability_domain())
                            .backupPolicyId(data.oci_core_volume_backup_policies().test_volume_backup_policies().volume_backup_policies()[0].id())
                            .blockVolumeReplicas(InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsBlockVolumeReplicasArgs.builder()
                                .availabilityDomain(var_.instance_configuration_instance_details_block_volumes_create_details_block_volume_replicas_availability_domain())
                                .displayName(var_.instance_configuration_instance_details_block_volumes_create_details_block_volume_replicas_display_name())
                                .build())
                            .compartmentId(var_.compartment_id())
                            .definedTags(Map.of("Operations.CostCenter", "42"))
                            .displayName(var_.instance_configuration_instance_details_block_volumes_create_details_display_name())
                            .freeformTags(Map.of("Department", "Finance"))
                            .isAutoTuneEnabled(var_.instance_configuration_instance_details_block_volumes_create_details_is_auto_tune_enabled())
                            .kmsKeyId(oci_kms_key.test_key().id())
                            .sizeInGbs(var_.instance_configuration_instance_details_block_volumes_create_details_size_in_gbs())
                            .sourceDetails(InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsSourceDetailsArgs.builder()
                                .type(var_.instance_configuration_instance_details_block_volumes_create_details_source_details_type())
                                .id(var_.instance_configuration_instance_details_block_volumes_create_details_source_details_id())
                                .build())
                            .vpusPerGb(var_.instance_configuration_instance_details_block_volumes_create_details_vpus_per_gb())
                            .build())
                        .volumeId(oci_core_volume.test_volume().id())
                        .build())
                    .launchDetails(InstanceConfigurationInstanceDetailsLaunchDetailsArgs.builder()
                        .agentConfig(InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigArgs.builder()
                            .areAllPluginsDisabled(var_.instance_configuration_instance_details_launch_details_agent_config_are_all_plugins_disabled())
                            .isManagementDisabled(var_.instance_configuration_instance_details_launch_details_agent_config_is_management_disabled())
                            .isMonitoringDisabled(var_.instance_configuration_instance_details_launch_details_agent_config_is_monitoring_disabled())
                            .pluginsConfigs(InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfigArgs.builder()
                                .desiredState(var_.instance_configuration_instance_details_launch_details_agent_config_plugins_config_desired_state())
                                .name(var_.instance_configuration_instance_details_launch_details_agent_config_plugins_config_name())
                                .build())
                            .build())
                        .availabilityConfig(InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfigArgs.builder()
                            .isLiveMigrationPreferred(var_.instance_configuration_instance_details_launch_details_availability_config_is_live_migration_preferred())
                            .recoveryAction(var_.instance_configuration_instance_details_launch_details_availability_config_recovery_action())
                            .build())
                        .availabilityDomain(var_.instance_configuration_instance_details_launch_details_availability_domain())
                        .capacityReservationId(oci_core_capacity_reservation.test_capacity_reservation().id())
                        .compartmentId(var_.compartment_id())
                        .createVnicDetails(InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsArgs.builder()
                            .assignIpv6ip(var_.instance_configuration_instance_details_launch_details_create_vnic_details_assign_ipv6ip())
                            .assignPrivateDnsRecord(var_.instance_configuration_instance_details_launch_details_create_vnic_details_assign_private_dns_record())
                            .assignPublicIp(var_.instance_configuration_instance_details_launch_details_create_vnic_details_assign_public_ip())
                            .definedTags(Map.of("Operations.CostCenter", "42"))
                            .displayName(var_.instance_configuration_instance_details_launch_details_create_vnic_details_display_name())
                            .freeformTags(Map.of("Department", "Finance"))
                            .hostnameLabel(var_.instance_configuration_instance_details_launch_details_create_vnic_details_hostname_label())
                            .ipv6addressIpv6subnetCidrPairDetails(InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs.builder()
                                .ipv6address(var_.instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address())
                                .ipv6subnetCidr(var_.instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr())
                                .build())
                            .nsgIds(var_.instance_configuration_instance_details_launch_details_create_vnic_details_nsg_ids())
                            .privateIp(var_.instance_configuration_instance_details_launch_details_create_vnic_details_private_ip())
                            .skipSourceDestCheck(var_.instance_configuration_instance_details_launch_details_create_vnic_details_skip_source_dest_check())
                            .subnetId(oci_core_subnet.test_subnet().id())
                            .build())
                        .dedicatedVmHostId(oci_core_dedicated_vm_host.test_dedicated_vm_host().id())
                        .definedTags(Map.of("Operations.CostCenter", "42"))
                        .displayName(var_.instance_configuration_instance_details_launch_details_display_name())
                        .extendedMetadata(var_.instance_configuration_instance_details_launch_details_extended_metadata())
                        .faultDomain(var_.instance_configuration_instance_details_launch_details_fault_domain())
                        .freeformTags(Map.of("Department", "Finance"))
                        .instanceOptions(InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptionsArgs.builder()
                            .areLegacyImdsEndpointsDisabled(var_.instance_configuration_instance_details_launch_details_instance_options_are_legacy_imds_endpoints_disabled())
                            .build())
                        .ipxeScript(var_.instance_configuration_instance_details_launch_details_ipxe_script())
                        .isPvEncryptionInTransitEnabled(var_.instance_configuration_instance_details_launch_details_is_pv_encryption_in_transit_enabled())
                        .launchMode(var_.instance_configuration_instance_details_launch_details_launch_mode())
                        .launchOptions(InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptionsArgs.builder()
                            .bootVolumeType(var_.instance_configuration_instance_details_launch_details_launch_options_boot_volume_type())
                            .firmware(var_.instance_configuration_instance_details_launch_details_launch_options_firmware())
                            .isConsistentVolumeNamingEnabled(var_.instance_configuration_instance_details_launch_details_launch_options_is_consistent_volume_naming_enabled())
                            .isPvEncryptionInTransitEnabled(var_.instance_configuration_instance_details_launch_details_launch_options_is_pv_encryption_in_transit_enabled())
                            .networkType(var_.instance_configuration_instance_details_launch_details_launch_options_network_type())
                            .remoteDataVolumeType(var_.instance_configuration_instance_details_launch_details_launch_options_remote_data_volume_type())
                            .build())
                        .metadata(var_.instance_configuration_instance_details_launch_details_metadata())
                        .platformConfig(InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfigArgs.builder()
                            .type(var_.instance_configuration_instance_details_launch_details_platform_config_type())
                            .areVirtualInstructionsEnabled(var_.instance_configuration_instance_details_launch_details_platform_config_are_virtual_instructions_enabled())
                            .configMap(var_.instance_configuration_instance_details_launch_details_platform_config_config_map())
                            .isAccessControlServiceEnabled(var_.instance_configuration_instance_details_launch_details_platform_config_is_access_control_service_enabled())
                            .isInputOutputMemoryManagementUnitEnabled(var_.instance_configuration_instance_details_launch_details_platform_config_is_input_output_memory_management_unit_enabled())
                            .isMeasuredBootEnabled(var_.instance_configuration_instance_details_launch_details_platform_config_is_measured_boot_enabled())
                            .isMemoryEncryptionEnabled(var_.instance_configuration_instance_details_launch_details_platform_config_is_memory_encryption_enabled())
                            .isSecureBootEnabled(var_.instance_configuration_instance_details_launch_details_platform_config_is_secure_boot_enabled())
                            .isSymmetricMultiThreadingEnabled(var_.instance_configuration_instance_details_launch_details_platform_config_is_symmetric_multi_threading_enabled())
                            .isTrustedPlatformModuleEnabled(var_.instance_configuration_instance_details_launch_details_platform_config_is_trusted_platform_module_enabled())
                            .numaNodesPerSocket(var_.instance_configuration_instance_details_launch_details_platform_config_numa_nodes_per_socket())
                            .percentageOfCoresEnabled(var_.instance_configuration_instance_details_launch_details_platform_config_percentage_of_cores_enabled())
                            .build())
                        .preemptibleInstanceConfig(InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigArgs.builder()
                            .preemptionAction(InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs.builder()
                                .type(var_.instance_configuration_instance_details_launch_details_preemptible_instance_config_preemption_action_type())
                                .preserveBootVolume(var_.instance_configuration_instance_details_launch_details_preemptible_instance_config_preemption_action_preserve_boot_volume())
                                .build())
                            .build())
                        .preferredMaintenanceAction(var_.instance_configuration_instance_details_launch_details_preferred_maintenance_action())
                        .shape(var_.instance_configuration_instance_details_launch_details_shape())
                        .shapeConfig(InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfigArgs.builder()
                            .baselineOcpuUtilization(var_.instance_configuration_instance_details_launch_details_shape_config_baseline_ocpu_utilization())
                            .memoryInGbs(var_.instance_configuration_instance_details_launch_details_shape_config_memory_in_gbs())
                            .nvmes(var_.instance_configuration_instance_details_launch_details_shape_config_nvmes())
                            .ocpus(var_.instance_configuration_instance_details_launch_details_shape_config_ocpus())
                            .vcpus(var_.instance_configuration_instance_details_launch_details_shape_config_vcpus())
                            .build())
                        .sourceDetails(InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsArgs.builder()
                            .sourceType(var_.instance_configuration_instance_details_launch_details_source_details_source_type())
                            .bootVolumeId(oci_core_boot_volume.test_boot_volume().id())
                            .bootVolumeSizeInGbs(var_.instance_configuration_instance_details_launch_details_source_details_boot_volume_size_in_gbs())
                            .bootVolumeVpusPerGb(var_.instance_configuration_instance_details_launch_details_source_details_boot_volume_vpus_per_gb())
                            .imageId(oci_core_image.test_image().id())
                            .kmsKeyId(oci_kms_key.test_key().id())
                            .instanceSourceImageFilterDetails(InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs.builder()
                                .compartmentId(var_.compartment_id())
                                .definedTagsFilter(var_.instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_defined_tags_filter())
                                .operatingSystem(var_.instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_operating_system())
                                .operatingSystemVersion(var_.instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_operating_system_version())
                                .build())
                            .build())
                        .build())
                    .options(InstanceConfigurationInstanceDetailsOptionArgs.builder()
                        .blockVolumes(InstanceConfigurationInstanceDetailsOptionBlockVolumeArgs.builder()
                            .attachDetails(InstanceConfigurationInstanceDetailsOptionBlockVolumeAttachDetailsArgs.builder()
                                .type(var_.instance_configuration_instance_details_options_block_volumes_attach_details_type())
                                .device(var_.instance_configuration_instance_details_options_block_volumes_attach_details_device())
                                .displayName(var_.instance_configuration_instance_details_options_block_volumes_attach_details_display_name())
                                .isPvEncryptionInTransitEnabled(var_.instance_configuration_instance_details_options_block_volumes_attach_details_is_pv_encryption_in_transit_enabled())
                                .isReadOnly(var_.instance_configuration_instance_details_options_block_volumes_attach_details_is_read_only())
                                .isShareable(var_.instance_configuration_instance_details_options_block_volumes_attach_details_is_shareable())
                                .useChap(var_.instance_configuration_instance_details_options_block_volumes_attach_details_use_chap())
                                .build())
                            .createDetails(InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsArgs.builder()
                                .autotunePolicies(InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicyArgs.builder()
                                    .autotuneType(var_.instance_configuration_instance_details_options_block_volumes_create_details_autotune_policies_autotune_type())
                                    .maxVpusPerGb(var_.instance_configuration_instance_details_options_block_volumes_create_details_autotune_policies_max_vpus_per_gb())
                                    .build())
                                .availabilityDomain(var_.instance_configuration_instance_details_options_block_volumes_create_details_availability_domain())
                                .backupPolicyId(data.oci_core_volume_backup_policies().test_volume_backup_policies().volume_backup_policies()[0].id())
                                .compartmentId(var_.compartment_id())
                                .definedTags(Map.of("Operations.CostCenter", "42"))
                                .displayName(var_.instance_configuration_instance_details_options_block_volumes_create_details_display_name())
                                .freeformTags(Map.of("Department", "Finance"))
                                .kmsKeyId(oci_kms_key.test_key().id())
                                .sizeInGbs(var_.instance_configuration_instance_details_options_block_volumes_create_details_size_in_gbs())
                                .sourceDetails(InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsSourceDetailsArgs.builder()
                                    .type(var_.instance_configuration_instance_details_options_block_volumes_create_details_source_details_type())
                                    .id(var_.instance_configuration_instance_details_options_block_volumes_create_details_source_details_id())
                                    .build())
                                .vpusPerGb(var_.instance_configuration_instance_details_options_block_volumes_create_details_vpus_per_gb())
                                .build())
                            .volumeId(oci_core_volume.test_volume().id())
                            .build())
                        .launchDetails(InstanceConfigurationInstanceDetailsOptionLaunchDetailsArgs.builder()
                            .agentConfig(InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigArgs.builder()
                                .areAllPluginsDisabled(var_.instance_configuration_instance_details_options_launch_details_agent_config_are_all_plugins_disabled())
                                .isManagementDisabled(var_.instance_configuration_instance_details_options_launch_details_agent_config_is_management_disabled())
                                .isMonitoringDisabled(var_.instance_configuration_instance_details_options_launch_details_agent_config_is_monitoring_disabled())
                                .pluginsConfigs(InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfigArgs.builder()
                                    .desiredState(var_.instance_configuration_instance_details_options_launch_details_agent_config_plugins_config_desired_state())
                                    .name(var_.instance_configuration_instance_details_options_launch_details_agent_config_plugins_config_name())
                                    .build())
                                .build())
                            .availabilityConfig(InstanceConfigurationInstanceDetailsOptionLaunchDetailsAvailabilityConfigArgs.builder()
                                .recoveryAction(var_.instance_configuration_instance_details_options_launch_details_availability_config_recovery_action())
                                .build())
                            .availabilityDomain(var_.instance_configuration_instance_details_options_launch_details_availability_domain())
                            .capacityReservationId(oci_core_capacity_reservation.test_capacity_reservation().id())
                            .compartmentId(var_.compartment_id())
                            .createVnicDetails(InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsArgs.builder()
                                .assignIpv6ip(var_.instance_configuration_instance_details_launch_details_create_vnic_details_assign_ipv6ip())
                                .assignPrivateDnsRecord(var_.instance_configuration_instance_details_options_launch_details_create_vnic_details_assign_private_dns_record())
                                .assignPublicIp(var_.instance_configuration_instance_details_options_launch_details_create_vnic_details_assign_public_ip())
                                .definedTags(Map.of("Operations.CostCenter", "42"))
                                .displayName(var_.instance_configuration_instance_details_options_launch_details_create_vnic_details_display_name())
                                .freeformTags(Map.of("Department", "Finance"))
                                .hostnameLabel(var_.instance_configuration_instance_details_options_launch_details_create_vnic_details_hostname_label())
                                .ipv6addressIpv6subnetCidrPairDetails(InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs.builder()
                                    .ipv6address(var_.instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address())
                                    .ipv6subnetCidr(var_.instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr())
                                    .build())
                                .nsgIds(var_.instance_configuration_instance_details_options_launch_details_create_vnic_details_nsg_ids())
                                .privateIp(var_.instance_configuration_instance_details_options_launch_details_create_vnic_details_private_ip())
                                .skipSourceDestCheck(var_.instance_configuration_instance_details_options_launch_details_create_vnic_details_skip_source_dest_check())
                                .subnetId(oci_core_subnet.test_subnet().id())
                                .build())
                            .dedicatedVmHostId(oci_core_dedicated_vm_host.test_dedicated_vm_host().id())
                            .definedTags(Map.of("Operations.CostCenter", "42"))
                            .displayName(var_.instance_configuration_instance_details_options_launch_details_display_name())
                            .extendedMetadata(var_.instance_configuration_instance_details_options_launch_details_extended_metadata())
                            .faultDomain(var_.instance_configuration_instance_details_options_launch_details_fault_domain())
                            .freeformTags(Map.of("Department", "Finance"))
                            .instanceOptions(InstanceConfigurationInstanceDetailsOptionLaunchDetailsInstanceOptionsArgs.builder()
                                .areLegacyImdsEndpointsDisabled(var_.instance_configuration_instance_details_options_launch_details_instance_options_are_legacy_imds_endpoints_disabled())
                                .build())
                            .ipxeScript(var_.instance_configuration_instance_details_options_launch_details_ipxe_script())
                            .isPvEncryptionInTransitEnabled(var_.instance_configuration_instance_details_options_launch_details_is_pv_encryption_in_transit_enabled())
                            .launchMode(var_.instance_configuration_instance_details_options_launch_details_launch_mode())
                            .launchOptions(InstanceConfigurationInstanceDetailsOptionLaunchDetailsLaunchOptionsArgs.builder()
                                .bootVolumeType(var_.instance_configuration_instance_details_options_launch_details_launch_options_boot_volume_type())
                                .firmware(var_.instance_configuration_instance_details_options_launch_details_launch_options_firmware())
                                .isConsistentVolumeNamingEnabled(var_.instance_configuration_instance_details_options_launch_details_launch_options_is_consistent_volume_naming_enabled())
                                .isPvEncryptionInTransitEnabled(var_.instance_configuration_instance_details_options_launch_details_launch_options_is_pv_encryption_in_transit_enabled())
                                .networkType(var_.instance_configuration_instance_details_options_launch_details_launch_options_network_type())
                                .remoteDataVolumeType(var_.instance_configuration_instance_details_options_launch_details_launch_options_remote_data_volume_type())
                                .build())
                            .metadata(var_.instance_configuration_instance_details_options_launch_details_metadata())
                            .platformConfig(InstanceConfigurationInstanceDetailsOptionLaunchDetailsPlatformConfigArgs.builder()
                                .type(var_.instance_configuration_instance_details_options_launch_details_platform_config_type())
                                .areVirtualInstructionsEnabled(var_.instance_configuration_instance_details_options_launch_details_platform_config_are_virtual_instructions_enabled())
                                .isAccessControlServiceEnabled(var_.instance_configuration_instance_details_options_launch_details_platform_config_is_access_control_service_enabled())
                                .isInputOutputMemoryManagementUnitEnabled(var_.instance_configuration_instance_details_options_launch_details_platform_config_is_input_output_memory_management_unit_enabled())
                                .isMeasuredBootEnabled(var_.instance_configuration_instance_details_options_launch_details_platform_config_is_measured_boot_enabled())
                                .isMemoryEncryptionEnabled(var_.instance_configuration_instance_details_options_launch_details_platform_config_is_memory_encryption_enabled())
                                .isSecureBootEnabled(var_.instance_configuration_instance_details_options_launch_details_platform_config_is_secure_boot_enabled())
                                .isSymmetricMultiThreadingEnabled(var_.instance_configuration_instance_details_options_launch_details_platform_config_is_symmetric_multi_threading_enabled())
                                .isTrustedPlatformModuleEnabled(var_.instance_configuration_instance_details_options_launch_details_platform_config_is_trusted_platform_module_enabled())
                                .numaNodesPerSocket(var_.instance_configuration_instance_details_options_launch_details_platform_config_numa_nodes_per_socket())
                                .percentageOfCoresEnabled(var_.instance_configuration_instance_details_options_launch_details_platform_config_percentage_of_cores_enabled())
                                .build())
                            .preemptibleInstanceConfig(InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigArgs.builder()
                                .preemptionAction(InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs.builder()
                                    .type(var_.instance_configuration_instance_details_options_launch_details_preemptible_instance_config_preemption_action_type())
                                    .preserveBootVolume(var_.instance_configuration_instance_details_options_launch_details_preemptible_instance_config_preemption_action_preserve_boot_volume())
                                    .build())
                                .build())
                            .preferredMaintenanceAction(var_.instance_configuration_instance_details_options_launch_details_preferred_maintenance_action())
                            .shape(var_.instance_configuration_instance_details_options_launch_details_shape())
                            .shapeConfig(InstanceConfigurationInstanceDetailsOptionLaunchDetailsShapeConfigArgs.builder()
                                .baselineOcpuUtilization(var_.instance_configuration_instance_details_options_launch_details_shape_config_baseline_ocpu_utilization())
                                .memoryInGbs(var_.instance_configuration_instance_details_options_launch_details_shape_config_memory_in_gbs())
                                .nvmes(var_.instance_configuration_instance_details_options_launch_details_shape_config_nvmes())
                                .ocpus(var_.instance_configuration_instance_details_options_launch_details_shape_config_ocpus())
                                .vcpus(var_.instance_configuration_instance_details_options_launch_details_shape_config_vcpus())
                                .build())
                            .sourceDetails(InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsArgs.builder()
                                .sourceType(var_.instance_configuration_instance_details_options_launch_details_source_details_source_type())
                                .bootVolumeId(oci_core_boot_volume.test_boot_volume().id())
                                .bootVolumeSizeInGbs(var_.instance_configuration_instance_details_options_launch_details_source_details_boot_volume_size_in_gbs())
                                .bootVolumeVpusPerGb(var_.instance_configuration_instance_details_options_launch_details_source_details_boot_volume_vpus_per_gb())
                                .imageId(oci_core_image.test_image().id())
                                .instanceSourceImageFilterDetails(InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs.builder()
                                    .compartmentId(var_.compartment_id())
                                    .definedTagsFilter(var_.instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_defined_tags_filter())
                                    .operatingSystem(var_.instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_operating_system())
                                    .operatingSystemVersion(var_.instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_operating_system_version())
                                    .build())
                                .build())
                            .build())
                        .secondaryVnics(InstanceConfigurationInstanceDetailsOptionSecondaryVnicArgs.builder()
                            .createVnicDetails(InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsArgs.builder()
                                .assignIpv6ip(var_.instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_ipv6ip())
                                .assignPrivateDnsRecord(var_.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_assign_private_dns_record())
                                .assignPublicIp(var_.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_assign_public_ip())
                                .definedTags(Map.of("Operations.CostCenter", "42"))
                                .displayName(var_.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_display_name())
                                .freeformTags(Map.of("Department", "Finance"))
                                .hostnameLabel(var_.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_hostname_label())
                                .ipv6addressIpv6subnetCidrPairDetails(InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs.builder()
                                    .ipv6address(var_.instance_configuration_instance_details_secondary_vnics_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address())
                                    .ipv6subnetCidr(var_.instance_configuration_instance_details_secondary_vnics_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr())
                                    .build())
                                .nsgIds(var_.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_nsg_ids())
                                .privateIp(var_.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_private_ip())
                                .skipSourceDestCheck(var_.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_skip_source_dest_check())
                                .subnetId(oci_core_subnet.test_subnet().id())
                                .build())
                            .displayName(var_.instance_configuration_instance_details_options_secondary_vnics_display_name())
                            .nicIndex(var_.instance_configuration_instance_details_options_secondary_vnics_nic_index())
                            .build())
                        .build())
                    .secondaryVnics(InstanceConfigurationInstanceDetailsSecondaryVnicArgs.builder()
                        .createVnicDetails(InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsArgs.builder()
                            .assignPrivateDnsRecord(var_.instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_private_dns_record())
                            .assignPublicIp(var_.instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_public_ip())
                            .definedTags(Map.of("Operations.CostCenter", "42"))
                            .displayName(var_.instance_configuration_instance_details_secondary_vnics_create_vnic_details_display_name())
                            .freeformTags(Map.of("Department", "Finance"))
                            .hostnameLabel(var_.instance_configuration_instance_details_secondary_vnics_create_vnic_details_hostname_label())
                            .nsgIds(var_.instance_configuration_instance_details_secondary_vnics_create_vnic_details_nsg_ids())
                            .privateIp(var_.instance_configuration_instance_details_secondary_vnics_create_vnic_details_private_ip())
                            .skipSourceDestCheck(var_.instance_configuration_instance_details_secondary_vnics_create_vnic_details_skip_source_dest_check())
                            .subnetId(oci_core_subnet.test_subnet().id())
                            .build())
                        .displayName(var_.instance_configuration_instance_details_secondary_vnics_display_name())
                        .nicIndex(var_.instance_configuration_instance_details_secondary_vnics_nic_index())
                        .build())
                    .build())
                .instanceId(oci_core_instance.test_instance().id())
                .source(var_.instance_configuration_source())
                .build());
    
        }
    }
    
    resources:
      testInstanceConfiguration:
        type: oci:Core:InstanceConfiguration
        properties:
          #Required
          compartmentId: ${var.compartment_id}
          #Optional
          definedTags:
            Operations.CostCenter: '42'
          displayName: ${var.instance_configuration_display_name}
          freeformTags:
            Department: Finance
          instanceDetails:
            instanceType: ${var.instance_configuration_instance_details_instance_type}
            blockVolumes:
              - attachDetails:
                  type: ${var.instance_configuration_instance_details_block_volumes_attach_details_type}
                  device: ${var.instance_configuration_instance_details_block_volumes_attach_details_device}
                  displayName: ${var.instance_configuration_instance_details_block_volumes_attach_details_display_name}
                  isPvEncryptionInTransitEnabled: ${var.instance_configuration_instance_details_block_volumes_attach_details_is_pv_encryption_in_transit_enabled}
                  isReadOnly: ${var.instance_configuration_instance_details_block_volumes_attach_details_is_read_only}
                  isShareable: ${var.instance_configuration_instance_details_block_volumes_attach_details_is_shareable}
                  useChap: ${var.instance_configuration_instance_details_block_volumes_attach_details_use_chap}
                createDetails:
                  autotunePolicies:
                    - autotuneType: ${var.instance_configuration_instance_details_block_volumes_create_details_autotune_policies_autotune_type}
                      maxVpusPerGb: ${var.instance_configuration_instance_details_block_volumes_create_details_autotune_policies_max_vpus_per_gb}
                  availabilityDomain: ${var.instance_configuration_instance_details_block_volumes_create_details_availability_domain}
                  backupPolicyId: ${data.oci_core_volume_backup_policies.test_volume_backup_policies.volume_backup_policies[0].id}
                  blockVolumeReplicas:
                    availabilityDomain: ${var.instance_configuration_instance_details_block_volumes_create_details_block_volume_replicas_availability_domain}
                    displayName: ${var.instance_configuration_instance_details_block_volumes_create_details_block_volume_replicas_display_name}
                  compartmentId: ${var.compartment_id}
                  definedTags:
                    Operations.CostCenter: '42'
                  displayName: ${var.instance_configuration_instance_details_block_volumes_create_details_display_name}
                  freeformTags:
                    Department: Finance
                  isAutoTuneEnabled: ${var.instance_configuration_instance_details_block_volumes_create_details_is_auto_tune_enabled}
                  kmsKeyId: ${oci_kms_key.test_key.id}
                  sizeInGbs: ${var.instance_configuration_instance_details_block_volumes_create_details_size_in_gbs}
                  sourceDetails:
                    type: ${var.instance_configuration_instance_details_block_volumes_create_details_source_details_type}
                    id: ${var.instance_configuration_instance_details_block_volumes_create_details_source_details_id}
                  vpusPerGb: ${var.instance_configuration_instance_details_block_volumes_create_details_vpus_per_gb}
                volumeId: ${oci_core_volume.test_volume.id}
            launchDetails:
              agentConfig:
                areAllPluginsDisabled: ${var.instance_configuration_instance_details_launch_details_agent_config_are_all_plugins_disabled}
                isManagementDisabled: ${var.instance_configuration_instance_details_launch_details_agent_config_is_management_disabled}
                isMonitoringDisabled: ${var.instance_configuration_instance_details_launch_details_agent_config_is_monitoring_disabled}
                pluginsConfigs:
                  - desiredState: ${var.instance_configuration_instance_details_launch_details_agent_config_plugins_config_desired_state}
                    name: ${var.instance_configuration_instance_details_launch_details_agent_config_plugins_config_name}
              availabilityConfig:
                isLiveMigrationPreferred: ${var.instance_configuration_instance_details_launch_details_availability_config_is_live_migration_preferred}
                recoveryAction: ${var.instance_configuration_instance_details_launch_details_availability_config_recovery_action}
              availabilityDomain: ${var.instance_configuration_instance_details_launch_details_availability_domain}
              capacityReservationId: ${oci_core_capacity_reservation.test_capacity_reservation.id}
              compartmentId: ${var.compartment_id}
              createVnicDetails:
                assignIpv6ip: ${var.instance_configuration_instance_details_launch_details_create_vnic_details_assign_ipv6ip}
                assignPrivateDnsRecord: ${var.instance_configuration_instance_details_launch_details_create_vnic_details_assign_private_dns_record}
                assignPublicIp: ${var.instance_configuration_instance_details_launch_details_create_vnic_details_assign_public_ip}
                definedTags:
                  Operations.CostCenter: '42'
                displayName: ${var.instance_configuration_instance_details_launch_details_create_vnic_details_display_name}
                freeformTags:
                  Department: Finance
                hostnameLabel: ${var.instance_configuration_instance_details_launch_details_create_vnic_details_hostname_label}
                ipv6addressIpv6subnetCidrPairDetails:
                  - ipv6address: ${var.instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address}
                    ipv6subnetCidr: ${var.instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr}
                nsgIds: ${var.instance_configuration_instance_details_launch_details_create_vnic_details_nsg_ids}
                privateIp: ${var.instance_configuration_instance_details_launch_details_create_vnic_details_private_ip}
                skipSourceDestCheck: ${var.instance_configuration_instance_details_launch_details_create_vnic_details_skip_source_dest_check}
                subnetId: ${oci_core_subnet.test_subnet.id}
              dedicatedVmHostId: ${oci_core_dedicated_vm_host.test_dedicated_vm_host.id}
              definedTags:
                Operations.CostCenter: '42'
              displayName: ${var.instance_configuration_instance_details_launch_details_display_name}
              extendedMetadata: ${var.instance_configuration_instance_details_launch_details_extended_metadata}
              faultDomain: ${var.instance_configuration_instance_details_launch_details_fault_domain}
              freeformTags:
                Department: Finance
              instanceOptions:
                areLegacyImdsEndpointsDisabled: ${var.instance_configuration_instance_details_launch_details_instance_options_are_legacy_imds_endpoints_disabled}
              ipxeScript: ${var.instance_configuration_instance_details_launch_details_ipxe_script}
              isPvEncryptionInTransitEnabled: ${var.instance_configuration_instance_details_launch_details_is_pv_encryption_in_transit_enabled}
              launchMode: ${var.instance_configuration_instance_details_launch_details_launch_mode}
              launchOptions:
                bootVolumeType: ${var.instance_configuration_instance_details_launch_details_launch_options_boot_volume_type}
                firmware: ${var.instance_configuration_instance_details_launch_details_launch_options_firmware}
                isConsistentVolumeNamingEnabled: ${var.instance_configuration_instance_details_launch_details_launch_options_is_consistent_volume_naming_enabled}
                isPvEncryptionInTransitEnabled: ${var.instance_configuration_instance_details_launch_details_launch_options_is_pv_encryption_in_transit_enabled}
                networkType: ${var.instance_configuration_instance_details_launch_details_launch_options_network_type}
                remoteDataVolumeType: ${var.instance_configuration_instance_details_launch_details_launch_options_remote_data_volume_type}
              metadata: ${var.instance_configuration_instance_details_launch_details_metadata}
              platformConfig:
                type: ${var.instance_configuration_instance_details_launch_details_platform_config_type}
                areVirtualInstructionsEnabled: ${var.instance_configuration_instance_details_launch_details_platform_config_are_virtual_instructions_enabled}
                configMap: ${var.instance_configuration_instance_details_launch_details_platform_config_config_map}
                isAccessControlServiceEnabled: ${var.instance_configuration_instance_details_launch_details_platform_config_is_access_control_service_enabled}
                isInputOutputMemoryManagementUnitEnabled: ${var.instance_configuration_instance_details_launch_details_platform_config_is_input_output_memory_management_unit_enabled}
                isMeasuredBootEnabled: ${var.instance_configuration_instance_details_launch_details_platform_config_is_measured_boot_enabled}
                isMemoryEncryptionEnabled: ${var.instance_configuration_instance_details_launch_details_platform_config_is_memory_encryption_enabled}
                isSecureBootEnabled: ${var.instance_configuration_instance_details_launch_details_platform_config_is_secure_boot_enabled}
                isSymmetricMultiThreadingEnabled: ${var.instance_configuration_instance_details_launch_details_platform_config_is_symmetric_multi_threading_enabled}
                isTrustedPlatformModuleEnabled: ${var.instance_configuration_instance_details_launch_details_platform_config_is_trusted_platform_module_enabled}
                numaNodesPerSocket: ${var.instance_configuration_instance_details_launch_details_platform_config_numa_nodes_per_socket}
                percentageOfCoresEnabled: ${var.instance_configuration_instance_details_launch_details_platform_config_percentage_of_cores_enabled}
              preemptibleInstanceConfig:
                preemptionAction:
                  type: ${var.instance_configuration_instance_details_launch_details_preemptible_instance_config_preemption_action_type}
                  preserveBootVolume: ${var.instance_configuration_instance_details_launch_details_preemptible_instance_config_preemption_action_preserve_boot_volume}
              preferredMaintenanceAction: ${var.instance_configuration_instance_details_launch_details_preferred_maintenance_action}
              shape: ${var.instance_configuration_instance_details_launch_details_shape}
              shapeConfig:
                baselineOcpuUtilization: ${var.instance_configuration_instance_details_launch_details_shape_config_baseline_ocpu_utilization}
                memoryInGbs: ${var.instance_configuration_instance_details_launch_details_shape_config_memory_in_gbs}
                nvmes: ${var.instance_configuration_instance_details_launch_details_shape_config_nvmes}
                ocpus: ${var.instance_configuration_instance_details_launch_details_shape_config_ocpus}
                vcpus: ${var.instance_configuration_instance_details_launch_details_shape_config_vcpus}
              sourceDetails:
                sourceType: ${var.instance_configuration_instance_details_launch_details_source_details_source_type}
                bootVolumeId: ${oci_core_boot_volume.test_boot_volume.id}
                bootVolumeSizeInGbs: ${var.instance_configuration_instance_details_launch_details_source_details_boot_volume_size_in_gbs}
                bootVolumeVpusPerGb: ${var.instance_configuration_instance_details_launch_details_source_details_boot_volume_vpus_per_gb}
                imageId: ${oci_core_image.test_image.id}
                kmsKeyId: ${oci_kms_key.test_key.id}
                instanceSourceImageFilterDetails:
                  compartmentId: ${var.compartment_id}
                  definedTagsFilter: ${var.instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_defined_tags_filter}
                  operatingSystem: ${var.instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_operating_system}
                  operatingSystemVersion: ${var.instance_configuration_instance_details_launch_details_source_details_instance_source_image_filter_details_operating_system_version}
            options:
              - blockVolumes:
                  - attachDetails:
                      type: ${var.instance_configuration_instance_details_options_block_volumes_attach_details_type}
                      device: ${var.instance_configuration_instance_details_options_block_volumes_attach_details_device}
                      displayName: ${var.instance_configuration_instance_details_options_block_volumes_attach_details_display_name}
                      isPvEncryptionInTransitEnabled: ${var.instance_configuration_instance_details_options_block_volumes_attach_details_is_pv_encryption_in_transit_enabled}
                      isReadOnly: ${var.instance_configuration_instance_details_options_block_volumes_attach_details_is_read_only}
                      isShareable: ${var.instance_configuration_instance_details_options_block_volumes_attach_details_is_shareable}
                      useChap: ${var.instance_configuration_instance_details_options_block_volumes_attach_details_use_chap}
                    createDetails:
                      autotunePolicies:
                        - autotuneType: ${var.instance_configuration_instance_details_options_block_volumes_create_details_autotune_policies_autotune_type}
                          maxVpusPerGb: ${var.instance_configuration_instance_details_options_block_volumes_create_details_autotune_policies_max_vpus_per_gb}
                      availabilityDomain: ${var.instance_configuration_instance_details_options_block_volumes_create_details_availability_domain}
                      backupPolicyId: ${data.oci_core_volume_backup_policies.test_volume_backup_policies.volume_backup_policies[0].id}
                      compartmentId: ${var.compartment_id}
                      definedTags:
                        Operations.CostCenter: '42'
                      displayName: ${var.instance_configuration_instance_details_options_block_volumes_create_details_display_name}
                      freeformTags:
                        Department: Finance
                      kmsKeyId: ${oci_kms_key.test_key.id}
                      sizeInGbs: ${var.instance_configuration_instance_details_options_block_volumes_create_details_size_in_gbs}
                      sourceDetails:
                        type: ${var.instance_configuration_instance_details_options_block_volumes_create_details_source_details_type}
                        id: ${var.instance_configuration_instance_details_options_block_volumes_create_details_source_details_id}
                      vpusPerGb: ${var.instance_configuration_instance_details_options_block_volumes_create_details_vpus_per_gb}
                    volumeId: ${oci_core_volume.test_volume.id}
                launchDetails:
                  agentConfig:
                    areAllPluginsDisabled: ${var.instance_configuration_instance_details_options_launch_details_agent_config_are_all_plugins_disabled}
                    isManagementDisabled: ${var.instance_configuration_instance_details_options_launch_details_agent_config_is_management_disabled}
                    isMonitoringDisabled: ${var.instance_configuration_instance_details_options_launch_details_agent_config_is_monitoring_disabled}
                    pluginsConfigs:
                      - desiredState: ${var.instance_configuration_instance_details_options_launch_details_agent_config_plugins_config_desired_state}
                        name: ${var.instance_configuration_instance_details_options_launch_details_agent_config_plugins_config_name}
                  availabilityConfig:
                    recoveryAction: ${var.instance_configuration_instance_details_options_launch_details_availability_config_recovery_action}
                  availabilityDomain: ${var.instance_configuration_instance_details_options_launch_details_availability_domain}
                  capacityReservationId: ${oci_core_capacity_reservation.test_capacity_reservation.id}
                  compartmentId: ${var.compartment_id}
                  createVnicDetails:
                    assignIpv6ip: ${var.instance_configuration_instance_details_launch_details_create_vnic_details_assign_ipv6ip}
                    assignPrivateDnsRecord: ${var.instance_configuration_instance_details_options_launch_details_create_vnic_details_assign_private_dns_record}
                    assignPublicIp: ${var.instance_configuration_instance_details_options_launch_details_create_vnic_details_assign_public_ip}
                    definedTags:
                      Operations.CostCenter: '42'
                    displayName: ${var.instance_configuration_instance_details_options_launch_details_create_vnic_details_display_name}
                    freeformTags:
                      Department: Finance
                    hostnameLabel: ${var.instance_configuration_instance_details_options_launch_details_create_vnic_details_hostname_label}
                    ipv6addressIpv6subnetCidrPairDetails:
                      - ipv6address: ${var.instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address}
                        ipv6subnetCidr: ${var.instance_configuration_instance_details_launch_details_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr}
                    nsgIds: ${var.instance_configuration_instance_details_options_launch_details_create_vnic_details_nsg_ids}
                    privateIp: ${var.instance_configuration_instance_details_options_launch_details_create_vnic_details_private_ip}
                    skipSourceDestCheck: ${var.instance_configuration_instance_details_options_launch_details_create_vnic_details_skip_source_dest_check}
                    subnetId: ${oci_core_subnet.test_subnet.id}
                  dedicatedVmHostId: ${oci_core_dedicated_vm_host.test_dedicated_vm_host.id}
                  definedTags:
                    Operations.CostCenter: '42'
                  displayName: ${var.instance_configuration_instance_details_options_launch_details_display_name}
                  extendedMetadata: ${var.instance_configuration_instance_details_options_launch_details_extended_metadata}
                  faultDomain: ${var.instance_configuration_instance_details_options_launch_details_fault_domain}
                  freeformTags:
                    Department: Finance
                  instanceOptions:
                    areLegacyImdsEndpointsDisabled: ${var.instance_configuration_instance_details_options_launch_details_instance_options_are_legacy_imds_endpoints_disabled}
                  ipxeScript: ${var.instance_configuration_instance_details_options_launch_details_ipxe_script}
                  isPvEncryptionInTransitEnabled: ${var.instance_configuration_instance_details_options_launch_details_is_pv_encryption_in_transit_enabled}
                  launchMode: ${var.instance_configuration_instance_details_options_launch_details_launch_mode}
                  launchOptions:
                    bootVolumeType: ${var.instance_configuration_instance_details_options_launch_details_launch_options_boot_volume_type}
                    firmware: ${var.instance_configuration_instance_details_options_launch_details_launch_options_firmware}
                    isConsistentVolumeNamingEnabled: ${var.instance_configuration_instance_details_options_launch_details_launch_options_is_consistent_volume_naming_enabled}
                    isPvEncryptionInTransitEnabled: ${var.instance_configuration_instance_details_options_launch_details_launch_options_is_pv_encryption_in_transit_enabled}
                    networkType: ${var.instance_configuration_instance_details_options_launch_details_launch_options_network_type}
                    remoteDataVolumeType: ${var.instance_configuration_instance_details_options_launch_details_launch_options_remote_data_volume_type}
                  metadata: ${var.instance_configuration_instance_details_options_launch_details_metadata}
                  platformConfig:
                    type: ${var.instance_configuration_instance_details_options_launch_details_platform_config_type}
                    areVirtualInstructionsEnabled: ${var.instance_configuration_instance_details_options_launch_details_platform_config_are_virtual_instructions_enabled}
                    isAccessControlServiceEnabled: ${var.instance_configuration_instance_details_options_launch_details_platform_config_is_access_control_service_enabled}
                    isInputOutputMemoryManagementUnitEnabled: ${var.instance_configuration_instance_details_options_launch_details_platform_config_is_input_output_memory_management_unit_enabled}
                    isMeasuredBootEnabled: ${var.instance_configuration_instance_details_options_launch_details_platform_config_is_measured_boot_enabled}
                    isMemoryEncryptionEnabled: ${var.instance_configuration_instance_details_options_launch_details_platform_config_is_memory_encryption_enabled}
                    isSecureBootEnabled: ${var.instance_configuration_instance_details_options_launch_details_platform_config_is_secure_boot_enabled}
                    isSymmetricMultiThreadingEnabled: ${var.instance_configuration_instance_details_options_launch_details_platform_config_is_symmetric_multi_threading_enabled}
                    isTrustedPlatformModuleEnabled: ${var.instance_configuration_instance_details_options_launch_details_platform_config_is_trusted_platform_module_enabled}
                    numaNodesPerSocket: ${var.instance_configuration_instance_details_options_launch_details_platform_config_numa_nodes_per_socket}
                    percentageOfCoresEnabled: ${var.instance_configuration_instance_details_options_launch_details_platform_config_percentage_of_cores_enabled}
                  preemptibleInstanceConfig:
                    preemptionAction:
                      type: ${var.instance_configuration_instance_details_options_launch_details_preemptible_instance_config_preemption_action_type}
                      preserveBootVolume: ${var.instance_configuration_instance_details_options_launch_details_preemptible_instance_config_preemption_action_preserve_boot_volume}
                  preferredMaintenanceAction: ${var.instance_configuration_instance_details_options_launch_details_preferred_maintenance_action}
                  shape: ${var.instance_configuration_instance_details_options_launch_details_shape}
                  shapeConfig:
                    baselineOcpuUtilization: ${var.instance_configuration_instance_details_options_launch_details_shape_config_baseline_ocpu_utilization}
                    memoryInGbs: ${var.instance_configuration_instance_details_options_launch_details_shape_config_memory_in_gbs}
                    nvmes: ${var.instance_configuration_instance_details_options_launch_details_shape_config_nvmes}
                    ocpus: ${var.instance_configuration_instance_details_options_launch_details_shape_config_ocpus}
                    vcpus: ${var.instance_configuration_instance_details_options_launch_details_shape_config_vcpus}
                  sourceDetails:
                    sourceType: ${var.instance_configuration_instance_details_options_launch_details_source_details_source_type}
                    bootVolumeId: ${oci_core_boot_volume.test_boot_volume.id}
                    bootVolumeSizeInGbs: ${var.instance_configuration_instance_details_options_launch_details_source_details_boot_volume_size_in_gbs}
                    bootVolumeVpusPerGb: ${var.instance_configuration_instance_details_options_launch_details_source_details_boot_volume_vpus_per_gb}
                    imageId: ${oci_core_image.test_image.id}
                    instanceSourceImageFilterDetails:
                      compartmentId: ${var.compartment_id}
                      definedTagsFilter: ${var.instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_defined_tags_filter}
                      operatingSystem: ${var.instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_operating_system}
                      operatingSystemVersion: ${var.instance_configuration_instance_details_options_launch_details_source_details_instance_source_image_filter_details_operating_system_version}
                secondaryVnics:
                  - createVnicDetails:
                      assignIpv6ip: ${var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_ipv6ip}
                      assignPrivateDnsRecord: ${var.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_assign_private_dns_record}
                      assignPublicIp: ${var.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_assign_public_ip}
                      definedTags:
                        Operations.CostCenter: '42'
                      displayName: ${var.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_display_name}
                      freeformTags:
                        Department: Finance
                      hostnameLabel: ${var.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_hostname_label}
                      ipv6addressIpv6subnetCidrPairDetails:
                        - ipv6address: ${var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6address}
                          ipv6subnetCidr: ${var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_ipv6address_ipv6subnet_cidr_pair_details_ipv6subnet_cidr}
                      nsgIds: ${var.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_nsg_ids}
                      privateIp: ${var.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_private_ip}
                      skipSourceDestCheck: ${var.instance_configuration_instance_details_options_secondary_vnics_create_vnic_details_skip_source_dest_check}
                      subnetId: ${oci_core_subnet.test_subnet.id}
                    displayName: ${var.instance_configuration_instance_details_options_secondary_vnics_display_name}
                    nicIndex: ${var.instance_configuration_instance_details_options_secondary_vnics_nic_index}
            secondaryVnics:
              - createVnicDetails:
                  assignPrivateDnsRecord: ${var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_private_dns_record}
                  assignPublicIp: ${var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_assign_public_ip}
                  definedTags:
                    Operations.CostCenter: '42'
                  displayName: ${var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_display_name}
                  freeformTags:
                    Department: Finance
                  hostnameLabel: ${var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_hostname_label}
                  nsgIds: ${var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_nsg_ids}
                  privateIp: ${var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_private_ip}
                  skipSourceDestCheck: ${var.instance_configuration_instance_details_secondary_vnics_create_vnic_details_skip_source_dest_check}
                  subnetId: ${oci_core_subnet.test_subnet.id}
                displayName: ${var.instance_configuration_instance_details_secondary_vnics_display_name}
                nicIndex: ${var.instance_configuration_instance_details_secondary_vnics_nic_index}
          instanceId: ${oci_core_instance.test_instance.id}
          source: ${var.instance_configuration_source}
    

    Create InstanceConfiguration Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new InstanceConfiguration(name: string, args: InstanceConfigurationArgs, opts?: CustomResourceOptions);
    @overload
    def InstanceConfiguration(resource_name: str,
                              args: InstanceConfigurationArgs,
                              opts: Optional[ResourceOptions] = None)
    
    @overload
    def InstanceConfiguration(resource_name: str,
                              opts: Optional[ResourceOptions] = None,
                              compartment_id: Optional[str] = None,
                              defined_tags: Optional[Mapping[str, Any]] = None,
                              display_name: Optional[str] = None,
                              freeform_tags: Optional[Mapping[str, Any]] = None,
                              instance_details: Optional[_core.InstanceConfigurationInstanceDetailsArgs] = None,
                              instance_id: Optional[str] = None,
                              source: Optional[str] = None)
    func NewInstanceConfiguration(ctx *Context, name string, args InstanceConfigurationArgs, opts ...ResourceOption) (*InstanceConfiguration, error)
    public InstanceConfiguration(string name, InstanceConfigurationArgs args, CustomResourceOptions? opts = null)
    public InstanceConfiguration(String name, InstanceConfigurationArgs args)
    public InstanceConfiguration(String name, InstanceConfigurationArgs args, CustomResourceOptions options)
    
    type: oci:Core:InstanceConfiguration
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args InstanceConfigurationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args InstanceConfigurationArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args InstanceConfigurationArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args InstanceConfigurationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args InstanceConfigurationArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var instanceConfigurationResource = new Oci.Core.InstanceConfiguration("instanceConfigurationResource", new()
    {
        CompartmentId = "string",
        DefinedTags = 
        {
            { "string", "any" },
        },
        DisplayName = "string",
        FreeformTags = 
        {
            { "string", "any" },
        },
        InstanceDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsArgs
        {
            InstanceType = "string",
            BlockVolumes = new[]
            {
                new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsBlockVolumeArgs
                {
                    AttachDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsBlockVolumeAttachDetailsArgs
                    {
                        Type = "string",
                        Device = "string",
                        DisplayName = "string",
                        IsPvEncryptionInTransitEnabled = false,
                        IsReadOnly = false,
                        IsShareable = false,
                        UseChap = false,
                    },
                    CreateDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsArgs
                    {
                        AutotunePolicies = new[]
                        {
                            new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicyArgs
                            {
                                AutotuneType = "string",
                                MaxVpusPerGb = "string",
                            },
                        },
                        AvailabilityDomain = "string",
                        BackupPolicyId = "string",
                        BlockVolumeReplicas = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsBlockVolumeReplicasArgs
                        {
                            AvailabilityDomain = "string",
                            DisplayName = "string",
                        },
                        CompartmentId = "string",
                        DefinedTags = 
                        {
                            { "string", "any" },
                        },
                        DisplayName = "string",
                        FreeformTags = 
                        {
                            { "string", "any" },
                        },
                        IsAutoTuneEnabled = false,
                        KmsKeyId = "string",
                        SizeInGbs = "string",
                        SourceDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsSourceDetailsArgs
                        {
                            Type = "string",
                            Id = "string",
                        },
                        VpusPerGb = "string",
                    },
                    VolumeId = "string",
                },
            },
            LaunchDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsArgs
            {
                AgentConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigArgs
                {
                    AreAllPluginsDisabled = false,
                    IsManagementDisabled = false,
                    IsMonitoringDisabled = false,
                    PluginsConfigs = new[]
                    {
                        new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfigArgs
                        {
                            DesiredState = "string",
                            Name = "string",
                        },
                    },
                },
                AvailabilityConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfigArgs
                {
                    IsLiveMigrationPreferred = false,
                    RecoveryAction = "string",
                },
                AvailabilityDomain = "string",
                CapacityReservationId = "string",
                CompartmentId = "string",
                CreateVnicDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsArgs
                {
                    AssignIpv6ip = false,
                    AssignPrivateDnsRecord = false,
                    AssignPublicIp = false,
                    DefinedTags = 
                    {
                        { "string", "any" },
                    },
                    DisplayName = "string",
                    FreeformTags = 
                    {
                        { "string", "any" },
                    },
                    HostnameLabel = "string",
                    Ipv6addressIpv6subnetCidrPairDetails = new[]
                    {
                        new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs
                        {
                            Ipv6address = "string",
                            Ipv6subnetCidr = "string",
                        },
                    },
                    NsgIds = new[]
                    {
                        "string",
                    },
                    PrivateIp = "string",
                    SkipSourceDestCheck = false,
                    SubnetId = "string",
                },
                DedicatedVmHostId = "string",
                DefinedTags = 
                {
                    { "string", "any" },
                },
                DisplayName = "string",
                ExtendedMetadata = 
                {
                    { "string", "any" },
                },
                FaultDomain = "string",
                FreeformTags = 
                {
                    { "string", "any" },
                },
                InstanceOptions = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptionsArgs
                {
                    AreLegacyImdsEndpointsDisabled = false,
                },
                IpxeScript = "string",
                IsPvEncryptionInTransitEnabled = false,
                LaunchMode = "string",
                LaunchOptions = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptionsArgs
                {
                    BootVolumeType = "string",
                    Firmware = "string",
                    IsConsistentVolumeNamingEnabled = false,
                    IsPvEncryptionInTransitEnabled = false,
                    NetworkType = "string",
                    RemoteDataVolumeType = "string",
                },
                Metadata = 
                {
                    { "string", "any" },
                },
                PlatformConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfigArgs
                {
                    Type = "string",
                    AreVirtualInstructionsEnabled = false,
                    ConfigMap = 
                    {
                        { "string", "any" },
                    },
                    IsAccessControlServiceEnabled = false,
                    IsInputOutputMemoryManagementUnitEnabled = false,
                    IsMeasuredBootEnabled = false,
                    IsMemoryEncryptionEnabled = false,
                    IsSecureBootEnabled = false,
                    IsSymmetricMultiThreadingEnabled = false,
                    IsTrustedPlatformModuleEnabled = false,
                    NumaNodesPerSocket = "string",
                    PercentageOfCoresEnabled = 0,
                },
                PreemptibleInstanceConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigArgs
                {
                    PreemptionAction = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs
                    {
                        Type = "string",
                        PreserveBootVolume = false,
                    },
                },
                PreferredMaintenanceAction = "string",
                Shape = "string",
                ShapeConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfigArgs
                {
                    BaselineOcpuUtilization = "string",
                    MemoryInGbs = 0,
                    Nvmes = 0,
                    Ocpus = 0,
                    Vcpus = 0,
                },
                SourceDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsArgs
                {
                    SourceType = "string",
                    BootVolumeId = "string",
                    BootVolumeSizeInGbs = "string",
                    BootVolumeVpusPerGb = "string",
                    ImageId = "string",
                    InstanceSourceImageFilterDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs
                    {
                        CompartmentId = "string",
                        DefinedTagsFilter = 
                        {
                            { "string", "any" },
                        },
                        OperatingSystem = "string",
                        OperatingSystemVersion = "string",
                    },
                    KmsKeyId = "string",
                },
            },
            Options = new[]
            {
                new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionArgs
                {
                    BlockVolumes = new[]
                    {
                        new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionBlockVolumeArgs
                        {
                            AttachDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionBlockVolumeAttachDetailsArgs
                            {
                                Type = "string",
                                Device = "string",
                                DisplayName = "string",
                                IsPvEncryptionInTransitEnabled = false,
                                IsReadOnly = false,
                                IsShareable = false,
                                UseChap = false,
                            },
                            CreateDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsArgs
                            {
                                AutotunePolicies = new[]
                                {
                                    new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicyArgs
                                    {
                                        AutotuneType = "string",
                                        MaxVpusPerGb = "string",
                                    },
                                },
                                AvailabilityDomain = "string",
                                BackupPolicyId = "string",
                                BlockVolumeReplicas = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsBlockVolumeReplicasArgs
                                {
                                    AvailabilityDomain = "string",
                                    DisplayName = "string",
                                },
                                CompartmentId = "string",
                                DefinedTags = 
                                {
                                    { "string", "any" },
                                },
                                DisplayName = "string",
                                FreeformTags = 
                                {
                                    { "string", "any" },
                                },
                                IsAutoTuneEnabled = false,
                                KmsKeyId = "string",
                                SizeInGbs = "string",
                                SourceDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsSourceDetailsArgs
                                {
                                    Type = "string",
                                    Id = "string",
                                },
                                VpusPerGb = "string",
                            },
                            VolumeId = "string",
                        },
                    },
                    LaunchDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsArgs
                    {
                        AgentConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigArgs
                        {
                            AreAllPluginsDisabled = false,
                            IsManagementDisabled = false,
                            IsMonitoringDisabled = false,
                            PluginsConfigs = new[]
                            {
                                new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfigArgs
                                {
                                    DesiredState = "string",
                                    Name = "string",
                                },
                            },
                        },
                        AvailabilityConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAvailabilityConfigArgs
                        {
                            IsLiveMigrationPreferred = false,
                            RecoveryAction = "string",
                        },
                        AvailabilityDomain = "string",
                        CapacityReservationId = "string",
                        CompartmentId = "string",
                        CreateVnicDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsArgs
                        {
                            AssignIpv6ip = false,
                            AssignPrivateDnsRecord = false,
                            AssignPublicIp = false,
                            DefinedTags = 
                            {
                                { "string", "any" },
                            },
                            DisplayName = "string",
                            FreeformTags = 
                            {
                                { "string", "any" },
                            },
                            HostnameLabel = "string",
                            Ipv6addressIpv6subnetCidrPairDetails = new[]
                            {
                                new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs
                                {
                                    Ipv6address = "string",
                                    Ipv6subnetCidr = "string",
                                },
                            },
                            NsgIds = new[]
                            {
                                "string",
                            },
                            PrivateIp = "string",
                            SkipSourceDestCheck = false,
                            SubnetId = "string",
                        },
                        DedicatedVmHostId = "string",
                        DefinedTags = 
                        {
                            { "string", "any" },
                        },
                        DisplayName = "string",
                        ExtendedMetadata = 
                        {
                            { "string", "any" },
                        },
                        FaultDomain = "string",
                        FreeformTags = 
                        {
                            { "string", "any" },
                        },
                        InstanceOptions = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsInstanceOptionsArgs
                        {
                            AreLegacyImdsEndpointsDisabled = false,
                        },
                        IpxeScript = "string",
                        IsPvEncryptionInTransitEnabled = false,
                        LaunchMode = "string",
                        LaunchOptions = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsLaunchOptionsArgs
                        {
                            BootVolumeType = "string",
                            Firmware = "string",
                            IsConsistentVolumeNamingEnabled = false,
                            IsPvEncryptionInTransitEnabled = false,
                            NetworkType = "string",
                            RemoteDataVolumeType = "string",
                        },
                        Metadata = 
                        {
                            { "string", "any" },
                        },
                        PlatformConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPlatformConfigArgs
                        {
                            Type = "string",
                            AreVirtualInstructionsEnabled = false,
                            IsAccessControlServiceEnabled = false,
                            IsInputOutputMemoryManagementUnitEnabled = false,
                            IsMeasuredBootEnabled = false,
                            IsMemoryEncryptionEnabled = false,
                            IsSecureBootEnabled = false,
                            IsSymmetricMultiThreadingEnabled = false,
                            IsTrustedPlatformModuleEnabled = false,
                            NumaNodesPerSocket = "string",
                            PercentageOfCoresEnabled = 0,
                        },
                        PreemptibleInstanceConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigArgs
                        {
                            PreemptionAction = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs
                            {
                                Type = "string",
                                PreserveBootVolume = false,
                            },
                        },
                        PreferredMaintenanceAction = "string",
                        Shape = "string",
                        ShapeConfig = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsShapeConfigArgs
                        {
                            BaselineOcpuUtilization = "string",
                            MemoryInGbs = 0,
                            Nvmes = 0,
                            Ocpus = 0,
                            Vcpus = 0,
                        },
                        SourceDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsArgs
                        {
                            SourceType = "string",
                            BootVolumeId = "string",
                            BootVolumeSizeInGbs = "string",
                            BootVolumeVpusPerGb = "string",
                            ImageId = "string",
                            InstanceSourceImageFilterDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs
                            {
                                CompartmentId = "string",
                                DefinedTagsFilter = 
                                {
                                    { "string", "any" },
                                },
                                OperatingSystem = "string",
                                OperatingSystemVersion = "string",
                            },
                            KmsKeyId = "string",
                        },
                    },
                    SecondaryVnics = new[]
                    {
                        new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionSecondaryVnicArgs
                        {
                            CreateVnicDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsArgs
                            {
                                AssignIpv6ip = false,
                                AssignPrivateDnsRecord = false,
                                AssignPublicIp = false,
                                DefinedTags = 
                                {
                                    { "string", "any" },
                                },
                                DisplayName = "string",
                                FreeformTags = 
                                {
                                    { "string", "any" },
                                },
                                HostnameLabel = "string",
                                Ipv6addressIpv6subnetCidrPairDetails = new[]
                                {
                                    new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs
                                    {
                                        Ipv6address = "string",
                                        Ipv6subnetCidr = "string",
                                    },
                                },
                                NsgIds = new[]
                                {
                                    "string",
                                },
                                PrivateIp = "string",
                                SkipSourceDestCheck = false,
                                SubnetId = "string",
                            },
                            DisplayName = "string",
                            NicIndex = 0,
                        },
                    },
                },
            },
            SecondaryVnics = new[]
            {
                new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsSecondaryVnicArgs
                {
                    CreateVnicDetails = new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsArgs
                    {
                        AssignIpv6ip = false,
                        AssignPrivateDnsRecord = false,
                        AssignPublicIp = false,
                        DefinedTags = 
                        {
                            { "string", "any" },
                        },
                        DisplayName = "string",
                        FreeformTags = 
                        {
                            { "string", "any" },
                        },
                        HostnameLabel = "string",
                        Ipv6addressIpv6subnetCidrPairDetails = new[]
                        {
                            new Oci.Core.Inputs.InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs
                            {
                                Ipv6address = "string",
                                Ipv6subnetCidr = "string",
                            },
                        },
                        NsgIds = new[]
                        {
                            "string",
                        },
                        PrivateIp = "string",
                        SkipSourceDestCheck = false,
                        SubnetId = "string",
                    },
                    DisplayName = "string",
                    NicIndex = 0,
                },
            },
        },
        InstanceId = "string",
        Source = "string",
    });
    
    example, err := Core.NewInstanceConfiguration(ctx, "instanceConfigurationResource", &Core.InstanceConfigurationArgs{
    	CompartmentId: pulumi.String("string"),
    	DefinedTags: pulumi.Map{
    		"string": pulumi.Any("any"),
    	},
    	DisplayName: pulumi.String("string"),
    	FreeformTags: pulumi.Map{
    		"string": pulumi.Any("any"),
    	},
    	InstanceDetails: &core.InstanceConfigurationInstanceDetailsArgs{
    		InstanceType: pulumi.String("string"),
    		BlockVolumes: core.InstanceConfigurationInstanceDetailsBlockVolumeArray{
    			&core.InstanceConfigurationInstanceDetailsBlockVolumeArgs{
    				AttachDetails: &core.InstanceConfigurationInstanceDetailsBlockVolumeAttachDetailsArgs{
    					Type:                           pulumi.String("string"),
    					Device:                         pulumi.String("string"),
    					DisplayName:                    pulumi.String("string"),
    					IsPvEncryptionInTransitEnabled: pulumi.Bool(false),
    					IsReadOnly:                     pulumi.Bool(false),
    					IsShareable:                    pulumi.Bool(false),
    					UseChap:                        pulumi.Bool(false),
    				},
    				CreateDetails: &core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsArgs{
    					AutotunePolicies: core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicyArray{
    						&core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicyArgs{
    							AutotuneType: pulumi.String("string"),
    							MaxVpusPerGb: pulumi.String("string"),
    						},
    					},
    					AvailabilityDomain: pulumi.String("string"),
    					BackupPolicyId:     pulumi.String("string"),
    					BlockVolumeReplicas: &core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsBlockVolumeReplicasArgs{
    						AvailabilityDomain: pulumi.String("string"),
    						DisplayName:        pulumi.String("string"),
    					},
    					CompartmentId: pulumi.String("string"),
    					DefinedTags: pulumi.Map{
    						"string": pulumi.Any("any"),
    					},
    					DisplayName: pulumi.String("string"),
    					FreeformTags: pulumi.Map{
    						"string": pulumi.Any("any"),
    					},
    					IsAutoTuneEnabled: pulumi.Bool(false),
    					KmsKeyId:          pulumi.String("string"),
    					SizeInGbs:         pulumi.String("string"),
    					SourceDetails: &core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsSourceDetailsArgs{
    						Type: pulumi.String("string"),
    						Id:   pulumi.String("string"),
    					},
    					VpusPerGb: pulumi.String("string"),
    				},
    				VolumeId: pulumi.String("string"),
    			},
    		},
    		LaunchDetails: &core.InstanceConfigurationInstanceDetailsLaunchDetailsArgs{
    			AgentConfig: &core.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigArgs{
    				AreAllPluginsDisabled: pulumi.Bool(false),
    				IsManagementDisabled:  pulumi.Bool(false),
    				IsMonitoringDisabled:  pulumi.Bool(false),
    				PluginsConfigs: core.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfigArray{
    					&core.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfigArgs{
    						DesiredState: pulumi.String("string"),
    						Name:         pulumi.String("string"),
    					},
    				},
    			},
    			AvailabilityConfig: &core.InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfigArgs{
    				IsLiveMigrationPreferred: pulumi.Bool(false),
    				RecoveryAction:           pulumi.String("string"),
    			},
    			AvailabilityDomain:    pulumi.String("string"),
    			CapacityReservationId: pulumi.String("string"),
    			CompartmentId:         pulumi.String("string"),
    			CreateVnicDetails: &core.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsArgs{
    				AssignIpv6ip:           pulumi.Bool(false),
    				AssignPrivateDnsRecord: pulumi.Bool(false),
    				AssignPublicIp:         pulumi.Bool(false),
    				DefinedTags: pulumi.Map{
    					"string": pulumi.Any("any"),
    				},
    				DisplayName: pulumi.String("string"),
    				FreeformTags: pulumi.Map{
    					"string": pulumi.Any("any"),
    				},
    				HostnameLabel: pulumi.String("string"),
    				Ipv6addressIpv6subnetCidrPairDetails: core.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArray{
    					&core.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs{
    						Ipv6address:    pulumi.String("string"),
    						Ipv6subnetCidr: pulumi.String("string"),
    					},
    				},
    				NsgIds: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				PrivateIp:           pulumi.String("string"),
    				SkipSourceDestCheck: pulumi.Bool(false),
    				SubnetId:            pulumi.String("string"),
    			},
    			DedicatedVmHostId: pulumi.String("string"),
    			DefinedTags: pulumi.Map{
    				"string": pulumi.Any("any"),
    			},
    			DisplayName: pulumi.String("string"),
    			ExtendedMetadata: pulumi.Map{
    				"string": pulumi.Any("any"),
    			},
    			FaultDomain: pulumi.String("string"),
    			FreeformTags: pulumi.Map{
    				"string": pulumi.Any("any"),
    			},
    			InstanceOptions: &core.InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptionsArgs{
    				AreLegacyImdsEndpointsDisabled: pulumi.Bool(false),
    			},
    			IpxeScript:                     pulumi.String("string"),
    			IsPvEncryptionInTransitEnabled: pulumi.Bool(false),
    			LaunchMode:                     pulumi.String("string"),
    			LaunchOptions: &core.InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptionsArgs{
    				BootVolumeType:                  pulumi.String("string"),
    				Firmware:                        pulumi.String("string"),
    				IsConsistentVolumeNamingEnabled: pulumi.Bool(false),
    				IsPvEncryptionInTransitEnabled:  pulumi.Bool(false),
    				NetworkType:                     pulumi.String("string"),
    				RemoteDataVolumeType:            pulumi.String("string"),
    			},
    			Metadata: pulumi.Map{
    				"string": pulumi.Any("any"),
    			},
    			PlatformConfig: &core.InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfigArgs{
    				Type:                          pulumi.String("string"),
    				AreVirtualInstructionsEnabled: pulumi.Bool(false),
    				ConfigMap: pulumi.Map{
    					"string": pulumi.Any("any"),
    				},
    				IsAccessControlServiceEnabled:            pulumi.Bool(false),
    				IsInputOutputMemoryManagementUnitEnabled: pulumi.Bool(false),
    				IsMeasuredBootEnabled:                    pulumi.Bool(false),
    				IsMemoryEncryptionEnabled:                pulumi.Bool(false),
    				IsSecureBootEnabled:                      pulumi.Bool(false),
    				IsSymmetricMultiThreadingEnabled:         pulumi.Bool(false),
    				IsTrustedPlatformModuleEnabled:           pulumi.Bool(false),
    				NumaNodesPerSocket:                       pulumi.String("string"),
    				PercentageOfCoresEnabled:                 pulumi.Int(0),
    			},
    			PreemptibleInstanceConfig: &core.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigArgs{
    				PreemptionAction: &core.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs{
    					Type:               pulumi.String("string"),
    					PreserveBootVolume: pulumi.Bool(false),
    				},
    			},
    			PreferredMaintenanceAction: pulumi.String("string"),
    			Shape:                      pulumi.String("string"),
    			ShapeConfig: &core.InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfigArgs{
    				BaselineOcpuUtilization: pulumi.String("string"),
    				MemoryInGbs:             pulumi.Float64(0),
    				Nvmes:                   pulumi.Int(0),
    				Ocpus:                   pulumi.Float64(0),
    				Vcpus:                   pulumi.Int(0),
    			},
    			SourceDetails: &core.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsArgs{
    				SourceType:          pulumi.String("string"),
    				BootVolumeId:        pulumi.String("string"),
    				BootVolumeSizeInGbs: pulumi.String("string"),
    				BootVolumeVpusPerGb: pulumi.String("string"),
    				ImageId:             pulumi.String("string"),
    				InstanceSourceImageFilterDetails: &core.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs{
    					CompartmentId: pulumi.String("string"),
    					DefinedTagsFilter: pulumi.Map{
    						"string": pulumi.Any("any"),
    					},
    					OperatingSystem:        pulumi.String("string"),
    					OperatingSystemVersion: pulumi.String("string"),
    				},
    				KmsKeyId: pulumi.String("string"),
    			},
    		},
    		Options: core.InstanceConfigurationInstanceDetailsOptionArray{
    			&core.InstanceConfigurationInstanceDetailsOptionArgs{
    				BlockVolumes: core.InstanceConfigurationInstanceDetailsOptionBlockVolumeArray{
    					&core.InstanceConfigurationInstanceDetailsOptionBlockVolumeArgs{
    						AttachDetails: &core.InstanceConfigurationInstanceDetailsOptionBlockVolumeAttachDetailsArgs{
    							Type:                           pulumi.String("string"),
    							Device:                         pulumi.String("string"),
    							DisplayName:                    pulumi.String("string"),
    							IsPvEncryptionInTransitEnabled: pulumi.Bool(false),
    							IsReadOnly:                     pulumi.Bool(false),
    							IsShareable:                    pulumi.Bool(false),
    							UseChap:                        pulumi.Bool(false),
    						},
    						CreateDetails: &core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsArgs{
    							AutotunePolicies: core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicyArray{
    								&core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicyArgs{
    									AutotuneType: pulumi.String("string"),
    									MaxVpusPerGb: pulumi.String("string"),
    								},
    							},
    							AvailabilityDomain: pulumi.String("string"),
    							BackupPolicyId:     pulumi.String("string"),
    							BlockVolumeReplicas: &core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsBlockVolumeReplicasArgs{
    								AvailabilityDomain: pulumi.String("string"),
    								DisplayName:        pulumi.String("string"),
    							},
    							CompartmentId: pulumi.String("string"),
    							DefinedTags: pulumi.Map{
    								"string": pulumi.Any("any"),
    							},
    							DisplayName: pulumi.String("string"),
    							FreeformTags: pulumi.Map{
    								"string": pulumi.Any("any"),
    							},
    							IsAutoTuneEnabled: pulumi.Bool(false),
    							KmsKeyId:          pulumi.String("string"),
    							SizeInGbs:         pulumi.String("string"),
    							SourceDetails: &core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsSourceDetailsArgs{
    								Type: pulumi.String("string"),
    								Id:   pulumi.String("string"),
    							},
    							VpusPerGb: pulumi.String("string"),
    						},
    						VolumeId: pulumi.String("string"),
    					},
    				},
    				LaunchDetails: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsArgs{
    					AgentConfig: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigArgs{
    						AreAllPluginsDisabled: pulumi.Bool(false),
    						IsManagementDisabled:  pulumi.Bool(false),
    						IsMonitoringDisabled:  pulumi.Bool(false),
    						PluginsConfigs: core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfigArray{
    							&core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfigArgs{
    								DesiredState: pulumi.String("string"),
    								Name:         pulumi.String("string"),
    							},
    						},
    					},
    					AvailabilityConfig: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAvailabilityConfigArgs{
    						IsLiveMigrationPreferred: pulumi.Bool(false),
    						RecoveryAction:           pulumi.String("string"),
    					},
    					AvailabilityDomain:    pulumi.String("string"),
    					CapacityReservationId: pulumi.String("string"),
    					CompartmentId:         pulumi.String("string"),
    					CreateVnicDetails: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsArgs{
    						AssignIpv6ip:           pulumi.Bool(false),
    						AssignPrivateDnsRecord: pulumi.Bool(false),
    						AssignPublicIp:         pulumi.Bool(false),
    						DefinedTags: pulumi.Map{
    							"string": pulumi.Any("any"),
    						},
    						DisplayName: pulumi.String("string"),
    						FreeformTags: pulumi.Map{
    							"string": pulumi.Any("any"),
    						},
    						HostnameLabel: pulumi.String("string"),
    						Ipv6addressIpv6subnetCidrPairDetails: core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArray{
    							&core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs{
    								Ipv6address:    pulumi.String("string"),
    								Ipv6subnetCidr: pulumi.String("string"),
    							},
    						},
    						NsgIds: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						PrivateIp:           pulumi.String("string"),
    						SkipSourceDestCheck: pulumi.Bool(false),
    						SubnetId:            pulumi.String("string"),
    					},
    					DedicatedVmHostId: pulumi.String("string"),
    					DefinedTags: pulumi.Map{
    						"string": pulumi.Any("any"),
    					},
    					DisplayName: pulumi.String("string"),
    					ExtendedMetadata: pulumi.Map{
    						"string": pulumi.Any("any"),
    					},
    					FaultDomain: pulumi.String("string"),
    					FreeformTags: pulumi.Map{
    						"string": pulumi.Any("any"),
    					},
    					InstanceOptions: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsInstanceOptionsArgs{
    						AreLegacyImdsEndpointsDisabled: pulumi.Bool(false),
    					},
    					IpxeScript:                     pulumi.String("string"),
    					IsPvEncryptionInTransitEnabled: pulumi.Bool(false),
    					LaunchMode:                     pulumi.String("string"),
    					LaunchOptions: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsLaunchOptionsArgs{
    						BootVolumeType:                  pulumi.String("string"),
    						Firmware:                        pulumi.String("string"),
    						IsConsistentVolumeNamingEnabled: pulumi.Bool(false),
    						IsPvEncryptionInTransitEnabled:  pulumi.Bool(false),
    						NetworkType:                     pulumi.String("string"),
    						RemoteDataVolumeType:            pulumi.String("string"),
    					},
    					Metadata: pulumi.Map{
    						"string": pulumi.Any("any"),
    					},
    					PlatformConfig: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPlatformConfigArgs{
    						Type:                                     pulumi.String("string"),
    						AreVirtualInstructionsEnabled:            pulumi.Bool(false),
    						IsAccessControlServiceEnabled:            pulumi.Bool(false),
    						IsInputOutputMemoryManagementUnitEnabled: pulumi.Bool(false),
    						IsMeasuredBootEnabled:                    pulumi.Bool(false),
    						IsMemoryEncryptionEnabled:                pulumi.Bool(false),
    						IsSecureBootEnabled:                      pulumi.Bool(false),
    						IsSymmetricMultiThreadingEnabled:         pulumi.Bool(false),
    						IsTrustedPlatformModuleEnabled:           pulumi.Bool(false),
    						NumaNodesPerSocket:                       pulumi.String("string"),
    						PercentageOfCoresEnabled:                 pulumi.Int(0),
    					},
    					PreemptibleInstanceConfig: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigArgs{
    						PreemptionAction: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs{
    							Type:               pulumi.String("string"),
    							PreserveBootVolume: pulumi.Bool(false),
    						},
    					},
    					PreferredMaintenanceAction: pulumi.String("string"),
    					Shape:                      pulumi.String("string"),
    					ShapeConfig: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsShapeConfigArgs{
    						BaselineOcpuUtilization: pulumi.String("string"),
    						MemoryInGbs:             pulumi.Float64(0),
    						Nvmes:                   pulumi.Int(0),
    						Ocpus:                   pulumi.Float64(0),
    						Vcpus:                   pulumi.Int(0),
    					},
    					SourceDetails: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsArgs{
    						SourceType:          pulumi.String("string"),
    						BootVolumeId:        pulumi.String("string"),
    						BootVolumeSizeInGbs: pulumi.String("string"),
    						BootVolumeVpusPerGb: pulumi.String("string"),
    						ImageId:             pulumi.String("string"),
    						InstanceSourceImageFilterDetails: &core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs{
    							CompartmentId: pulumi.String("string"),
    							DefinedTagsFilter: pulumi.Map{
    								"string": pulumi.Any("any"),
    							},
    							OperatingSystem:        pulumi.String("string"),
    							OperatingSystemVersion: pulumi.String("string"),
    						},
    						KmsKeyId: pulumi.String("string"),
    					},
    				},
    				SecondaryVnics: core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicArray{
    					&core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicArgs{
    						CreateVnicDetails: &core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsArgs{
    							AssignIpv6ip:           pulumi.Bool(false),
    							AssignPrivateDnsRecord: pulumi.Bool(false),
    							AssignPublicIp:         pulumi.Bool(false),
    							DefinedTags: pulumi.Map{
    								"string": pulumi.Any("any"),
    							},
    							DisplayName: pulumi.String("string"),
    							FreeformTags: pulumi.Map{
    								"string": pulumi.Any("any"),
    							},
    							HostnameLabel: pulumi.String("string"),
    							Ipv6addressIpv6subnetCidrPairDetails: core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArray{
    								&core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs{
    									Ipv6address:    pulumi.String("string"),
    									Ipv6subnetCidr: pulumi.String("string"),
    								},
    							},
    							NsgIds: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							PrivateIp:           pulumi.String("string"),
    							SkipSourceDestCheck: pulumi.Bool(false),
    							SubnetId:            pulumi.String("string"),
    						},
    						DisplayName: pulumi.String("string"),
    						NicIndex:    pulumi.Int(0),
    					},
    				},
    			},
    		},
    		SecondaryVnics: core.InstanceConfigurationInstanceDetailsSecondaryVnicArray{
    			&core.InstanceConfigurationInstanceDetailsSecondaryVnicArgs{
    				CreateVnicDetails: &core.InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsArgs{
    					AssignIpv6ip:           pulumi.Bool(false),
    					AssignPrivateDnsRecord: pulumi.Bool(false),
    					AssignPublicIp:         pulumi.Bool(false),
    					DefinedTags: pulumi.Map{
    						"string": pulumi.Any("any"),
    					},
    					DisplayName: pulumi.String("string"),
    					FreeformTags: pulumi.Map{
    						"string": pulumi.Any("any"),
    					},
    					HostnameLabel: pulumi.String("string"),
    					Ipv6addressIpv6subnetCidrPairDetails: core.InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArray{
    						&core.InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs{
    							Ipv6address:    pulumi.String("string"),
    							Ipv6subnetCidr: pulumi.String("string"),
    						},
    					},
    					NsgIds: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					PrivateIp:           pulumi.String("string"),
    					SkipSourceDestCheck: pulumi.Bool(false),
    					SubnetId:            pulumi.String("string"),
    				},
    				DisplayName: pulumi.String("string"),
    				NicIndex:    pulumi.Int(0),
    			},
    		},
    	},
    	InstanceId: pulumi.String("string"),
    	Source:     pulumi.String("string"),
    })
    
    var instanceConfigurationResource = new InstanceConfiguration("instanceConfigurationResource", InstanceConfigurationArgs.builder()        
        .compartmentId("string")
        .definedTags(Map.of("string", "any"))
        .displayName("string")
        .freeformTags(Map.of("string", "any"))
        .instanceDetails(InstanceConfigurationInstanceDetailsArgs.builder()
            .instanceType("string")
            .blockVolumes(InstanceConfigurationInstanceDetailsBlockVolumeArgs.builder()
                .attachDetails(InstanceConfigurationInstanceDetailsBlockVolumeAttachDetailsArgs.builder()
                    .type("string")
                    .device("string")
                    .displayName("string")
                    .isPvEncryptionInTransitEnabled(false)
                    .isReadOnly(false)
                    .isShareable(false)
                    .useChap(false)
                    .build())
                .createDetails(InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsArgs.builder()
                    .autotunePolicies(InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicyArgs.builder()
                        .autotuneType("string")
                        .maxVpusPerGb("string")
                        .build())
                    .availabilityDomain("string")
                    .backupPolicyId("string")
                    .blockVolumeReplicas(InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsBlockVolumeReplicasArgs.builder()
                        .availabilityDomain("string")
                        .displayName("string")
                        .build())
                    .compartmentId("string")
                    .definedTags(Map.of("string", "any"))
                    .displayName("string")
                    .freeformTags(Map.of("string", "any"))
                    .isAutoTuneEnabled(false)
                    .kmsKeyId("string")
                    .sizeInGbs("string")
                    .sourceDetails(InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsSourceDetailsArgs.builder()
                        .type("string")
                        .id("string")
                        .build())
                    .vpusPerGb("string")
                    .build())
                .volumeId("string")
                .build())
            .launchDetails(InstanceConfigurationInstanceDetailsLaunchDetailsArgs.builder()
                .agentConfig(InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigArgs.builder()
                    .areAllPluginsDisabled(false)
                    .isManagementDisabled(false)
                    .isMonitoringDisabled(false)
                    .pluginsConfigs(InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfigArgs.builder()
                        .desiredState("string")
                        .name("string")
                        .build())
                    .build())
                .availabilityConfig(InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfigArgs.builder()
                    .isLiveMigrationPreferred(false)
                    .recoveryAction("string")
                    .build())
                .availabilityDomain("string")
                .capacityReservationId("string")
                .compartmentId("string")
                .createVnicDetails(InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsArgs.builder()
                    .assignIpv6ip(false)
                    .assignPrivateDnsRecord(false)
                    .assignPublicIp(false)
                    .definedTags(Map.of("string", "any"))
                    .displayName("string")
                    .freeformTags(Map.of("string", "any"))
                    .hostnameLabel("string")
                    .ipv6addressIpv6subnetCidrPairDetails(InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs.builder()
                        .ipv6address("string")
                        .ipv6subnetCidr("string")
                        .build())
                    .nsgIds("string")
                    .privateIp("string")
                    .skipSourceDestCheck(false)
                    .subnetId("string")
                    .build())
                .dedicatedVmHostId("string")
                .definedTags(Map.of("string", "any"))
                .displayName("string")
                .extendedMetadata(Map.of("string", "any"))
                .faultDomain("string")
                .freeformTags(Map.of("string", "any"))
                .instanceOptions(InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptionsArgs.builder()
                    .areLegacyImdsEndpointsDisabled(false)
                    .build())
                .ipxeScript("string")
                .isPvEncryptionInTransitEnabled(false)
                .launchMode("string")
                .launchOptions(InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptionsArgs.builder()
                    .bootVolumeType("string")
                    .firmware("string")
                    .isConsistentVolumeNamingEnabled(false)
                    .isPvEncryptionInTransitEnabled(false)
                    .networkType("string")
                    .remoteDataVolumeType("string")
                    .build())
                .metadata(Map.of("string", "any"))
                .platformConfig(InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfigArgs.builder()
                    .type("string")
                    .areVirtualInstructionsEnabled(false)
                    .configMap(Map.of("string", "any"))
                    .isAccessControlServiceEnabled(false)
                    .isInputOutputMemoryManagementUnitEnabled(false)
                    .isMeasuredBootEnabled(false)
                    .isMemoryEncryptionEnabled(false)
                    .isSecureBootEnabled(false)
                    .isSymmetricMultiThreadingEnabled(false)
                    .isTrustedPlatformModuleEnabled(false)
                    .numaNodesPerSocket("string")
                    .percentageOfCoresEnabled(0)
                    .build())
                .preemptibleInstanceConfig(InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigArgs.builder()
                    .preemptionAction(InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs.builder()
                        .type("string")
                        .preserveBootVolume(false)
                        .build())
                    .build())
                .preferredMaintenanceAction("string")
                .shape("string")
                .shapeConfig(InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfigArgs.builder()
                    .baselineOcpuUtilization("string")
                    .memoryInGbs(0)
                    .nvmes(0)
                    .ocpus(0)
                    .vcpus(0)
                    .build())
                .sourceDetails(InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsArgs.builder()
                    .sourceType("string")
                    .bootVolumeId("string")
                    .bootVolumeSizeInGbs("string")
                    .bootVolumeVpusPerGb("string")
                    .imageId("string")
                    .instanceSourceImageFilterDetails(InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs.builder()
                        .compartmentId("string")
                        .definedTagsFilter(Map.of("string", "any"))
                        .operatingSystem("string")
                        .operatingSystemVersion("string")
                        .build())
                    .kmsKeyId("string")
                    .build())
                .build())
            .options(InstanceConfigurationInstanceDetailsOptionArgs.builder()
                .blockVolumes(InstanceConfigurationInstanceDetailsOptionBlockVolumeArgs.builder()
                    .attachDetails(InstanceConfigurationInstanceDetailsOptionBlockVolumeAttachDetailsArgs.builder()
                        .type("string")
                        .device("string")
                        .displayName("string")
                        .isPvEncryptionInTransitEnabled(false)
                        .isReadOnly(false)
                        .isShareable(false)
                        .useChap(false)
                        .build())
                    .createDetails(InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsArgs.builder()
                        .autotunePolicies(InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicyArgs.builder()
                            .autotuneType("string")
                            .maxVpusPerGb("string")
                            .build())
                        .availabilityDomain("string")
                        .backupPolicyId("string")
                        .blockVolumeReplicas(InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsBlockVolumeReplicasArgs.builder()
                            .availabilityDomain("string")
                            .displayName("string")
                            .build())
                        .compartmentId("string")
                        .definedTags(Map.of("string", "any"))
                        .displayName("string")
                        .freeformTags(Map.of("string", "any"))
                        .isAutoTuneEnabled(false)
                        .kmsKeyId("string")
                        .sizeInGbs("string")
                        .sourceDetails(InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsSourceDetailsArgs.builder()
                            .type("string")
                            .id("string")
                            .build())
                        .vpusPerGb("string")
                        .build())
                    .volumeId("string")
                    .build())
                .launchDetails(InstanceConfigurationInstanceDetailsOptionLaunchDetailsArgs.builder()
                    .agentConfig(InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigArgs.builder()
                        .areAllPluginsDisabled(false)
                        .isManagementDisabled(false)
                        .isMonitoringDisabled(false)
                        .pluginsConfigs(InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfigArgs.builder()
                            .desiredState("string")
                            .name("string")
                            .build())
                        .build())
                    .availabilityConfig(InstanceConfigurationInstanceDetailsOptionLaunchDetailsAvailabilityConfigArgs.builder()
                        .isLiveMigrationPreferred(false)
                        .recoveryAction("string")
                        .build())
                    .availabilityDomain("string")
                    .capacityReservationId("string")
                    .compartmentId("string")
                    .createVnicDetails(InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsArgs.builder()
                        .assignIpv6ip(false)
                        .assignPrivateDnsRecord(false)
                        .assignPublicIp(false)
                        .definedTags(Map.of("string", "any"))
                        .displayName("string")
                        .freeformTags(Map.of("string", "any"))
                        .hostnameLabel("string")
                        .ipv6addressIpv6subnetCidrPairDetails(InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs.builder()
                            .ipv6address("string")
                            .ipv6subnetCidr("string")
                            .build())
                        .nsgIds("string")
                        .privateIp("string")
                        .skipSourceDestCheck(false)
                        .subnetId("string")
                        .build())
                    .dedicatedVmHostId("string")
                    .definedTags(Map.of("string", "any"))
                    .displayName("string")
                    .extendedMetadata(Map.of("string", "any"))
                    .faultDomain("string")
                    .freeformTags(Map.of("string", "any"))
                    .instanceOptions(InstanceConfigurationInstanceDetailsOptionLaunchDetailsInstanceOptionsArgs.builder()
                        .areLegacyImdsEndpointsDisabled(false)
                        .build())
                    .ipxeScript("string")
                    .isPvEncryptionInTransitEnabled(false)
                    .launchMode("string")
                    .launchOptions(InstanceConfigurationInstanceDetailsOptionLaunchDetailsLaunchOptionsArgs.builder()
                        .bootVolumeType("string")
                        .firmware("string")
                        .isConsistentVolumeNamingEnabled(false)
                        .isPvEncryptionInTransitEnabled(false)
                        .networkType("string")
                        .remoteDataVolumeType("string")
                        .build())
                    .metadata(Map.of("string", "any"))
                    .platformConfig(InstanceConfigurationInstanceDetailsOptionLaunchDetailsPlatformConfigArgs.builder()
                        .type("string")
                        .areVirtualInstructionsEnabled(false)
                        .isAccessControlServiceEnabled(false)
                        .isInputOutputMemoryManagementUnitEnabled(false)
                        .isMeasuredBootEnabled(false)
                        .isMemoryEncryptionEnabled(false)
                        .isSecureBootEnabled(false)
                        .isSymmetricMultiThreadingEnabled(false)
                        .isTrustedPlatformModuleEnabled(false)
                        .numaNodesPerSocket("string")
                        .percentageOfCoresEnabled(0)
                        .build())
                    .preemptibleInstanceConfig(InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigArgs.builder()
                        .preemptionAction(InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs.builder()
                            .type("string")
                            .preserveBootVolume(false)
                            .build())
                        .build())
                    .preferredMaintenanceAction("string")
                    .shape("string")
                    .shapeConfig(InstanceConfigurationInstanceDetailsOptionLaunchDetailsShapeConfigArgs.builder()
                        .baselineOcpuUtilization("string")
                        .memoryInGbs(0)
                        .nvmes(0)
                        .ocpus(0)
                        .vcpus(0)
                        .build())
                    .sourceDetails(InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsArgs.builder()
                        .sourceType("string")
                        .bootVolumeId("string")
                        .bootVolumeSizeInGbs("string")
                        .bootVolumeVpusPerGb("string")
                        .imageId("string")
                        .instanceSourceImageFilterDetails(InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs.builder()
                            .compartmentId("string")
                            .definedTagsFilter(Map.of("string", "any"))
                            .operatingSystem("string")
                            .operatingSystemVersion("string")
                            .build())
                        .kmsKeyId("string")
                        .build())
                    .build())
                .secondaryVnics(InstanceConfigurationInstanceDetailsOptionSecondaryVnicArgs.builder()
                    .createVnicDetails(InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsArgs.builder()
                        .assignIpv6ip(false)
                        .assignPrivateDnsRecord(false)
                        .assignPublicIp(false)
                        .definedTags(Map.of("string", "any"))
                        .displayName("string")
                        .freeformTags(Map.of("string", "any"))
                        .hostnameLabel("string")
                        .ipv6addressIpv6subnetCidrPairDetails(InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs.builder()
                            .ipv6address("string")
                            .ipv6subnetCidr("string")
                            .build())
                        .nsgIds("string")
                        .privateIp("string")
                        .skipSourceDestCheck(false)
                        .subnetId("string")
                        .build())
                    .displayName("string")
                    .nicIndex(0)
                    .build())
                .build())
            .secondaryVnics(InstanceConfigurationInstanceDetailsSecondaryVnicArgs.builder()
                .createVnicDetails(InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsArgs.builder()
                    .assignIpv6ip(false)
                    .assignPrivateDnsRecord(false)
                    .assignPublicIp(false)
                    .definedTags(Map.of("string", "any"))
                    .displayName("string")
                    .freeformTags(Map.of("string", "any"))
                    .hostnameLabel("string")
                    .ipv6addressIpv6subnetCidrPairDetails(InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs.builder()
                        .ipv6address("string")
                        .ipv6subnetCidr("string")
                        .build())
                    .nsgIds("string")
                    .privateIp("string")
                    .skipSourceDestCheck(false)
                    .subnetId("string")
                    .build())
                .displayName("string")
                .nicIndex(0)
                .build())
            .build())
        .instanceId("string")
        .source("string")
        .build());
    
    instance_configuration_resource = oci.core.InstanceConfiguration("instanceConfigurationResource",
        compartment_id="string",
        defined_tags={
            "string": "any",
        },
        display_name="string",
        freeform_tags={
            "string": "any",
        },
        instance_details=oci.core.InstanceConfigurationInstanceDetailsArgs(
            instance_type="string",
            block_volumes=[oci.core.InstanceConfigurationInstanceDetailsBlockVolumeArgs(
                attach_details=oci.core.InstanceConfigurationInstanceDetailsBlockVolumeAttachDetailsArgs(
                    type="string",
                    device="string",
                    display_name="string",
                    is_pv_encryption_in_transit_enabled=False,
                    is_read_only=False,
                    is_shareable=False,
                    use_chap=False,
                ),
                create_details=oci.core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsArgs(
                    autotune_policies=[oci.core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicyArgs(
                        autotune_type="string",
                        max_vpus_per_gb="string",
                    )],
                    availability_domain="string",
                    backup_policy_id="string",
                    block_volume_replicas=oci.core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsBlockVolumeReplicasArgs(
                        availability_domain="string",
                        display_name="string",
                    ),
                    compartment_id="string",
                    defined_tags={
                        "string": "any",
                    },
                    display_name="string",
                    freeform_tags={
                        "string": "any",
                    },
                    is_auto_tune_enabled=False,
                    kms_key_id="string",
                    size_in_gbs="string",
                    source_details=oci.core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsSourceDetailsArgs(
                        type="string",
                        id="string",
                    ),
                    vpus_per_gb="string",
                ),
                volume_id="string",
            )],
            launch_details=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsArgs(
                agent_config=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigArgs(
                    are_all_plugins_disabled=False,
                    is_management_disabled=False,
                    is_monitoring_disabled=False,
                    plugins_configs=[oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfigArgs(
                        desired_state="string",
                        name="string",
                    )],
                ),
                availability_config=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfigArgs(
                    is_live_migration_preferred=False,
                    recovery_action="string",
                ),
                availability_domain="string",
                capacity_reservation_id="string",
                compartment_id="string",
                create_vnic_details=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsArgs(
                    assign_ipv6ip=False,
                    assign_private_dns_record=False,
                    assign_public_ip=False,
                    defined_tags={
                        "string": "any",
                    },
                    display_name="string",
                    freeform_tags={
                        "string": "any",
                    },
                    hostname_label="string",
                    ipv6address_ipv6subnet_cidr_pair_details=[oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs(
                        ipv6address="string",
                        ipv6subnet_cidr="string",
                    )],
                    nsg_ids=["string"],
                    private_ip="string",
                    skip_source_dest_check=False,
                    subnet_id="string",
                ),
                dedicated_vm_host_id="string",
                defined_tags={
                    "string": "any",
                },
                display_name="string",
                extended_metadata={
                    "string": "any",
                },
                fault_domain="string",
                freeform_tags={
                    "string": "any",
                },
                instance_options=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptionsArgs(
                    are_legacy_imds_endpoints_disabled=False,
                ),
                ipxe_script="string",
                is_pv_encryption_in_transit_enabled=False,
                launch_mode="string",
                launch_options=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptionsArgs(
                    boot_volume_type="string",
                    firmware="string",
                    is_consistent_volume_naming_enabled=False,
                    is_pv_encryption_in_transit_enabled=False,
                    network_type="string",
                    remote_data_volume_type="string",
                ),
                metadata={
                    "string": "any",
                },
                platform_config=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfigArgs(
                    type="string",
                    are_virtual_instructions_enabled=False,
                    config_map={
                        "string": "any",
                    },
                    is_access_control_service_enabled=False,
                    is_input_output_memory_management_unit_enabled=False,
                    is_measured_boot_enabled=False,
                    is_memory_encryption_enabled=False,
                    is_secure_boot_enabled=False,
                    is_symmetric_multi_threading_enabled=False,
                    is_trusted_platform_module_enabled=False,
                    numa_nodes_per_socket="string",
                    percentage_of_cores_enabled=0,
                ),
                preemptible_instance_config=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigArgs(
                    preemption_action=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs(
                        type="string",
                        preserve_boot_volume=False,
                    ),
                ),
                preferred_maintenance_action="string",
                shape="string",
                shape_config=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfigArgs(
                    baseline_ocpu_utilization="string",
                    memory_in_gbs=0,
                    nvmes=0,
                    ocpus=0,
                    vcpus=0,
                ),
                source_details=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsArgs(
                    source_type="string",
                    boot_volume_id="string",
                    boot_volume_size_in_gbs="string",
                    boot_volume_vpus_per_gb="string",
                    image_id="string",
                    instance_source_image_filter_details=oci.core.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs(
                        compartment_id="string",
                        defined_tags_filter={
                            "string": "any",
                        },
                        operating_system="string",
                        operating_system_version="string",
                    ),
                    kms_key_id="string",
                ),
            ),
            options=[oci.core.InstanceConfigurationInstanceDetailsOptionArgs(
                block_volumes=[oci.core.InstanceConfigurationInstanceDetailsOptionBlockVolumeArgs(
                    attach_details=oci.core.InstanceConfigurationInstanceDetailsOptionBlockVolumeAttachDetailsArgs(
                        type="string",
                        device="string",
                        display_name="string",
                        is_pv_encryption_in_transit_enabled=False,
                        is_read_only=False,
                        is_shareable=False,
                        use_chap=False,
                    ),
                    create_details=oci.core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsArgs(
                        autotune_policies=[oci.core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicyArgs(
                            autotune_type="string",
                            max_vpus_per_gb="string",
                        )],
                        availability_domain="string",
                        backup_policy_id="string",
                        block_volume_replicas=oci.core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsBlockVolumeReplicasArgs(
                            availability_domain="string",
                            display_name="string",
                        ),
                        compartment_id="string",
                        defined_tags={
                            "string": "any",
                        },
                        display_name="string",
                        freeform_tags={
                            "string": "any",
                        },
                        is_auto_tune_enabled=False,
                        kms_key_id="string",
                        size_in_gbs="string",
                        source_details=oci.core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsSourceDetailsArgs(
                            type="string",
                            id="string",
                        ),
                        vpus_per_gb="string",
                    ),
                    volume_id="string",
                )],
                launch_details=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsArgs(
                    agent_config=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigArgs(
                        are_all_plugins_disabled=False,
                        is_management_disabled=False,
                        is_monitoring_disabled=False,
                        plugins_configs=[oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfigArgs(
                            desired_state="string",
                            name="string",
                        )],
                    ),
                    availability_config=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAvailabilityConfigArgs(
                        is_live_migration_preferred=False,
                        recovery_action="string",
                    ),
                    availability_domain="string",
                    capacity_reservation_id="string",
                    compartment_id="string",
                    create_vnic_details=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsArgs(
                        assign_ipv6ip=False,
                        assign_private_dns_record=False,
                        assign_public_ip=False,
                        defined_tags={
                            "string": "any",
                        },
                        display_name="string",
                        freeform_tags={
                            "string": "any",
                        },
                        hostname_label="string",
                        ipv6address_ipv6subnet_cidr_pair_details=[oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs(
                            ipv6address="string",
                            ipv6subnet_cidr="string",
                        )],
                        nsg_ids=["string"],
                        private_ip="string",
                        skip_source_dest_check=False,
                        subnet_id="string",
                    ),
                    dedicated_vm_host_id="string",
                    defined_tags={
                        "string": "any",
                    },
                    display_name="string",
                    extended_metadata={
                        "string": "any",
                    },
                    fault_domain="string",
                    freeform_tags={
                        "string": "any",
                    },
                    instance_options=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsInstanceOptionsArgs(
                        are_legacy_imds_endpoints_disabled=False,
                    ),
                    ipxe_script="string",
                    is_pv_encryption_in_transit_enabled=False,
                    launch_mode="string",
                    launch_options=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsLaunchOptionsArgs(
                        boot_volume_type="string",
                        firmware="string",
                        is_consistent_volume_naming_enabled=False,
                        is_pv_encryption_in_transit_enabled=False,
                        network_type="string",
                        remote_data_volume_type="string",
                    ),
                    metadata={
                        "string": "any",
                    },
                    platform_config=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPlatformConfigArgs(
                        type="string",
                        are_virtual_instructions_enabled=False,
                        is_access_control_service_enabled=False,
                        is_input_output_memory_management_unit_enabled=False,
                        is_measured_boot_enabled=False,
                        is_memory_encryption_enabled=False,
                        is_secure_boot_enabled=False,
                        is_symmetric_multi_threading_enabled=False,
                        is_trusted_platform_module_enabled=False,
                        numa_nodes_per_socket="string",
                        percentage_of_cores_enabled=0,
                    ),
                    preemptible_instance_config=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigArgs(
                        preemption_action=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs(
                            type="string",
                            preserve_boot_volume=False,
                        ),
                    ),
                    preferred_maintenance_action="string",
                    shape="string",
                    shape_config=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsShapeConfigArgs(
                        baseline_ocpu_utilization="string",
                        memory_in_gbs=0,
                        nvmes=0,
                        ocpus=0,
                        vcpus=0,
                    ),
                    source_details=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsArgs(
                        source_type="string",
                        boot_volume_id="string",
                        boot_volume_size_in_gbs="string",
                        boot_volume_vpus_per_gb="string",
                        image_id="string",
                        instance_source_image_filter_details=oci.core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs(
                            compartment_id="string",
                            defined_tags_filter={
                                "string": "any",
                            },
                            operating_system="string",
                            operating_system_version="string",
                        ),
                        kms_key_id="string",
                    ),
                ),
                secondary_vnics=[oci.core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicArgs(
                    create_vnic_details=oci.core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsArgs(
                        assign_ipv6ip=False,
                        assign_private_dns_record=False,
                        assign_public_ip=False,
                        defined_tags={
                            "string": "any",
                        },
                        display_name="string",
                        freeform_tags={
                            "string": "any",
                        },
                        hostname_label="string",
                        ipv6address_ipv6subnet_cidr_pair_details=[oci.core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs(
                            ipv6address="string",
                            ipv6subnet_cidr="string",
                        )],
                        nsg_ids=["string"],
                        private_ip="string",
                        skip_source_dest_check=False,
                        subnet_id="string",
                    ),
                    display_name="string",
                    nic_index=0,
                )],
            )],
            secondary_vnics=[oci.core.InstanceConfigurationInstanceDetailsSecondaryVnicArgs(
                create_vnic_details=oci.core.InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsArgs(
                    assign_ipv6ip=False,
                    assign_private_dns_record=False,
                    assign_public_ip=False,
                    defined_tags={
                        "string": "any",
                    },
                    display_name="string",
                    freeform_tags={
                        "string": "any",
                    },
                    hostname_label="string",
                    ipv6address_ipv6subnet_cidr_pair_details=[oci.core.InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs(
                        ipv6address="string",
                        ipv6subnet_cidr="string",
                    )],
                    nsg_ids=["string"],
                    private_ip="string",
                    skip_source_dest_check=False,
                    subnet_id="string",
                ),
                display_name="string",
                nic_index=0,
            )],
        ),
        instance_id="string",
        source="string")
    
    const instanceConfigurationResource = new oci.core.InstanceConfiguration("instanceConfigurationResource", {
        compartmentId: "string",
        definedTags: {
            string: "any",
        },
        displayName: "string",
        freeformTags: {
            string: "any",
        },
        instanceDetails: {
            instanceType: "string",
            blockVolumes: [{
                attachDetails: {
                    type: "string",
                    device: "string",
                    displayName: "string",
                    isPvEncryptionInTransitEnabled: false,
                    isReadOnly: false,
                    isShareable: false,
                    useChap: false,
                },
                createDetails: {
                    autotunePolicies: [{
                        autotuneType: "string",
                        maxVpusPerGb: "string",
                    }],
                    availabilityDomain: "string",
                    backupPolicyId: "string",
                    blockVolumeReplicas: {
                        availabilityDomain: "string",
                        displayName: "string",
                    },
                    compartmentId: "string",
                    definedTags: {
                        string: "any",
                    },
                    displayName: "string",
                    freeformTags: {
                        string: "any",
                    },
                    isAutoTuneEnabled: false,
                    kmsKeyId: "string",
                    sizeInGbs: "string",
                    sourceDetails: {
                        type: "string",
                        id: "string",
                    },
                    vpusPerGb: "string",
                },
                volumeId: "string",
            }],
            launchDetails: {
                agentConfig: {
                    areAllPluginsDisabled: false,
                    isManagementDisabled: false,
                    isMonitoringDisabled: false,
                    pluginsConfigs: [{
                        desiredState: "string",
                        name: "string",
                    }],
                },
                availabilityConfig: {
                    isLiveMigrationPreferred: false,
                    recoveryAction: "string",
                },
                availabilityDomain: "string",
                capacityReservationId: "string",
                compartmentId: "string",
                createVnicDetails: {
                    assignIpv6ip: false,
                    assignPrivateDnsRecord: false,
                    assignPublicIp: false,
                    definedTags: {
                        string: "any",
                    },
                    displayName: "string",
                    freeformTags: {
                        string: "any",
                    },
                    hostnameLabel: "string",
                    ipv6addressIpv6subnetCidrPairDetails: [{
                        ipv6address: "string",
                        ipv6subnetCidr: "string",
                    }],
                    nsgIds: ["string"],
                    privateIp: "string",
                    skipSourceDestCheck: false,
                    subnetId: "string",
                },
                dedicatedVmHostId: "string",
                definedTags: {
                    string: "any",
                },
                displayName: "string",
                extendedMetadata: {
                    string: "any",
                },
                faultDomain: "string",
                freeformTags: {
                    string: "any",
                },
                instanceOptions: {
                    areLegacyImdsEndpointsDisabled: false,
                },
                ipxeScript: "string",
                isPvEncryptionInTransitEnabled: false,
                launchMode: "string",
                launchOptions: {
                    bootVolumeType: "string",
                    firmware: "string",
                    isConsistentVolumeNamingEnabled: false,
                    isPvEncryptionInTransitEnabled: false,
                    networkType: "string",
                    remoteDataVolumeType: "string",
                },
                metadata: {
                    string: "any",
                },
                platformConfig: {
                    type: "string",
                    areVirtualInstructionsEnabled: false,
                    configMap: {
                        string: "any",
                    },
                    isAccessControlServiceEnabled: false,
                    isInputOutputMemoryManagementUnitEnabled: false,
                    isMeasuredBootEnabled: false,
                    isMemoryEncryptionEnabled: false,
                    isSecureBootEnabled: false,
                    isSymmetricMultiThreadingEnabled: false,
                    isTrustedPlatformModuleEnabled: false,
                    numaNodesPerSocket: "string",
                    percentageOfCoresEnabled: 0,
                },
                preemptibleInstanceConfig: {
                    preemptionAction: {
                        type: "string",
                        preserveBootVolume: false,
                    },
                },
                preferredMaintenanceAction: "string",
                shape: "string",
                shapeConfig: {
                    baselineOcpuUtilization: "string",
                    memoryInGbs: 0,
                    nvmes: 0,
                    ocpus: 0,
                    vcpus: 0,
                },
                sourceDetails: {
                    sourceType: "string",
                    bootVolumeId: "string",
                    bootVolumeSizeInGbs: "string",
                    bootVolumeVpusPerGb: "string",
                    imageId: "string",
                    instanceSourceImageFilterDetails: {
                        compartmentId: "string",
                        definedTagsFilter: {
                            string: "any",
                        },
                        operatingSystem: "string",
                        operatingSystemVersion: "string",
                    },
                    kmsKeyId: "string",
                },
            },
            options: [{
                blockVolumes: [{
                    attachDetails: {
                        type: "string",
                        device: "string",
                        displayName: "string",
                        isPvEncryptionInTransitEnabled: false,
                        isReadOnly: false,
                        isShareable: false,
                        useChap: false,
                    },
                    createDetails: {
                        autotunePolicies: [{
                            autotuneType: "string",
                            maxVpusPerGb: "string",
                        }],
                        availabilityDomain: "string",
                        backupPolicyId: "string",
                        blockVolumeReplicas: {
                            availabilityDomain: "string",
                            displayName: "string",
                        },
                        compartmentId: "string",
                        definedTags: {
                            string: "any",
                        },
                        displayName: "string",
                        freeformTags: {
                            string: "any",
                        },
                        isAutoTuneEnabled: false,
                        kmsKeyId: "string",
                        sizeInGbs: "string",
                        sourceDetails: {
                            type: "string",
                            id: "string",
                        },
                        vpusPerGb: "string",
                    },
                    volumeId: "string",
                }],
                launchDetails: {
                    agentConfig: {
                        areAllPluginsDisabled: false,
                        isManagementDisabled: false,
                        isMonitoringDisabled: false,
                        pluginsConfigs: [{
                            desiredState: "string",
                            name: "string",
                        }],
                    },
                    availabilityConfig: {
                        isLiveMigrationPreferred: false,
                        recoveryAction: "string",
                    },
                    availabilityDomain: "string",
                    capacityReservationId: "string",
                    compartmentId: "string",
                    createVnicDetails: {
                        assignIpv6ip: false,
                        assignPrivateDnsRecord: false,
                        assignPublicIp: false,
                        definedTags: {
                            string: "any",
                        },
                        displayName: "string",
                        freeformTags: {
                            string: "any",
                        },
                        hostnameLabel: "string",
                        ipv6addressIpv6subnetCidrPairDetails: [{
                            ipv6address: "string",
                            ipv6subnetCidr: "string",
                        }],
                        nsgIds: ["string"],
                        privateIp: "string",
                        skipSourceDestCheck: false,
                        subnetId: "string",
                    },
                    dedicatedVmHostId: "string",
                    definedTags: {
                        string: "any",
                    },
                    displayName: "string",
                    extendedMetadata: {
                        string: "any",
                    },
                    faultDomain: "string",
                    freeformTags: {
                        string: "any",
                    },
                    instanceOptions: {
                        areLegacyImdsEndpointsDisabled: false,
                    },
                    ipxeScript: "string",
                    isPvEncryptionInTransitEnabled: false,
                    launchMode: "string",
                    launchOptions: {
                        bootVolumeType: "string",
                        firmware: "string",
                        isConsistentVolumeNamingEnabled: false,
                        isPvEncryptionInTransitEnabled: false,
                        networkType: "string",
                        remoteDataVolumeType: "string",
                    },
                    metadata: {
                        string: "any",
                    },
                    platformConfig: {
                        type: "string",
                        areVirtualInstructionsEnabled: false,
                        isAccessControlServiceEnabled: false,
                        isInputOutputMemoryManagementUnitEnabled: false,
                        isMeasuredBootEnabled: false,
                        isMemoryEncryptionEnabled: false,
                        isSecureBootEnabled: false,
                        isSymmetricMultiThreadingEnabled: false,
                        isTrustedPlatformModuleEnabled: false,
                        numaNodesPerSocket: "string",
                        percentageOfCoresEnabled: 0,
                    },
                    preemptibleInstanceConfig: {
                        preemptionAction: {
                            type: "string",
                            preserveBootVolume: false,
                        },
                    },
                    preferredMaintenanceAction: "string",
                    shape: "string",
                    shapeConfig: {
                        baselineOcpuUtilization: "string",
                        memoryInGbs: 0,
                        nvmes: 0,
                        ocpus: 0,
                        vcpus: 0,
                    },
                    sourceDetails: {
                        sourceType: "string",
                        bootVolumeId: "string",
                        bootVolumeSizeInGbs: "string",
                        bootVolumeVpusPerGb: "string",
                        imageId: "string",
                        instanceSourceImageFilterDetails: {
                            compartmentId: "string",
                            definedTagsFilter: {
                                string: "any",
                            },
                            operatingSystem: "string",
                            operatingSystemVersion: "string",
                        },
                        kmsKeyId: "string",
                    },
                },
                secondaryVnics: [{
                    createVnicDetails: {
                        assignIpv6ip: false,
                        assignPrivateDnsRecord: false,
                        assignPublicIp: false,
                        definedTags: {
                            string: "any",
                        },
                        displayName: "string",
                        freeformTags: {
                            string: "any",
                        },
                        hostnameLabel: "string",
                        ipv6addressIpv6subnetCidrPairDetails: [{
                            ipv6address: "string",
                            ipv6subnetCidr: "string",
                        }],
                        nsgIds: ["string"],
                        privateIp: "string",
                        skipSourceDestCheck: false,
                        subnetId: "string",
                    },
                    displayName: "string",
                    nicIndex: 0,
                }],
            }],
            secondaryVnics: [{
                createVnicDetails: {
                    assignIpv6ip: false,
                    assignPrivateDnsRecord: false,
                    assignPublicIp: false,
                    definedTags: {
                        string: "any",
                    },
                    displayName: "string",
                    freeformTags: {
                        string: "any",
                    },
                    hostnameLabel: "string",
                    ipv6addressIpv6subnetCidrPairDetails: [{
                        ipv6address: "string",
                        ipv6subnetCidr: "string",
                    }],
                    nsgIds: ["string"],
                    privateIp: "string",
                    skipSourceDestCheck: false,
                    subnetId: "string",
                },
                displayName: "string",
                nicIndex: 0,
            }],
        },
        instanceId: "string",
        source: "string",
    });
    
    type: oci:Core:InstanceConfiguration
    properties:
        compartmentId: string
        definedTags:
            string: any
        displayName: string
        freeformTags:
            string: any
        instanceDetails:
            blockVolumes:
                - attachDetails:
                    device: string
                    displayName: string
                    isPvEncryptionInTransitEnabled: false
                    isReadOnly: false
                    isShareable: false
                    type: string
                    useChap: false
                  createDetails:
                    autotunePolicies:
                        - autotuneType: string
                          maxVpusPerGb: string
                    availabilityDomain: string
                    backupPolicyId: string
                    blockVolumeReplicas:
                        availabilityDomain: string
                        displayName: string
                    compartmentId: string
                    definedTags:
                        string: any
                    displayName: string
                    freeformTags:
                        string: any
                    isAutoTuneEnabled: false
                    kmsKeyId: string
                    sizeInGbs: string
                    sourceDetails:
                        id: string
                        type: string
                    vpusPerGb: string
                  volumeId: string
            instanceType: string
            launchDetails:
                agentConfig:
                    areAllPluginsDisabled: false
                    isManagementDisabled: false
                    isMonitoringDisabled: false
                    pluginsConfigs:
                        - desiredState: string
                          name: string
                availabilityConfig:
                    isLiveMigrationPreferred: false
                    recoveryAction: string
                availabilityDomain: string
                capacityReservationId: string
                compartmentId: string
                createVnicDetails:
                    assignIpv6ip: false
                    assignPrivateDnsRecord: false
                    assignPublicIp: false
                    definedTags:
                        string: any
                    displayName: string
                    freeformTags:
                        string: any
                    hostnameLabel: string
                    ipv6addressIpv6subnetCidrPairDetails:
                        - ipv6address: string
                          ipv6subnetCidr: string
                    nsgIds:
                        - string
                    privateIp: string
                    skipSourceDestCheck: false
                    subnetId: string
                dedicatedVmHostId: string
                definedTags:
                    string: any
                displayName: string
                extendedMetadata:
                    string: any
                faultDomain: string
                freeformTags:
                    string: any
                instanceOptions:
                    areLegacyImdsEndpointsDisabled: false
                ipxeScript: string
                isPvEncryptionInTransitEnabled: false
                launchMode: string
                launchOptions:
                    bootVolumeType: string
                    firmware: string
                    isConsistentVolumeNamingEnabled: false
                    isPvEncryptionInTransitEnabled: false
                    networkType: string
                    remoteDataVolumeType: string
                metadata:
                    string: any
                platformConfig:
                    areVirtualInstructionsEnabled: false
                    configMap:
                        string: any
                    isAccessControlServiceEnabled: false
                    isInputOutputMemoryManagementUnitEnabled: false
                    isMeasuredBootEnabled: false
                    isMemoryEncryptionEnabled: false
                    isSecureBootEnabled: false
                    isSymmetricMultiThreadingEnabled: false
                    isTrustedPlatformModuleEnabled: false
                    numaNodesPerSocket: string
                    percentageOfCoresEnabled: 0
                    type: string
                preemptibleInstanceConfig:
                    preemptionAction:
                        preserveBootVolume: false
                        type: string
                preferredMaintenanceAction: string
                shape: string
                shapeConfig:
                    baselineOcpuUtilization: string
                    memoryInGbs: 0
                    nvmes: 0
                    ocpus: 0
                    vcpus: 0
                sourceDetails:
                    bootVolumeId: string
                    bootVolumeSizeInGbs: string
                    bootVolumeVpusPerGb: string
                    imageId: string
                    instanceSourceImageFilterDetails:
                        compartmentId: string
                        definedTagsFilter:
                            string: any
                        operatingSystem: string
                        operatingSystemVersion: string
                    kmsKeyId: string
                    sourceType: string
            options:
                - blockVolumes:
                    - attachDetails:
                        device: string
                        displayName: string
                        isPvEncryptionInTransitEnabled: false
                        isReadOnly: false
                        isShareable: false
                        type: string
                        useChap: false
                      createDetails:
                        autotunePolicies:
                            - autotuneType: string
                              maxVpusPerGb: string
                        availabilityDomain: string
                        backupPolicyId: string
                        blockVolumeReplicas:
                            availabilityDomain: string
                            displayName: string
                        compartmentId: string
                        definedTags:
                            string: any
                        displayName: string
                        freeformTags:
                            string: any
                        isAutoTuneEnabled: false
                        kmsKeyId: string
                        sizeInGbs: string
                        sourceDetails:
                            id: string
                            type: string
                        vpusPerGb: string
                      volumeId: string
                  launchDetails:
                    agentConfig:
                        areAllPluginsDisabled: false
                        isManagementDisabled: false
                        isMonitoringDisabled: false
                        pluginsConfigs:
                            - desiredState: string
                              name: string
                    availabilityConfig:
                        isLiveMigrationPreferred: false
                        recoveryAction: string
                    availabilityDomain: string
                    capacityReservationId: string
                    compartmentId: string
                    createVnicDetails:
                        assignIpv6ip: false
                        assignPrivateDnsRecord: false
                        assignPublicIp: false
                        definedTags:
                            string: any
                        displayName: string
                        freeformTags:
                            string: any
                        hostnameLabel: string
                        ipv6addressIpv6subnetCidrPairDetails:
                            - ipv6address: string
                              ipv6subnetCidr: string
                        nsgIds:
                            - string
                        privateIp: string
                        skipSourceDestCheck: false
                        subnetId: string
                    dedicatedVmHostId: string
                    definedTags:
                        string: any
                    displayName: string
                    extendedMetadata:
                        string: any
                    faultDomain: string
                    freeformTags:
                        string: any
                    instanceOptions:
                        areLegacyImdsEndpointsDisabled: false
                    ipxeScript: string
                    isPvEncryptionInTransitEnabled: false
                    launchMode: string
                    launchOptions:
                        bootVolumeType: string
                        firmware: string
                        isConsistentVolumeNamingEnabled: false
                        isPvEncryptionInTransitEnabled: false
                        networkType: string
                        remoteDataVolumeType: string
                    metadata:
                        string: any
                    platformConfig:
                        areVirtualInstructionsEnabled: false
                        isAccessControlServiceEnabled: false
                        isInputOutputMemoryManagementUnitEnabled: false
                        isMeasuredBootEnabled: false
                        isMemoryEncryptionEnabled: false
                        isSecureBootEnabled: false
                        isSymmetricMultiThreadingEnabled: false
                        isTrustedPlatformModuleEnabled: false
                        numaNodesPerSocket: string
                        percentageOfCoresEnabled: 0
                        type: string
                    preemptibleInstanceConfig:
                        preemptionAction:
                            preserveBootVolume: false
                            type: string
                    preferredMaintenanceAction: string
                    shape: string
                    shapeConfig:
                        baselineOcpuUtilization: string
                        memoryInGbs: 0
                        nvmes: 0
                        ocpus: 0
                        vcpus: 0
                    sourceDetails:
                        bootVolumeId: string
                        bootVolumeSizeInGbs: string
                        bootVolumeVpusPerGb: string
                        imageId: string
                        instanceSourceImageFilterDetails:
                            compartmentId: string
                            definedTagsFilter:
                                string: any
                            operatingSystem: string
                            operatingSystemVersion: string
                        kmsKeyId: string
                        sourceType: string
                  secondaryVnics:
                    - createVnicDetails:
                        assignIpv6ip: false
                        assignPrivateDnsRecord: false
                        assignPublicIp: false
                        definedTags:
                            string: any
                        displayName: string
                        freeformTags:
                            string: any
                        hostnameLabel: string
                        ipv6addressIpv6subnetCidrPairDetails:
                            - ipv6address: string
                              ipv6subnetCidr: string
                        nsgIds:
                            - string
                        privateIp: string
                        skipSourceDestCheck: false
                        subnetId: string
                      displayName: string
                      nicIndex: 0
            secondaryVnics:
                - createVnicDetails:
                    assignIpv6ip: false
                    assignPrivateDnsRecord: false
                    assignPublicIp: false
                    definedTags:
                        string: any
                    displayName: string
                    freeformTags:
                        string: any
                    hostnameLabel: string
                    ipv6addressIpv6subnetCidrPairDetails:
                        - ipv6address: string
                          ipv6subnetCidr: string
                    nsgIds:
                        - string
                    privateIp: string
                    skipSourceDestCheck: false
                    subnetId: string
                  displayName: string
                  nicIndex: 0
        instanceId: string
        source: string
    

    InstanceConfiguration Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The InstanceConfiguration resource accepts the following input properties:

    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    DefinedTags Dictionary<string, object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags Dictionary<string, object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    InstanceDetails InstanceConfigurationInstanceDetails
    InstanceId string
    The OCID of the instance to use to create the instance configuration.
    Source string

    The source of the instance configuration. An instance configuration defines the settings to use when creating Compute instances, including details such as the base image, shape, and metadata. You can also specify the associated resources for the instance, such as block volume attachments and network configuration.

    When you create an instance configuration using an existing instance as a template, the instance configuration does not include any information from the source instance's boot volume, such as installed applications, binaries, and files on the instance. It also does not include the contents of any block volumes that are attached to the instance.

    To create an instance configuration that includes the custom setup from an instance's boot volume, you must first create a custom image from the instance (see CreateImage). Then, use the custom image to launch a new instance (see LaunchInstance). Finally, create the instance configuration based on the instance that you created from the custom image.

    To include block volume contents with an instance configuration, first create a backup of the attached block volumes (see CreateVolumeBackup). Then, create the instance configuration by specifying the list of settings, using InstanceConfigurationVolumeSourceFromVolumeBackupDetails to include the block volume backups in the list of settings.

    The following values are supported:

    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    DefinedTags map[string]interface{}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags map[string]interface{}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    InstanceDetails InstanceConfigurationInstanceDetailsArgs
    InstanceId string
    The OCID of the instance to use to create the instance configuration.
    Source string

    The source of the instance configuration. An instance configuration defines the settings to use when creating Compute instances, including details such as the base image, shape, and metadata. You can also specify the associated resources for the instance, such as block volume attachments and network configuration.

    When you create an instance configuration using an existing instance as a template, the instance configuration does not include any information from the source instance's boot volume, such as installed applications, binaries, and files on the instance. It also does not include the contents of any block volumes that are attached to the instance.

    To create an instance configuration that includes the custom setup from an instance's boot volume, you must first create a custom image from the instance (see CreateImage). Then, use the custom image to launch a new instance (see LaunchInstance). Finally, create the instance configuration based on the instance that you created from the custom image.

    To include block volume contents with an instance configuration, first create a backup of the attached block volumes (see CreateVolumeBackup). Then, create the instance configuration by specifying the list of settings, using InstanceConfigurationVolumeSourceFromVolumeBackupDetails to include the block volume backups in the list of settings.

    The following values are supported:

    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    definedTags Map<String,Object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<String,Object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instanceDetails InstanceConfigurationInstanceDetails
    instanceId String
    The OCID of the instance to use to create the instance configuration.
    source String

    The source of the instance configuration. An instance configuration defines the settings to use when creating Compute instances, including details such as the base image, shape, and metadata. You can also specify the associated resources for the instance, such as block volume attachments and network configuration.

    When you create an instance configuration using an existing instance as a template, the instance configuration does not include any information from the source instance's boot volume, such as installed applications, binaries, and files on the instance. It also does not include the contents of any block volumes that are attached to the instance.

    To create an instance configuration that includes the custom setup from an instance's boot volume, you must first create a custom image from the instance (see CreateImage). Then, use the custom image to launch a new instance (see LaunchInstance). Finally, create the instance configuration based on the instance that you created from the custom image.

    To include block volume contents with an instance configuration, first create a backup of the attached block volumes (see CreateVolumeBackup). Then, create the instance configuration by specifying the list of settings, using InstanceConfigurationVolumeSourceFromVolumeBackupDetails to include the block volume backups in the list of settings.

    The following values are supported:

    compartmentId string
    (Updatable) The OCID of the compartment containing images to search
    definedTags {[key: string]: any}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags {[key: string]: any}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instanceDetails InstanceConfigurationInstanceDetails
    instanceId string
    The OCID of the instance to use to create the instance configuration.
    source string

    The source of the instance configuration. An instance configuration defines the settings to use when creating Compute instances, including details such as the base image, shape, and metadata. You can also specify the associated resources for the instance, such as block volume attachments and network configuration.

    When you create an instance configuration using an existing instance as a template, the instance configuration does not include any information from the source instance's boot volume, such as installed applications, binaries, and files on the instance. It also does not include the contents of any block volumes that are attached to the instance.

    To create an instance configuration that includes the custom setup from an instance's boot volume, you must first create a custom image from the instance (see CreateImage). Then, use the custom image to launch a new instance (see LaunchInstance). Finally, create the instance configuration based on the instance that you created from the custom image.

    To include block volume contents with an instance configuration, first create a backup of the attached block volumes (see CreateVolumeBackup). Then, create the instance configuration by specifying the list of settings, using InstanceConfigurationVolumeSourceFromVolumeBackupDetails to include the block volume backups in the list of settings.

    The following values are supported:

    compartment_id str
    (Updatable) The OCID of the compartment containing images to search
    defined_tags Mapping[str, Any]
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeform_tags Mapping[str, Any]
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instance_details core.InstanceConfigurationInstanceDetailsArgs
    instance_id str
    The OCID of the instance to use to create the instance configuration.
    source str

    The source of the instance configuration. An instance configuration defines the settings to use when creating Compute instances, including details such as the base image, shape, and metadata. You can also specify the associated resources for the instance, such as block volume attachments and network configuration.

    When you create an instance configuration using an existing instance as a template, the instance configuration does not include any information from the source instance's boot volume, such as installed applications, binaries, and files on the instance. It also does not include the contents of any block volumes that are attached to the instance.

    To create an instance configuration that includes the custom setup from an instance's boot volume, you must first create a custom image from the instance (see CreateImage). Then, use the custom image to launch a new instance (see LaunchInstance). Finally, create the instance configuration based on the instance that you created from the custom image.

    To include block volume contents with an instance configuration, first create a backup of the attached block volumes (see CreateVolumeBackup). Then, create the instance configuration by specifying the list of settings, using InstanceConfigurationVolumeSourceFromVolumeBackupDetails to include the block volume backups in the list of settings.

    The following values are supported:

    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    definedTags Map<Any>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<Any>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instanceDetails Property Map
    instanceId String
    The OCID of the instance to use to create the instance configuration.
    source String

    The source of the instance configuration. An instance configuration defines the settings to use when creating Compute instances, including details such as the base image, shape, and metadata. You can also specify the associated resources for the instance, such as block volume attachments and network configuration.

    When you create an instance configuration using an existing instance as a template, the instance configuration does not include any information from the source instance's boot volume, such as installed applications, binaries, and files on the instance. It also does not include the contents of any block volumes that are attached to the instance.

    To create an instance configuration that includes the custom setup from an instance's boot volume, you must first create a custom image from the instance (see CreateImage). Then, use the custom image to launch a new instance (see LaunchInstance). Finally, create the instance configuration based on the instance that you created from the custom image.

    To include block volume contents with an instance configuration, first create a backup of the attached block volumes (see CreateVolumeBackup). Then, create the instance configuration by specifying the list of settings, using InstanceConfigurationVolumeSourceFromVolumeBackupDetails to include the block volume backups in the list of settings.

    The following values are supported:

    Outputs

    All input properties are implicitly available as output properties. Additionally, the InstanceConfiguration resource produces the following output properties:

    DeferredFields List<string>
    Parameters that were not specified when the instance configuration was created, but that are required to launch an instance from the instance configuration. See the LaunchInstanceConfiguration operation.
    Id string
    The provider-assigned unique ID for this managed resource.
    TimeCreated string
    The date and time the instance configuration was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    DeferredFields []string
    Parameters that were not specified when the instance configuration was created, but that are required to launch an instance from the instance configuration. See the LaunchInstanceConfiguration operation.
    Id string
    The provider-assigned unique ID for this managed resource.
    TimeCreated string
    The date and time the instance configuration was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    deferredFields List<String>
    Parameters that were not specified when the instance configuration was created, but that are required to launch an instance from the instance configuration. See the LaunchInstanceConfiguration operation.
    id String
    The provider-assigned unique ID for this managed resource.
    timeCreated String
    The date and time the instance configuration was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    deferredFields string[]
    Parameters that were not specified when the instance configuration was created, but that are required to launch an instance from the instance configuration. See the LaunchInstanceConfiguration operation.
    id string
    The provider-assigned unique ID for this managed resource.
    timeCreated string
    The date and time the instance configuration was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    deferred_fields Sequence[str]
    Parameters that were not specified when the instance configuration was created, but that are required to launch an instance from the instance configuration. See the LaunchInstanceConfiguration operation.
    id str
    The provider-assigned unique ID for this managed resource.
    time_created str
    The date and time the instance configuration was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    deferredFields List<String>
    Parameters that were not specified when the instance configuration was created, but that are required to launch an instance from the instance configuration. See the LaunchInstanceConfiguration operation.
    id String
    The provider-assigned unique ID for this managed resource.
    timeCreated String
    The date and time the instance configuration was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z

    Look up Existing InstanceConfiguration Resource

    Get an existing InstanceConfiguration resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: InstanceConfigurationState, opts?: CustomResourceOptions): InstanceConfiguration
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            compartment_id: Optional[str] = None,
            deferred_fields: Optional[Sequence[str]] = None,
            defined_tags: Optional[Mapping[str, Any]] = None,
            display_name: Optional[str] = None,
            freeform_tags: Optional[Mapping[str, Any]] = None,
            instance_details: Optional[_core.InstanceConfigurationInstanceDetailsArgs] = None,
            instance_id: Optional[str] = None,
            source: Optional[str] = None,
            time_created: Optional[str] = None) -> InstanceConfiguration
    func GetInstanceConfiguration(ctx *Context, name string, id IDInput, state *InstanceConfigurationState, opts ...ResourceOption) (*InstanceConfiguration, error)
    public static InstanceConfiguration Get(string name, Input<string> id, InstanceConfigurationState? state, CustomResourceOptions? opts = null)
    public static InstanceConfiguration get(String name, Output<String> id, InstanceConfigurationState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    DeferredFields List<string>
    Parameters that were not specified when the instance configuration was created, but that are required to launch an instance from the instance configuration. See the LaunchInstanceConfiguration operation.
    DefinedTags Dictionary<string, object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags Dictionary<string, object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    InstanceDetails InstanceConfigurationInstanceDetails
    InstanceId string
    The OCID of the instance to use to create the instance configuration.
    Source string

    The source of the instance configuration. An instance configuration defines the settings to use when creating Compute instances, including details such as the base image, shape, and metadata. You can also specify the associated resources for the instance, such as block volume attachments and network configuration.

    When you create an instance configuration using an existing instance as a template, the instance configuration does not include any information from the source instance's boot volume, such as installed applications, binaries, and files on the instance. It also does not include the contents of any block volumes that are attached to the instance.

    To create an instance configuration that includes the custom setup from an instance's boot volume, you must first create a custom image from the instance (see CreateImage). Then, use the custom image to launch a new instance (see LaunchInstance). Finally, create the instance configuration based on the instance that you created from the custom image.

    To include block volume contents with an instance configuration, first create a backup of the attached block volumes (see CreateVolumeBackup). Then, create the instance configuration by specifying the list of settings, using InstanceConfigurationVolumeSourceFromVolumeBackupDetails to include the block volume backups in the list of settings.

    The following values are supported:

    TimeCreated string
    The date and time the instance configuration was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    DeferredFields []string
    Parameters that were not specified when the instance configuration was created, but that are required to launch an instance from the instance configuration. See the LaunchInstanceConfiguration operation.
    DefinedTags map[string]interface{}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags map[string]interface{}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    InstanceDetails InstanceConfigurationInstanceDetailsArgs
    InstanceId string
    The OCID of the instance to use to create the instance configuration.
    Source string

    The source of the instance configuration. An instance configuration defines the settings to use when creating Compute instances, including details such as the base image, shape, and metadata. You can also specify the associated resources for the instance, such as block volume attachments and network configuration.

    When you create an instance configuration using an existing instance as a template, the instance configuration does not include any information from the source instance's boot volume, such as installed applications, binaries, and files on the instance. It also does not include the contents of any block volumes that are attached to the instance.

    To create an instance configuration that includes the custom setup from an instance's boot volume, you must first create a custom image from the instance (see CreateImage). Then, use the custom image to launch a new instance (see LaunchInstance). Finally, create the instance configuration based on the instance that you created from the custom image.

    To include block volume contents with an instance configuration, first create a backup of the attached block volumes (see CreateVolumeBackup). Then, create the instance configuration by specifying the list of settings, using InstanceConfigurationVolumeSourceFromVolumeBackupDetails to include the block volume backups in the list of settings.

    The following values are supported:

    TimeCreated string
    The date and time the instance configuration was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    deferredFields List<String>
    Parameters that were not specified when the instance configuration was created, but that are required to launch an instance from the instance configuration. See the LaunchInstanceConfiguration operation.
    definedTags Map<String,Object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<String,Object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instanceDetails InstanceConfigurationInstanceDetails
    instanceId String
    The OCID of the instance to use to create the instance configuration.
    source String

    The source of the instance configuration. An instance configuration defines the settings to use when creating Compute instances, including details such as the base image, shape, and metadata. You can also specify the associated resources for the instance, such as block volume attachments and network configuration.

    When you create an instance configuration using an existing instance as a template, the instance configuration does not include any information from the source instance's boot volume, such as installed applications, binaries, and files on the instance. It also does not include the contents of any block volumes that are attached to the instance.

    To create an instance configuration that includes the custom setup from an instance's boot volume, you must first create a custom image from the instance (see CreateImage). Then, use the custom image to launch a new instance (see LaunchInstance). Finally, create the instance configuration based on the instance that you created from the custom image.

    To include block volume contents with an instance configuration, first create a backup of the attached block volumes (see CreateVolumeBackup). Then, create the instance configuration by specifying the list of settings, using InstanceConfigurationVolumeSourceFromVolumeBackupDetails to include the block volume backups in the list of settings.

    The following values are supported:

    timeCreated String
    The date and time the instance configuration was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    compartmentId string
    (Updatable) The OCID of the compartment containing images to search
    deferredFields string[]
    Parameters that were not specified when the instance configuration was created, but that are required to launch an instance from the instance configuration. See the LaunchInstanceConfiguration operation.
    definedTags {[key: string]: any}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags {[key: string]: any}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instanceDetails InstanceConfigurationInstanceDetails
    instanceId string
    The OCID of the instance to use to create the instance configuration.
    source string

    The source of the instance configuration. An instance configuration defines the settings to use when creating Compute instances, including details such as the base image, shape, and metadata. You can also specify the associated resources for the instance, such as block volume attachments and network configuration.

    When you create an instance configuration using an existing instance as a template, the instance configuration does not include any information from the source instance's boot volume, such as installed applications, binaries, and files on the instance. It also does not include the contents of any block volumes that are attached to the instance.

    To create an instance configuration that includes the custom setup from an instance's boot volume, you must first create a custom image from the instance (see CreateImage). Then, use the custom image to launch a new instance (see LaunchInstance). Finally, create the instance configuration based on the instance that you created from the custom image.

    To include block volume contents with an instance configuration, first create a backup of the attached block volumes (see CreateVolumeBackup). Then, create the instance configuration by specifying the list of settings, using InstanceConfigurationVolumeSourceFromVolumeBackupDetails to include the block volume backups in the list of settings.

    The following values are supported:

    timeCreated string
    The date and time the instance configuration was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    compartment_id str
    (Updatable) The OCID of the compartment containing images to search
    deferred_fields Sequence[str]
    Parameters that were not specified when the instance configuration was created, but that are required to launch an instance from the instance configuration. See the LaunchInstanceConfiguration operation.
    defined_tags Mapping[str, Any]
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeform_tags Mapping[str, Any]
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instance_details core.InstanceConfigurationInstanceDetailsArgs
    instance_id str
    The OCID of the instance to use to create the instance configuration.
    source str

    The source of the instance configuration. An instance configuration defines the settings to use when creating Compute instances, including details such as the base image, shape, and metadata. You can also specify the associated resources for the instance, such as block volume attachments and network configuration.

    When you create an instance configuration using an existing instance as a template, the instance configuration does not include any information from the source instance's boot volume, such as installed applications, binaries, and files on the instance. It also does not include the contents of any block volumes that are attached to the instance.

    To create an instance configuration that includes the custom setup from an instance's boot volume, you must first create a custom image from the instance (see CreateImage). Then, use the custom image to launch a new instance (see LaunchInstance). Finally, create the instance configuration based on the instance that you created from the custom image.

    To include block volume contents with an instance configuration, first create a backup of the attached block volumes (see CreateVolumeBackup). Then, create the instance configuration by specifying the list of settings, using InstanceConfigurationVolumeSourceFromVolumeBackupDetails to include the block volume backups in the list of settings.

    The following values are supported:

    time_created str
    The date and time the instance configuration was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    deferredFields List<String>
    Parameters that were not specified when the instance configuration was created, but that are required to launch an instance from the instance configuration. See the LaunchInstanceConfiguration operation.
    definedTags Map<Any>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<Any>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instanceDetails Property Map
    instanceId String
    The OCID of the instance to use to create the instance configuration.
    source String

    The source of the instance configuration. An instance configuration defines the settings to use when creating Compute instances, including details such as the base image, shape, and metadata. You can also specify the associated resources for the instance, such as block volume attachments and network configuration.

    When you create an instance configuration using an existing instance as a template, the instance configuration does not include any information from the source instance's boot volume, such as installed applications, binaries, and files on the instance. It also does not include the contents of any block volumes that are attached to the instance.

    To create an instance configuration that includes the custom setup from an instance's boot volume, you must first create a custom image from the instance (see CreateImage). Then, use the custom image to launch a new instance (see LaunchInstance). Finally, create the instance configuration based on the instance that you created from the custom image.

    To include block volume contents with an instance configuration, first create a backup of the attached block volumes (see CreateVolumeBackup). Then, create the instance configuration by specifying the list of settings, using InstanceConfigurationVolumeSourceFromVolumeBackupDetails to include the block volume backups in the list of settings.

    The following values are supported:

    timeCreated String
    The date and time the instance configuration was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z

    Supporting Types

    InstanceConfigurationInstanceDetails, InstanceConfigurationInstanceDetailsArgs

    InstanceType string
    The type of instance details. Supported instanceType is compute
    BlockVolumes List<InstanceConfigurationInstanceDetailsBlockVolume>
    Block volume parameters.
    LaunchDetails InstanceConfigurationInstanceDetailsLaunchDetails

    Instance launch details for creating an instance from an instance configuration. Use the sourceDetails parameter to specify whether a boot volume or an image should be used to launch a new instance.

    See LaunchInstanceDetails for more information.

    Options List<InstanceConfigurationInstanceDetailsOption>
    Multiple Compute Instance Configuration instance details.
    SecondaryVnics List<InstanceConfigurationInstanceDetailsSecondaryVnic>
    Secondary VNIC parameters.
    InstanceType string
    The type of instance details. Supported instanceType is compute
    BlockVolumes []InstanceConfigurationInstanceDetailsBlockVolume
    Block volume parameters.
    LaunchDetails InstanceConfigurationInstanceDetailsLaunchDetails

    Instance launch details for creating an instance from an instance configuration. Use the sourceDetails parameter to specify whether a boot volume or an image should be used to launch a new instance.

    See LaunchInstanceDetails for more information.

    Options []InstanceConfigurationInstanceDetailsOption
    Multiple Compute Instance Configuration instance details.
    SecondaryVnics []InstanceConfigurationInstanceDetailsSecondaryVnic
    Secondary VNIC parameters.
    instanceType String
    The type of instance details. Supported instanceType is compute
    blockVolumes List<InstanceConfigurationInstanceDetailsBlockVolume>
    Block volume parameters.
    launchDetails InstanceConfigurationInstanceDetailsLaunchDetails

    Instance launch details for creating an instance from an instance configuration. Use the sourceDetails parameter to specify whether a boot volume or an image should be used to launch a new instance.

    See LaunchInstanceDetails for more information.

    options List<InstanceConfigurationInstanceDetailsOption>
    Multiple Compute Instance Configuration instance details.
    secondaryVnics List<InstanceConfigurationInstanceDetailsSecondaryVnic>
    Secondary VNIC parameters.
    instanceType string
    The type of instance details. Supported instanceType is compute
    blockVolumes InstanceConfigurationInstanceDetailsBlockVolume[]
    Block volume parameters.
    launchDetails InstanceConfigurationInstanceDetailsLaunchDetails

    Instance launch details for creating an instance from an instance configuration. Use the sourceDetails parameter to specify whether a boot volume or an image should be used to launch a new instance.

    See LaunchInstanceDetails for more information.

    options InstanceConfigurationInstanceDetailsOption[]
    Multiple Compute Instance Configuration instance details.
    secondaryVnics InstanceConfigurationInstanceDetailsSecondaryVnic[]
    Secondary VNIC parameters.
    instance_type str
    The type of instance details. Supported instanceType is compute
    block_volumes Sequence[core.InstanceConfigurationInstanceDetailsBlockVolume]
    Block volume parameters.
    launch_details core.InstanceConfigurationInstanceDetailsLaunchDetails

    Instance launch details for creating an instance from an instance configuration. Use the sourceDetails parameter to specify whether a boot volume or an image should be used to launch a new instance.

    See LaunchInstanceDetails for more information.

    options Sequence[core.InstanceConfigurationInstanceDetailsOption]
    Multiple Compute Instance Configuration instance details.
    secondary_vnics Sequence[core.InstanceConfigurationInstanceDetailsSecondaryVnic]
    Secondary VNIC parameters.
    instanceType String
    The type of instance details. Supported instanceType is compute
    blockVolumes List<Property Map>
    Block volume parameters.
    launchDetails Property Map

    Instance launch details for creating an instance from an instance configuration. Use the sourceDetails parameter to specify whether a boot volume or an image should be used to launch a new instance.

    See LaunchInstanceDetails for more information.

    options List<Property Map>
    Multiple Compute Instance Configuration instance details.
    secondaryVnics List<Property Map>
    Secondary VNIC parameters.

    InstanceConfigurationInstanceDetailsBlockVolume, InstanceConfigurationInstanceDetailsBlockVolumeArgs

    attachDetails Property Map
    Volume attachmentDetails. Please see AttachVolumeDetails
    createDetails Property Map
    Creates a new block volume. Please see CreateVolumeDetails
    volumeId String
    The OCID of the volume.

    InstanceConfigurationInstanceDetailsBlockVolumeAttachDetails, InstanceConfigurationInstanceDetailsBlockVolumeAttachDetailsArgs

    Type string
    The type of action to run when the instance is interrupted for eviction.
    Device string
    The device name.
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    IsPvEncryptionInTransitEnabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    IsReadOnly bool
    Whether the attachment should be created in read-only mode.
    IsShareable bool
    Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified.
    UseChap bool
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    Type string
    The type of action to run when the instance is interrupted for eviction.
    Device string
    The device name.
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    IsPvEncryptionInTransitEnabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    IsReadOnly bool
    Whether the attachment should be created in read-only mode.
    IsShareable bool
    Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified.
    UseChap bool
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    type String
    The type of action to run when the instance is interrupted for eviction.
    device String
    The device name.
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    isPvEncryptionInTransitEnabled Boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    isReadOnly Boolean
    Whether the attachment should be created in read-only mode.
    isShareable Boolean
    Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified.
    useChap Boolean
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    type string
    The type of action to run when the instance is interrupted for eviction.
    device string
    The device name.
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    isPvEncryptionInTransitEnabled boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    isReadOnly boolean
    Whether the attachment should be created in read-only mode.
    isShareable boolean
    Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified.
    useChap boolean
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    type str
    The type of action to run when the instance is interrupted for eviction.
    device str
    The device name.
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    is_pv_encryption_in_transit_enabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    is_read_only bool
    Whether the attachment should be created in read-only mode.
    is_shareable bool
    Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified.
    use_chap bool
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    type String
    The type of action to run when the instance is interrupted for eviction.
    device String
    The device name.
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    isPvEncryptionInTransitEnabled Boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    isReadOnly Boolean
    Whether the attachment should be created in read-only mode.
    isShareable Boolean
    Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified.
    useChap Boolean
    Whether to use CHAP authentication for the volume attachment. Defaults to false.

    InstanceConfigurationInstanceDetailsBlockVolumeCreateDetails, InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsArgs

    AutotunePolicies List<InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicy>
    The list of autotune policies enabled for this volume.
    AvailabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    BackupPolicyId string
    If provided, specifies the ID of the volume backup policy to assign to the newly created volume. If omitted, no policy will be assigned.
    BlockVolumeReplicas InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsBlockVolumeReplicas
    The list of block volume replicas to be enabled for this volume in the specified destination availability domains.
    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    DefinedTags Dictionary<string, object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags Dictionary<string, object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    IsAutoTuneEnabled bool
    Specifies whether the auto-tune performance is enabled for this boot volume. This field is deprecated. Use the InstanceConfigurationDetachedVolumeAutotunePolicy instead to enable the volume for detached autotune.
    KmsKeyId string
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    SizeInGbs string
    The size of the volume in GBs.
    SourceDetails InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsSourceDetails
    VpusPerGb string

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    AutotunePolicies []InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicy
    The list of autotune policies enabled for this volume.
    AvailabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    BackupPolicyId string
    If provided, specifies the ID of the volume backup policy to assign to the newly created volume. If omitted, no policy will be assigned.
    BlockVolumeReplicas InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsBlockVolumeReplicas
    The list of block volume replicas to be enabled for this volume in the specified destination availability domains.
    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    DefinedTags map[string]interface{}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags map[string]interface{}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    IsAutoTuneEnabled bool
    Specifies whether the auto-tune performance is enabled for this boot volume. This field is deprecated. Use the InstanceConfigurationDetachedVolumeAutotunePolicy instead to enable the volume for detached autotune.
    KmsKeyId string
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    SizeInGbs string
    The size of the volume in GBs.
    SourceDetails InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsSourceDetails
    VpusPerGb string

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    autotunePolicies List<InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicy>
    The list of autotune policies enabled for this volume.
    availabilityDomain String
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    backupPolicyId String
    If provided, specifies the ID of the volume backup policy to assign to the newly created volume. If omitted, no policy will be assigned.
    blockVolumeReplicas InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsBlockVolumeReplicas
    The list of block volume replicas to be enabled for this volume in the specified destination availability domains.
    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    definedTags Map<String,Object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<String,Object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    isAutoTuneEnabled Boolean
    Specifies whether the auto-tune performance is enabled for this boot volume. This field is deprecated. Use the InstanceConfigurationDetachedVolumeAutotunePolicy instead to enable the volume for detached autotune.
    kmsKeyId String
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    sizeInGbs String
    The size of the volume in GBs.
    sourceDetails InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsSourceDetails
    vpusPerGb String

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    autotunePolicies InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicy[]
    The list of autotune policies enabled for this volume.
    availabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    backupPolicyId string
    If provided, specifies the ID of the volume backup policy to assign to the newly created volume. If omitted, no policy will be assigned.
    blockVolumeReplicas InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsBlockVolumeReplicas
    The list of block volume replicas to be enabled for this volume in the specified destination availability domains.
    compartmentId string
    (Updatable) The OCID of the compartment containing images to search
    definedTags {[key: string]: any}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags {[key: string]: any}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    isAutoTuneEnabled boolean
    Specifies whether the auto-tune performance is enabled for this boot volume. This field is deprecated. Use the InstanceConfigurationDetachedVolumeAutotunePolicy instead to enable the volume for detached autotune.
    kmsKeyId string
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    sizeInGbs string
    The size of the volume in GBs.
    sourceDetails InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsSourceDetails
    vpusPerGb string

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    autotune_policies Sequence[core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicy]
    The list of autotune policies enabled for this volume.
    availability_domain str
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    backup_policy_id str
    If provided, specifies the ID of the volume backup policy to assign to the newly created volume. If omitted, no policy will be assigned.
    block_volume_replicas core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsBlockVolumeReplicas
    The list of block volume replicas to be enabled for this volume in the specified destination availability domains.
    compartment_id str
    (Updatable) The OCID of the compartment containing images to search
    defined_tags Mapping[str, Any]
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeform_tags Mapping[str, Any]
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    is_auto_tune_enabled bool
    Specifies whether the auto-tune performance is enabled for this boot volume. This field is deprecated. Use the InstanceConfigurationDetachedVolumeAutotunePolicy instead to enable the volume for detached autotune.
    kms_key_id str
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    size_in_gbs str
    The size of the volume in GBs.
    source_details core.InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsSourceDetails
    vpus_per_gb str

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    autotunePolicies List<Property Map>
    The list of autotune policies enabled for this volume.
    availabilityDomain String
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    backupPolicyId String
    If provided, specifies the ID of the volume backup policy to assign to the newly created volume. If omitted, no policy will be assigned.
    blockVolumeReplicas Property Map
    The list of block volume replicas to be enabled for this volume in the specified destination availability domains.
    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    definedTags Map<Any>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<Any>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    isAutoTuneEnabled Boolean
    Specifies whether the auto-tune performance is enabled for this boot volume. This field is deprecated. Use the InstanceConfigurationDetachedVolumeAutotunePolicy instead to enable the volume for detached autotune.
    kmsKeyId String
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    sizeInGbs String
    The size of the volume in GBs.
    sourceDetails Property Map
    vpusPerGb String

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicy, InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsAutotunePolicyArgs

    AutotuneType string
    This specifies the type of autotunes supported by OCI.
    MaxVpusPerGb string
    This will be the maximum VPUs/GB performance level that the volume will be auto-tuned temporarily based on performance monitoring.
    AutotuneType string
    This specifies the type of autotunes supported by OCI.
    MaxVpusPerGb string
    This will be the maximum VPUs/GB performance level that the volume will be auto-tuned temporarily based on performance monitoring.
    autotuneType String
    This specifies the type of autotunes supported by OCI.
    maxVpusPerGb String
    This will be the maximum VPUs/GB performance level that the volume will be auto-tuned temporarily based on performance monitoring.
    autotuneType string
    This specifies the type of autotunes supported by OCI.
    maxVpusPerGb string
    This will be the maximum VPUs/GB performance level that the volume will be auto-tuned temporarily based on performance monitoring.
    autotune_type str
    This specifies the type of autotunes supported by OCI.
    max_vpus_per_gb str
    This will be the maximum VPUs/GB performance level that the volume will be auto-tuned temporarily based on performance monitoring.
    autotuneType String
    This specifies the type of autotunes supported by OCI.
    maxVpusPerGb String
    This will be the maximum VPUs/GB performance level that the volume will be auto-tuned temporarily based on performance monitoring.

    InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsBlockVolumeReplicas, InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsBlockVolumeReplicasArgs

    AvailabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    AvailabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    availabilityDomain String
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    availabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    availability_domain str
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    availabilityDomain String
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.

    InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsSourceDetails, InstanceConfigurationInstanceDetailsBlockVolumeCreateDetailsSourceDetailsArgs

    Type string
    The type of action to run when the instance is interrupted for eviction.
    Id string
    The OCID of the volume backup.
    Type string
    The type of action to run when the instance is interrupted for eviction.
    Id string
    The OCID of the volume backup.
    type String
    The type of action to run when the instance is interrupted for eviction.
    id String
    The OCID of the volume backup.
    type string
    The type of action to run when the instance is interrupted for eviction.
    id string
    The OCID of the volume backup.
    type str
    The type of action to run when the instance is interrupted for eviction.
    id str
    The OCID of the volume backup.
    type String
    The type of action to run when the instance is interrupted for eviction.
    id String
    The OCID of the volume backup.

    InstanceConfigurationInstanceDetailsLaunchDetails, InstanceConfigurationInstanceDetailsLaunchDetailsArgs

    AgentConfig InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfig
    Configuration options for the Oracle Cloud Agent software running on the instance.
    AvailabilityConfig InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfig
    Options for defining the availabiity of a VM instance after a maintenance event that impacts the underlying hardware.
    AvailabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    CapacityReservationId string
    The OCID of the compute capacity reservation this instance is launched under.
    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    CreateVnicDetails InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    DedicatedVmHostId string

    The OCID of the dedicated virtual machine host to place the instance on.

    Dedicated VM hosts can be used when launching individual instances from an instance configuration. They cannot be used to launch instance pools.

    DefinedTags Dictionary<string, object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    ExtendedMetadata Dictionary<string, object>

    Additional metadata key/value pairs that you provide. They serve the same purpose and functionality as fields in the metadata object.

    They are distinguished from metadata fields in that these can be nested JSON objects (whereas metadata fields are string/string maps only).

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    FaultDomain string

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain contains three fault domains. Fault domains let you distribute your instances so that they are not on the same physical hardware within a single availability domain. A hardware failure or Compute hardware maintenance that affects one fault domain does not affect instances in other fault domains.

    If you do not specify the fault domain, the system selects one for you.

    To get a list of fault domains, use the ListFaultDomains operation in the Identity and Access Management Service API.

    Example: FAULT-DOMAIN-1

    FreeformTags Dictionary<string, object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    InstanceOptions InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptions
    Optional mutable instance options. As a part of Instance Metadata Service Security Header, This allows user to disable the legacy imds endpoints.
    IpxeScript string

    This is an advanced option.

    When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.

    If you want more control over the boot process, you can provide your own custom iPXE script that will run when the instance boots; however, you should be aware that the same iPXE script will run every time an instance boots; not only after the initial LaunchInstance call.

    The default iPXE script connects to the instance's local boot volume over iSCSI and performs a network boot. If you use a custom iPXE script and want to network-boot from the instance's local boot volume over iSCSI the same way as the default iPXE script, you should use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    For more information about the Bring Your Own Image feature of Oracle Cloud Infrastructure, see Bring Your Own Image.

    For more information about iPXE, see http://ipxe.org.

    IsPvEncryptionInTransitEnabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    LaunchMode string
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:
    LaunchOptions InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptions
    Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    Metadata Dictionary<string, object>

    Custom metadata key/value pairs that you provide, such as the SSH public key required to connect to the instance.

    A metadata service runs on every launched instance. The service is an HTTP endpoint listening on 169.254.169.254. You can use the service to:

    • Provide information to Cloud-Init to be used for various system initialization tasks.
    • Get information about the instance, including the custom metadata that you provide when you launch the instance.

    Providing Cloud-Init Metadata

    You can use the following metadata key names to provide information to Cloud-Init:

    "ssh_authorized_keys" - Provide one or more public SSH keys to be included in the ~/.ssh/authorized_keys file for the default user on the instance. Use a newline character to separate multiple keys. The SSH keys must be in the format necessary for the authorized_keys file, as shown in the example below.

    "user_data" - Provide your own base64-encoded data to be used by Cloud-Init to run custom scripts or provide custom Cloud-Init configuration. For information about how to take advantage of user data, see the Cloud-Init Documentation.

    Metadata Example

    "metadata" : { "quake_bot_level" : "Severe", "ssh_authorized_keys" : "ssh-rsa <your_public_SSH_key>== rsa-key-20160227", "user_data" : "<your_public_SSH_key>==" } Getting Metadata on the Instance

    To get information about your instance, connect to the instance using SSH and issue any of the following GET requests:

    curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/

    You'll get back a response that includes all the instance information; only the metadata information; or the metadata information for the specified key name, respectively.

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    PlatformConfig InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfig

    The platform configuration requested for the instance.

    If you provide the parameter, the instance is created with the platform configuration that you specify. For any values that you omit, the instance uses the default configuration values for the shape that you specify. If you don't provide the parameter, the default values for the shape are used.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    PreemptibleInstanceConfig InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfig
    Configuration options for preemptible instances.
    PreferredMaintenanceAction string
    The preferred maintenance action for an instance. The default is LIVE_MIGRATE, if live migration is supported.
    Shape string

    The shape of an instance. The shape determines the number of CPUs, amount of memory, and other resources allocated to the instance.

    You can enumerate all available shapes by calling ListShapes.

    ShapeConfig InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfig

    The shape configuration requested for the instance.

    If the parameter is provided, the instance is created with the resources that you specify. If some properties are missing or the entire parameter is not provided, the instance is created with the default configuration values for the shape that you specify.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    SourceDetails InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetails
    AgentConfig InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfig
    Configuration options for the Oracle Cloud Agent software running on the instance.
    AvailabilityConfig InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfig
    Options for defining the availabiity of a VM instance after a maintenance event that impacts the underlying hardware.
    AvailabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    CapacityReservationId string
    The OCID of the compute capacity reservation this instance is launched under.
    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    CreateVnicDetails InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    DedicatedVmHostId string

    The OCID of the dedicated virtual machine host to place the instance on.

    Dedicated VM hosts can be used when launching individual instances from an instance configuration. They cannot be used to launch instance pools.

    DefinedTags map[string]interface{}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    ExtendedMetadata map[string]interface{}

    Additional metadata key/value pairs that you provide. They serve the same purpose and functionality as fields in the metadata object.

    They are distinguished from metadata fields in that these can be nested JSON objects (whereas metadata fields are string/string maps only).

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    FaultDomain string

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain contains three fault domains. Fault domains let you distribute your instances so that they are not on the same physical hardware within a single availability domain. A hardware failure or Compute hardware maintenance that affects one fault domain does not affect instances in other fault domains.

    If you do not specify the fault domain, the system selects one for you.

    To get a list of fault domains, use the ListFaultDomains operation in the Identity and Access Management Service API.

    Example: FAULT-DOMAIN-1

    FreeformTags map[string]interface{}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    InstanceOptions InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptions
    Optional mutable instance options. As a part of Instance Metadata Service Security Header, This allows user to disable the legacy imds endpoints.
    IpxeScript string

    This is an advanced option.

    When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.

    If you want more control over the boot process, you can provide your own custom iPXE script that will run when the instance boots; however, you should be aware that the same iPXE script will run every time an instance boots; not only after the initial LaunchInstance call.

    The default iPXE script connects to the instance's local boot volume over iSCSI and performs a network boot. If you use a custom iPXE script and want to network-boot from the instance's local boot volume over iSCSI the same way as the default iPXE script, you should use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    For more information about the Bring Your Own Image feature of Oracle Cloud Infrastructure, see Bring Your Own Image.

    For more information about iPXE, see http://ipxe.org.

    IsPvEncryptionInTransitEnabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    LaunchMode string
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:
    LaunchOptions InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptions
    Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    Metadata map[string]interface{}

    Custom metadata key/value pairs that you provide, such as the SSH public key required to connect to the instance.

    A metadata service runs on every launched instance. The service is an HTTP endpoint listening on 169.254.169.254. You can use the service to:

    • Provide information to Cloud-Init to be used for various system initialization tasks.
    • Get information about the instance, including the custom metadata that you provide when you launch the instance.

    Providing Cloud-Init Metadata

    You can use the following metadata key names to provide information to Cloud-Init:

    "ssh_authorized_keys" - Provide one or more public SSH keys to be included in the ~/.ssh/authorized_keys file for the default user on the instance. Use a newline character to separate multiple keys. The SSH keys must be in the format necessary for the authorized_keys file, as shown in the example below.

    "user_data" - Provide your own base64-encoded data to be used by Cloud-Init to run custom scripts or provide custom Cloud-Init configuration. For information about how to take advantage of user data, see the Cloud-Init Documentation.

    Metadata Example

    "metadata" : { "quake_bot_level" : "Severe", "ssh_authorized_keys" : "ssh-rsa <your_public_SSH_key>== rsa-key-20160227", "user_data" : "<your_public_SSH_key>==" } Getting Metadata on the Instance

    To get information about your instance, connect to the instance using SSH and issue any of the following GET requests:

    curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/

    You'll get back a response that includes all the instance information; only the metadata information; or the metadata information for the specified key name, respectively.

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    PlatformConfig InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfig

    The platform configuration requested for the instance.

    If you provide the parameter, the instance is created with the platform configuration that you specify. For any values that you omit, the instance uses the default configuration values for the shape that you specify. If you don't provide the parameter, the default values for the shape are used.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    PreemptibleInstanceConfig InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfig
    Configuration options for preemptible instances.
    PreferredMaintenanceAction string
    The preferred maintenance action for an instance. The default is LIVE_MIGRATE, if live migration is supported.
    Shape string

    The shape of an instance. The shape determines the number of CPUs, amount of memory, and other resources allocated to the instance.

    You can enumerate all available shapes by calling ListShapes.

    ShapeConfig InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfig

    The shape configuration requested for the instance.

    If the parameter is provided, the instance is created with the resources that you specify. If some properties are missing or the entire parameter is not provided, the instance is created with the default configuration values for the shape that you specify.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    SourceDetails InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetails
    agentConfig InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfig
    Configuration options for the Oracle Cloud Agent software running on the instance.
    availabilityConfig InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfig
    Options for defining the availabiity of a VM instance after a maintenance event that impacts the underlying hardware.
    availabilityDomain String
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    capacityReservationId String
    The OCID of the compute capacity reservation this instance is launched under.
    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    createVnicDetails InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    dedicatedVmHostId String

    The OCID of the dedicated virtual machine host to place the instance on.

    Dedicated VM hosts can be used when launching individual instances from an instance configuration. They cannot be used to launch instance pools.

    definedTags Map<String,Object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extendedMetadata Map<String,Object>

    Additional metadata key/value pairs that you provide. They serve the same purpose and functionality as fields in the metadata object.

    They are distinguished from metadata fields in that these can be nested JSON objects (whereas metadata fields are string/string maps only).

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    faultDomain String

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain contains three fault domains. Fault domains let you distribute your instances so that they are not on the same physical hardware within a single availability domain. A hardware failure or Compute hardware maintenance that affects one fault domain does not affect instances in other fault domains.

    If you do not specify the fault domain, the system selects one for you.

    To get a list of fault domains, use the ListFaultDomains operation in the Identity and Access Management Service API.

    Example: FAULT-DOMAIN-1

    freeformTags Map<String,Object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instanceOptions InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptions
    Optional mutable instance options. As a part of Instance Metadata Service Security Header, This allows user to disable the legacy imds endpoints.
    ipxeScript String

    This is an advanced option.

    When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.

    If you want more control over the boot process, you can provide your own custom iPXE script that will run when the instance boots; however, you should be aware that the same iPXE script will run every time an instance boots; not only after the initial LaunchInstance call.

    The default iPXE script connects to the instance's local boot volume over iSCSI and performs a network boot. If you use a custom iPXE script and want to network-boot from the instance's local boot volume over iSCSI the same way as the default iPXE script, you should use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    For more information about the Bring Your Own Image feature of Oracle Cloud Infrastructure, see Bring Your Own Image.

    For more information about iPXE, see http://ipxe.org.

    isPvEncryptionInTransitEnabled Boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    launchMode String
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:
    launchOptions InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptions
    Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    metadata Map<String,Object>

    Custom metadata key/value pairs that you provide, such as the SSH public key required to connect to the instance.

    A metadata service runs on every launched instance. The service is an HTTP endpoint listening on 169.254.169.254. You can use the service to:

    • Provide information to Cloud-Init to be used for various system initialization tasks.
    • Get information about the instance, including the custom metadata that you provide when you launch the instance.

    Providing Cloud-Init Metadata

    You can use the following metadata key names to provide information to Cloud-Init:

    "ssh_authorized_keys" - Provide one or more public SSH keys to be included in the ~/.ssh/authorized_keys file for the default user on the instance. Use a newline character to separate multiple keys. The SSH keys must be in the format necessary for the authorized_keys file, as shown in the example below.

    "user_data" - Provide your own base64-encoded data to be used by Cloud-Init to run custom scripts or provide custom Cloud-Init configuration. For information about how to take advantage of user data, see the Cloud-Init Documentation.

    Metadata Example

    "metadata" : { "quake_bot_level" : "Severe", "ssh_authorized_keys" : "ssh-rsa <your_public_SSH_key>== rsa-key-20160227", "user_data" : "<your_public_SSH_key>==" } Getting Metadata on the Instance

    To get information about your instance, connect to the instance using SSH and issue any of the following GET requests:

    curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/

    You'll get back a response that includes all the instance information; only the metadata information; or the metadata information for the specified key name, respectively.

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    platformConfig InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfig

    The platform configuration requested for the instance.

    If you provide the parameter, the instance is created with the platform configuration that you specify. For any values that you omit, the instance uses the default configuration values for the shape that you specify. If you don't provide the parameter, the default values for the shape are used.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    preemptibleInstanceConfig InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfig
    Configuration options for preemptible instances.
    preferredMaintenanceAction String
    The preferred maintenance action for an instance. The default is LIVE_MIGRATE, if live migration is supported.
    shape String

    The shape of an instance. The shape determines the number of CPUs, amount of memory, and other resources allocated to the instance.

    You can enumerate all available shapes by calling ListShapes.

    shapeConfig InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfig

    The shape configuration requested for the instance.

    If the parameter is provided, the instance is created with the resources that you specify. If some properties are missing or the entire parameter is not provided, the instance is created with the default configuration values for the shape that you specify.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    sourceDetails InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetails
    agentConfig InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfig
    Configuration options for the Oracle Cloud Agent software running on the instance.
    availabilityConfig InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfig
    Options for defining the availabiity of a VM instance after a maintenance event that impacts the underlying hardware.
    availabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    capacityReservationId string
    The OCID of the compute capacity reservation this instance is launched under.
    compartmentId string
    (Updatable) The OCID of the compartment containing images to search
    createVnicDetails InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    dedicatedVmHostId string

    The OCID of the dedicated virtual machine host to place the instance on.

    Dedicated VM hosts can be used when launching individual instances from an instance configuration. They cannot be used to launch instance pools.

    definedTags {[key: string]: any}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extendedMetadata {[key: string]: any}

    Additional metadata key/value pairs that you provide. They serve the same purpose and functionality as fields in the metadata object.

    They are distinguished from metadata fields in that these can be nested JSON objects (whereas metadata fields are string/string maps only).

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    faultDomain string

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain contains three fault domains. Fault domains let you distribute your instances so that they are not on the same physical hardware within a single availability domain. A hardware failure or Compute hardware maintenance that affects one fault domain does not affect instances in other fault domains.

    If you do not specify the fault domain, the system selects one for you.

    To get a list of fault domains, use the ListFaultDomains operation in the Identity and Access Management Service API.

    Example: FAULT-DOMAIN-1

    freeformTags {[key: string]: any}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instanceOptions InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptions
    Optional mutable instance options. As a part of Instance Metadata Service Security Header, This allows user to disable the legacy imds endpoints.
    ipxeScript string

    This is an advanced option.

    When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.

    If you want more control over the boot process, you can provide your own custom iPXE script that will run when the instance boots; however, you should be aware that the same iPXE script will run every time an instance boots; not only after the initial LaunchInstance call.

    The default iPXE script connects to the instance's local boot volume over iSCSI and performs a network boot. If you use a custom iPXE script and want to network-boot from the instance's local boot volume over iSCSI the same way as the default iPXE script, you should use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    For more information about the Bring Your Own Image feature of Oracle Cloud Infrastructure, see Bring Your Own Image.

    For more information about iPXE, see http://ipxe.org.

    isPvEncryptionInTransitEnabled boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    launchMode string
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:
    launchOptions InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptions
    Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    metadata {[key: string]: any}

    Custom metadata key/value pairs that you provide, such as the SSH public key required to connect to the instance.

    A metadata service runs on every launched instance. The service is an HTTP endpoint listening on 169.254.169.254. You can use the service to:

    • Provide information to Cloud-Init to be used for various system initialization tasks.
    • Get information about the instance, including the custom metadata that you provide when you launch the instance.

    Providing Cloud-Init Metadata

    You can use the following metadata key names to provide information to Cloud-Init:

    "ssh_authorized_keys" - Provide one or more public SSH keys to be included in the ~/.ssh/authorized_keys file for the default user on the instance. Use a newline character to separate multiple keys. The SSH keys must be in the format necessary for the authorized_keys file, as shown in the example below.

    "user_data" - Provide your own base64-encoded data to be used by Cloud-Init to run custom scripts or provide custom Cloud-Init configuration. For information about how to take advantage of user data, see the Cloud-Init Documentation.

    Metadata Example

    "metadata" : { "quake_bot_level" : "Severe", "ssh_authorized_keys" : "ssh-rsa <your_public_SSH_key>== rsa-key-20160227", "user_data" : "<your_public_SSH_key>==" } Getting Metadata on the Instance

    To get information about your instance, connect to the instance using SSH and issue any of the following GET requests:

    curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/

    You'll get back a response that includes all the instance information; only the metadata information; or the metadata information for the specified key name, respectively.

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    platformConfig InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfig

    The platform configuration requested for the instance.

    If you provide the parameter, the instance is created with the platform configuration that you specify. For any values that you omit, the instance uses the default configuration values for the shape that you specify. If you don't provide the parameter, the default values for the shape are used.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    preemptibleInstanceConfig InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfig
    Configuration options for preemptible instances.
    preferredMaintenanceAction string
    The preferred maintenance action for an instance. The default is LIVE_MIGRATE, if live migration is supported.
    shape string

    The shape of an instance. The shape determines the number of CPUs, amount of memory, and other resources allocated to the instance.

    You can enumerate all available shapes by calling ListShapes.

    shapeConfig InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfig

    The shape configuration requested for the instance.

    If the parameter is provided, the instance is created with the resources that you specify. If some properties are missing or the entire parameter is not provided, the instance is created with the default configuration values for the shape that you specify.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    sourceDetails InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetails
    agent_config core.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfig
    Configuration options for the Oracle Cloud Agent software running on the instance.
    availability_config core.InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfig
    Options for defining the availabiity of a VM instance after a maintenance event that impacts the underlying hardware.
    availability_domain str
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    capacity_reservation_id str
    The OCID of the compute capacity reservation this instance is launched under.
    compartment_id str
    (Updatable) The OCID of the compartment containing images to search
    create_vnic_details core.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    dedicated_vm_host_id str

    The OCID of the dedicated virtual machine host to place the instance on.

    Dedicated VM hosts can be used when launching individual instances from an instance configuration. They cannot be used to launch instance pools.

    defined_tags Mapping[str, Any]
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extended_metadata Mapping[str, Any]

    Additional metadata key/value pairs that you provide. They serve the same purpose and functionality as fields in the metadata object.

    They are distinguished from metadata fields in that these can be nested JSON objects (whereas metadata fields are string/string maps only).

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    fault_domain str

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain contains three fault domains. Fault domains let you distribute your instances so that they are not on the same physical hardware within a single availability domain. A hardware failure or Compute hardware maintenance that affects one fault domain does not affect instances in other fault domains.

    If you do not specify the fault domain, the system selects one for you.

    To get a list of fault domains, use the ListFaultDomains operation in the Identity and Access Management Service API.

    Example: FAULT-DOMAIN-1

    freeform_tags Mapping[str, Any]
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instance_options core.InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptions
    Optional mutable instance options. As a part of Instance Metadata Service Security Header, This allows user to disable the legacy imds endpoints.
    ipxe_script str

    This is an advanced option.

    When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.

    If you want more control over the boot process, you can provide your own custom iPXE script that will run when the instance boots; however, you should be aware that the same iPXE script will run every time an instance boots; not only after the initial LaunchInstance call.

    The default iPXE script connects to the instance's local boot volume over iSCSI and performs a network boot. If you use a custom iPXE script and want to network-boot from the instance's local boot volume over iSCSI the same way as the default iPXE script, you should use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    For more information about the Bring Your Own Image feature of Oracle Cloud Infrastructure, see Bring Your Own Image.

    For more information about iPXE, see http://ipxe.org.

    is_pv_encryption_in_transit_enabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    launch_mode str
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:
    launch_options core.InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptions
    Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    metadata Mapping[str, Any]

    Custom metadata key/value pairs that you provide, such as the SSH public key required to connect to the instance.

    A metadata service runs on every launched instance. The service is an HTTP endpoint listening on 169.254.169.254. You can use the service to:

    • Provide information to Cloud-Init to be used for various system initialization tasks.
    • Get information about the instance, including the custom metadata that you provide when you launch the instance.

    Providing Cloud-Init Metadata

    You can use the following metadata key names to provide information to Cloud-Init:

    "ssh_authorized_keys" - Provide one or more public SSH keys to be included in the ~/.ssh/authorized_keys file for the default user on the instance. Use a newline character to separate multiple keys. The SSH keys must be in the format necessary for the authorized_keys file, as shown in the example below.

    "user_data" - Provide your own base64-encoded data to be used by Cloud-Init to run custom scripts or provide custom Cloud-Init configuration. For information about how to take advantage of user data, see the Cloud-Init Documentation.

    Metadata Example

    "metadata" : { "quake_bot_level" : "Severe", "ssh_authorized_keys" : "ssh-rsa <your_public_SSH_key>== rsa-key-20160227", "user_data" : "<your_public_SSH_key>==" } Getting Metadata on the Instance

    To get information about your instance, connect to the instance using SSH and issue any of the following GET requests:

    curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/

    You'll get back a response that includes all the instance information; only the metadata information; or the metadata information for the specified key name, respectively.

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    platform_config core.InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfig

    The platform configuration requested for the instance.

    If you provide the parameter, the instance is created with the platform configuration that you specify. For any values that you omit, the instance uses the default configuration values for the shape that you specify. If you don't provide the parameter, the default values for the shape are used.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    preemptible_instance_config core.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfig
    Configuration options for preemptible instances.
    preferred_maintenance_action str
    The preferred maintenance action for an instance. The default is LIVE_MIGRATE, if live migration is supported.
    shape str

    The shape of an instance. The shape determines the number of CPUs, amount of memory, and other resources allocated to the instance.

    You can enumerate all available shapes by calling ListShapes.

    shape_config core.InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfig

    The shape configuration requested for the instance.

    If the parameter is provided, the instance is created with the resources that you specify. If some properties are missing or the entire parameter is not provided, the instance is created with the default configuration values for the shape that you specify.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    source_details core.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetails
    agentConfig Property Map
    Configuration options for the Oracle Cloud Agent software running on the instance.
    availabilityConfig Property Map
    Options for defining the availabiity of a VM instance after a maintenance event that impacts the underlying hardware.
    availabilityDomain String
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    capacityReservationId String
    The OCID of the compute capacity reservation this instance is launched under.
    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    createVnicDetails Property Map
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    dedicatedVmHostId String

    The OCID of the dedicated virtual machine host to place the instance on.

    Dedicated VM hosts can be used when launching individual instances from an instance configuration. They cannot be used to launch instance pools.

    definedTags Map<Any>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extendedMetadata Map<Any>

    Additional metadata key/value pairs that you provide. They serve the same purpose and functionality as fields in the metadata object.

    They are distinguished from metadata fields in that these can be nested JSON objects (whereas metadata fields are string/string maps only).

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    faultDomain String

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain contains three fault domains. Fault domains let you distribute your instances so that they are not on the same physical hardware within a single availability domain. A hardware failure or Compute hardware maintenance that affects one fault domain does not affect instances in other fault domains.

    If you do not specify the fault domain, the system selects one for you.

    To get a list of fault domains, use the ListFaultDomains operation in the Identity and Access Management Service API.

    Example: FAULT-DOMAIN-1

    freeformTags Map<Any>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instanceOptions Property Map
    Optional mutable instance options. As a part of Instance Metadata Service Security Header, This allows user to disable the legacy imds endpoints.
    ipxeScript String

    This is an advanced option.

    When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.

    If you want more control over the boot process, you can provide your own custom iPXE script that will run when the instance boots; however, you should be aware that the same iPXE script will run every time an instance boots; not only after the initial LaunchInstance call.

    The default iPXE script connects to the instance's local boot volume over iSCSI and performs a network boot. If you use a custom iPXE script and want to network-boot from the instance's local boot volume over iSCSI the same way as the default iPXE script, you should use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    For more information about the Bring Your Own Image feature of Oracle Cloud Infrastructure, see Bring Your Own Image.

    For more information about iPXE, see http://ipxe.org.

    isPvEncryptionInTransitEnabled Boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    launchMode String
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:
    launchOptions Property Map
    Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    metadata Map<Any>

    Custom metadata key/value pairs that you provide, such as the SSH public key required to connect to the instance.

    A metadata service runs on every launched instance. The service is an HTTP endpoint listening on 169.254.169.254. You can use the service to:

    • Provide information to Cloud-Init to be used for various system initialization tasks.
    • Get information about the instance, including the custom metadata that you provide when you launch the instance.

    Providing Cloud-Init Metadata

    You can use the following metadata key names to provide information to Cloud-Init:

    "ssh_authorized_keys" - Provide one or more public SSH keys to be included in the ~/.ssh/authorized_keys file for the default user on the instance. Use a newline character to separate multiple keys. The SSH keys must be in the format necessary for the authorized_keys file, as shown in the example below.

    "user_data" - Provide your own base64-encoded data to be used by Cloud-Init to run custom scripts or provide custom Cloud-Init configuration. For information about how to take advantage of user data, see the Cloud-Init Documentation.

    Metadata Example

    "metadata" : { "quake_bot_level" : "Severe", "ssh_authorized_keys" : "ssh-rsa <your_public_SSH_key>== rsa-key-20160227", "user_data" : "<your_public_SSH_key>==" } Getting Metadata on the Instance

    To get information about your instance, connect to the instance using SSH and issue any of the following GET requests:

    curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/

    You'll get back a response that includes all the instance information; only the metadata information; or the metadata information for the specified key name, respectively.

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    platformConfig Property Map

    The platform configuration requested for the instance.

    If you provide the parameter, the instance is created with the platform configuration that you specify. For any values that you omit, the instance uses the default configuration values for the shape that you specify. If you don't provide the parameter, the default values for the shape are used.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    preemptibleInstanceConfig Property Map
    Configuration options for preemptible instances.
    preferredMaintenanceAction String
    The preferred maintenance action for an instance. The default is LIVE_MIGRATE, if live migration is supported.
    shape String

    The shape of an instance. The shape determines the number of CPUs, amount of memory, and other resources allocated to the instance.

    You can enumerate all available shapes by calling ListShapes.

    shapeConfig Property Map

    The shape configuration requested for the instance.

    If the parameter is provided, the instance is created with the resources that you specify. If some properties are missing or the entire parameter is not provided, the instance is created with the default configuration values for the shape that you specify.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    sourceDetails Property Map

    InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfig, InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigArgs

    AreAllPluginsDisabled bool

    Whether Oracle Cloud Agent can run all the available plugins. This includes the management and monitoring plugins.

    To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.

    IsManagementDisabled bool

    Whether Oracle Cloud Agent can run all the available management plugins. Default value is false (management plugins are enabled).

    These are the management plugins: OS Management Service Agent and Compute Instance Run Command.

    The management plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isManagementDisabled is true, all of the management plugins are disabled, regardless of the per-plugin configuration.
    • If isManagementDisabled is false, all of the management plugins are enabled. You can optionally disable individual management plugins by providing a value in the pluginsConfig object.
    IsMonitoringDisabled bool

    Whether Oracle Cloud Agent can gather performance metrics and monitor the instance using the monitoring plugins. Default value is false (monitoring plugins are enabled).

    These are the monitoring plugins: Compute Instance Monitoring and Custom Logs Monitoring.

    The monitoring plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isMonitoringDisabled is true, all of the monitoring plugins are disabled, regardless of the per-plugin configuration.
    • If isMonitoringDisabled is false, all of the monitoring plugins are enabled. You can optionally disable individual monitoring plugins by providing a value in the pluginsConfig object.
    PluginsConfigs List<InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfig>
    The configuration of plugins associated with this instance.
    AreAllPluginsDisabled bool

    Whether Oracle Cloud Agent can run all the available plugins. This includes the management and monitoring plugins.

    To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.

    IsManagementDisabled bool

    Whether Oracle Cloud Agent can run all the available management plugins. Default value is false (management plugins are enabled).

    These are the management plugins: OS Management Service Agent and Compute Instance Run Command.

    The management plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isManagementDisabled is true, all of the management plugins are disabled, regardless of the per-plugin configuration.
    • If isManagementDisabled is false, all of the management plugins are enabled. You can optionally disable individual management plugins by providing a value in the pluginsConfig object.
    IsMonitoringDisabled bool

    Whether Oracle Cloud Agent can gather performance metrics and monitor the instance using the monitoring plugins. Default value is false (monitoring plugins are enabled).

    These are the monitoring plugins: Compute Instance Monitoring and Custom Logs Monitoring.

    The monitoring plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isMonitoringDisabled is true, all of the monitoring plugins are disabled, regardless of the per-plugin configuration.
    • If isMonitoringDisabled is false, all of the monitoring plugins are enabled. You can optionally disable individual monitoring plugins by providing a value in the pluginsConfig object.
    PluginsConfigs []InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfig
    The configuration of plugins associated with this instance.
    areAllPluginsDisabled Boolean

    Whether Oracle Cloud Agent can run all the available plugins. This includes the management and monitoring plugins.

    To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.

    isManagementDisabled Boolean

    Whether Oracle Cloud Agent can run all the available management plugins. Default value is false (management plugins are enabled).

    These are the management plugins: OS Management Service Agent and Compute Instance Run Command.

    The management plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isManagementDisabled is true, all of the management plugins are disabled, regardless of the per-plugin configuration.
    • If isManagementDisabled is false, all of the management plugins are enabled. You can optionally disable individual management plugins by providing a value in the pluginsConfig object.
    isMonitoringDisabled Boolean

    Whether Oracle Cloud Agent can gather performance metrics and monitor the instance using the monitoring plugins. Default value is false (monitoring plugins are enabled).

    These are the monitoring plugins: Compute Instance Monitoring and Custom Logs Monitoring.

    The monitoring plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isMonitoringDisabled is true, all of the monitoring plugins are disabled, regardless of the per-plugin configuration.
    • If isMonitoringDisabled is false, all of the monitoring plugins are enabled. You can optionally disable individual monitoring plugins by providing a value in the pluginsConfig object.
    pluginsConfigs List<InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfig>
    The configuration of plugins associated with this instance.
    areAllPluginsDisabled boolean

    Whether Oracle Cloud Agent can run all the available plugins. This includes the management and monitoring plugins.

    To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.

    isManagementDisabled boolean

    Whether Oracle Cloud Agent can run all the available management plugins. Default value is false (management plugins are enabled).

    These are the management plugins: OS Management Service Agent and Compute Instance Run Command.

    The management plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isManagementDisabled is true, all of the management plugins are disabled, regardless of the per-plugin configuration.
    • If isManagementDisabled is false, all of the management plugins are enabled. You can optionally disable individual management plugins by providing a value in the pluginsConfig object.
    isMonitoringDisabled boolean

    Whether Oracle Cloud Agent can gather performance metrics and monitor the instance using the monitoring plugins. Default value is false (monitoring plugins are enabled).

    These are the monitoring plugins: Compute Instance Monitoring and Custom Logs Monitoring.

    The monitoring plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isMonitoringDisabled is true, all of the monitoring plugins are disabled, regardless of the per-plugin configuration.
    • If isMonitoringDisabled is false, all of the monitoring plugins are enabled. You can optionally disable individual monitoring plugins by providing a value in the pluginsConfig object.
    pluginsConfigs InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfig[]
    The configuration of plugins associated with this instance.
    are_all_plugins_disabled bool

    Whether Oracle Cloud Agent can run all the available plugins. This includes the management and monitoring plugins.

    To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.

    is_management_disabled bool

    Whether Oracle Cloud Agent can run all the available management plugins. Default value is false (management plugins are enabled).

    These are the management plugins: OS Management Service Agent and Compute Instance Run Command.

    The management plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isManagementDisabled is true, all of the management plugins are disabled, regardless of the per-plugin configuration.
    • If isManagementDisabled is false, all of the management plugins are enabled. You can optionally disable individual management plugins by providing a value in the pluginsConfig object.
    is_monitoring_disabled bool

    Whether Oracle Cloud Agent can gather performance metrics and monitor the instance using the monitoring plugins. Default value is false (monitoring plugins are enabled).

    These are the monitoring plugins: Compute Instance Monitoring and Custom Logs Monitoring.

    The monitoring plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isMonitoringDisabled is true, all of the monitoring plugins are disabled, regardless of the per-plugin configuration.
    • If isMonitoringDisabled is false, all of the monitoring plugins are enabled. You can optionally disable individual monitoring plugins by providing a value in the pluginsConfig object.
    plugins_configs Sequence[core.InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfig]
    The configuration of plugins associated with this instance.
    areAllPluginsDisabled Boolean

    Whether Oracle Cloud Agent can run all the available plugins. This includes the management and monitoring plugins.

    To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.

    isManagementDisabled Boolean

    Whether Oracle Cloud Agent can run all the available management plugins. Default value is false (management plugins are enabled).

    These are the management plugins: OS Management Service Agent and Compute Instance Run Command.

    The management plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isManagementDisabled is true, all of the management plugins are disabled, regardless of the per-plugin configuration.
    • If isManagementDisabled is false, all of the management plugins are enabled. You can optionally disable individual management plugins by providing a value in the pluginsConfig object.
    isMonitoringDisabled Boolean

    Whether Oracle Cloud Agent can gather performance metrics and monitor the instance using the monitoring plugins. Default value is false (monitoring plugins are enabled).

    These are the monitoring plugins: Compute Instance Monitoring and Custom Logs Monitoring.

    The monitoring plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isMonitoringDisabled is true, all of the monitoring plugins are disabled, regardless of the per-plugin configuration.
    • If isMonitoringDisabled is false, all of the monitoring plugins are enabled. You can optionally disable individual monitoring plugins by providing a value in the pluginsConfig object.
    pluginsConfigs List<Property Map>
    The configuration of plugins associated with this instance.

    InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfig, InstanceConfigurationInstanceDetailsLaunchDetailsAgentConfigPluginsConfigArgs

    DesiredState string

    Whether the plugin should be enabled or disabled.

    To enable the monitoring and management plugins, the isMonitoringDisabled and isManagementDisabled attributes must also be set to false.

    Name string
    The plugin name. To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.
    DesiredState string

    Whether the plugin should be enabled or disabled.

    To enable the monitoring and management plugins, the isMonitoringDisabled and isManagementDisabled attributes must also be set to false.

    Name string
    The plugin name. To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.
    desiredState String

    Whether the plugin should be enabled or disabled.

    To enable the monitoring and management plugins, the isMonitoringDisabled and isManagementDisabled attributes must also be set to false.

    name String
    The plugin name. To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.
    desiredState string

    Whether the plugin should be enabled or disabled.

    To enable the monitoring and management plugins, the isMonitoringDisabled and isManagementDisabled attributes must also be set to false.

    name string
    The plugin name. To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.
    desired_state str

    Whether the plugin should be enabled or disabled.

    To enable the monitoring and management plugins, the isMonitoringDisabled and isManagementDisabled attributes must also be set to false.

    name str
    The plugin name. To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.
    desiredState String

    Whether the plugin should be enabled or disabled.

    To enable the monitoring and management plugins, the isMonitoringDisabled and isManagementDisabled attributes must also be set to false.

    name String
    The plugin name. To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.

    InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfig, InstanceConfigurationInstanceDetailsLaunchDetailsAvailabilityConfigArgs

    IsLiveMigrationPreferred bool
    Whether to live migrate supported VM instances to a healthy physical VM host without disrupting running instances during infrastructure maintenance events. If null, Oracle chooses the best option for migrating the VM during infrastructure maintenance events.
    RecoveryAction string
    The lifecycle state for an instance when it is recovered after infrastructure maintenance.
    IsLiveMigrationPreferred bool
    Whether to live migrate supported VM instances to a healthy physical VM host without disrupting running instances during infrastructure maintenance events. If null, Oracle chooses the best option for migrating the VM during infrastructure maintenance events.
    RecoveryAction string
    The lifecycle state for an instance when it is recovered after infrastructure maintenance.
    isLiveMigrationPreferred Boolean
    Whether to live migrate supported VM instances to a healthy physical VM host without disrupting running instances during infrastructure maintenance events. If null, Oracle chooses the best option for migrating the VM during infrastructure maintenance events.
    recoveryAction String
    The lifecycle state for an instance when it is recovered after infrastructure maintenance.
    isLiveMigrationPreferred boolean
    Whether to live migrate supported VM instances to a healthy physical VM host without disrupting running instances during infrastructure maintenance events. If null, Oracle chooses the best option for migrating the VM during infrastructure maintenance events.
    recoveryAction string
    The lifecycle state for an instance when it is recovered after infrastructure maintenance.
    is_live_migration_preferred bool
    Whether to live migrate supported VM instances to a healthy physical VM host without disrupting running instances during infrastructure maintenance events. If null, Oracle chooses the best option for migrating the VM during infrastructure maintenance events.
    recovery_action str
    The lifecycle state for an instance when it is recovered after infrastructure maintenance.
    isLiveMigrationPreferred Boolean
    Whether to live migrate supported VM instances to a healthy physical VM host without disrupting running instances during infrastructure maintenance events. If null, Oracle chooses the best option for migrating the VM during infrastructure maintenance events.
    recoveryAction String
    The lifecycle state for an instance when it is recovered after infrastructure maintenance.

    InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetails, InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsArgs

    AssignIpv6ip bool
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    AssignPrivateDnsRecord bool
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    AssignPublicIp bool
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    DefinedTags Dictionary<string, object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags Dictionary<string, object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    HostnameLabel string
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    Ipv6addressIpv6subnetCidrPairDetails List<InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail>
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    NsgIds List<string>
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    PrivateIp string
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    SkipSourceDestCheck bool
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    SubnetId string
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    AssignIpv6ip bool
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    AssignPrivateDnsRecord bool
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    AssignPublicIp bool
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    DefinedTags map[string]interface{}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags map[string]interface{}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    HostnameLabel string
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    Ipv6addressIpv6subnetCidrPairDetails []InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    NsgIds []string
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    PrivateIp string
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    SkipSourceDestCheck bool
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    SubnetId string
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assignIpv6ip Boolean
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assignPrivateDnsRecord Boolean
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assignPublicIp Boolean
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    definedTags Map<String,Object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<String,Object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostnameLabel String
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6addressIpv6subnetCidrPairDetails List<InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail>
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsgIds List<String>
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    privateIp String
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skipSourceDestCheck Boolean
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnetId String
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assignIpv6ip boolean
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assignPrivateDnsRecord boolean
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assignPublicIp boolean
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    definedTags {[key: string]: any}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags {[key: string]: any}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostnameLabel string
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6addressIpv6subnetCidrPairDetails InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail[]
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsgIds string[]
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    privateIp string
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skipSourceDestCheck boolean
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnetId string
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assign_ipv6ip bool
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assign_private_dns_record bool
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assign_public_ip bool
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    defined_tags Mapping[str, Any]
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeform_tags Mapping[str, Any]
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostname_label str
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6address_ipv6subnet_cidr_pair_details Sequence[core.InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail]
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsg_ids Sequence[str]
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    private_ip str
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skip_source_dest_check bool
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnet_id str
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assignIpv6ip Boolean
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assignPrivateDnsRecord Boolean
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assignPublicIp Boolean
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    definedTags Map<Any>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<Any>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostnameLabel String
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6addressIpv6subnetCidrPairDetails List<Property Map>
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsgIds List<String>
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    privateIp String
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skipSourceDestCheck Boolean
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnetId String
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.

    InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail, InstanceConfigurationInstanceDetailsLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs

    Ipv6address string
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    Ipv6subnetCidr string
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    Ipv6address string
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    Ipv6subnetCidr string
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address String
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnetCidr String
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address string
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnetCidr string
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address str
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnet_cidr str
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address String
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnetCidr String
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.

    InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptions, InstanceConfigurationInstanceDetailsLaunchDetailsInstanceOptionsArgs

    AreLegacyImdsEndpointsDisabled bool
    Whether to disable the legacy (/v1) instance metadata service endpoints. Customers who have migrated to /v2 should set this to true for added security. Default is false.
    AreLegacyImdsEndpointsDisabled bool
    Whether to disable the legacy (/v1) instance metadata service endpoints. Customers who have migrated to /v2 should set this to true for added security. Default is false.
    areLegacyImdsEndpointsDisabled Boolean
    Whether to disable the legacy (/v1) instance metadata service endpoints. Customers who have migrated to /v2 should set this to true for added security. Default is false.
    areLegacyImdsEndpointsDisabled boolean
    Whether to disable the legacy (/v1) instance metadata service endpoints. Customers who have migrated to /v2 should set this to true for added security. Default is false.
    are_legacy_imds_endpoints_disabled bool
    Whether to disable the legacy (/v1) instance metadata service endpoints. Customers who have migrated to /v2 should set this to true for added security. Default is false.
    areLegacyImdsEndpointsDisabled Boolean
    Whether to disable the legacy (/v1) instance metadata service endpoints. Customers who have migrated to /v2 should set this to true for added security. Default is false.

    InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptions, InstanceConfigurationInstanceDetailsLaunchDetailsLaunchOptionsArgs

    BootVolumeType string
    Emulation type for the boot volume.
    Firmware string
    Firmware used to boot VM. Select the option that matches your operating system.
    IsConsistentVolumeNamingEnabled bool
    Whether to enable consistent volume naming feature. Defaults to false.
    IsPvEncryptionInTransitEnabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    NetworkType string
    Emulation type for the physical network interface card (NIC).
    RemoteDataVolumeType string
    Emulation type for volume.
    BootVolumeType string
    Emulation type for the boot volume.
    Firmware string
    Firmware used to boot VM. Select the option that matches your operating system.
    IsConsistentVolumeNamingEnabled bool
    Whether to enable consistent volume naming feature. Defaults to false.
    IsPvEncryptionInTransitEnabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    NetworkType string
    Emulation type for the physical network interface card (NIC).
    RemoteDataVolumeType string
    Emulation type for volume.
    bootVolumeType String
    Emulation type for the boot volume.
    firmware String
    Firmware used to boot VM. Select the option that matches your operating system.
    isConsistentVolumeNamingEnabled Boolean
    Whether to enable consistent volume naming feature. Defaults to false.
    isPvEncryptionInTransitEnabled Boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    networkType String
    Emulation type for the physical network interface card (NIC).
    remoteDataVolumeType String
    Emulation type for volume.
    bootVolumeType string
    Emulation type for the boot volume.
    firmware string
    Firmware used to boot VM. Select the option that matches your operating system.
    isConsistentVolumeNamingEnabled boolean
    Whether to enable consistent volume naming feature. Defaults to false.
    isPvEncryptionInTransitEnabled boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    networkType string
    Emulation type for the physical network interface card (NIC).
    remoteDataVolumeType string
    Emulation type for volume.
    boot_volume_type str
    Emulation type for the boot volume.
    firmware str
    Firmware used to boot VM. Select the option that matches your operating system.
    is_consistent_volume_naming_enabled bool
    Whether to enable consistent volume naming feature. Defaults to false.
    is_pv_encryption_in_transit_enabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    network_type str
    Emulation type for the physical network interface card (NIC).
    remote_data_volume_type str
    Emulation type for volume.
    bootVolumeType String
    Emulation type for the boot volume.
    firmware String
    Firmware used to boot VM. Select the option that matches your operating system.
    isConsistentVolumeNamingEnabled Boolean
    Whether to enable consistent volume naming feature. Defaults to false.
    isPvEncryptionInTransitEnabled Boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    networkType String
    Emulation type for the physical network interface card (NIC).
    remoteDataVolumeType String
    Emulation type for volume.

    InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfig, InstanceConfigurationInstanceDetailsLaunchDetailsPlatformConfigArgs

    Type string
    The type of action to run when the instance is interrupted for eviction.
    AreVirtualInstructionsEnabled bool
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    ConfigMap Dictionary<string, object>
    Instance Platform Configuration Configuration Map for flexible setting input.
    IsAccessControlServiceEnabled bool
    Whether the Access Control Service is enabled on the instance. When enabled, the platform can enforce PCIe device isolation, required for VFIO device pass-through.
    IsInputOutputMemoryManagementUnitEnabled bool
    Whether the input-output memory management unit is enabled.
    IsMeasuredBootEnabled bool
    Whether the Measured Boot feature is enabled on the instance.
    IsMemoryEncryptionEnabled bool
    Whether the instance is a confidential instance. If this value is true, the instance is a confidential instance. The default value is false.
    IsSecureBootEnabled bool
    Whether Secure Boot is enabled on the instance.
    IsSymmetricMultiThreadingEnabled bool

    (Updatable only for AMD_VM and INTEL_VM) Whether symmetric multithreading is enabled on the instance. Symmetric multithreading is also called simultaneous multithreading (SMT) or Intel Hyper-Threading.

    Intel and AMD processors have two hardware execution threads per core (OCPU). SMT permits multiple independent threads of execution, to better use the resources and increase the efficiency of the CPU. When multithreading is disabled, only one thread is permitted to run on each core, which can provide higher or more predictable performance for some workloads.

    IsTrustedPlatformModuleEnabled bool
    Whether the Trusted Platform Module (TPM) is enabled on the instance.
    NumaNodesPerSocket string
    The number of NUMA nodes per socket (NPS).
    PercentageOfCoresEnabled int

    The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage results in a fractional number of cores, the system rounds up the number of cores across processors and provisions an instance with a whole number of cores.

    If the applications that you run on the instance use a core-based licensing model and need fewer cores than the full size of the shape, you can disable cores to reduce your licensing costs. The instance itself is billed for the full shape, regardless of whether all cores are enabled.

    Type string
    The type of action to run when the instance is interrupted for eviction.
    AreVirtualInstructionsEnabled bool
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    ConfigMap map[string]interface{}
    Instance Platform Configuration Configuration Map for flexible setting input.
    IsAccessControlServiceEnabled bool
    Whether the Access Control Service is enabled on the instance. When enabled, the platform can enforce PCIe device isolation, required for VFIO device pass-through.
    IsInputOutputMemoryManagementUnitEnabled bool
    Whether the input-output memory management unit is enabled.
    IsMeasuredBootEnabled bool
    Whether the Measured Boot feature is enabled on the instance.
    IsMemoryEncryptionEnabled bool
    Whether the instance is a confidential instance. If this value is true, the instance is a confidential instance. The default value is false.
    IsSecureBootEnabled bool
    Whether Secure Boot is enabled on the instance.
    IsSymmetricMultiThreadingEnabled bool

    (Updatable only for AMD_VM and INTEL_VM) Whether symmetric multithreading is enabled on the instance. Symmetric multithreading is also called simultaneous multithreading (SMT) or Intel Hyper-Threading.

    Intel and AMD processors have two hardware execution threads per core (OCPU). SMT permits multiple independent threads of execution, to better use the resources and increase the efficiency of the CPU. When multithreading is disabled, only one thread is permitted to run on each core, which can provide higher or more predictable performance for some workloads.

    IsTrustedPlatformModuleEnabled bool
    Whether the Trusted Platform Module (TPM) is enabled on the instance.
    NumaNodesPerSocket string
    The number of NUMA nodes per socket (NPS).
    PercentageOfCoresEnabled int

    The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage results in a fractional number of cores, the system rounds up the number of cores across processors and provisions an instance with a whole number of cores.

    If the applications that you run on the instance use a core-based licensing model and need fewer cores than the full size of the shape, you can disable cores to reduce your licensing costs. The instance itself is billed for the full shape, regardless of whether all cores are enabled.

    type String
    The type of action to run when the instance is interrupted for eviction.
    areVirtualInstructionsEnabled Boolean
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    configMap Map<String,Object>
    Instance Platform Configuration Configuration Map for flexible setting input.
    isAccessControlServiceEnabled Boolean
    Whether the Access Control Service is enabled on the instance. When enabled, the platform can enforce PCIe device isolation, required for VFIO device pass-through.
    isInputOutputMemoryManagementUnitEnabled Boolean
    Whether the input-output memory management unit is enabled.
    isMeasuredBootEnabled Boolean
    Whether the Measured Boot feature is enabled on the instance.
    isMemoryEncryptionEnabled Boolean
    Whether the instance is a confidential instance. If this value is true, the instance is a confidential instance. The default value is false.
    isSecureBootEnabled Boolean
    Whether Secure Boot is enabled on the instance.
    isSymmetricMultiThreadingEnabled Boolean

    (Updatable only for AMD_VM and INTEL_VM) Whether symmetric multithreading is enabled on the instance. Symmetric multithreading is also called simultaneous multithreading (SMT) or Intel Hyper-Threading.

    Intel and AMD processors have two hardware execution threads per core (OCPU). SMT permits multiple independent threads of execution, to better use the resources and increase the efficiency of the CPU. When multithreading is disabled, only one thread is permitted to run on each core, which can provide higher or more predictable performance for some workloads.

    isTrustedPlatformModuleEnabled Boolean
    Whether the Trusted Platform Module (TPM) is enabled on the instance.
    numaNodesPerSocket String
    The number of NUMA nodes per socket (NPS).
    percentageOfCoresEnabled Integer

    The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage results in a fractional number of cores, the system rounds up the number of cores across processors and provisions an instance with a whole number of cores.

    If the applications that you run on the instance use a core-based licensing model and need fewer cores than the full size of the shape, you can disable cores to reduce your licensing costs. The instance itself is billed for the full shape, regardless of whether all cores are enabled.

    type string
    The type of action to run when the instance is interrupted for eviction.
    areVirtualInstructionsEnabled boolean
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    configMap {[key: string]: any}
    Instance Platform Configuration Configuration Map for flexible setting input.
    isAccessControlServiceEnabled boolean
    Whether the Access Control Service is enabled on the instance. When enabled, the platform can enforce PCIe device isolation, required for VFIO device pass-through.
    isInputOutputMemoryManagementUnitEnabled boolean
    Whether the input-output memory management unit is enabled.
    isMeasuredBootEnabled boolean
    Whether the Measured Boot feature is enabled on the instance.
    isMemoryEncryptionEnabled boolean
    Whether the instance is a confidential instance. If this value is true, the instance is a confidential instance. The default value is false.
    isSecureBootEnabled boolean
    Whether Secure Boot is enabled on the instance.
    isSymmetricMultiThreadingEnabled boolean

    (Updatable only for AMD_VM and INTEL_VM) Whether symmetric multithreading is enabled on the instance. Symmetric multithreading is also called simultaneous multithreading (SMT) or Intel Hyper-Threading.

    Intel and AMD processors have two hardware execution threads per core (OCPU). SMT permits multiple independent threads of execution, to better use the resources and increase the efficiency of the CPU. When multithreading is disabled, only one thread is permitted to run on each core, which can provide higher or more predictable performance for some workloads.

    isTrustedPlatformModuleEnabled boolean
    Whether the Trusted Platform Module (TPM) is enabled on the instance.
    numaNodesPerSocket string
    The number of NUMA nodes per socket (NPS).
    percentageOfCoresEnabled number

    The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage results in a fractional number of cores, the system rounds up the number of cores across processors and provisions an instance with a whole number of cores.

    If the applications that you run on the instance use a core-based licensing model and need fewer cores than the full size of the shape, you can disable cores to reduce your licensing costs. The instance itself is billed for the full shape, regardless of whether all cores are enabled.

    type str
    The type of action to run when the instance is interrupted for eviction.
    are_virtual_instructions_enabled bool
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    config_map Mapping[str, Any]
    Instance Platform Configuration Configuration Map for flexible setting input.
    is_access_control_service_enabled bool
    Whether the Access Control Service is enabled on the instance. When enabled, the platform can enforce PCIe device isolation, required for VFIO device pass-through.
    is_input_output_memory_management_unit_enabled bool
    Whether the input-output memory management unit is enabled.
    is_measured_boot_enabled bool
    Whether the Measured Boot feature is enabled on the instance.
    is_memory_encryption_enabled bool
    Whether the instance is a confidential instance. If this value is true, the instance is a confidential instance. The default value is false.
    is_secure_boot_enabled bool
    Whether Secure Boot is enabled on the instance.
    is_symmetric_multi_threading_enabled bool

    (Updatable only for AMD_VM and INTEL_VM) Whether symmetric multithreading is enabled on the instance. Symmetric multithreading is also called simultaneous multithreading (SMT) or Intel Hyper-Threading.

    Intel and AMD processors have two hardware execution threads per core (OCPU). SMT permits multiple independent threads of execution, to better use the resources and increase the efficiency of the CPU. When multithreading is disabled, only one thread is permitted to run on each core, which can provide higher or more predictable performance for some workloads.

    is_trusted_platform_module_enabled bool
    Whether the Trusted Platform Module (TPM) is enabled on the instance.
    numa_nodes_per_socket str
    The number of NUMA nodes per socket (NPS).
    percentage_of_cores_enabled int

    The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage results in a fractional number of cores, the system rounds up the number of cores across processors and provisions an instance with a whole number of cores.

    If the applications that you run on the instance use a core-based licensing model and need fewer cores than the full size of the shape, you can disable cores to reduce your licensing costs. The instance itself is billed for the full shape, regardless of whether all cores are enabled.

    type String
    The type of action to run when the instance is interrupted for eviction.
    areVirtualInstructionsEnabled Boolean
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    configMap Map<Any>
    Instance Platform Configuration Configuration Map for flexible setting input.
    isAccessControlServiceEnabled Boolean
    Whether the Access Control Service is enabled on the instance. When enabled, the platform can enforce PCIe device isolation, required for VFIO device pass-through.
    isInputOutputMemoryManagementUnitEnabled Boolean
    Whether the input-output memory management unit is enabled.
    isMeasuredBootEnabled Boolean
    Whether the Measured Boot feature is enabled on the instance.
    isMemoryEncryptionEnabled Boolean
    Whether the instance is a confidential instance. If this value is true, the instance is a confidential instance. The default value is false.
    isSecureBootEnabled Boolean
    Whether Secure Boot is enabled on the instance.
    isSymmetricMultiThreadingEnabled Boolean

    (Updatable only for AMD_VM and INTEL_VM) Whether symmetric multithreading is enabled on the instance. Symmetric multithreading is also called simultaneous multithreading (SMT) or Intel Hyper-Threading.

    Intel and AMD processors have two hardware execution threads per core (OCPU). SMT permits multiple independent threads of execution, to better use the resources and increase the efficiency of the CPU. When multithreading is disabled, only one thread is permitted to run on each core, which can provide higher or more predictable performance for some workloads.

    isTrustedPlatformModuleEnabled Boolean
    Whether the Trusted Platform Module (TPM) is enabled on the instance.
    numaNodesPerSocket String
    The number of NUMA nodes per socket (NPS).
    percentageOfCoresEnabled Number

    The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage results in a fractional number of cores, the system rounds up the number of cores across processors and provisions an instance with a whole number of cores.

    If the applications that you run on the instance use a core-based licensing model and need fewer cores than the full size of the shape, you can disable cores to reduce your licensing costs. The instance itself is billed for the full shape, regardless of whether all cores are enabled.

    InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfig, InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigArgs

    PreemptionAction InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionAction
    The action to run when the preemptible instance is interrupted for eviction.
    PreemptionAction InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionAction
    The action to run when the preemptible instance is interrupted for eviction.
    preemptionAction InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionAction
    The action to run when the preemptible instance is interrupted for eviction.
    preemptionAction InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionAction
    The action to run when the preemptible instance is interrupted for eviction.
    preemption_action core.InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionAction
    The action to run when the preemptible instance is interrupted for eviction.
    preemptionAction Property Map
    The action to run when the preemptible instance is interrupted for eviction.

    InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionAction, InstanceConfigurationInstanceDetailsLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs

    Type string
    The type of action to run when the instance is interrupted for eviction.
    PreserveBootVolume bool
    Whether to preserve the boot volume that was used to launch the preemptible instance when the instance is terminated. Defaults to false if not specified.
    Type string
    The type of action to run when the instance is interrupted for eviction.
    PreserveBootVolume bool
    Whether to preserve the boot volume that was used to launch the preemptible instance when the instance is terminated. Defaults to false if not specified.
    type String
    The type of action to run when the instance is interrupted for eviction.
    preserveBootVolume Boolean
    Whether to preserve the boot volume that was used to launch the preemptible instance when the instance is terminated. Defaults to false if not specified.
    type string
    The type of action to run when the instance is interrupted for eviction.
    preserveBootVolume boolean
    Whether to preserve the boot volume that was used to launch the preemptible instance when the instance is terminated. Defaults to false if not specified.
    type str
    The type of action to run when the instance is interrupted for eviction.
    preserve_boot_volume bool
    Whether to preserve the boot volume that was used to launch the preemptible instance when the instance is terminated. Defaults to false if not specified.
    type String
    The type of action to run when the instance is interrupted for eviction.
    preserveBootVolume Boolean
    Whether to preserve the boot volume that was used to launch the preemptible instance when the instance is terminated. Defaults to false if not specified.

    InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfig, InstanceConfigurationInstanceDetailsLaunchDetailsShapeConfigArgs

    BaselineOcpuUtilization string

    The baseline OCPU utilization for a subcore burstable VM instance. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with BASELINE_1_1.

    The following values are supported:

    MemoryInGbs double
    The total amount of memory available to the instance, in gigabytes.
    Nvmes int
    The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    Ocpus double
    The total number of OCPUs available to the instance.
    Vcpus int
    The total number of VCPUs available to the instance. This can be used instead of OCPUs, in which case the actual number of OCPUs will be calculated based on this value and the actual hardware. This must be a multiple of 2.
    BaselineOcpuUtilization string

    The baseline OCPU utilization for a subcore burstable VM instance. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with BASELINE_1_1.

    The following values are supported:

    MemoryInGbs float64
    The total amount of memory available to the instance, in gigabytes.
    Nvmes int
    The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    Ocpus float64
    The total number of OCPUs available to the instance.
    Vcpus int
    The total number of VCPUs available to the instance. This can be used instead of OCPUs, in which case the actual number of OCPUs will be calculated based on this value and the actual hardware. This must be a multiple of 2.
    baselineOcpuUtilization String

    The baseline OCPU utilization for a subcore burstable VM instance. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with BASELINE_1_1.

    The following values are supported:

    memoryInGbs Double
    The total amount of memory available to the instance, in gigabytes.
    nvmes Integer
    The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    ocpus Double
    The total number of OCPUs available to the instance.
    vcpus Integer
    The total number of VCPUs available to the instance. This can be used instead of OCPUs, in which case the actual number of OCPUs will be calculated based on this value and the actual hardware. This must be a multiple of 2.
    baselineOcpuUtilization string

    The baseline OCPU utilization for a subcore burstable VM instance. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with BASELINE_1_1.

    The following values are supported:

    memoryInGbs number
    The total amount of memory available to the instance, in gigabytes.
    nvmes number
    The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    ocpus number
    The total number of OCPUs available to the instance.
    vcpus number
    The total number of VCPUs available to the instance. This can be used instead of OCPUs, in which case the actual number of OCPUs will be calculated based on this value and the actual hardware. This must be a multiple of 2.
    baseline_ocpu_utilization str

    The baseline OCPU utilization for a subcore burstable VM instance. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with BASELINE_1_1.

    The following values are supported:

    memory_in_gbs float
    The total amount of memory available to the instance, in gigabytes.
    nvmes int
    The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    ocpus float
    The total number of OCPUs available to the instance.
    vcpus int
    The total number of VCPUs available to the instance. This can be used instead of OCPUs, in which case the actual number of OCPUs will be calculated based on this value and the actual hardware. This must be a multiple of 2.
    baselineOcpuUtilization String

    The baseline OCPU utilization for a subcore burstable VM instance. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with BASELINE_1_1.

    The following values are supported:

    memoryInGbs Number
    The total amount of memory available to the instance, in gigabytes.
    nvmes Number
    The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    ocpus Number
    The total number of OCPUs available to the instance.
    vcpus Number
    The total number of VCPUs available to the instance. This can be used instead of OCPUs, in which case the actual number of OCPUs will be calculated based on this value and the actual hardware. This must be a multiple of 2.

    InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetails, InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsArgs

    SourceType string
    The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    BootVolumeId string
    The OCID of the boot volume used to boot the instance.
    BootVolumeSizeInGbs string
    The size of the boot volume in GBs. The minimum value is 50 GB and the maximum value is 32,768 GB (32 TB).
    BootVolumeVpusPerGb string

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    ImageId string
    The OCID of the image used to boot the instance.
    InstanceSourceImageFilterDetails InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetails
    These are the criteria for selecting an image. This is required if imageId is not specified.
    KmsKeyId string
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    SourceType string
    The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    BootVolumeId string
    The OCID of the boot volume used to boot the instance.
    BootVolumeSizeInGbs string
    The size of the boot volume in GBs. The minimum value is 50 GB and the maximum value is 32,768 GB (32 TB).
    BootVolumeVpusPerGb string

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    ImageId string
    The OCID of the image used to boot the instance.
    InstanceSourceImageFilterDetails InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetails
    These are the criteria for selecting an image. This is required if imageId is not specified.
    KmsKeyId string
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    sourceType String
    The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    bootVolumeId String
    The OCID of the boot volume used to boot the instance.
    bootVolumeSizeInGbs String
    The size of the boot volume in GBs. The minimum value is 50 GB and the maximum value is 32,768 GB (32 TB).
    bootVolumeVpusPerGb String

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    imageId String
    The OCID of the image used to boot the instance.
    instanceSourceImageFilterDetails InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetails
    These are the criteria for selecting an image. This is required if imageId is not specified.
    kmsKeyId String
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    sourceType string
    The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    bootVolumeId string
    The OCID of the boot volume used to boot the instance.
    bootVolumeSizeInGbs string
    The size of the boot volume in GBs. The minimum value is 50 GB and the maximum value is 32,768 GB (32 TB).
    bootVolumeVpusPerGb string

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    imageId string
    The OCID of the image used to boot the instance.
    instanceSourceImageFilterDetails InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetails
    These are the criteria for selecting an image. This is required if imageId is not specified.
    kmsKeyId string
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    source_type str
    The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    boot_volume_id str
    The OCID of the boot volume used to boot the instance.
    boot_volume_size_in_gbs str
    The size of the boot volume in GBs. The minimum value is 50 GB and the maximum value is 32,768 GB (32 TB).
    boot_volume_vpus_per_gb str

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    image_id str
    The OCID of the image used to boot the instance.
    instance_source_image_filter_details core.InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetails
    These are the criteria for selecting an image. This is required if imageId is not specified.
    kms_key_id str
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    sourceType String
    The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    bootVolumeId String
    The OCID of the boot volume used to boot the instance.
    bootVolumeSizeInGbs String
    The size of the boot volume in GBs. The minimum value is 50 GB and the maximum value is 32,768 GB (32 TB).
    bootVolumeVpusPerGb String

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    imageId String
    The OCID of the image used to boot the instance.
    instanceSourceImageFilterDetails Property Map
    These are the criteria for selecting an image. This is required if imageId is not specified.
    kmsKeyId String
    The OCID of the Vault service key to assign as the master encryption key for the volume.

    InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetails, InstanceConfigurationInstanceDetailsLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs

    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    DefinedTagsFilter Dictionary<string, object>
    Filter based on these defined tags. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
    OperatingSystem string
    The image's operating system. Example: Oracle Linux
    OperatingSystemVersion string
    The image's operating system version. Example: 7.2
    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    DefinedTagsFilter map[string]interface{}
    Filter based on these defined tags. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
    OperatingSystem string
    The image's operating system. Example: Oracle Linux
    OperatingSystemVersion string
    The image's operating system version. Example: 7.2
    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    definedTagsFilter Map<String,Object>
    Filter based on these defined tags. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
    operatingSystem String
    The image's operating system. Example: Oracle Linux
    operatingSystemVersion String
    The image's operating system version. Example: 7.2
    compartmentId string
    (Updatable) The OCID of the compartment containing images to search
    definedTagsFilter {[key: string]: any}
    Filter based on these defined tags. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
    operatingSystem string
    The image's operating system. Example: Oracle Linux
    operatingSystemVersion string
    The image's operating system version. Example: 7.2
    compartment_id str
    (Updatable) The OCID of the compartment containing images to search
    defined_tags_filter Mapping[str, Any]
    Filter based on these defined tags. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
    operating_system str
    The image's operating system. Example: Oracle Linux
    operating_system_version str
    The image's operating system version. Example: 7.2
    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    definedTagsFilter Map<Any>
    Filter based on these defined tags. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
    operatingSystem String
    The image's operating system. Example: Oracle Linux
    operatingSystemVersion String
    The image's operating system version. Example: 7.2

    InstanceConfigurationInstanceDetailsOption, InstanceConfigurationInstanceDetailsOptionArgs

    BlockVolumes List<InstanceConfigurationInstanceDetailsOptionBlockVolume>
    Block volume parameters.
    LaunchDetails InstanceConfigurationInstanceDetailsOptionLaunchDetails

    Instance launch details for creating an instance from an instance configuration. Use the sourceDetails parameter to specify whether a boot volume or an image should be used to launch a new instance.

    See LaunchInstanceDetails for more information.

    SecondaryVnics List<InstanceConfigurationInstanceDetailsOptionSecondaryVnic>
    Secondary VNIC parameters.
    BlockVolumes []InstanceConfigurationInstanceDetailsOptionBlockVolume
    Block volume parameters.
    LaunchDetails InstanceConfigurationInstanceDetailsOptionLaunchDetails

    Instance launch details for creating an instance from an instance configuration. Use the sourceDetails parameter to specify whether a boot volume or an image should be used to launch a new instance.

    See LaunchInstanceDetails for more information.

    SecondaryVnics []InstanceConfigurationInstanceDetailsOptionSecondaryVnic
    Secondary VNIC parameters.
    blockVolumes List<InstanceConfigurationInstanceDetailsOptionBlockVolume>
    Block volume parameters.
    launchDetails InstanceConfigurationInstanceDetailsOptionLaunchDetails

    Instance launch details for creating an instance from an instance configuration. Use the sourceDetails parameter to specify whether a boot volume or an image should be used to launch a new instance.

    See LaunchInstanceDetails for more information.

    secondaryVnics List<InstanceConfigurationInstanceDetailsOptionSecondaryVnic>
    Secondary VNIC parameters.
    blockVolumes InstanceConfigurationInstanceDetailsOptionBlockVolume[]
    Block volume parameters.
    launchDetails InstanceConfigurationInstanceDetailsOptionLaunchDetails

    Instance launch details for creating an instance from an instance configuration. Use the sourceDetails parameter to specify whether a boot volume or an image should be used to launch a new instance.

    See LaunchInstanceDetails for more information.

    secondaryVnics InstanceConfigurationInstanceDetailsOptionSecondaryVnic[]
    Secondary VNIC parameters.
    block_volumes Sequence[core.InstanceConfigurationInstanceDetailsOptionBlockVolume]
    Block volume parameters.
    launch_details core.InstanceConfigurationInstanceDetailsOptionLaunchDetails

    Instance launch details for creating an instance from an instance configuration. Use the sourceDetails parameter to specify whether a boot volume or an image should be used to launch a new instance.

    See LaunchInstanceDetails for more information.

    secondary_vnics Sequence[core.InstanceConfigurationInstanceDetailsOptionSecondaryVnic]
    Secondary VNIC parameters.
    blockVolumes List<Property Map>
    Block volume parameters.
    launchDetails Property Map

    Instance launch details for creating an instance from an instance configuration. Use the sourceDetails parameter to specify whether a boot volume or an image should be used to launch a new instance.

    See LaunchInstanceDetails for more information.

    secondaryVnics List<Property Map>
    Secondary VNIC parameters.

    InstanceConfigurationInstanceDetailsOptionBlockVolume, InstanceConfigurationInstanceDetailsOptionBlockVolumeArgs

    attachDetails Property Map
    Volume attachmentDetails. Please see AttachVolumeDetails
    createDetails Property Map
    Creates a new block volume. Please see CreateVolumeDetails
    volumeId String
    The OCID of the volume.

    InstanceConfigurationInstanceDetailsOptionBlockVolumeAttachDetails, InstanceConfigurationInstanceDetailsOptionBlockVolumeAttachDetailsArgs

    Type string
    The type of action to run when the instance is interrupted for eviction.
    Device string
    The device name.
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    IsPvEncryptionInTransitEnabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    IsReadOnly bool
    Whether the attachment should be created in read-only mode.
    IsShareable bool
    Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified.
    UseChap bool
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    Type string
    The type of action to run when the instance is interrupted for eviction.
    Device string
    The device name.
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    IsPvEncryptionInTransitEnabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    IsReadOnly bool
    Whether the attachment should be created in read-only mode.
    IsShareable bool
    Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified.
    UseChap bool
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    type String
    The type of action to run when the instance is interrupted for eviction.
    device String
    The device name.
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    isPvEncryptionInTransitEnabled Boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    isReadOnly Boolean
    Whether the attachment should be created in read-only mode.
    isShareable Boolean
    Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified.
    useChap Boolean
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    type string
    The type of action to run when the instance is interrupted for eviction.
    device string
    The device name.
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    isPvEncryptionInTransitEnabled boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    isReadOnly boolean
    Whether the attachment should be created in read-only mode.
    isShareable boolean
    Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified.
    useChap boolean
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    type str
    The type of action to run when the instance is interrupted for eviction.
    device str
    The device name.
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    is_pv_encryption_in_transit_enabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    is_read_only bool
    Whether the attachment should be created in read-only mode.
    is_shareable bool
    Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified.
    use_chap bool
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    type String
    The type of action to run when the instance is interrupted for eviction.
    device String
    The device name.
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    isPvEncryptionInTransitEnabled Boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    isReadOnly Boolean
    Whether the attachment should be created in read-only mode.
    isShareable Boolean
    Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified.
    useChap Boolean
    Whether to use CHAP authentication for the volume attachment. Defaults to false.

    InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetails, InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsArgs

    AutotunePolicies List<InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicy>
    The list of autotune policies enabled for this volume.
    AvailabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    BackupPolicyId string
    If provided, specifies the ID of the volume backup policy to assign to the newly created volume. If omitted, no policy will be assigned.
    BlockVolumeReplicas InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsBlockVolumeReplicas
    The list of block volume replicas to be enabled for this volume in the specified destination availability domains.
    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    DefinedTags Dictionary<string, object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags Dictionary<string, object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    IsAutoTuneEnabled bool
    Specifies whether the auto-tune performance is enabled for this boot volume. This field is deprecated. Use the InstanceConfigurationDetachedVolumeAutotunePolicy instead to enable the volume for detached autotune.
    KmsKeyId string
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    SizeInGbs string
    The size of the volume in GBs.
    SourceDetails InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsSourceDetails
    VpusPerGb string

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    AutotunePolicies []InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicy
    The list of autotune policies enabled for this volume.
    AvailabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    BackupPolicyId string
    If provided, specifies the ID of the volume backup policy to assign to the newly created volume. If omitted, no policy will be assigned.
    BlockVolumeReplicas InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsBlockVolumeReplicas
    The list of block volume replicas to be enabled for this volume in the specified destination availability domains.
    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    DefinedTags map[string]interface{}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags map[string]interface{}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    IsAutoTuneEnabled bool
    Specifies whether the auto-tune performance is enabled for this boot volume. This field is deprecated. Use the InstanceConfigurationDetachedVolumeAutotunePolicy instead to enable the volume for detached autotune.
    KmsKeyId string
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    SizeInGbs string
    The size of the volume in GBs.
    SourceDetails InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsSourceDetails
    VpusPerGb string

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    autotunePolicies List<InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicy>
    The list of autotune policies enabled for this volume.
    availabilityDomain String
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    backupPolicyId String
    If provided, specifies the ID of the volume backup policy to assign to the newly created volume. If omitted, no policy will be assigned.
    blockVolumeReplicas InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsBlockVolumeReplicas
    The list of block volume replicas to be enabled for this volume in the specified destination availability domains.
    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    definedTags Map<String,Object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<String,Object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    isAutoTuneEnabled Boolean
    Specifies whether the auto-tune performance is enabled for this boot volume. This field is deprecated. Use the InstanceConfigurationDetachedVolumeAutotunePolicy instead to enable the volume for detached autotune.
    kmsKeyId String
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    sizeInGbs String
    The size of the volume in GBs.
    sourceDetails InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsSourceDetails
    vpusPerGb String

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    autotunePolicies InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicy[]
    The list of autotune policies enabled for this volume.
    availabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    backupPolicyId string
    If provided, specifies the ID of the volume backup policy to assign to the newly created volume. If omitted, no policy will be assigned.
    blockVolumeReplicas InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsBlockVolumeReplicas
    The list of block volume replicas to be enabled for this volume in the specified destination availability domains.
    compartmentId string
    (Updatable) The OCID of the compartment containing images to search
    definedTags {[key: string]: any}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags {[key: string]: any}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    isAutoTuneEnabled boolean
    Specifies whether the auto-tune performance is enabled for this boot volume. This field is deprecated. Use the InstanceConfigurationDetachedVolumeAutotunePolicy instead to enable the volume for detached autotune.
    kmsKeyId string
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    sizeInGbs string
    The size of the volume in GBs.
    sourceDetails InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsSourceDetails
    vpusPerGb string

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    autotune_policies Sequence[core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicy]
    The list of autotune policies enabled for this volume.
    availability_domain str
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    backup_policy_id str
    If provided, specifies the ID of the volume backup policy to assign to the newly created volume. If omitted, no policy will be assigned.
    block_volume_replicas core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsBlockVolumeReplicas
    The list of block volume replicas to be enabled for this volume in the specified destination availability domains.
    compartment_id str
    (Updatable) The OCID of the compartment containing images to search
    defined_tags Mapping[str, Any]
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeform_tags Mapping[str, Any]
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    is_auto_tune_enabled bool
    Specifies whether the auto-tune performance is enabled for this boot volume. This field is deprecated. Use the InstanceConfigurationDetachedVolumeAutotunePolicy instead to enable the volume for detached autotune.
    kms_key_id str
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    size_in_gbs str
    The size of the volume in GBs.
    source_details core.InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsSourceDetails
    vpus_per_gb str

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    autotunePolicies List<Property Map>
    The list of autotune policies enabled for this volume.
    availabilityDomain String
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    backupPolicyId String
    If provided, specifies the ID of the volume backup policy to assign to the newly created volume. If omitted, no policy will be assigned.
    blockVolumeReplicas Property Map
    The list of block volume replicas to be enabled for this volume in the specified destination availability domains.
    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    definedTags Map<Any>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<Any>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    isAutoTuneEnabled Boolean
    Specifies whether the auto-tune performance is enabled for this boot volume. This field is deprecated. Use the InstanceConfigurationDetachedVolumeAutotunePolicy instead to enable the volume for detached autotune.
    kmsKeyId String
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    sizeInGbs String
    The size of the volume in GBs.
    sourceDetails Property Map
    vpusPerGb String

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicy, InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsAutotunePolicyArgs

    AutotuneType string
    This specifies the type of autotunes supported by OCI.
    MaxVpusPerGb string
    This will be the maximum VPUs/GB performance level that the volume will be auto-tuned temporarily based on performance monitoring.
    AutotuneType string
    This specifies the type of autotunes supported by OCI.
    MaxVpusPerGb string
    This will be the maximum VPUs/GB performance level that the volume will be auto-tuned temporarily based on performance monitoring.
    autotuneType String
    This specifies the type of autotunes supported by OCI.
    maxVpusPerGb String
    This will be the maximum VPUs/GB performance level that the volume will be auto-tuned temporarily based on performance monitoring.
    autotuneType string
    This specifies the type of autotunes supported by OCI.
    maxVpusPerGb string
    This will be the maximum VPUs/GB performance level that the volume will be auto-tuned temporarily based on performance monitoring.
    autotune_type str
    This specifies the type of autotunes supported by OCI.
    max_vpus_per_gb str
    This will be the maximum VPUs/GB performance level that the volume will be auto-tuned temporarily based on performance monitoring.
    autotuneType String
    This specifies the type of autotunes supported by OCI.
    maxVpusPerGb String
    This will be the maximum VPUs/GB performance level that the volume will be auto-tuned temporarily based on performance monitoring.

    InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsBlockVolumeReplicas, InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsBlockVolumeReplicasArgs

    AvailabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    AvailabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    availabilityDomain String
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    availabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    availability_domain str
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    availabilityDomain String
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.

    InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsSourceDetails, InstanceConfigurationInstanceDetailsOptionBlockVolumeCreateDetailsSourceDetailsArgs

    Type string
    The type of action to run when the instance is interrupted for eviction.
    Id string
    The OCID of the volume backup.
    Type string
    The type of action to run when the instance is interrupted for eviction.
    Id string
    The OCID of the volume backup.
    type String
    The type of action to run when the instance is interrupted for eviction.
    id String
    The OCID of the volume backup.
    type string
    The type of action to run when the instance is interrupted for eviction.
    id string
    The OCID of the volume backup.
    type str
    The type of action to run when the instance is interrupted for eviction.
    id str
    The OCID of the volume backup.
    type String
    The type of action to run when the instance is interrupted for eviction.
    id String
    The OCID of the volume backup.

    InstanceConfigurationInstanceDetailsOptionLaunchDetails, InstanceConfigurationInstanceDetailsOptionLaunchDetailsArgs

    AgentConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfig
    Configuration options for the Oracle Cloud Agent software running on the instance.
    AvailabilityConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsAvailabilityConfig
    Options for defining the availabiity of a VM instance after a maintenance event that impacts the underlying hardware.
    AvailabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    CapacityReservationId string
    The OCID of the compute capacity reservation this instance is launched under.
    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    CreateVnicDetails InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    DedicatedVmHostId string

    The OCID of the dedicated virtual machine host to place the instance on.

    Dedicated VM hosts can be used when launching individual instances from an instance configuration. They cannot be used to launch instance pools.

    DefinedTags Dictionary<string, object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    ExtendedMetadata Dictionary<string, object>

    Additional metadata key/value pairs that you provide. They serve the same purpose and functionality as fields in the metadata object.

    They are distinguished from metadata fields in that these can be nested JSON objects (whereas metadata fields are string/string maps only).

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    FaultDomain string

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain contains three fault domains. Fault domains let you distribute your instances so that they are not on the same physical hardware within a single availability domain. A hardware failure or Compute hardware maintenance that affects one fault domain does not affect instances in other fault domains.

    If you do not specify the fault domain, the system selects one for you.

    To get a list of fault domains, use the ListFaultDomains operation in the Identity and Access Management Service API.

    Example: FAULT-DOMAIN-1

    FreeformTags Dictionary<string, object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    InstanceOptions InstanceConfigurationInstanceDetailsOptionLaunchDetailsInstanceOptions
    Optional mutable instance options. As a part of Instance Metadata Service Security Header, This allows user to disable the legacy imds endpoints.
    IpxeScript string

    This is an advanced option.

    When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.

    If you want more control over the boot process, you can provide your own custom iPXE script that will run when the instance boots; however, you should be aware that the same iPXE script will run every time an instance boots; not only after the initial LaunchInstance call.

    The default iPXE script connects to the instance's local boot volume over iSCSI and performs a network boot. If you use a custom iPXE script and want to network-boot from the instance's local boot volume over iSCSI the same way as the default iPXE script, you should use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    For more information about the Bring Your Own Image feature of Oracle Cloud Infrastructure, see Bring Your Own Image.

    For more information about iPXE, see http://ipxe.org.

    IsPvEncryptionInTransitEnabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    LaunchMode string
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:
    LaunchOptions InstanceConfigurationInstanceDetailsOptionLaunchDetailsLaunchOptions
    Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    Metadata Dictionary<string, object>

    Custom metadata key/value pairs that you provide, such as the SSH public key required to connect to the instance.

    A metadata service runs on every launched instance. The service is an HTTP endpoint listening on 169.254.169.254. You can use the service to:

    • Provide information to Cloud-Init to be used for various system initialization tasks.
    • Get information about the instance, including the custom metadata that you provide when you launch the instance.

    Providing Cloud-Init Metadata

    You can use the following metadata key names to provide information to Cloud-Init:

    "ssh_authorized_keys" - Provide one or more public SSH keys to be included in the ~/.ssh/authorized_keys file for the default user on the instance. Use a newline character to separate multiple keys. The SSH keys must be in the format necessary for the authorized_keys file, as shown in the example below.

    "user_data" - Provide your own base64-encoded data to be used by Cloud-Init to run custom scripts or provide custom Cloud-Init configuration. For information about how to take advantage of user data, see the Cloud-Init Documentation.

    Metadata Example

    "metadata" : { "quake_bot_level" : "Severe", "ssh_authorized_keys" : "ssh-rsa <your_public_SSH_key>== rsa-key-20160227", "user_data" : "<your_public_SSH_key>==" } Getting Metadata on the Instance

    To get information about your instance, connect to the instance using SSH and issue any of the following GET requests:

    curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/

    You'll get back a response that includes all the instance information; only the metadata information; or the metadata information for the specified key name, respectively.

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    PlatformConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsPlatformConfig

    The platform configuration requested for the instance.

    If you provide the parameter, the instance is created with the platform configuration that you specify. For any values that you omit, the instance uses the default configuration values for the shape that you specify. If you don't provide the parameter, the default values for the shape are used.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    PreemptibleInstanceConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfig
    Configuration options for preemptible instances.
    PreferredMaintenanceAction string
    The preferred maintenance action for an instance. The default is LIVE_MIGRATE, if live migration is supported.
    Shape string

    The shape of an instance. The shape determines the number of CPUs, amount of memory, and other resources allocated to the instance.

    You can enumerate all available shapes by calling ListShapes.

    ShapeConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsShapeConfig

    The shape configuration requested for the instance.

    If the parameter is provided, the instance is created with the resources that you specify. If some properties are missing or the entire parameter is not provided, the instance is created with the default configuration values for the shape that you specify.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    SourceDetails InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetails
    AgentConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfig
    Configuration options for the Oracle Cloud Agent software running on the instance.
    AvailabilityConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsAvailabilityConfig
    Options for defining the availabiity of a VM instance after a maintenance event that impacts the underlying hardware.
    AvailabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    CapacityReservationId string
    The OCID of the compute capacity reservation this instance is launched under.
    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    CreateVnicDetails InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    DedicatedVmHostId string

    The OCID of the dedicated virtual machine host to place the instance on.

    Dedicated VM hosts can be used when launching individual instances from an instance configuration. They cannot be used to launch instance pools.

    DefinedTags map[string]interface{}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    ExtendedMetadata map[string]interface{}

    Additional metadata key/value pairs that you provide. They serve the same purpose and functionality as fields in the metadata object.

    They are distinguished from metadata fields in that these can be nested JSON objects (whereas metadata fields are string/string maps only).

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    FaultDomain string

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain contains three fault domains. Fault domains let you distribute your instances so that they are not on the same physical hardware within a single availability domain. A hardware failure or Compute hardware maintenance that affects one fault domain does not affect instances in other fault domains.

    If you do not specify the fault domain, the system selects one for you.

    To get a list of fault domains, use the ListFaultDomains operation in the Identity and Access Management Service API.

    Example: FAULT-DOMAIN-1

    FreeformTags map[string]interface{}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    InstanceOptions InstanceConfigurationInstanceDetailsOptionLaunchDetailsInstanceOptions
    Optional mutable instance options. As a part of Instance Metadata Service Security Header, This allows user to disable the legacy imds endpoints.
    IpxeScript string

    This is an advanced option.

    When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.

    If you want more control over the boot process, you can provide your own custom iPXE script that will run when the instance boots; however, you should be aware that the same iPXE script will run every time an instance boots; not only after the initial LaunchInstance call.

    The default iPXE script connects to the instance's local boot volume over iSCSI and performs a network boot. If you use a custom iPXE script and want to network-boot from the instance's local boot volume over iSCSI the same way as the default iPXE script, you should use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    For more information about the Bring Your Own Image feature of Oracle Cloud Infrastructure, see Bring Your Own Image.

    For more information about iPXE, see http://ipxe.org.

    IsPvEncryptionInTransitEnabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    LaunchMode string
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:
    LaunchOptions InstanceConfigurationInstanceDetailsOptionLaunchDetailsLaunchOptions
    Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    Metadata map[string]interface{}

    Custom metadata key/value pairs that you provide, such as the SSH public key required to connect to the instance.

    A metadata service runs on every launched instance. The service is an HTTP endpoint listening on 169.254.169.254. You can use the service to:

    • Provide information to Cloud-Init to be used for various system initialization tasks.
    • Get information about the instance, including the custom metadata that you provide when you launch the instance.

    Providing Cloud-Init Metadata

    You can use the following metadata key names to provide information to Cloud-Init:

    "ssh_authorized_keys" - Provide one or more public SSH keys to be included in the ~/.ssh/authorized_keys file for the default user on the instance. Use a newline character to separate multiple keys. The SSH keys must be in the format necessary for the authorized_keys file, as shown in the example below.

    "user_data" - Provide your own base64-encoded data to be used by Cloud-Init to run custom scripts or provide custom Cloud-Init configuration. For information about how to take advantage of user data, see the Cloud-Init Documentation.

    Metadata Example

    "metadata" : { "quake_bot_level" : "Severe", "ssh_authorized_keys" : "ssh-rsa <your_public_SSH_key>== rsa-key-20160227", "user_data" : "<your_public_SSH_key>==" } Getting Metadata on the Instance

    To get information about your instance, connect to the instance using SSH and issue any of the following GET requests:

    curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/

    You'll get back a response that includes all the instance information; only the metadata information; or the metadata information for the specified key name, respectively.

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    PlatformConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsPlatformConfig

    The platform configuration requested for the instance.

    If you provide the parameter, the instance is created with the platform configuration that you specify. For any values that you omit, the instance uses the default configuration values for the shape that you specify. If you don't provide the parameter, the default values for the shape are used.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    PreemptibleInstanceConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfig
    Configuration options for preemptible instances.
    PreferredMaintenanceAction string
    The preferred maintenance action for an instance. The default is LIVE_MIGRATE, if live migration is supported.
    Shape string

    The shape of an instance. The shape determines the number of CPUs, amount of memory, and other resources allocated to the instance.

    You can enumerate all available shapes by calling ListShapes.

    ShapeConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsShapeConfig

    The shape configuration requested for the instance.

    If the parameter is provided, the instance is created with the resources that you specify. If some properties are missing or the entire parameter is not provided, the instance is created with the default configuration values for the shape that you specify.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    SourceDetails InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetails
    agentConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfig
    Configuration options for the Oracle Cloud Agent software running on the instance.
    availabilityConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsAvailabilityConfig
    Options for defining the availabiity of a VM instance after a maintenance event that impacts the underlying hardware.
    availabilityDomain String
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    capacityReservationId String
    The OCID of the compute capacity reservation this instance is launched under.
    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    createVnicDetails InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    dedicatedVmHostId String

    The OCID of the dedicated virtual machine host to place the instance on.

    Dedicated VM hosts can be used when launching individual instances from an instance configuration. They cannot be used to launch instance pools.

    definedTags Map<String,Object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extendedMetadata Map<String,Object>

    Additional metadata key/value pairs that you provide. They serve the same purpose and functionality as fields in the metadata object.

    They are distinguished from metadata fields in that these can be nested JSON objects (whereas metadata fields are string/string maps only).

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    faultDomain String

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain contains three fault domains. Fault domains let you distribute your instances so that they are not on the same physical hardware within a single availability domain. A hardware failure or Compute hardware maintenance that affects one fault domain does not affect instances in other fault domains.

    If you do not specify the fault domain, the system selects one for you.

    To get a list of fault domains, use the ListFaultDomains operation in the Identity and Access Management Service API.

    Example: FAULT-DOMAIN-1

    freeformTags Map<String,Object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instanceOptions InstanceConfigurationInstanceDetailsOptionLaunchDetailsInstanceOptions
    Optional mutable instance options. As a part of Instance Metadata Service Security Header, This allows user to disable the legacy imds endpoints.
    ipxeScript String

    This is an advanced option.

    When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.

    If you want more control over the boot process, you can provide your own custom iPXE script that will run when the instance boots; however, you should be aware that the same iPXE script will run every time an instance boots; not only after the initial LaunchInstance call.

    The default iPXE script connects to the instance's local boot volume over iSCSI and performs a network boot. If you use a custom iPXE script and want to network-boot from the instance's local boot volume over iSCSI the same way as the default iPXE script, you should use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    For more information about the Bring Your Own Image feature of Oracle Cloud Infrastructure, see Bring Your Own Image.

    For more information about iPXE, see http://ipxe.org.

    isPvEncryptionInTransitEnabled Boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    launchMode String
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:
    launchOptions InstanceConfigurationInstanceDetailsOptionLaunchDetailsLaunchOptions
    Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    metadata Map<String,Object>

    Custom metadata key/value pairs that you provide, such as the SSH public key required to connect to the instance.

    A metadata service runs on every launched instance. The service is an HTTP endpoint listening on 169.254.169.254. You can use the service to:

    • Provide information to Cloud-Init to be used for various system initialization tasks.
    • Get information about the instance, including the custom metadata that you provide when you launch the instance.

    Providing Cloud-Init Metadata

    You can use the following metadata key names to provide information to Cloud-Init:

    "ssh_authorized_keys" - Provide one or more public SSH keys to be included in the ~/.ssh/authorized_keys file for the default user on the instance. Use a newline character to separate multiple keys. The SSH keys must be in the format necessary for the authorized_keys file, as shown in the example below.

    "user_data" - Provide your own base64-encoded data to be used by Cloud-Init to run custom scripts or provide custom Cloud-Init configuration. For information about how to take advantage of user data, see the Cloud-Init Documentation.

    Metadata Example

    "metadata" : { "quake_bot_level" : "Severe", "ssh_authorized_keys" : "ssh-rsa <your_public_SSH_key>== rsa-key-20160227", "user_data" : "<your_public_SSH_key>==" } Getting Metadata on the Instance

    To get information about your instance, connect to the instance using SSH and issue any of the following GET requests:

    curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/

    You'll get back a response that includes all the instance information; only the metadata information; or the metadata information for the specified key name, respectively.

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    platformConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsPlatformConfig

    The platform configuration requested for the instance.

    If you provide the parameter, the instance is created with the platform configuration that you specify. For any values that you omit, the instance uses the default configuration values for the shape that you specify. If you don't provide the parameter, the default values for the shape are used.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    preemptibleInstanceConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfig
    Configuration options for preemptible instances.
    preferredMaintenanceAction String
    The preferred maintenance action for an instance. The default is LIVE_MIGRATE, if live migration is supported.
    shape String

    The shape of an instance. The shape determines the number of CPUs, amount of memory, and other resources allocated to the instance.

    You can enumerate all available shapes by calling ListShapes.

    shapeConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsShapeConfig

    The shape configuration requested for the instance.

    If the parameter is provided, the instance is created with the resources that you specify. If some properties are missing or the entire parameter is not provided, the instance is created with the default configuration values for the shape that you specify.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    sourceDetails InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetails
    agentConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfig
    Configuration options for the Oracle Cloud Agent software running on the instance.
    availabilityConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsAvailabilityConfig
    Options for defining the availabiity of a VM instance after a maintenance event that impacts the underlying hardware.
    availabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    capacityReservationId string
    The OCID of the compute capacity reservation this instance is launched under.
    compartmentId string
    (Updatable) The OCID of the compartment containing images to search
    createVnicDetails InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    dedicatedVmHostId string

    The OCID of the dedicated virtual machine host to place the instance on.

    Dedicated VM hosts can be used when launching individual instances from an instance configuration. They cannot be used to launch instance pools.

    definedTags {[key: string]: any}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extendedMetadata {[key: string]: any}

    Additional metadata key/value pairs that you provide. They serve the same purpose and functionality as fields in the metadata object.

    They are distinguished from metadata fields in that these can be nested JSON objects (whereas metadata fields are string/string maps only).

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    faultDomain string

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain contains three fault domains. Fault domains let you distribute your instances so that they are not on the same physical hardware within a single availability domain. A hardware failure or Compute hardware maintenance that affects one fault domain does not affect instances in other fault domains.

    If you do not specify the fault domain, the system selects one for you.

    To get a list of fault domains, use the ListFaultDomains operation in the Identity and Access Management Service API.

    Example: FAULT-DOMAIN-1

    freeformTags {[key: string]: any}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instanceOptions InstanceConfigurationInstanceDetailsOptionLaunchDetailsInstanceOptions
    Optional mutable instance options. As a part of Instance Metadata Service Security Header, This allows user to disable the legacy imds endpoints.
    ipxeScript string

    This is an advanced option.

    When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.

    If you want more control over the boot process, you can provide your own custom iPXE script that will run when the instance boots; however, you should be aware that the same iPXE script will run every time an instance boots; not only after the initial LaunchInstance call.

    The default iPXE script connects to the instance's local boot volume over iSCSI and performs a network boot. If you use a custom iPXE script and want to network-boot from the instance's local boot volume over iSCSI the same way as the default iPXE script, you should use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    For more information about the Bring Your Own Image feature of Oracle Cloud Infrastructure, see Bring Your Own Image.

    For more information about iPXE, see http://ipxe.org.

    isPvEncryptionInTransitEnabled boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    launchMode string
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:
    launchOptions InstanceConfigurationInstanceDetailsOptionLaunchDetailsLaunchOptions
    Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    metadata {[key: string]: any}

    Custom metadata key/value pairs that you provide, such as the SSH public key required to connect to the instance.

    A metadata service runs on every launched instance. The service is an HTTP endpoint listening on 169.254.169.254. You can use the service to:

    • Provide information to Cloud-Init to be used for various system initialization tasks.
    • Get information about the instance, including the custom metadata that you provide when you launch the instance.

    Providing Cloud-Init Metadata

    You can use the following metadata key names to provide information to Cloud-Init:

    "ssh_authorized_keys" - Provide one or more public SSH keys to be included in the ~/.ssh/authorized_keys file for the default user on the instance. Use a newline character to separate multiple keys. The SSH keys must be in the format necessary for the authorized_keys file, as shown in the example below.

    "user_data" - Provide your own base64-encoded data to be used by Cloud-Init to run custom scripts or provide custom Cloud-Init configuration. For information about how to take advantage of user data, see the Cloud-Init Documentation.

    Metadata Example

    "metadata" : { "quake_bot_level" : "Severe", "ssh_authorized_keys" : "ssh-rsa <your_public_SSH_key>== rsa-key-20160227", "user_data" : "<your_public_SSH_key>==" } Getting Metadata on the Instance

    To get information about your instance, connect to the instance using SSH and issue any of the following GET requests:

    curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/

    You'll get back a response that includes all the instance information; only the metadata information; or the metadata information for the specified key name, respectively.

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    platformConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsPlatformConfig

    The platform configuration requested for the instance.

    If you provide the parameter, the instance is created with the platform configuration that you specify. For any values that you omit, the instance uses the default configuration values for the shape that you specify. If you don't provide the parameter, the default values for the shape are used.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    preemptibleInstanceConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfig
    Configuration options for preemptible instances.
    preferredMaintenanceAction string
    The preferred maintenance action for an instance. The default is LIVE_MIGRATE, if live migration is supported.
    shape string

    The shape of an instance. The shape determines the number of CPUs, amount of memory, and other resources allocated to the instance.

    You can enumerate all available shapes by calling ListShapes.

    shapeConfig InstanceConfigurationInstanceDetailsOptionLaunchDetailsShapeConfig

    The shape configuration requested for the instance.

    If the parameter is provided, the instance is created with the resources that you specify. If some properties are missing or the entire parameter is not provided, the instance is created with the default configuration values for the shape that you specify.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    sourceDetails InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetails
    agent_config core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfig
    Configuration options for the Oracle Cloud Agent software running on the instance.
    availability_config core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAvailabilityConfig
    Options for defining the availabiity of a VM instance after a maintenance event that impacts the underlying hardware.
    availability_domain str
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    capacity_reservation_id str
    The OCID of the compute capacity reservation this instance is launched under.
    compartment_id str
    (Updatable) The OCID of the compartment containing images to search
    create_vnic_details core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    dedicated_vm_host_id str

    The OCID of the dedicated virtual machine host to place the instance on.

    Dedicated VM hosts can be used when launching individual instances from an instance configuration. They cannot be used to launch instance pools.

    defined_tags Mapping[str, Any]
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extended_metadata Mapping[str, Any]

    Additional metadata key/value pairs that you provide. They serve the same purpose and functionality as fields in the metadata object.

    They are distinguished from metadata fields in that these can be nested JSON objects (whereas metadata fields are string/string maps only).

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    fault_domain str

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain contains three fault domains. Fault domains let you distribute your instances so that they are not on the same physical hardware within a single availability domain. A hardware failure or Compute hardware maintenance that affects one fault domain does not affect instances in other fault domains.

    If you do not specify the fault domain, the system selects one for you.

    To get a list of fault domains, use the ListFaultDomains operation in the Identity and Access Management Service API.

    Example: FAULT-DOMAIN-1

    freeform_tags Mapping[str, Any]
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instance_options core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsInstanceOptions
    Optional mutable instance options. As a part of Instance Metadata Service Security Header, This allows user to disable the legacy imds endpoints.
    ipxe_script str

    This is an advanced option.

    When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.

    If you want more control over the boot process, you can provide your own custom iPXE script that will run when the instance boots; however, you should be aware that the same iPXE script will run every time an instance boots; not only after the initial LaunchInstance call.

    The default iPXE script connects to the instance's local boot volume over iSCSI and performs a network boot. If you use a custom iPXE script and want to network-boot from the instance's local boot volume over iSCSI the same way as the default iPXE script, you should use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    For more information about the Bring Your Own Image feature of Oracle Cloud Infrastructure, see Bring Your Own Image.

    For more information about iPXE, see http://ipxe.org.

    is_pv_encryption_in_transit_enabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    launch_mode str
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:
    launch_options core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsLaunchOptions
    Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    metadata Mapping[str, Any]

    Custom metadata key/value pairs that you provide, such as the SSH public key required to connect to the instance.

    A metadata service runs on every launched instance. The service is an HTTP endpoint listening on 169.254.169.254. You can use the service to:

    • Provide information to Cloud-Init to be used for various system initialization tasks.
    • Get information about the instance, including the custom metadata that you provide when you launch the instance.

    Providing Cloud-Init Metadata

    You can use the following metadata key names to provide information to Cloud-Init:

    "ssh_authorized_keys" - Provide one or more public SSH keys to be included in the ~/.ssh/authorized_keys file for the default user on the instance. Use a newline character to separate multiple keys. The SSH keys must be in the format necessary for the authorized_keys file, as shown in the example below.

    "user_data" - Provide your own base64-encoded data to be used by Cloud-Init to run custom scripts or provide custom Cloud-Init configuration. For information about how to take advantage of user data, see the Cloud-Init Documentation.

    Metadata Example

    "metadata" : { "quake_bot_level" : "Severe", "ssh_authorized_keys" : "ssh-rsa <your_public_SSH_key>== rsa-key-20160227", "user_data" : "<your_public_SSH_key>==" } Getting Metadata on the Instance

    To get information about your instance, connect to the instance using SSH and issue any of the following GET requests:

    curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/

    You'll get back a response that includes all the instance information; only the metadata information; or the metadata information for the specified key name, respectively.

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    platform_config core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPlatformConfig

    The platform configuration requested for the instance.

    If you provide the parameter, the instance is created with the platform configuration that you specify. For any values that you omit, the instance uses the default configuration values for the shape that you specify. If you don't provide the parameter, the default values for the shape are used.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    preemptible_instance_config core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfig
    Configuration options for preemptible instances.
    preferred_maintenance_action str
    The preferred maintenance action for an instance. The default is LIVE_MIGRATE, if live migration is supported.
    shape str

    The shape of an instance. The shape determines the number of CPUs, amount of memory, and other resources allocated to the instance.

    You can enumerate all available shapes by calling ListShapes.

    shape_config core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsShapeConfig

    The shape configuration requested for the instance.

    If the parameter is provided, the instance is created with the resources that you specify. If some properties are missing or the entire parameter is not provided, the instance is created with the default configuration values for the shape that you specify.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    source_details core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetails
    agentConfig Property Map
    Configuration options for the Oracle Cloud Agent software running on the instance.
    availabilityConfig Property Map
    Options for defining the availabiity of a VM instance after a maintenance event that impacts the underlying hardware.
    availabilityDomain String
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    capacityReservationId String
    The OCID of the compute capacity reservation this instance is launched under.
    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    createVnicDetails Property Map
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    dedicatedVmHostId String

    The OCID of the dedicated virtual machine host to place the instance on.

    Dedicated VM hosts can be used when launching individual instances from an instance configuration. They cannot be used to launch instance pools.

    definedTags Map<Any>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extendedMetadata Map<Any>

    Additional metadata key/value pairs that you provide. They serve the same purpose and functionality as fields in the metadata object.

    They are distinguished from metadata fields in that these can be nested JSON objects (whereas metadata fields are string/string maps only).

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    faultDomain String

    A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain contains three fault domains. Fault domains let you distribute your instances so that they are not on the same physical hardware within a single availability domain. A hardware failure or Compute hardware maintenance that affects one fault domain does not affect instances in other fault domains.

    If you do not specify the fault domain, the system selects one for you.

    To get a list of fault domains, use the ListFaultDomains operation in the Identity and Access Management Service API.

    Example: FAULT-DOMAIN-1

    freeformTags Map<Any>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    instanceOptions Property Map
    Optional mutable instance options. As a part of Instance Metadata Service Security Header, This allows user to disable the legacy imds endpoints.
    ipxeScript String

    This is an advanced option.

    When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.

    If you want more control over the boot process, you can provide your own custom iPXE script that will run when the instance boots; however, you should be aware that the same iPXE script will run every time an instance boots; not only after the initial LaunchInstance call.

    The default iPXE script connects to the instance's local boot volume over iSCSI and performs a network boot. If you use a custom iPXE script and want to network-boot from the instance's local boot volume over iSCSI the same way as the default iPXE script, you should use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    For more information about the Bring Your Own Image feature of Oracle Cloud Infrastructure, see Bring Your Own Image.

    For more information about iPXE, see http://ipxe.org.

    isPvEncryptionInTransitEnabled Boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    launchMode String
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:
    launchOptions Property Map
    Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    metadata Map<Any>

    Custom metadata key/value pairs that you provide, such as the SSH public key required to connect to the instance.

    A metadata service runs on every launched instance. The service is an HTTP endpoint listening on 169.254.169.254. You can use the service to:

    • Provide information to Cloud-Init to be used for various system initialization tasks.
    • Get information about the instance, including the custom metadata that you provide when you launch the instance.

    Providing Cloud-Init Metadata

    You can use the following metadata key names to provide information to Cloud-Init:

    "ssh_authorized_keys" - Provide one or more public SSH keys to be included in the ~/.ssh/authorized_keys file for the default user on the instance. Use a newline character to separate multiple keys. The SSH keys must be in the format necessary for the authorized_keys file, as shown in the example below.

    "user_data" - Provide your own base64-encoded data to be used by Cloud-Init to run custom scripts or provide custom Cloud-Init configuration. For information about how to take advantage of user data, see the Cloud-Init Documentation.

    Metadata Example

    "metadata" : { "quake_bot_level" : "Severe", "ssh_authorized_keys" : "ssh-rsa <your_public_SSH_key>== rsa-key-20160227", "user_data" : "<your_public_SSH_key>==" } Getting Metadata on the Instance

    To get information about your instance, connect to the instance using SSH and issue any of the following GET requests:

    curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/ curl -H "Authorization: Bearer Oracle" http://169.254.169.254/opc/v2/instance/metadata/

    You'll get back a response that includes all the instance information; only the metadata information; or the metadata information for the specified key name, respectively.

    The combined size of the metadata and extendedMetadata objects can be a maximum of 32,000 bytes.

    platformConfig Property Map

    The platform configuration requested for the instance.

    If you provide the parameter, the instance is created with the platform configuration that you specify. For any values that you omit, the instance uses the default configuration values for the shape that you specify. If you don't provide the parameter, the default values for the shape are used.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    preemptibleInstanceConfig Property Map
    Configuration options for preemptible instances.
    preferredMaintenanceAction String
    The preferred maintenance action for an instance. The default is LIVE_MIGRATE, if live migration is supported.
    shape String

    The shape of an instance. The shape determines the number of CPUs, amount of memory, and other resources allocated to the instance.

    You can enumerate all available shapes by calling ListShapes.

    shapeConfig Property Map

    The shape configuration requested for the instance.

    If the parameter is provided, the instance is created with the resources that you specify. If some properties are missing or the entire parameter is not provided, the instance is created with the default configuration values for the shape that you specify.

    Each shape only supports certain configurable values. If the values that you provide are not valid for the specified shape, an error is returned.

    sourceDetails Property Map

    InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfig, InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigArgs

    AreAllPluginsDisabled bool

    Whether Oracle Cloud Agent can run all the available plugins. This includes the management and monitoring plugins.

    To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.

    IsManagementDisabled bool

    Whether Oracle Cloud Agent can run all the available management plugins. Default value is false (management plugins are enabled).

    These are the management plugins: OS Management Service Agent and Compute Instance Run Command.

    The management plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isManagementDisabled is true, all of the management plugins are disabled, regardless of the per-plugin configuration.
    • If isManagementDisabled is false, all of the management plugins are enabled. You can optionally disable individual management plugins by providing a value in the pluginsConfig object.
    IsMonitoringDisabled bool

    Whether Oracle Cloud Agent can gather performance metrics and monitor the instance using the monitoring plugins. Default value is false (monitoring plugins are enabled).

    These are the monitoring plugins: Compute Instance Monitoring and Custom Logs Monitoring.

    The monitoring plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isMonitoringDisabled is true, all of the monitoring plugins are disabled, regardless of the per-plugin configuration.
    • If isMonitoringDisabled is false, all of the monitoring plugins are enabled. You can optionally disable individual monitoring plugins by providing a value in the pluginsConfig object.
    PluginsConfigs List<InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfig>
    The configuration of plugins associated with this instance.
    AreAllPluginsDisabled bool

    Whether Oracle Cloud Agent can run all the available plugins. This includes the management and monitoring plugins.

    To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.

    IsManagementDisabled bool

    Whether Oracle Cloud Agent can run all the available management plugins. Default value is false (management plugins are enabled).

    These are the management plugins: OS Management Service Agent and Compute Instance Run Command.

    The management plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isManagementDisabled is true, all of the management plugins are disabled, regardless of the per-plugin configuration.
    • If isManagementDisabled is false, all of the management plugins are enabled. You can optionally disable individual management plugins by providing a value in the pluginsConfig object.
    IsMonitoringDisabled bool

    Whether Oracle Cloud Agent can gather performance metrics and monitor the instance using the monitoring plugins. Default value is false (monitoring plugins are enabled).

    These are the monitoring plugins: Compute Instance Monitoring and Custom Logs Monitoring.

    The monitoring plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isMonitoringDisabled is true, all of the monitoring plugins are disabled, regardless of the per-plugin configuration.
    • If isMonitoringDisabled is false, all of the monitoring plugins are enabled. You can optionally disable individual monitoring plugins by providing a value in the pluginsConfig object.
    PluginsConfigs []InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfig
    The configuration of plugins associated with this instance.
    areAllPluginsDisabled Boolean

    Whether Oracle Cloud Agent can run all the available plugins. This includes the management and monitoring plugins.

    To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.

    isManagementDisabled Boolean

    Whether Oracle Cloud Agent can run all the available management plugins. Default value is false (management plugins are enabled).

    These are the management plugins: OS Management Service Agent and Compute Instance Run Command.

    The management plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isManagementDisabled is true, all of the management plugins are disabled, regardless of the per-plugin configuration.
    • If isManagementDisabled is false, all of the management plugins are enabled. You can optionally disable individual management plugins by providing a value in the pluginsConfig object.
    isMonitoringDisabled Boolean

    Whether Oracle Cloud Agent can gather performance metrics and monitor the instance using the monitoring plugins. Default value is false (monitoring plugins are enabled).

    These are the monitoring plugins: Compute Instance Monitoring and Custom Logs Monitoring.

    The monitoring plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isMonitoringDisabled is true, all of the monitoring plugins are disabled, regardless of the per-plugin configuration.
    • If isMonitoringDisabled is false, all of the monitoring plugins are enabled. You can optionally disable individual monitoring plugins by providing a value in the pluginsConfig object.
    pluginsConfigs List<InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfig>
    The configuration of plugins associated with this instance.
    areAllPluginsDisabled boolean

    Whether Oracle Cloud Agent can run all the available plugins. This includes the management and monitoring plugins.

    To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.

    isManagementDisabled boolean

    Whether Oracle Cloud Agent can run all the available management plugins. Default value is false (management plugins are enabled).

    These are the management plugins: OS Management Service Agent and Compute Instance Run Command.

    The management plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isManagementDisabled is true, all of the management plugins are disabled, regardless of the per-plugin configuration.
    • If isManagementDisabled is false, all of the management plugins are enabled. You can optionally disable individual management plugins by providing a value in the pluginsConfig object.
    isMonitoringDisabled boolean

    Whether Oracle Cloud Agent can gather performance metrics and monitor the instance using the monitoring plugins. Default value is false (monitoring plugins are enabled).

    These are the monitoring plugins: Compute Instance Monitoring and Custom Logs Monitoring.

    The monitoring plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isMonitoringDisabled is true, all of the monitoring plugins are disabled, regardless of the per-plugin configuration.
    • If isMonitoringDisabled is false, all of the monitoring plugins are enabled. You can optionally disable individual monitoring plugins by providing a value in the pluginsConfig object.
    pluginsConfigs InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfig[]
    The configuration of plugins associated with this instance.
    are_all_plugins_disabled bool

    Whether Oracle Cloud Agent can run all the available plugins. This includes the management and monitoring plugins.

    To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.

    is_management_disabled bool

    Whether Oracle Cloud Agent can run all the available management plugins. Default value is false (management plugins are enabled).

    These are the management plugins: OS Management Service Agent and Compute Instance Run Command.

    The management plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isManagementDisabled is true, all of the management plugins are disabled, regardless of the per-plugin configuration.
    • If isManagementDisabled is false, all of the management plugins are enabled. You can optionally disable individual management plugins by providing a value in the pluginsConfig object.
    is_monitoring_disabled bool

    Whether Oracle Cloud Agent can gather performance metrics and monitor the instance using the monitoring plugins. Default value is false (monitoring plugins are enabled).

    These are the monitoring plugins: Compute Instance Monitoring and Custom Logs Monitoring.

    The monitoring plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isMonitoringDisabled is true, all of the monitoring plugins are disabled, regardless of the per-plugin configuration.
    • If isMonitoringDisabled is false, all of the monitoring plugins are enabled. You can optionally disable individual monitoring plugins by providing a value in the pluginsConfig object.
    plugins_configs Sequence[core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfig]
    The configuration of plugins associated with this instance.
    areAllPluginsDisabled Boolean

    Whether Oracle Cloud Agent can run all the available plugins. This includes the management and monitoring plugins.

    To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.

    isManagementDisabled Boolean

    Whether Oracle Cloud Agent can run all the available management plugins. Default value is false (management plugins are enabled).

    These are the management plugins: OS Management Service Agent and Compute Instance Run Command.

    The management plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isManagementDisabled is true, all of the management plugins are disabled, regardless of the per-plugin configuration.
    • If isManagementDisabled is false, all of the management plugins are enabled. You can optionally disable individual management plugins by providing a value in the pluginsConfig object.
    isMonitoringDisabled Boolean

    Whether Oracle Cloud Agent can gather performance metrics and monitor the instance using the monitoring plugins. Default value is false (monitoring plugins are enabled).

    These are the monitoring plugins: Compute Instance Monitoring and Custom Logs Monitoring.

    The monitoring plugins are controlled by this parameter and by the per-plugin configuration in the pluginsConfig object.

    • If isMonitoringDisabled is true, all of the monitoring plugins are disabled, regardless of the per-plugin configuration.
    • If isMonitoringDisabled is false, all of the monitoring plugins are enabled. You can optionally disable individual monitoring plugins by providing a value in the pluginsConfig object.
    pluginsConfigs List<Property Map>
    The configuration of plugins associated with this instance.

    InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfig, InstanceConfigurationInstanceDetailsOptionLaunchDetailsAgentConfigPluginsConfigArgs

    DesiredState string

    Whether the plugin should be enabled or disabled.

    To enable the monitoring and management plugins, the isMonitoringDisabled and isManagementDisabled attributes must also be set to false.

    Name string
    The plugin name. To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.
    DesiredState string

    Whether the plugin should be enabled or disabled.

    To enable the monitoring and management plugins, the isMonitoringDisabled and isManagementDisabled attributes must also be set to false.

    Name string
    The plugin name. To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.
    desiredState String

    Whether the plugin should be enabled or disabled.

    To enable the monitoring and management plugins, the isMonitoringDisabled and isManagementDisabled attributes must also be set to false.

    name String
    The plugin name. To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.
    desiredState string

    Whether the plugin should be enabled or disabled.

    To enable the monitoring and management plugins, the isMonitoringDisabled and isManagementDisabled attributes must also be set to false.

    name string
    The plugin name. To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.
    desired_state str

    Whether the plugin should be enabled or disabled.

    To enable the monitoring and management plugins, the isMonitoringDisabled and isManagementDisabled attributes must also be set to false.

    name str
    The plugin name. To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.
    desiredState String

    Whether the plugin should be enabled or disabled.

    To enable the monitoring and management plugins, the isMonitoringDisabled and isManagementDisabled attributes must also be set to false.

    name String
    The plugin name. To get a list of available plugins, use the ListInstanceagentAvailablePlugins operation in the Oracle Cloud Agent API. For more information about the available plugins, see Managing Plugins with Oracle Cloud Agent.

    InstanceConfigurationInstanceDetailsOptionLaunchDetailsAvailabilityConfig, InstanceConfigurationInstanceDetailsOptionLaunchDetailsAvailabilityConfigArgs

    IsLiveMigrationPreferred bool
    Whether to live migrate supported VM instances to a healthy physical VM host without disrupting running instances during infrastructure maintenance events. If null, Oracle chooses the best option for migrating the VM during infrastructure maintenance events.
    RecoveryAction string
    The lifecycle state for an instance when it is recovered after infrastructure maintenance.
    IsLiveMigrationPreferred bool
    Whether to live migrate supported VM instances to a healthy physical VM host without disrupting running instances during infrastructure maintenance events. If null, Oracle chooses the best option for migrating the VM during infrastructure maintenance events.
    RecoveryAction string
    The lifecycle state for an instance when it is recovered after infrastructure maintenance.
    isLiveMigrationPreferred Boolean
    Whether to live migrate supported VM instances to a healthy physical VM host without disrupting running instances during infrastructure maintenance events. If null, Oracle chooses the best option for migrating the VM during infrastructure maintenance events.
    recoveryAction String
    The lifecycle state for an instance when it is recovered after infrastructure maintenance.
    isLiveMigrationPreferred boolean
    Whether to live migrate supported VM instances to a healthy physical VM host without disrupting running instances during infrastructure maintenance events. If null, Oracle chooses the best option for migrating the VM during infrastructure maintenance events.
    recoveryAction string
    The lifecycle state for an instance when it is recovered after infrastructure maintenance.
    is_live_migration_preferred bool
    Whether to live migrate supported VM instances to a healthy physical VM host without disrupting running instances during infrastructure maintenance events. If null, Oracle chooses the best option for migrating the VM during infrastructure maintenance events.
    recovery_action str
    The lifecycle state for an instance when it is recovered after infrastructure maintenance.
    isLiveMigrationPreferred Boolean
    Whether to live migrate supported VM instances to a healthy physical VM host without disrupting running instances during infrastructure maintenance events. If null, Oracle chooses the best option for migrating the VM during infrastructure maintenance events.
    recoveryAction String
    The lifecycle state for an instance when it is recovered after infrastructure maintenance.

    InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetails, InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsArgs

    AssignIpv6ip bool
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    AssignPrivateDnsRecord bool
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    AssignPublicIp bool
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    DefinedTags Dictionary<string, object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags Dictionary<string, object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    HostnameLabel string
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    Ipv6addressIpv6subnetCidrPairDetails List<InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail>
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    NsgIds List<string>
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    PrivateIp string
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    SkipSourceDestCheck bool
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    SubnetId string
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    AssignIpv6ip bool
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    AssignPrivateDnsRecord bool
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    AssignPublicIp bool
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    DefinedTags map[string]interface{}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags map[string]interface{}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    HostnameLabel string
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    Ipv6addressIpv6subnetCidrPairDetails []InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    NsgIds []string
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    PrivateIp string
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    SkipSourceDestCheck bool
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    SubnetId string
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assignIpv6ip Boolean
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assignPrivateDnsRecord Boolean
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assignPublicIp Boolean
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    definedTags Map<String,Object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<String,Object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostnameLabel String
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6addressIpv6subnetCidrPairDetails List<InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail>
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsgIds List<String>
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    privateIp String
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skipSourceDestCheck Boolean
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnetId String
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assignIpv6ip boolean
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assignPrivateDnsRecord boolean
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assignPublicIp boolean
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    definedTags {[key: string]: any}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags {[key: string]: any}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostnameLabel string
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6addressIpv6subnetCidrPairDetails InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail[]
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsgIds string[]
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    privateIp string
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skipSourceDestCheck boolean
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnetId string
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assign_ipv6ip bool
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assign_private_dns_record bool
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assign_public_ip bool
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    defined_tags Mapping[str, Any]
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeform_tags Mapping[str, Any]
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostname_label str
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6address_ipv6subnet_cidr_pair_details Sequence[core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail]
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsg_ids Sequence[str]
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    private_ip str
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skip_source_dest_check bool
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnet_id str
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assignIpv6ip Boolean
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assignPrivateDnsRecord Boolean
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assignPublicIp Boolean
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    definedTags Map<Any>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<Any>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostnameLabel String
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6addressIpv6subnetCidrPairDetails List<Property Map>
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsgIds List<String>
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    privateIp String
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skipSourceDestCheck Boolean
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnetId String
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.

    InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail, InstanceConfigurationInstanceDetailsOptionLaunchDetailsCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs

    Ipv6address string
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    Ipv6subnetCidr string
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    Ipv6address string
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    Ipv6subnetCidr string
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address String
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnetCidr String
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address string
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnetCidr string
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address str
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnet_cidr str
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address String
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnetCidr String
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.

    InstanceConfigurationInstanceDetailsOptionLaunchDetailsInstanceOptions, InstanceConfigurationInstanceDetailsOptionLaunchDetailsInstanceOptionsArgs

    AreLegacyImdsEndpointsDisabled bool
    Whether to disable the legacy (/v1) instance metadata service endpoints. Customers who have migrated to /v2 should set this to true for added security. Default is false.
    AreLegacyImdsEndpointsDisabled bool
    Whether to disable the legacy (/v1) instance metadata service endpoints. Customers who have migrated to /v2 should set this to true for added security. Default is false.
    areLegacyImdsEndpointsDisabled Boolean
    Whether to disable the legacy (/v1) instance metadata service endpoints. Customers who have migrated to /v2 should set this to true for added security. Default is false.
    areLegacyImdsEndpointsDisabled boolean
    Whether to disable the legacy (/v1) instance metadata service endpoints. Customers who have migrated to /v2 should set this to true for added security. Default is false.
    are_legacy_imds_endpoints_disabled bool
    Whether to disable the legacy (/v1) instance metadata service endpoints. Customers who have migrated to /v2 should set this to true for added security. Default is false.
    areLegacyImdsEndpointsDisabled Boolean
    Whether to disable the legacy (/v1) instance metadata service endpoints. Customers who have migrated to /v2 should set this to true for added security. Default is false.

    InstanceConfigurationInstanceDetailsOptionLaunchDetailsLaunchOptions, InstanceConfigurationInstanceDetailsOptionLaunchDetailsLaunchOptionsArgs

    BootVolumeType string
    Emulation type for the boot volume.
    Firmware string
    Firmware used to boot VM. Select the option that matches your operating system.
    IsConsistentVolumeNamingEnabled bool
    Whether to enable consistent volume naming feature. Defaults to false.
    IsPvEncryptionInTransitEnabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    NetworkType string
    Emulation type for the physical network interface card (NIC).
    RemoteDataVolumeType string
    Emulation type for volume.
    BootVolumeType string
    Emulation type for the boot volume.
    Firmware string
    Firmware used to boot VM. Select the option that matches your operating system.
    IsConsistentVolumeNamingEnabled bool
    Whether to enable consistent volume naming feature. Defaults to false.
    IsPvEncryptionInTransitEnabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    NetworkType string
    Emulation type for the physical network interface card (NIC).
    RemoteDataVolumeType string
    Emulation type for volume.
    bootVolumeType String
    Emulation type for the boot volume.
    firmware String
    Firmware used to boot VM. Select the option that matches your operating system.
    isConsistentVolumeNamingEnabled Boolean
    Whether to enable consistent volume naming feature. Defaults to false.
    isPvEncryptionInTransitEnabled Boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    networkType String
    Emulation type for the physical network interface card (NIC).
    remoteDataVolumeType String
    Emulation type for volume.
    bootVolumeType string
    Emulation type for the boot volume.
    firmware string
    Firmware used to boot VM. Select the option that matches your operating system.
    isConsistentVolumeNamingEnabled boolean
    Whether to enable consistent volume naming feature. Defaults to false.
    isPvEncryptionInTransitEnabled boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    networkType string
    Emulation type for the physical network interface card (NIC).
    remoteDataVolumeType string
    Emulation type for volume.
    boot_volume_type str
    Emulation type for the boot volume.
    firmware str
    Firmware used to boot VM. Select the option that matches your operating system.
    is_consistent_volume_naming_enabled bool
    Whether to enable consistent volume naming feature. Defaults to false.
    is_pv_encryption_in_transit_enabled bool
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    network_type str
    Emulation type for the physical network interface card (NIC).
    remote_data_volume_type str
    Emulation type for volume.
    bootVolumeType String
    Emulation type for the boot volume.
    firmware String
    Firmware used to boot VM. Select the option that matches your operating system.
    isConsistentVolumeNamingEnabled Boolean
    Whether to enable consistent volume naming feature. Defaults to false.
    isPvEncryptionInTransitEnabled Boolean
    Deprecated. Instead use isPvEncryptionInTransitEnabled in InstanceConfigurationLaunchInstanceDetails.
    networkType String
    Emulation type for the physical network interface card (NIC).
    remoteDataVolumeType String
    Emulation type for volume.

    InstanceConfigurationInstanceDetailsOptionLaunchDetailsPlatformConfig, InstanceConfigurationInstanceDetailsOptionLaunchDetailsPlatformConfigArgs

    Type string
    The type of action to run when the instance is interrupted for eviction.
    AreVirtualInstructionsEnabled bool
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    IsAccessControlServiceEnabled bool
    Whether the Access Control Service is enabled on the instance. When enabled, the platform can enforce PCIe device isolation, required for VFIO device pass-through.
    IsInputOutputMemoryManagementUnitEnabled bool
    Whether the input-output memory management unit is enabled.
    IsMeasuredBootEnabled bool
    Whether the Measured Boot feature is enabled on the instance.
    IsMemoryEncryptionEnabled bool
    Whether the instance is a confidential instance. If this value is true, the instance is a confidential instance. The default value is false.
    IsSecureBootEnabled bool
    Whether Secure Boot is enabled on the instance.
    IsSymmetricMultiThreadingEnabled bool

    (Updatable only for AMD_VM and INTEL_VM) Whether symmetric multithreading is enabled on the instance. Symmetric multithreading is also called simultaneous multithreading (SMT) or Intel Hyper-Threading.

    Intel and AMD processors have two hardware execution threads per core (OCPU). SMT permits multiple independent threads of execution, to better use the resources and increase the efficiency of the CPU. When multithreading is disabled, only one thread is permitted to run on each core, which can provide higher or more predictable performance for some workloads.

    IsTrustedPlatformModuleEnabled bool
    Whether the Trusted Platform Module (TPM) is enabled on the instance.
    NumaNodesPerSocket string
    The number of NUMA nodes per socket (NPS).
    PercentageOfCoresEnabled int

    The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage results in a fractional number of cores, the system rounds up the number of cores across processors and provisions an instance with a whole number of cores.

    If the applications that you run on the instance use a core-based licensing model and need fewer cores than the full size of the shape, you can disable cores to reduce your licensing costs. The instance itself is billed for the full shape, regardless of whether all cores are enabled.

    Type string
    The type of action to run when the instance is interrupted for eviction.
    AreVirtualInstructionsEnabled bool
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    IsAccessControlServiceEnabled bool
    Whether the Access Control Service is enabled on the instance. When enabled, the platform can enforce PCIe device isolation, required for VFIO device pass-through.
    IsInputOutputMemoryManagementUnitEnabled bool
    Whether the input-output memory management unit is enabled.
    IsMeasuredBootEnabled bool
    Whether the Measured Boot feature is enabled on the instance.
    IsMemoryEncryptionEnabled bool
    Whether the instance is a confidential instance. If this value is true, the instance is a confidential instance. The default value is false.
    IsSecureBootEnabled bool
    Whether Secure Boot is enabled on the instance.
    IsSymmetricMultiThreadingEnabled bool

    (Updatable only for AMD_VM and INTEL_VM) Whether symmetric multithreading is enabled on the instance. Symmetric multithreading is also called simultaneous multithreading (SMT) or Intel Hyper-Threading.

    Intel and AMD processors have two hardware execution threads per core (OCPU). SMT permits multiple independent threads of execution, to better use the resources and increase the efficiency of the CPU. When multithreading is disabled, only one thread is permitted to run on each core, which can provide higher or more predictable performance for some workloads.

    IsTrustedPlatformModuleEnabled bool
    Whether the Trusted Platform Module (TPM) is enabled on the instance.
    NumaNodesPerSocket string
    The number of NUMA nodes per socket (NPS).
    PercentageOfCoresEnabled int

    The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage results in a fractional number of cores, the system rounds up the number of cores across processors and provisions an instance with a whole number of cores.

    If the applications that you run on the instance use a core-based licensing model and need fewer cores than the full size of the shape, you can disable cores to reduce your licensing costs. The instance itself is billed for the full shape, regardless of whether all cores are enabled.

    type String
    The type of action to run when the instance is interrupted for eviction.
    areVirtualInstructionsEnabled Boolean
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    isAccessControlServiceEnabled Boolean
    Whether the Access Control Service is enabled on the instance. When enabled, the platform can enforce PCIe device isolation, required for VFIO device pass-through.
    isInputOutputMemoryManagementUnitEnabled Boolean
    Whether the input-output memory management unit is enabled.
    isMeasuredBootEnabled Boolean
    Whether the Measured Boot feature is enabled on the instance.
    isMemoryEncryptionEnabled Boolean
    Whether the instance is a confidential instance. If this value is true, the instance is a confidential instance. The default value is false.
    isSecureBootEnabled Boolean
    Whether Secure Boot is enabled on the instance.
    isSymmetricMultiThreadingEnabled Boolean

    (Updatable only for AMD_VM and INTEL_VM) Whether symmetric multithreading is enabled on the instance. Symmetric multithreading is also called simultaneous multithreading (SMT) or Intel Hyper-Threading.

    Intel and AMD processors have two hardware execution threads per core (OCPU). SMT permits multiple independent threads of execution, to better use the resources and increase the efficiency of the CPU. When multithreading is disabled, only one thread is permitted to run on each core, which can provide higher or more predictable performance for some workloads.

    isTrustedPlatformModuleEnabled Boolean
    Whether the Trusted Platform Module (TPM) is enabled on the instance.
    numaNodesPerSocket String
    The number of NUMA nodes per socket (NPS).
    percentageOfCoresEnabled Integer

    The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage results in a fractional number of cores, the system rounds up the number of cores across processors and provisions an instance with a whole number of cores.

    If the applications that you run on the instance use a core-based licensing model and need fewer cores than the full size of the shape, you can disable cores to reduce your licensing costs. The instance itself is billed for the full shape, regardless of whether all cores are enabled.

    type string
    The type of action to run when the instance is interrupted for eviction.
    areVirtualInstructionsEnabled boolean
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    isAccessControlServiceEnabled boolean
    Whether the Access Control Service is enabled on the instance. When enabled, the platform can enforce PCIe device isolation, required for VFIO device pass-through.
    isInputOutputMemoryManagementUnitEnabled boolean
    Whether the input-output memory management unit is enabled.
    isMeasuredBootEnabled boolean
    Whether the Measured Boot feature is enabled on the instance.
    isMemoryEncryptionEnabled boolean
    Whether the instance is a confidential instance. If this value is true, the instance is a confidential instance. The default value is false.
    isSecureBootEnabled boolean
    Whether Secure Boot is enabled on the instance.
    isSymmetricMultiThreadingEnabled boolean

    (Updatable only for AMD_VM and INTEL_VM) Whether symmetric multithreading is enabled on the instance. Symmetric multithreading is also called simultaneous multithreading (SMT) or Intel Hyper-Threading.

    Intel and AMD processors have two hardware execution threads per core (OCPU). SMT permits multiple independent threads of execution, to better use the resources and increase the efficiency of the CPU. When multithreading is disabled, only one thread is permitted to run on each core, which can provide higher or more predictable performance for some workloads.

    isTrustedPlatformModuleEnabled boolean
    Whether the Trusted Platform Module (TPM) is enabled on the instance.
    numaNodesPerSocket string
    The number of NUMA nodes per socket (NPS).
    percentageOfCoresEnabled number

    The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage results in a fractional number of cores, the system rounds up the number of cores across processors and provisions an instance with a whole number of cores.

    If the applications that you run on the instance use a core-based licensing model and need fewer cores than the full size of the shape, you can disable cores to reduce your licensing costs. The instance itself is billed for the full shape, regardless of whether all cores are enabled.

    type str
    The type of action to run when the instance is interrupted for eviction.
    are_virtual_instructions_enabled bool
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    is_access_control_service_enabled bool
    Whether the Access Control Service is enabled on the instance. When enabled, the platform can enforce PCIe device isolation, required for VFIO device pass-through.
    is_input_output_memory_management_unit_enabled bool
    Whether the input-output memory management unit is enabled.
    is_measured_boot_enabled bool
    Whether the Measured Boot feature is enabled on the instance.
    is_memory_encryption_enabled bool
    Whether the instance is a confidential instance. If this value is true, the instance is a confidential instance. The default value is false.
    is_secure_boot_enabled bool
    Whether Secure Boot is enabled on the instance.
    is_symmetric_multi_threading_enabled bool

    (Updatable only for AMD_VM and INTEL_VM) Whether symmetric multithreading is enabled on the instance. Symmetric multithreading is also called simultaneous multithreading (SMT) or Intel Hyper-Threading.

    Intel and AMD processors have two hardware execution threads per core (OCPU). SMT permits multiple independent threads of execution, to better use the resources and increase the efficiency of the CPU. When multithreading is disabled, only one thread is permitted to run on each core, which can provide higher or more predictable performance for some workloads.

    is_trusted_platform_module_enabled bool
    Whether the Trusted Platform Module (TPM) is enabled on the instance.
    numa_nodes_per_socket str
    The number of NUMA nodes per socket (NPS).
    percentage_of_cores_enabled int

    The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage results in a fractional number of cores, the system rounds up the number of cores across processors and provisions an instance with a whole number of cores.

    If the applications that you run on the instance use a core-based licensing model and need fewer cores than the full size of the shape, you can disable cores to reduce your licensing costs. The instance itself is billed for the full shape, regardless of whether all cores are enabled.

    type String
    The type of action to run when the instance is interrupted for eviction.
    areVirtualInstructionsEnabled Boolean
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    isAccessControlServiceEnabled Boolean
    Whether the Access Control Service is enabled on the instance. When enabled, the platform can enforce PCIe device isolation, required for VFIO device pass-through.
    isInputOutputMemoryManagementUnitEnabled Boolean
    Whether the input-output memory management unit is enabled.
    isMeasuredBootEnabled Boolean
    Whether the Measured Boot feature is enabled on the instance.
    isMemoryEncryptionEnabled Boolean
    Whether the instance is a confidential instance. If this value is true, the instance is a confidential instance. The default value is false.
    isSecureBootEnabled Boolean
    Whether Secure Boot is enabled on the instance.
    isSymmetricMultiThreadingEnabled Boolean

    (Updatable only for AMD_VM and INTEL_VM) Whether symmetric multithreading is enabled on the instance. Symmetric multithreading is also called simultaneous multithreading (SMT) or Intel Hyper-Threading.

    Intel and AMD processors have two hardware execution threads per core (OCPU). SMT permits multiple independent threads of execution, to better use the resources and increase the efficiency of the CPU. When multithreading is disabled, only one thread is permitted to run on each core, which can provide higher or more predictable performance for some workloads.

    isTrustedPlatformModuleEnabled Boolean
    Whether the Trusted Platform Module (TPM) is enabled on the instance.
    numaNodesPerSocket String
    The number of NUMA nodes per socket (NPS).
    percentageOfCoresEnabled Number

    The percentage of cores enabled. Value must be a multiple of 25%. If the requested percentage results in a fractional number of cores, the system rounds up the number of cores across processors and provisions an instance with a whole number of cores.

    If the applications that you run on the instance use a core-based licensing model and need fewer cores than the full size of the shape, you can disable cores to reduce your licensing costs. The instance itself is billed for the full shape, regardless of whether all cores are enabled.

    InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfig, InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigArgs

    PreemptionAction InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigPreemptionAction
    The action to run when the preemptible instance is interrupted for eviction.
    PreemptionAction InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigPreemptionAction
    The action to run when the preemptible instance is interrupted for eviction.
    preemptionAction InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigPreemptionAction
    The action to run when the preemptible instance is interrupted for eviction.
    preemptionAction InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigPreemptionAction
    The action to run when the preemptible instance is interrupted for eviction.
    preemptionAction Property Map
    The action to run when the preemptible instance is interrupted for eviction.

    InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigPreemptionAction, InstanceConfigurationInstanceDetailsOptionLaunchDetailsPreemptibleInstanceConfigPreemptionActionArgs

    Type string
    The type of action to run when the instance is interrupted for eviction.
    PreserveBootVolume bool
    Whether to preserve the boot volume that was used to launch the preemptible instance when the instance is terminated. Defaults to false if not specified.
    Type string
    The type of action to run when the instance is interrupted for eviction.
    PreserveBootVolume bool
    Whether to preserve the boot volume that was used to launch the preemptible instance when the instance is terminated. Defaults to false if not specified.
    type String
    The type of action to run when the instance is interrupted for eviction.
    preserveBootVolume Boolean
    Whether to preserve the boot volume that was used to launch the preemptible instance when the instance is terminated. Defaults to false if not specified.
    type string
    The type of action to run when the instance is interrupted for eviction.
    preserveBootVolume boolean
    Whether to preserve the boot volume that was used to launch the preemptible instance when the instance is terminated. Defaults to false if not specified.
    type str
    The type of action to run when the instance is interrupted for eviction.
    preserve_boot_volume bool
    Whether to preserve the boot volume that was used to launch the preemptible instance when the instance is terminated. Defaults to false if not specified.
    type String
    The type of action to run when the instance is interrupted for eviction.
    preserveBootVolume Boolean
    Whether to preserve the boot volume that was used to launch the preemptible instance when the instance is terminated. Defaults to false if not specified.

    InstanceConfigurationInstanceDetailsOptionLaunchDetailsShapeConfig, InstanceConfigurationInstanceDetailsOptionLaunchDetailsShapeConfigArgs

    BaselineOcpuUtilization string

    The baseline OCPU utilization for a subcore burstable VM instance. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with BASELINE_1_1.

    The following values are supported:

    MemoryInGbs double
    The total amount of memory available to the instance, in gigabytes.
    Nvmes int
    The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    Ocpus double
    The total number of OCPUs available to the instance.
    Vcpus int
    The total number of VCPUs available to the instance. This can be used instead of OCPUs, in which case the actual number of OCPUs will be calculated based on this value and the actual hardware. This must be a multiple of 2.
    BaselineOcpuUtilization string

    The baseline OCPU utilization for a subcore burstable VM instance. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with BASELINE_1_1.

    The following values are supported:

    MemoryInGbs float64
    The total amount of memory available to the instance, in gigabytes.
    Nvmes int
    The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    Ocpus float64
    The total number of OCPUs available to the instance.
    Vcpus int
    The total number of VCPUs available to the instance. This can be used instead of OCPUs, in which case the actual number of OCPUs will be calculated based on this value and the actual hardware. This must be a multiple of 2.
    baselineOcpuUtilization String

    The baseline OCPU utilization for a subcore burstable VM instance. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with BASELINE_1_1.

    The following values are supported:

    memoryInGbs Double
    The total amount of memory available to the instance, in gigabytes.
    nvmes Integer
    The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    ocpus Double
    The total number of OCPUs available to the instance.
    vcpus Integer
    The total number of VCPUs available to the instance. This can be used instead of OCPUs, in which case the actual number of OCPUs will be calculated based on this value and the actual hardware. This must be a multiple of 2.
    baselineOcpuUtilization string

    The baseline OCPU utilization for a subcore burstable VM instance. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with BASELINE_1_1.

    The following values are supported:

    memoryInGbs number
    The total amount of memory available to the instance, in gigabytes.
    nvmes number
    The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    ocpus number
    The total number of OCPUs available to the instance.
    vcpus number
    The total number of VCPUs available to the instance. This can be used instead of OCPUs, in which case the actual number of OCPUs will be calculated based on this value and the actual hardware. This must be a multiple of 2.
    baseline_ocpu_utilization str

    The baseline OCPU utilization for a subcore burstable VM instance. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with BASELINE_1_1.

    The following values are supported:

    memory_in_gbs float
    The total amount of memory available to the instance, in gigabytes.
    nvmes int
    The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    ocpus float
    The total number of OCPUs available to the instance.
    vcpus int
    The total number of VCPUs available to the instance. This can be used instead of OCPUs, in which case the actual number of OCPUs will be calculated based on this value and the actual hardware. This must be a multiple of 2.
    baselineOcpuUtilization String

    The baseline OCPU utilization for a subcore burstable VM instance. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with BASELINE_1_1.

    The following values are supported:

    memoryInGbs Number
    The total amount of memory available to the instance, in gigabytes.
    nvmes Number
    The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    ocpus Number
    The total number of OCPUs available to the instance.
    vcpus Number
    The total number of VCPUs available to the instance. This can be used instead of OCPUs, in which case the actual number of OCPUs will be calculated based on this value and the actual hardware. This must be a multiple of 2.

    InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetails, InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsArgs

    SourceType string
    The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    BootVolumeId string
    The OCID of the boot volume used to boot the instance.
    BootVolumeSizeInGbs string
    The size of the boot volume in GBs. The minimum value is 50 GB and the maximum value is 32,768 GB (32 TB).
    BootVolumeVpusPerGb string

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    ImageId string
    The OCID of the image used to boot the instance.
    InstanceSourceImageFilterDetails InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsInstanceSourceImageFilterDetails
    These are the criteria for selecting an image. This is required if imageId is not specified.
    KmsKeyId string
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    SourceType string
    The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    BootVolumeId string
    The OCID of the boot volume used to boot the instance.
    BootVolumeSizeInGbs string
    The size of the boot volume in GBs. The minimum value is 50 GB and the maximum value is 32,768 GB (32 TB).
    BootVolumeVpusPerGb string

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    ImageId string
    The OCID of the image used to boot the instance.
    InstanceSourceImageFilterDetails InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsInstanceSourceImageFilterDetails
    These are the criteria for selecting an image. This is required if imageId is not specified.
    KmsKeyId string
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    sourceType String
    The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    bootVolumeId String
    The OCID of the boot volume used to boot the instance.
    bootVolumeSizeInGbs String
    The size of the boot volume in GBs. The minimum value is 50 GB and the maximum value is 32,768 GB (32 TB).
    bootVolumeVpusPerGb String

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    imageId String
    The OCID of the image used to boot the instance.
    instanceSourceImageFilterDetails InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsInstanceSourceImageFilterDetails
    These are the criteria for selecting an image. This is required if imageId is not specified.
    kmsKeyId String
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    sourceType string
    The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    bootVolumeId string
    The OCID of the boot volume used to boot the instance.
    bootVolumeSizeInGbs string
    The size of the boot volume in GBs. The minimum value is 50 GB and the maximum value is 32,768 GB (32 TB).
    bootVolumeVpusPerGb string

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    imageId string
    The OCID of the image used to boot the instance.
    instanceSourceImageFilterDetails InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsInstanceSourceImageFilterDetails
    These are the criteria for selecting an image. This is required if imageId is not specified.
    kmsKeyId string
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    source_type str
    The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    boot_volume_id str
    The OCID of the boot volume used to boot the instance.
    boot_volume_size_in_gbs str
    The size of the boot volume in GBs. The minimum value is 50 GB and the maximum value is 32,768 GB (32 TB).
    boot_volume_vpus_per_gb str

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    image_id str
    The OCID of the image used to boot the instance.
    instance_source_image_filter_details core.InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsInstanceSourceImageFilterDetails
    These are the criteria for selecting an image. This is required if imageId is not specified.
    kms_key_id str
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    sourceType String
    The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    bootVolumeId String
    The OCID of the boot volume used to boot the instance.
    bootVolumeSizeInGbs String
    The size of the boot volume in GBs. The minimum value is 50 GB and the maximum value is 32,768 GB (32 TB).
    bootVolumeVpusPerGb String

    The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See Block Volume Performance Levels for more information.

    Allowed values:

    imageId String
    The OCID of the image used to boot the instance.
    instanceSourceImageFilterDetails Property Map
    These are the criteria for selecting an image. This is required if imageId is not specified.
    kmsKeyId String
    The OCID of the Vault service key to assign as the master encryption key for the volume.

    InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsInstanceSourceImageFilterDetails, InstanceConfigurationInstanceDetailsOptionLaunchDetailsSourceDetailsInstanceSourceImageFilterDetailsArgs

    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    DefinedTagsFilter Dictionary<string, object>
    Filter based on these defined tags. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
    OperatingSystem string
    The image's operating system. Example: Oracle Linux
    OperatingSystemVersion string
    The image's operating system version. Example: 7.2
    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    DefinedTagsFilter map[string]interface{}
    Filter based on these defined tags. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
    OperatingSystem string
    The image's operating system. Example: Oracle Linux
    OperatingSystemVersion string
    The image's operating system version. Example: 7.2
    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    definedTagsFilter Map<String,Object>
    Filter based on these defined tags. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
    operatingSystem String
    The image's operating system. Example: Oracle Linux
    operatingSystemVersion String
    The image's operating system version. Example: 7.2
    compartmentId string
    (Updatable) The OCID of the compartment containing images to search
    definedTagsFilter {[key: string]: any}
    Filter based on these defined tags. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
    operatingSystem string
    The image's operating system. Example: Oracle Linux
    operatingSystemVersion string
    The image's operating system version. Example: 7.2
    compartment_id str
    (Updatable) The OCID of the compartment containing images to search
    defined_tags_filter Mapping[str, Any]
    Filter based on these defined tags. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
    operating_system str
    The image's operating system. Example: Oracle Linux
    operating_system_version str
    The image's operating system version. Example: 7.2
    compartmentId String
    (Updatable) The OCID of the compartment containing images to search
    definedTagsFilter Map<Any>
    Filter based on these defined tags. Each key is predefined and scoped to a namespace. For more information, see Resource Tags.
    operatingSystem String
    The image's operating system. Example: Oracle Linux
    operatingSystemVersion String
    The image's operating system version. Example: 7.2

    InstanceConfigurationInstanceDetailsOptionSecondaryVnic, InstanceConfigurationInstanceDetailsOptionSecondaryVnicArgs

    CreateVnicDetails InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    NicIndex int
    Which physical network interface card (NIC) the VNIC will use. Defaults to 0. Certain bare metal instance shapes have two active physical NICs (0 and 1). If you add a secondary VNIC to one of these instances, you can specify which NIC the VNIC will use. For more information, see Virtual Network Interface Cards (VNICs).
    CreateVnicDetails InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    NicIndex int
    Which physical network interface card (NIC) the VNIC will use. Defaults to 0. Certain bare metal instance shapes have two active physical NICs (0 and 1). If you add a secondary VNIC to one of these instances, you can specify which NIC the VNIC will use. For more information, see Virtual Network Interface Cards (VNICs).
    createVnicDetails InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    nicIndex Integer
    Which physical network interface card (NIC) the VNIC will use. Defaults to 0. Certain bare metal instance shapes have two active physical NICs (0 and 1). If you add a secondary VNIC to one of these instances, you can specify which NIC the VNIC will use. For more information, see Virtual Network Interface Cards (VNICs).
    createVnicDetails InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    nicIndex number
    Which physical network interface card (NIC) the VNIC will use. Defaults to 0. Certain bare metal instance shapes have two active physical NICs (0 and 1). If you add a secondary VNIC to one of these instances, you can specify which NIC the VNIC will use. For more information, see Virtual Network Interface Cards (VNICs).
    create_vnic_details core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    nic_index int
    Which physical network interface card (NIC) the VNIC will use. Defaults to 0. Certain bare metal instance shapes have two active physical NICs (0 and 1). If you add a secondary VNIC to one of these instances, you can specify which NIC the VNIC will use. For more information, see Virtual Network Interface Cards (VNICs).
    createVnicDetails Property Map
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    nicIndex Number
    Which physical network interface card (NIC) the VNIC will use. Defaults to 0. Certain bare metal instance shapes have two active physical NICs (0 and 1). If you add a secondary VNIC to one of these instances, you can specify which NIC the VNIC will use. For more information, see Virtual Network Interface Cards (VNICs).

    InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetails, InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsArgs

    AssignIpv6ip bool
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    AssignPrivateDnsRecord bool
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    AssignPublicIp bool
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    DefinedTags Dictionary<string, object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags Dictionary<string, object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    HostnameLabel string
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    Ipv6addressIpv6subnetCidrPairDetails List<InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail>
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    NsgIds List<string>
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    PrivateIp string
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    SkipSourceDestCheck bool
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    SubnetId string
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    AssignIpv6ip bool
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    AssignPrivateDnsRecord bool
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    AssignPublicIp bool
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    DefinedTags map[string]interface{}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags map[string]interface{}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    HostnameLabel string
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    Ipv6addressIpv6subnetCidrPairDetails []InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    NsgIds []string
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    PrivateIp string
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    SkipSourceDestCheck bool
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    SubnetId string
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assignIpv6ip Boolean
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assignPrivateDnsRecord Boolean
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assignPublicIp Boolean
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    definedTags Map<String,Object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<String,Object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostnameLabel String
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6addressIpv6subnetCidrPairDetails List<InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail>
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsgIds List<String>
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    privateIp String
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skipSourceDestCheck Boolean
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnetId String
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assignIpv6ip boolean
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assignPrivateDnsRecord boolean
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assignPublicIp boolean
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    definedTags {[key: string]: any}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags {[key: string]: any}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostnameLabel string
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6addressIpv6subnetCidrPairDetails InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail[]
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsgIds string[]
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    privateIp string
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skipSourceDestCheck boolean
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnetId string
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assign_ipv6ip bool
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assign_private_dns_record bool
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assign_public_ip bool
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    defined_tags Mapping[str, Any]
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeform_tags Mapping[str, Any]
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostname_label str
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6address_ipv6subnet_cidr_pair_details Sequence[core.InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail]
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsg_ids Sequence[str]
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    private_ip str
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skip_source_dest_check bool
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnet_id str
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assignIpv6ip Boolean
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assignPrivateDnsRecord Boolean
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assignPublicIp Boolean
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    definedTags Map<Any>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<Any>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostnameLabel String
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6addressIpv6subnetCidrPairDetails List<Property Map>
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsgIds List<String>
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    privateIp String
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skipSourceDestCheck Boolean
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnetId String
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.

    InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail, InstanceConfigurationInstanceDetailsOptionSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs

    Ipv6address string
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    Ipv6subnetCidr string
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    Ipv6address string
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    Ipv6subnetCidr string
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address String
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnetCidr String
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address string
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnetCidr string
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address str
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnet_cidr str
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address String
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnetCidr String
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.

    InstanceConfigurationInstanceDetailsSecondaryVnic, InstanceConfigurationInstanceDetailsSecondaryVnicArgs

    CreateVnicDetails InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    NicIndex int
    Which physical network interface card (NIC) the VNIC will use. Defaults to 0. Certain bare metal instance shapes have two active physical NICs (0 and 1). If you add a secondary VNIC to one of these instances, you can specify which NIC the VNIC will use. For more information, see Virtual Network Interface Cards (VNICs).
    CreateVnicDetails InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    NicIndex int
    Which physical network interface card (NIC) the VNIC will use. Defaults to 0. Certain bare metal instance shapes have two active physical NICs (0 and 1). If you add a secondary VNIC to one of these instances, you can specify which NIC the VNIC will use. For more information, see Virtual Network Interface Cards (VNICs).
    createVnicDetails InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    nicIndex Integer
    Which physical network interface card (NIC) the VNIC will use. Defaults to 0. Certain bare metal instance shapes have two active physical NICs (0 and 1). If you add a secondary VNIC to one of these instances, you can specify which NIC the VNIC will use. For more information, see Virtual Network Interface Cards (VNICs).
    createVnicDetails InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    nicIndex number
    Which physical network interface card (NIC) the VNIC will use. Defaults to 0. Certain bare metal instance shapes have two active physical NICs (0 and 1). If you add a secondary VNIC to one of these instances, you can specify which NIC the VNIC will use. For more information, see Virtual Network Interface Cards (VNICs).
    create_vnic_details core.InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetails
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    nic_index int
    Which physical network interface card (NIC) the VNIC will use. Defaults to 0. Certain bare metal instance shapes have two active physical NICs (0 and 1). If you add a secondary VNIC to one of these instances, you can specify which NIC the VNIC will use. For more information, see Virtual Network Interface Cards (VNICs).
    createVnicDetails Property Map
    Contains the properties of the VNIC for an instance configuration. See CreateVnicDetails and Instance Configurations for more information.
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    nicIndex Number
    Which physical network interface card (NIC) the VNIC will use. Defaults to 0. Certain bare metal instance shapes have two active physical NICs (0 and 1). If you add a secondary VNIC to one of these instances, you can specify which NIC the VNIC will use. For more information, see Virtual Network Interface Cards (VNICs).

    InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetails, InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsArgs

    AssignIpv6ip bool
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    AssignPrivateDnsRecord bool
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    AssignPublicIp bool
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    DefinedTags Dictionary<string, object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags Dictionary<string, object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    HostnameLabel string
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    Ipv6addressIpv6subnetCidrPairDetails List<InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail>
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    NsgIds List<string>
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    PrivateIp string
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    SkipSourceDestCheck bool
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    SubnetId string
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    AssignIpv6ip bool
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    AssignPrivateDnsRecord bool
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    AssignPublicIp bool
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    DefinedTags map[string]interface{}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags map[string]interface{}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    HostnameLabel string
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    Ipv6addressIpv6subnetCidrPairDetails []InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    NsgIds []string
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    PrivateIp string
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    SkipSourceDestCheck bool
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    SubnetId string
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assignIpv6ip Boolean
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assignPrivateDnsRecord Boolean
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assignPublicIp Boolean
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    definedTags Map<String,Object>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<String,Object>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostnameLabel String
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6addressIpv6subnetCidrPairDetails List<InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail>
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsgIds List<String>
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    privateIp String
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skipSourceDestCheck Boolean
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnetId String
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assignIpv6ip boolean
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assignPrivateDnsRecord boolean
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assignPublicIp boolean
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    definedTags {[key: string]: any}
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags {[key: string]: any}
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostnameLabel string
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6addressIpv6subnetCidrPairDetails InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail[]
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsgIds string[]
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    privateIp string
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skipSourceDestCheck boolean
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnetId string
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assign_ipv6ip bool
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assign_private_dns_record bool
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assign_public_ip bool
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    defined_tags Mapping[str, Any]
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeform_tags Mapping[str, Any]
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostname_label str
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6address_ipv6subnet_cidr_pair_details Sequence[core.InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail]
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsg_ids Sequence[str]
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    private_ip str
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skip_source_dest_check bool
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnet_id str
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.
    assignIpv6ip Boolean
    Whether to allocate an IPv6 address at instance and VNIC creation from an IPv6 enabled subnet. Default: False. When provided you may optionally provide an IPv6 prefix (ipv6SubnetCidr) of your choice to assign the IPv6 address from. If ipv6SubnetCidr is not provided then an IPv6 prefix is chosen for you.
    assignPrivateDnsRecord Boolean
    Whether the VNIC should be assigned a private DNS record. See the assignPrivateDnsRecord attribute of CreateVnicDetails for more information.
    assignPublicIp Boolean
    Whether the VNIC should be assigned a public IP address. See the assignPublicIp attribute of CreateVnicDetails for more information.
    definedTags Map<Any>
    Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see Resource Tags. Example: {"Operations.CostCenter": "42"}
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<Any>
    Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags. Example: {"Department": "Finance"}
    hostnameLabel String
    The hostname for the VNIC's primary private IP. See the hostnameLabel attribute of CreateVnicDetails for more information.
    ipv6addressIpv6subnetCidrPairDetails List<Property Map>
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges and Oracle Cloud Infrastructure selects an available address from the range. You can optionally choose to leave the prefix range empty and instead provide the specific IPv6 address that should be used from within that range.
    nsgIds List<String>
    A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.
    privateIp String
    A private IP address of your choice to assign to the VNIC. See the privateIp attribute of CreateVnicDetails for more information.
    skipSourceDestCheck Boolean
    Whether the source/destination check is disabled on the VNIC. See the skipSourceDestCheck attribute of CreateVnicDetails for more information.
    subnetId String
    The OCID of the subnet to create the VNIC in. See the subnetId attribute of CreateVnicDetails for more information.

    InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail, InstanceConfigurationInstanceDetailsSecondaryVnicCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs

    Ipv6address string
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    Ipv6subnetCidr string
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    Ipv6address string
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    Ipv6subnetCidr string
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address String
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnetCidr String
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address string
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnetCidr string
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address str
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnet_cidr str
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.
    ipv6address String
    Optional. An available IPv6 address of your subnet from a valid IPv6 prefix on the subnet (otherwise the IP address is automatically assigned).
    ipv6subnetCidr String
    Optional. Used to disambiguate which subnet prefix should be used to create an IPv6 allocation.

    Import

    InstanceConfigurations can be imported using the id, e.g.

    $ pulumi import oci:Core/instanceConfiguration:InstanceConfiguration test_instance_configuration "id"
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    oci pulumi/pulumi-oci
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the oci Terraform Provider.
    oci logo
    Oracle Cloud Infrastructure v1.32.0 published on Thursday, Apr 18, 2024 by Pulumi