# This is an automatically generated code sample.
# To make this code sample work in your Oracle Cloud tenancy,
# please replace the values for any parameters whose current values do not fit
# your use case (such as resource IDs, strings containing ‘EXAMPLE’ or ‘unique_id’, and
# boolean, number, and enum parameters with values not fitting your use case).
require 'oci'
# Create a default config using DEFAULT profile in default location
# Refer to https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm#SDK_and_CLI_Configuration_File for more info
config = OCI::ConfigFileLoader.load_config
# Initialize service client with default config file
core_client = OCI::Core::ComputeManagementClient.new(config: config)
# Send the request to service, some parameters are not required, see API doc for more info
create_instance_configuration_response =
core_client.create_instance_configuration(
OCI::Core::Models::CreateInstanceConfigurationDetails.new(
source: 'NONE',
compartment_id: 'ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value',
instance_details:
OCI::Core::Models::ComputeInstanceDetails.new(
instance_type: 'compute',
block_volumes: [
OCI::Core::Models::InstanceConfigurationBlockVolumeDetails.new(
attach_details:
OCI::Core::Models::InstanceConfigurationParavirtualizedAttachVolumeDetails
.new(
type: 'paravirtualized',
display_name: 'EXAMPLE-displayName-Value',
is_read_only: false,
device: 'EXAMPLE-device-Value',
is_shareable: true,
is_pv_encryption_in_transit_enabled: true
),
create_details:
OCI::Core::Models::InstanceConfigurationCreateVolumeDetails.new(
availability_domain: 'EXAMPLE-availabilityDomain-Value',
backup_policy_id:
'ocid1.test.oc1..<unique_ID>EXAMPLE-backupPolicyId-Value',
compartment_id:
'ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value',
is_auto_tune_enabled: false,
block_volume_replicas: [
OCI::Core::Models::InstanceConfigurationBlockVolumeReplicaDetails
.new(
availability_domain: 'EXAMPLE-availabilityDomain-Value',
display_name: 'EXAMPLE-displayName-Value'
)
],
defined_tags: {
'EXAMPLE_KEY_w94HW' => {
'EXAMPLE_KEY_iAWR4' => 'EXAMPLE--Value'
}
},
display_name: 'EXAMPLE-displayName-Value',
freeform_tags: {
'EXAMPLE_KEY_RV0Zr' => 'EXAMPLE_VALUE_2BqtEI9T1DlIapCl3IvD'
},
kms_key_id:
'ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyId-Value',
vpus_per_gb: 875,
size_in_gbs: 735,
source_details:
OCI::Core::Models::InstanceConfigurationVolumeSourceFromVolumeBackupDetails
.new(
type: 'volumeBackup',
id: 'ocid1.test.oc1..<unique_ID>EXAMPLE-id-Value'
),
autotune_policies: [
OCI::Core::Models::InstanceConfigurationDetachedVolumeAutotunePolicy
.new(autotune_type: 'DETACHED_VOLUME')
]
),
volume_id: 'ocid1.test.oc1..<unique_ID>EXAMPLE-volumeId-Value'
)
],
launch_details:
OCI::Core::Models::InstanceConfigurationLaunchInstanceDetails.new(
availability_domain: 'EXAMPLE-availabilityDomain-Value',
capacity_reservation_id:
'ocid1.test.oc1..<unique_ID>EXAMPLE-capacityReservationId-Value',
compartment_id:
'ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value',
create_vnic_details:
OCI::Core::Models::InstanceConfigurationCreateVnicDetails.new(
assign_ipv6_ip: false,
assign_public_ip: true,
assign_private_dns_record: true,
defined_tags: {
'EXAMPLE_KEY_UmVRr' => {
'EXAMPLE_KEY_KbjeZ' => 'EXAMPLE--Value'
}
},
display_name: 'EXAMPLE-displayName-Value',
freeform_tags: {
'EXAMPLE_KEY_cD3X6' => 'EXAMPLE_VALUE_dWHSVDEpWh0n1YhnG8Pn'
},
ipv6_address_ipv6_subnet_cidr_pair_details: [
OCI::Core::Models::InstanceConfigurationIpv6AddressIpv6SubnetCidrPairDetails
.new(
ipv6_subnet_cidr: 'EXAMPLE-ipv6SubnetCidr-Value',
ipv6_address: 'EXAMPLE-ipv6Address-Value'
)
],
hostname_label: 'EXAMPLE-hostnameLabel-Value',
nsg_ids: %w[EXAMPLE--Value],
private_ip: 'EXAMPLE-privateIp-Value',
skip_source_dest_check: true,
subnet_id: 'ocid1.test.oc1..<unique_ID>EXAMPLE-subnetId-Value'
),
defined_tags: {
'EXAMPLE_KEY_twjqb' => {
'EXAMPLE_KEY_JyKaW' => 'EXAMPLE--Value'
}
},
display_name: 'EXAMPLE-displayName-Value',
extended_metadata: { 'EXAMPLE_KEY_uzyFw' => 'EXAMPLE--Value' },
freeform_tags: {
'EXAMPLE_KEY_k7t3O' => 'EXAMPLE_VALUE_SwhMhBPZmdLhCccGFeAc'
},
ipxe_script: 'EXAMPLE-ipxeScript-Value',
metadata: {
'EXAMPLE_KEY_D0lTD' => 'EXAMPLE_VALUE_PQ0Ms3FoeMxFjzYGbutf'
},
shape: 'EXAMPLE-shape-Value',
shape_config:
OCI::Core::Models::InstanceConfigurationLaunchInstanceShapeConfigDetails
.new(
ocpus: 8268.99,
vcpus: 424,
memory_in_gbs: 9253.349,
baseline_ocpu_utilization: 'BASELINE_1_2',
nvmes: 1
),
platform_config:
OCI::Core::Models::InstanceConfigurationGenericBmLaunchInstancePlatformConfig
.new(
type: 'GENERIC_BM',
is_secure_boot_enabled: true,
is_trusted_platform_module_enabled: false,
is_measured_boot_enabled: false,
is_memory_encryption_enabled: true,
numa_nodes_per_socket: 'NPS1',
is_symmetric_multi_threading_enabled: true,
is_access_control_service_enabled: true,
are_virtual_instructions_enabled: false,
is_input_output_memory_management_unit_enabled: false,
percentage_of_cores_enabled: 81,
config_map: {
'EXAMPLE_KEY_OiGBj' => 'EXAMPLE_VALUE_qGdyF4z59oMs6El0a4RE'
}
),
source_details:
OCI::Core::Models::InstanceConfigurationInstanceSourceViaImageDetails
.new(
source_type: 'image',
boot_volume_size_in_gbs: 570,
image_id: 'ocid1.test.oc1..<unique_ID>EXAMPLE-imageId-Value',
kms_key_id:
'ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyId-Value',
boot_volume_vpus_per_gb: 58,
instance_source_image_filter_details:
OCI::Core::Models::InstanceConfigurationInstanceSourceImageFilterDetails
.new(
compartment_id:
'ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value',
defined_tags_filter: {
'EXAMPLE_KEY_YNDTx' => {
'EXAMPLE_KEY_iNKop' => 'EXAMPLE--Value'
}
},
operating_system: 'EXAMPLE-operatingSystem-Value',
operating_system_version:
'EXAMPLE-operatingSystemVersion-Value'
)
),
fault_domain: 'EXAMPLE-faultDomain-Value',
dedicated_vm_host_id:
'ocid1.test.oc1..<unique_ID>EXAMPLE-dedicatedVmHostId-Value',
launch_mode: 'CUSTOM',
launch_options:
OCI::Core::Models::InstanceConfigurationLaunchOptions.new(
boot_volume_type: 'ISCSI',
firmware: 'UEFI_64',
network_type: 'E1000',
remote_data_volume_type: 'ISCSI',
is_pv_encryption_in_transit_enabled: true,
is_consistent_volume_naming_enabled: true
),
agent_config:
OCI::Core::Models::InstanceConfigurationLaunchInstanceAgentConfigDetails
.new(
is_monitoring_disabled: false,
is_management_disabled: true,
are_all_plugins_disabled: true,
plugins_config: [
OCI::Core::Models::InstanceAgentPluginConfigDetails.new(
name: 'EXAMPLE-name-Value', desired_state: 'ENABLED'
)
]
),
is_pv_encryption_in_transit_enabled: false,
preferred_maintenance_action: 'REBOOT',
instance_options:
OCI::Core::Models::InstanceConfigurationInstanceOptions.new(
are_legacy_imds_endpoints_disabled: true
),
availability_config:
OCI::Core::Models::InstanceConfigurationAvailabilityConfig.new(
is_live_migration_preferred: false,
recovery_action: 'RESTORE_INSTANCE'
),
preemptible_instance_config:
OCI::Core::Models::PreemptibleInstanceConfigDetails.new(
preemption_action:
OCI::Core::Models::TerminatePreemptionAction.new(
type: 'TERMINATE', preserve_boot_volume: true
)
)
),
secondary_vnics: [
OCI::Core::Models::InstanceConfigurationAttachVnicDetails.new(
create_vnic_details:
OCI::Core::Models::InstanceConfigurationCreateVnicDetails.new(
assign_ipv6_ip: true,
assign_public_ip: false,
assign_private_dns_record: true,
defined_tags: {
'EXAMPLE_KEY_heM8d' => {
'EXAMPLE_KEY_HyzVj' => 'EXAMPLE--Value'
}
},
display_name: 'EXAMPLE-displayName-Value',
freeform_tags: {
'EXAMPLE_KEY_CNNvJ' => 'EXAMPLE_VALUE_0XyVsxmlGv7Z7le51SUb'
},
ipv6_address_ipv6_subnet_cidr_pair_details: [
OCI::Core::Models::InstanceConfigurationIpv6AddressIpv6SubnetCidrPairDetails
.new(
ipv6_subnet_cidr: 'EXAMPLE-ipv6SubnetCidr-Value',
ipv6_address: 'EXAMPLE-ipv6Address-Value'
)
],
hostname_label: 'EXAMPLE-hostnameLabel-Value',
nsg_ids: %w[EXAMPLE--Value],
private_ip: 'EXAMPLE-privateIp-Value',
skip_source_dest_check: false,
subnet_id: 'ocid1.test.oc1..<unique_ID>EXAMPLE-subnetId-Value'
),
display_name: 'EXAMPLE-displayName-Value',
nic_index: 27
)
]
),
defined_tags: {
'EXAMPLE_KEY_Vmcnk' => { 'EXAMPLE_KEY_9DbRA' => 'EXAMPLE--Value' }
},
display_name: 'EXAMPLE-displayName-Value',
freeform_tags: {
'EXAMPLE_KEY_SeFxC' => 'EXAMPLE_VALUE_zOQ6OGyJp8PMPOaq16Dg'
}
)
)
# Get the data from response
puts "#{create_instance_configuration_response.data}"