1. Packages
  2. Oracle Cloud Infrastructure
  3. API Docs
  4. Core
  5. Instance
Oracle Cloud Infrastructure v2.17.0 published on Friday, Nov 15, 2024 by Pulumi

oci.Core.Instance

Explore with Pulumi AI

oci logo
Oracle Cloud Infrastructure v2.17.0 published on Friday, Nov 15, 2024 by Pulumi

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

    Creates a new instance in the specified compartment and the specified availability domain. For general information about instances, see Overview of the Compute Service.

    For information about access control and compartments, see Overview of the IAM Service.

    For information about availability domains, see Regions and Availability Domains. To get a list of availability domains, use the ListAvailabilityDomains operation in the Identity and Access Management Service API.

    All Oracle Cloud Infrastructure resources, including instances, get an Oracle-assigned, unique ID called an Oracle Cloud Identifier (OCID). When you create a resource, you can find its OCID in the response. You can also retrieve a resource’s OCID by using a List API operation on that resource type, or by viewing the resource in the Console.

    To launch an instance using an image or a boot volume use the sourceDetails parameter in LaunchInstanceDetails.

    When you launch an instance, it is automatically attached to a virtual network interface card (VNIC), called the primary VNIC. The VNIC has a private IP address from the subnet’s CIDR. You can either assign a private IP address of your choice or let Oracle automatically assign one. You can choose whether the instance has a public IP address. To retrieve the addresses, use the ListVnicAttachments operation to get the VNIC ID for the instance, and then call GetVnic with the VNIC ID.

    You can later add secondary VNICs to an instance. For more information, see Virtual Network Interface Cards (VNICs).

    To launch an instance from a Marketplace image listing, you must provide the image ID of the listing resource version that you want, but you also must subscribe to the listing before you try to launch the instance. To subscribe to the listing, use the GetAppCatalogListingAgreements operation to get the signature for the terms of use agreement for the desired listing resource version. Then, call CreateAppCatalogSubscription with the signature. To get the image ID for the LaunchInstance operation, call GetAppCatalogListingResourceVersion.

    When launching an instance, you may provide the securityAttributes parameter in LaunchInstanceDetails to manage security attributes via the instance, or in the embedded CreateVnicDetails to manage security attributes via the VNIC directly, but not both. Providing securityAttributes in both locations will return a 400 Bad Request response.

    To determine whether capacity is available for a specific shape before you create an instance, use the CreateComputeCapacityReport operation.

    Create Instance Resource

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

    Constructor syntax

    new Instance(name: string, args: InstanceArgs, opts?: CustomResourceOptions);
    @overload
    def Instance(resource_name: str,
                 args: InstanceArgs,
                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def Instance(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 availability_domain: Optional[str] = None,
                 compartment_id: Optional[str] = None,
                 image: Optional[str] = None,
                 dedicated_vm_host_id: Optional[str] = None,
                 capacity_reservation_id: Optional[str] = None,
                 instance_options: Optional[_core.InstanceInstanceOptionsArgs] = None,
                 async_: Optional[bool] = None,
                 compute_cluster_id: Optional[str] = None,
                 create_vnic_details: Optional[_core.InstanceCreateVnicDetailsArgs] = None,
                 ipxe_script: Optional[str] = None,
                 defined_tags: Optional[Mapping[str, str]] = None,
                 display_name: Optional[str] = None,
                 extended_metadata: Optional[Mapping[str, str]] = None,
                 fault_domain: Optional[str] = None,
                 freeform_tags: Optional[Mapping[str, str]] = None,
                 is_pv_encryption_in_transit_enabled: Optional[bool] = None,
                 agent_config: Optional[_core.InstanceAgentConfigArgs] = None,
                 instance_configuration_id: Optional[str] = None,
                 cluster_placement_group_id: Optional[str] = None,
                 availability_config: Optional[_core.InstanceAvailabilityConfigArgs] = None,
                 hostname_label: Optional[str] = None,
                 launch_options: Optional[_core.InstanceLaunchOptionsArgs] = None,
                 launch_volume_attachments: Optional[Sequence[_core.InstanceLaunchVolumeAttachmentArgs]] = None,
                 metadata: Optional[Mapping[str, str]] = None,
                 platform_config: Optional[_core.InstancePlatformConfigArgs] = None,
                 preemptible_instance_config: Optional[_core.InstancePreemptibleInstanceConfigArgs] = None,
                 preserve_boot_volume: Optional[bool] = None,
                 preserve_data_volumes_created_at_launch: Optional[bool] = None,
                 security_attributes: Optional[Mapping[str, str]] = None,
                 shape: Optional[str] = None,
                 shape_config: Optional[_core.InstanceShapeConfigArgs] = None,
                 source_details: Optional[_core.InstanceSourceDetailsArgs] = None,
                 state: Optional[str] = None,
                 subnet_id: Optional[str] = None,
                 update_operation_constraint: Optional[str] = None)
    func NewInstance(ctx *Context, name string, args InstanceArgs, opts ...ResourceOption) (*Instance, error)
    public Instance(string name, InstanceArgs args, CustomResourceOptions? opts = null)
    public Instance(String name, InstanceArgs args)
    public Instance(String name, InstanceArgs args, CustomResourceOptions options)
    
    type: oci:Core:Instance
    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 InstanceArgs
    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 InstanceArgs
    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 InstanceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

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

    var instanceResource = new Oci.Core.Instance("instanceResource", new()
    {
        AvailabilityDomain = "string",
        CompartmentId = "string",
        DedicatedVmHostId = "string",
        CapacityReservationId = "string",
        InstanceOptions = new Oci.Core.Inputs.InstanceInstanceOptionsArgs
        {
            AreLegacyImdsEndpointsDisabled = false,
        },
        Async = false,
        ComputeClusterId = "string",
        CreateVnicDetails = new Oci.Core.Inputs.InstanceCreateVnicDetailsArgs
        {
            AssignIpv6ip = false,
            AssignPrivateDnsRecord = false,
            AssignPublicIp = "string",
            DefinedTags = 
            {
                { "string", "string" },
            },
            DisplayName = "string",
            FreeformTags = 
            {
                { "string", "string" },
            },
            HostnameLabel = "string",
            Ipv6addressIpv6subnetCidrPairDetails = new[]
            {
                new Oci.Core.Inputs.InstanceCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs
                {
                    Ipv6address = "string",
                    Ipv6subnetCidr = "string",
                },
            },
            NsgIds = new[]
            {
                "string",
            },
            PrivateIp = "string",
            SecurityAttributes = 
            {
                { "string", "string" },
            },
            SkipSourceDestCheck = false,
            SubnetId = "string",
            VlanId = "string",
        },
        IpxeScript = "string",
        DefinedTags = 
        {
            { "string", "string" },
        },
        DisplayName = "string",
        ExtendedMetadata = 
        {
            { "string", "string" },
        },
        FaultDomain = "string",
        FreeformTags = 
        {
            { "string", "string" },
        },
        IsPvEncryptionInTransitEnabled = false,
        AgentConfig = new Oci.Core.Inputs.InstanceAgentConfigArgs
        {
            AreAllPluginsDisabled = false,
            IsManagementDisabled = false,
            IsMonitoringDisabled = false,
            PluginsConfigs = new[]
            {
                new Oci.Core.Inputs.InstanceAgentConfigPluginsConfigArgs
                {
                    DesiredState = "string",
                    Name = "string",
                },
            },
        },
        InstanceConfigurationId = "string",
        ClusterPlacementGroupId = "string",
        AvailabilityConfig = new Oci.Core.Inputs.InstanceAvailabilityConfigArgs
        {
            IsLiveMigrationPreferred = false,
            RecoveryAction = "string",
        },
        LaunchOptions = new Oci.Core.Inputs.InstanceLaunchOptionsArgs
        {
            BootVolumeType = "string",
            Firmware = "string",
            IsConsistentVolumeNamingEnabled = false,
            IsPvEncryptionInTransitEnabled = false,
            NetworkType = "string",
            RemoteDataVolumeType = "string",
        },
        LaunchVolumeAttachments = new[]
        {
            new Oci.Core.Inputs.InstanceLaunchVolumeAttachmentArgs
            {
                Type = "string",
                Device = "string",
                DisplayName = "string",
                EncryptionInTransitType = "string",
                IsAgentAutoIscsiLoginEnabled = false,
                IsPvEncryptionInTransitEnabled = false,
                IsReadOnly = false,
                IsShareable = false,
                LaunchCreateVolumeDetails = new Oci.Core.Inputs.InstanceLaunchVolumeAttachmentLaunchCreateVolumeDetailsArgs
                {
                    SizeInGbs = "string",
                    VolumeCreationType = "string",
                    CompartmentId = "string",
                    DisplayName = "string",
                    KmsKeyId = "string",
                    VpusPerGb = "string",
                },
                UseChap = false,
                VolumeId = "string",
            },
        },
        Metadata = 
        {
            { "string", "string" },
        },
        PlatformConfig = new Oci.Core.Inputs.InstancePlatformConfigArgs
        {
            Type = "string",
            AreVirtualInstructionsEnabled = false,
            ConfigMap = 
            {
                { "string", "string" },
            },
            IsAccessControlServiceEnabled = false,
            IsInputOutputMemoryManagementUnitEnabled = false,
            IsMeasuredBootEnabled = false,
            IsMemoryEncryptionEnabled = false,
            IsSecureBootEnabled = false,
            IsSymmetricMultiThreadingEnabled = false,
            IsTrustedPlatformModuleEnabled = false,
            NumaNodesPerSocket = "string",
            PercentageOfCoresEnabled = 0,
        },
        PreemptibleInstanceConfig = new Oci.Core.Inputs.InstancePreemptibleInstanceConfigArgs
        {
            PreemptionAction = new Oci.Core.Inputs.InstancePreemptibleInstanceConfigPreemptionActionArgs
            {
                Type = "string",
                PreserveBootVolume = false,
            },
        },
        PreserveBootVolume = false,
        PreserveDataVolumesCreatedAtLaunch = false,
        SecurityAttributes = 
        {
            { "string", "string" },
        },
        Shape = "string",
        ShapeConfig = new Oci.Core.Inputs.InstanceShapeConfigArgs
        {
            BaselineOcpuUtilization = "string",
            GpuDescription = "string",
            Gpus = 0,
            LocalDiskDescription = "string",
            LocalDisks = 0,
            LocalDisksTotalSizeInGbs = 0,
            MaxVnicAttachments = 0,
            MemoryInGbs = 0,
            NetworkingBandwidthInGbps = 0,
            Nvmes = 0,
            Ocpus = 0,
            ProcessorDescription = "string",
            Vcpus = 0,
        },
        SourceDetails = new Oci.Core.Inputs.InstanceSourceDetailsArgs
        {
            SourceType = "string",
            BootVolumeSizeInGbs = "string",
            BootVolumeVpusPerGb = "string",
            InstanceSourceImageFilterDetails = new Oci.Core.Inputs.InstanceSourceDetailsInstanceSourceImageFilterDetailsArgs
            {
                CompartmentId = "string",
                DefinedTagsFilter = 
                {
                    { "string", "string" },
                },
                OperatingSystem = "string",
                OperatingSystemVersion = "string",
            },
            IsPreserveBootVolumeEnabled = false,
            KmsKeyId = "string",
            SourceId = "string",
        },
        State = "string",
        UpdateOperationConstraint = "string",
    });
    
    example, err := Core.NewInstance(ctx, "instanceResource", &Core.InstanceArgs{
    	AvailabilityDomain:    pulumi.String("string"),
    	CompartmentId:         pulumi.String("string"),
    	DedicatedVmHostId:     pulumi.String("string"),
    	CapacityReservationId: pulumi.String("string"),
    	InstanceOptions: &core.InstanceInstanceOptionsArgs{
    		AreLegacyImdsEndpointsDisabled: pulumi.Bool(false),
    	},
    	Async:            pulumi.Bool(false),
    	ComputeClusterId: pulumi.String("string"),
    	CreateVnicDetails: &core.InstanceCreateVnicDetailsArgs{
    		AssignIpv6ip:           pulumi.Bool(false),
    		AssignPrivateDnsRecord: pulumi.Bool(false),
    		AssignPublicIp:         pulumi.String("string"),
    		DefinedTags: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		DisplayName: pulumi.String("string"),
    		FreeformTags: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		HostnameLabel: pulumi.String("string"),
    		Ipv6addressIpv6subnetCidrPairDetails: core.InstanceCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArray{
    			&core.InstanceCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs{
    				Ipv6address:    pulumi.String("string"),
    				Ipv6subnetCidr: pulumi.String("string"),
    			},
    		},
    		NsgIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		PrivateIp: pulumi.String("string"),
    		SecurityAttributes: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		SkipSourceDestCheck: pulumi.Bool(false),
    		SubnetId:            pulumi.String("string"),
    		VlanId:              pulumi.String("string"),
    	},
    	IpxeScript: pulumi.String("string"),
    	DefinedTags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	DisplayName: pulumi.String("string"),
    	ExtendedMetadata: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	FaultDomain: pulumi.String("string"),
    	FreeformTags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	IsPvEncryptionInTransitEnabled: pulumi.Bool(false),
    	AgentConfig: &core.InstanceAgentConfigArgs{
    		AreAllPluginsDisabled: pulumi.Bool(false),
    		IsManagementDisabled:  pulumi.Bool(false),
    		IsMonitoringDisabled:  pulumi.Bool(false),
    		PluginsConfigs: core.InstanceAgentConfigPluginsConfigArray{
    			&core.InstanceAgentConfigPluginsConfigArgs{
    				DesiredState: pulumi.String("string"),
    				Name:         pulumi.String("string"),
    			},
    		},
    	},
    	InstanceConfigurationId: pulumi.String("string"),
    	ClusterPlacementGroupId: pulumi.String("string"),
    	AvailabilityConfig: &core.InstanceAvailabilityConfigArgs{
    		IsLiveMigrationPreferred: pulumi.Bool(false),
    		RecoveryAction:           pulumi.String("string"),
    	},
    	LaunchOptions: &core.InstanceLaunchOptionsArgs{
    		BootVolumeType:                  pulumi.String("string"),
    		Firmware:                        pulumi.String("string"),
    		IsConsistentVolumeNamingEnabled: pulumi.Bool(false),
    		IsPvEncryptionInTransitEnabled:  pulumi.Bool(false),
    		NetworkType:                     pulumi.String("string"),
    		RemoteDataVolumeType:            pulumi.String("string"),
    	},
    	LaunchVolumeAttachments: core.InstanceLaunchVolumeAttachmentArray{
    		&core.InstanceLaunchVolumeAttachmentArgs{
    			Type:                           pulumi.String("string"),
    			Device:                         pulumi.String("string"),
    			DisplayName:                    pulumi.String("string"),
    			EncryptionInTransitType:        pulumi.String("string"),
    			IsAgentAutoIscsiLoginEnabled:   pulumi.Bool(false),
    			IsPvEncryptionInTransitEnabled: pulumi.Bool(false),
    			IsReadOnly:                     pulumi.Bool(false),
    			IsShareable:                    pulumi.Bool(false),
    			LaunchCreateVolumeDetails: &core.InstanceLaunchVolumeAttachmentLaunchCreateVolumeDetailsArgs{
    				SizeInGbs:          pulumi.String("string"),
    				VolumeCreationType: pulumi.String("string"),
    				CompartmentId:      pulumi.String("string"),
    				DisplayName:        pulumi.String("string"),
    				KmsKeyId:           pulumi.String("string"),
    				VpusPerGb:          pulumi.String("string"),
    			},
    			UseChap:  pulumi.Bool(false),
    			VolumeId: pulumi.String("string"),
    		},
    	},
    	Metadata: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	PlatformConfig: &core.InstancePlatformConfigArgs{
    		Type:                          pulumi.String("string"),
    		AreVirtualInstructionsEnabled: pulumi.Bool(false),
    		ConfigMap: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		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.InstancePreemptibleInstanceConfigArgs{
    		PreemptionAction: &core.InstancePreemptibleInstanceConfigPreemptionActionArgs{
    			Type:               pulumi.String("string"),
    			PreserveBootVolume: pulumi.Bool(false),
    		},
    	},
    	PreserveBootVolume:                 pulumi.Bool(false),
    	PreserveDataVolumesCreatedAtLaunch: pulumi.Bool(false),
    	SecurityAttributes: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Shape: pulumi.String("string"),
    	ShapeConfig: &core.InstanceShapeConfigArgs{
    		BaselineOcpuUtilization:   pulumi.String("string"),
    		GpuDescription:            pulumi.String("string"),
    		Gpus:                      pulumi.Int(0),
    		LocalDiskDescription:      pulumi.String("string"),
    		LocalDisks:                pulumi.Int(0),
    		LocalDisksTotalSizeInGbs:  pulumi.Float64(0),
    		MaxVnicAttachments:        pulumi.Int(0),
    		MemoryInGbs:               pulumi.Float64(0),
    		NetworkingBandwidthInGbps: pulumi.Float64(0),
    		Nvmes:                     pulumi.Int(0),
    		Ocpus:                     pulumi.Float64(0),
    		ProcessorDescription:      pulumi.String("string"),
    		Vcpus:                     pulumi.Int(0),
    	},
    	SourceDetails: &core.InstanceSourceDetailsArgs{
    		SourceType:          pulumi.String("string"),
    		BootVolumeSizeInGbs: pulumi.String("string"),
    		BootVolumeVpusPerGb: pulumi.String("string"),
    		InstanceSourceImageFilterDetails: &core.InstanceSourceDetailsInstanceSourceImageFilterDetailsArgs{
    			CompartmentId: pulumi.String("string"),
    			DefinedTagsFilter: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			OperatingSystem:        pulumi.String("string"),
    			OperatingSystemVersion: pulumi.String("string"),
    		},
    		IsPreserveBootVolumeEnabled: pulumi.Bool(false),
    		KmsKeyId:                    pulumi.String("string"),
    		SourceId:                    pulumi.String("string"),
    	},
    	State:                     pulumi.String("string"),
    	UpdateOperationConstraint: pulumi.String("string"),
    })
    
    var instanceResource = new Instance("instanceResource", InstanceArgs.builder()
        .availabilityDomain("string")
        .compartmentId("string")
        .dedicatedVmHostId("string")
        .capacityReservationId("string")
        .instanceOptions(InstanceInstanceOptionsArgs.builder()
            .areLegacyImdsEndpointsDisabled(false)
            .build())
        .async(false)
        .computeClusterId("string")
        .createVnicDetails(InstanceCreateVnicDetailsArgs.builder()
            .assignIpv6ip(false)
            .assignPrivateDnsRecord(false)
            .assignPublicIp("string")
            .definedTags(Map.of("string", "string"))
            .displayName("string")
            .freeformTags(Map.of("string", "string"))
            .hostnameLabel("string")
            .ipv6addressIpv6subnetCidrPairDetails(InstanceCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs.builder()
                .ipv6address("string")
                .ipv6subnetCidr("string")
                .build())
            .nsgIds("string")
            .privateIp("string")
            .securityAttributes(Map.of("string", "string"))
            .skipSourceDestCheck(false)
            .subnetId("string")
            .vlanId("string")
            .build())
        .ipxeScript("string")
        .definedTags(Map.of("string", "string"))
        .displayName("string")
        .extendedMetadata(Map.of("string", "string"))
        .faultDomain("string")
        .freeformTags(Map.of("string", "string"))
        .isPvEncryptionInTransitEnabled(false)
        .agentConfig(InstanceAgentConfigArgs.builder()
            .areAllPluginsDisabled(false)
            .isManagementDisabled(false)
            .isMonitoringDisabled(false)
            .pluginsConfigs(InstanceAgentConfigPluginsConfigArgs.builder()
                .desiredState("string")
                .name("string")
                .build())
            .build())
        .instanceConfigurationId("string")
        .clusterPlacementGroupId("string")
        .availabilityConfig(InstanceAvailabilityConfigArgs.builder()
            .isLiveMigrationPreferred(false)
            .recoveryAction("string")
            .build())
        .launchOptions(InstanceLaunchOptionsArgs.builder()
            .bootVolumeType("string")
            .firmware("string")
            .isConsistentVolumeNamingEnabled(false)
            .isPvEncryptionInTransitEnabled(false)
            .networkType("string")
            .remoteDataVolumeType("string")
            .build())
        .launchVolumeAttachments(InstanceLaunchVolumeAttachmentArgs.builder()
            .type("string")
            .device("string")
            .displayName("string")
            .encryptionInTransitType("string")
            .isAgentAutoIscsiLoginEnabled(false)
            .isPvEncryptionInTransitEnabled(false)
            .isReadOnly(false)
            .isShareable(false)
            .launchCreateVolumeDetails(InstanceLaunchVolumeAttachmentLaunchCreateVolumeDetailsArgs.builder()
                .sizeInGbs("string")
                .volumeCreationType("string")
                .compartmentId("string")
                .displayName("string")
                .kmsKeyId("string")
                .vpusPerGb("string")
                .build())
            .useChap(false)
            .volumeId("string")
            .build())
        .metadata(Map.of("string", "string"))
        .platformConfig(InstancePlatformConfigArgs.builder()
            .type("string")
            .areVirtualInstructionsEnabled(false)
            .configMap(Map.of("string", "string"))
            .isAccessControlServiceEnabled(false)
            .isInputOutputMemoryManagementUnitEnabled(false)
            .isMeasuredBootEnabled(false)
            .isMemoryEncryptionEnabled(false)
            .isSecureBootEnabled(false)
            .isSymmetricMultiThreadingEnabled(false)
            .isTrustedPlatformModuleEnabled(false)
            .numaNodesPerSocket("string")
            .percentageOfCoresEnabled(0)
            .build())
        .preemptibleInstanceConfig(InstancePreemptibleInstanceConfigArgs.builder()
            .preemptionAction(InstancePreemptibleInstanceConfigPreemptionActionArgs.builder()
                .type("string")
                .preserveBootVolume(false)
                .build())
            .build())
        .preserveBootVolume(false)
        .preserveDataVolumesCreatedAtLaunch(false)
        .securityAttributes(Map.of("string", "string"))
        .shape("string")
        .shapeConfig(InstanceShapeConfigArgs.builder()
            .baselineOcpuUtilization("string")
            .gpuDescription("string")
            .gpus(0)
            .localDiskDescription("string")
            .localDisks(0)
            .localDisksTotalSizeInGbs(0)
            .maxVnicAttachments(0)
            .memoryInGbs(0)
            .networkingBandwidthInGbps(0)
            .nvmes(0)
            .ocpus(0)
            .processorDescription("string")
            .vcpus(0)
            .build())
        .sourceDetails(InstanceSourceDetailsArgs.builder()
            .sourceType("string")
            .bootVolumeSizeInGbs("string")
            .bootVolumeVpusPerGb("string")
            .instanceSourceImageFilterDetails(InstanceSourceDetailsInstanceSourceImageFilterDetailsArgs.builder()
                .compartmentId("string")
                .definedTagsFilter(Map.of("string", "string"))
                .operatingSystem("string")
                .operatingSystemVersion("string")
                .build())
            .isPreserveBootVolumeEnabled(false)
            .kmsKeyId("string")
            .sourceId("string")
            .build())
        .state("string")
        .updateOperationConstraint("string")
        .build());
    
    instance_resource = oci.core.Instance("instanceResource",
        availability_domain="string",
        compartment_id="string",
        dedicated_vm_host_id="string",
        capacity_reservation_id="string",
        instance_options={
            "are_legacy_imds_endpoints_disabled": False,
        },
        async_=False,
        compute_cluster_id="string",
        create_vnic_details={
            "assign_ipv6ip": False,
            "assign_private_dns_record": False,
            "assign_public_ip": "string",
            "defined_tags": {
                "string": "string",
            },
            "display_name": "string",
            "freeform_tags": {
                "string": "string",
            },
            "hostname_label": "string",
            "ipv6address_ipv6subnet_cidr_pair_details": [{
                "ipv6address": "string",
                "ipv6subnet_cidr": "string",
            }],
            "nsg_ids": ["string"],
            "private_ip": "string",
            "security_attributes": {
                "string": "string",
            },
            "skip_source_dest_check": False,
            "subnet_id": "string",
            "vlan_id": "string",
        },
        ipxe_script="string",
        defined_tags={
            "string": "string",
        },
        display_name="string",
        extended_metadata={
            "string": "string",
        },
        fault_domain="string",
        freeform_tags={
            "string": "string",
        },
        is_pv_encryption_in_transit_enabled=False,
        agent_config={
            "are_all_plugins_disabled": False,
            "is_management_disabled": False,
            "is_monitoring_disabled": False,
            "plugins_configs": [{
                "desired_state": "string",
                "name": "string",
            }],
        },
        instance_configuration_id="string",
        cluster_placement_group_id="string",
        availability_config={
            "is_live_migration_preferred": False,
            "recovery_action": "string",
        },
        launch_options={
            "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",
        },
        launch_volume_attachments=[{
            "type": "string",
            "device": "string",
            "display_name": "string",
            "encryption_in_transit_type": "string",
            "is_agent_auto_iscsi_login_enabled": False,
            "is_pv_encryption_in_transit_enabled": False,
            "is_read_only": False,
            "is_shareable": False,
            "launch_create_volume_details": {
                "size_in_gbs": "string",
                "volume_creation_type": "string",
                "compartment_id": "string",
                "display_name": "string",
                "kms_key_id": "string",
                "vpus_per_gb": "string",
            },
            "use_chap": False,
            "volume_id": "string",
        }],
        metadata={
            "string": "string",
        },
        platform_config={
            "type": "string",
            "are_virtual_instructions_enabled": False,
            "config_map": {
                "string": "string",
            },
            "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={
            "preemption_action": {
                "type": "string",
                "preserve_boot_volume": False,
            },
        },
        preserve_boot_volume=False,
        preserve_data_volumes_created_at_launch=False,
        security_attributes={
            "string": "string",
        },
        shape="string",
        shape_config={
            "baseline_ocpu_utilization": "string",
            "gpu_description": "string",
            "gpus": 0,
            "local_disk_description": "string",
            "local_disks": 0,
            "local_disks_total_size_in_gbs": 0,
            "max_vnic_attachments": 0,
            "memory_in_gbs": 0,
            "networking_bandwidth_in_gbps": 0,
            "nvmes": 0,
            "ocpus": 0,
            "processor_description": "string",
            "vcpus": 0,
        },
        source_details={
            "source_type": "string",
            "boot_volume_size_in_gbs": "string",
            "boot_volume_vpus_per_gb": "string",
            "instance_source_image_filter_details": {
                "compartment_id": "string",
                "defined_tags_filter": {
                    "string": "string",
                },
                "operating_system": "string",
                "operating_system_version": "string",
            },
            "is_preserve_boot_volume_enabled": False,
            "kms_key_id": "string",
            "source_id": "string",
        },
        state="string",
        update_operation_constraint="string")
    
    const instanceResource = new oci.core.Instance("instanceResource", {
        availabilityDomain: "string",
        compartmentId: "string",
        dedicatedVmHostId: "string",
        capacityReservationId: "string",
        instanceOptions: {
            areLegacyImdsEndpointsDisabled: false,
        },
        async: false,
        computeClusterId: "string",
        createVnicDetails: {
            assignIpv6ip: false,
            assignPrivateDnsRecord: false,
            assignPublicIp: "string",
            definedTags: {
                string: "string",
            },
            displayName: "string",
            freeformTags: {
                string: "string",
            },
            hostnameLabel: "string",
            ipv6addressIpv6subnetCidrPairDetails: [{
                ipv6address: "string",
                ipv6subnetCidr: "string",
            }],
            nsgIds: ["string"],
            privateIp: "string",
            securityAttributes: {
                string: "string",
            },
            skipSourceDestCheck: false,
            subnetId: "string",
            vlanId: "string",
        },
        ipxeScript: "string",
        definedTags: {
            string: "string",
        },
        displayName: "string",
        extendedMetadata: {
            string: "string",
        },
        faultDomain: "string",
        freeformTags: {
            string: "string",
        },
        isPvEncryptionInTransitEnabled: false,
        agentConfig: {
            areAllPluginsDisabled: false,
            isManagementDisabled: false,
            isMonitoringDisabled: false,
            pluginsConfigs: [{
                desiredState: "string",
                name: "string",
            }],
        },
        instanceConfigurationId: "string",
        clusterPlacementGroupId: "string",
        availabilityConfig: {
            isLiveMigrationPreferred: false,
            recoveryAction: "string",
        },
        launchOptions: {
            bootVolumeType: "string",
            firmware: "string",
            isConsistentVolumeNamingEnabled: false,
            isPvEncryptionInTransitEnabled: false,
            networkType: "string",
            remoteDataVolumeType: "string",
        },
        launchVolumeAttachments: [{
            type: "string",
            device: "string",
            displayName: "string",
            encryptionInTransitType: "string",
            isAgentAutoIscsiLoginEnabled: false,
            isPvEncryptionInTransitEnabled: false,
            isReadOnly: false,
            isShareable: false,
            launchCreateVolumeDetails: {
                sizeInGbs: "string",
                volumeCreationType: "string",
                compartmentId: "string",
                displayName: "string",
                kmsKeyId: "string",
                vpusPerGb: "string",
            },
            useChap: false,
            volumeId: "string",
        }],
        metadata: {
            string: "string",
        },
        platformConfig: {
            type: "string",
            areVirtualInstructionsEnabled: false,
            configMap: {
                string: "string",
            },
            isAccessControlServiceEnabled: false,
            isInputOutputMemoryManagementUnitEnabled: false,
            isMeasuredBootEnabled: false,
            isMemoryEncryptionEnabled: false,
            isSecureBootEnabled: false,
            isSymmetricMultiThreadingEnabled: false,
            isTrustedPlatformModuleEnabled: false,
            numaNodesPerSocket: "string",
            percentageOfCoresEnabled: 0,
        },
        preemptibleInstanceConfig: {
            preemptionAction: {
                type: "string",
                preserveBootVolume: false,
            },
        },
        preserveBootVolume: false,
        preserveDataVolumesCreatedAtLaunch: false,
        securityAttributes: {
            string: "string",
        },
        shape: "string",
        shapeConfig: {
            baselineOcpuUtilization: "string",
            gpuDescription: "string",
            gpus: 0,
            localDiskDescription: "string",
            localDisks: 0,
            localDisksTotalSizeInGbs: 0,
            maxVnicAttachments: 0,
            memoryInGbs: 0,
            networkingBandwidthInGbps: 0,
            nvmes: 0,
            ocpus: 0,
            processorDescription: "string",
            vcpus: 0,
        },
        sourceDetails: {
            sourceType: "string",
            bootVolumeSizeInGbs: "string",
            bootVolumeVpusPerGb: "string",
            instanceSourceImageFilterDetails: {
                compartmentId: "string",
                definedTagsFilter: {
                    string: "string",
                },
                operatingSystem: "string",
                operatingSystemVersion: "string",
            },
            isPreserveBootVolumeEnabled: false,
            kmsKeyId: "string",
            sourceId: "string",
        },
        state: "string",
        updateOperationConstraint: "string",
    });
    
    type: oci:Core:Instance
    properties:
        agentConfig:
            areAllPluginsDisabled: false
            isManagementDisabled: false
            isMonitoringDisabled: false
            pluginsConfigs:
                - desiredState: string
                  name: string
        async: false
        availabilityConfig:
            isLiveMigrationPreferred: false
            recoveryAction: string
        availabilityDomain: string
        capacityReservationId: string
        clusterPlacementGroupId: string
        compartmentId: string
        computeClusterId: string
        createVnicDetails:
            assignIpv6ip: false
            assignPrivateDnsRecord: false
            assignPublicIp: string
            definedTags:
                string: string
            displayName: string
            freeformTags:
                string: string
            hostnameLabel: string
            ipv6addressIpv6subnetCidrPairDetails:
                - ipv6address: string
                  ipv6subnetCidr: string
            nsgIds:
                - string
            privateIp: string
            securityAttributes:
                string: string
            skipSourceDestCheck: false
            subnetId: string
            vlanId: string
        dedicatedVmHostId: string
        definedTags:
            string: string
        displayName: string
        extendedMetadata:
            string: string
        faultDomain: string
        freeformTags:
            string: string
        instanceConfigurationId: string
        instanceOptions:
            areLegacyImdsEndpointsDisabled: false
        ipxeScript: string
        isPvEncryptionInTransitEnabled: false
        launchOptions:
            bootVolumeType: string
            firmware: string
            isConsistentVolumeNamingEnabled: false
            isPvEncryptionInTransitEnabled: false
            networkType: string
            remoteDataVolumeType: string
        launchVolumeAttachments:
            - device: string
              displayName: string
              encryptionInTransitType: string
              isAgentAutoIscsiLoginEnabled: false
              isPvEncryptionInTransitEnabled: false
              isReadOnly: false
              isShareable: false
              launchCreateVolumeDetails:
                compartmentId: string
                displayName: string
                kmsKeyId: string
                sizeInGbs: string
                volumeCreationType: string
                vpusPerGb: string
              type: string
              useChap: false
              volumeId: string
        metadata:
            string: string
        platformConfig:
            areVirtualInstructionsEnabled: false
            configMap:
                string: string
            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
        preserveBootVolume: false
        preserveDataVolumesCreatedAtLaunch: false
        securityAttributes:
            string: string
        shape: string
        shapeConfig:
            baselineOcpuUtilization: string
            gpuDescription: string
            gpus: 0
            localDiskDescription: string
            localDisks: 0
            localDisksTotalSizeInGbs: 0
            maxVnicAttachments: 0
            memoryInGbs: 0
            networkingBandwidthInGbps: 0
            nvmes: 0
            ocpus: 0
            processorDescription: string
            vcpus: 0
        sourceDetails:
            bootVolumeSizeInGbs: string
            bootVolumeVpusPerGb: string
            instanceSourceImageFilterDetails:
                compartmentId: string
                definedTagsFilter:
                    string: string
                operatingSystem: string
                operatingSystemVersion: string
            isPreserveBootVolumeEnabled: false
            kmsKeyId: string
            sourceId: string
            sourceType: string
        state: string
        updateOperationConstraint: string
    

    Instance Resource Properties

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

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Instance resource accepts the following input properties:

    AvailabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    CompartmentId string
    (Updatable) The OCID of the compartment.
    AgentConfig InstanceAgentConfig
    (Updatable) Configuration options for the Oracle Cloud Agent software running on the instance.
    Async bool
    AvailabilityConfig InstanceAvailabilityConfig
    (Updatable) Options for VM migration during infrastructure maintenance events and for defining the availability of a VM instance after a maintenance event that impacts the underlying hardware.
    CapacityReservationId string
    (Updatable) The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see Capacity Reservations.
    ClusterPlacementGroupId string
    The OCID of the cluster placement group of the instance.
    ComputeClusterId string
    The OCID of the compute cluster that the instance will be created in.
    CreateVnicDetails InstanceCreateVnicDetails
    (Updatable) Contains properties for a VNIC. You use this object when creating the primary VNIC during instance launch or when creating a secondary VNIC. For more information about VNICs, see Virtual Network Interface Cards (VNICs).
    DedicatedVmHostId string
    (Updatable) The OCID of the dedicated virtual machine host to place the instance on.
    DefinedTags Dictionary<string, string>
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    ExtendedMetadata Dictionary<string, string>
    FaultDomain string

    (Updatable) 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, string>
    (Updatable) 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
    Deprecated. Instead use hostnameLabel in CreateVnicDetails. If you provide both, the values must match.

    Deprecated: The 'hostname_label' field has been deprecated. Please use 'hostname_label under create_vnic_details' instead.

    Image string
    Deprecated. Use sourceDetails with InstanceSourceViaImageDetails source type instead. If you specify values for both, the values must match.

    Deprecated: The 'image' field has been deprecated. Please use 'source_details' instead. If both fields are specified, then 'source_details' will be used.

    InstanceConfigurationId string
    The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.
    InstanceOptions InstanceInstanceOptions
    (Updatable) Optional mutable instance options
    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. 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, use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    If your instance boot volume attachment type is paravirtualized, the boot volume is attached to the instance through virtio-scsi and no iPXE script is used. If your instance boot volume attachment type is paravirtualized and you use custom iPXE to network boot into your instance, the primary boot volume is attached as a data volume through virtio-scsi drive.

    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
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. Use this field only during create. To update use is_pv_encryption_in_transit_enabled under launch_options instead.
    LaunchOptions InstanceLaunchOptions
    (Updatable) Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    LaunchVolumeAttachments List<InstanceLaunchVolumeAttachment>

    Volume attachments to create as part of the launch instance operation.

    Note: This property is used for initial instance provisioning only. Updates to this property will not be supported. To update volume attachments, user should use oci.Core.VolumeAttachment. To update volume details, user should use oci.Core.Volume

    Metadata Dictionary<string, string>

    (Updatable) 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/<any-key-name>
    

    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.

    Note: Both the 'user_data' and 'ssh_authorized_keys' fields cannot be changed after an instance has launched. Any request which updates, removes, or adds either of these fields will be rejected. You must provide the same values for 'user_data' and 'ssh_authorized_keys' that already exist on the instance.

    PlatformConfig InstancePlatformConfig

    (Updatable only for VM's) 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.

    For more information about shielded instances, see Shielded Instances.

    For more information about BIOS settings for bare metal instances, see BIOS Settings for Bare Metal Instances.

    PreemptibleInstanceConfig InstancePreemptibleInstanceConfig
    Configuration options for preemptible instances.
    PreserveBootVolume bool
    (Optional) 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.
    PreserveDataVolumesCreatedAtLaunch bool
    SecurityAttributes Dictionary<string, string>
    (Updatable) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    Shape string

    (Updatable) 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 InstanceShapeConfig

    (Updatable) 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 InstanceSourceDetails
    (Updatable)
    State string

    (Updatable) The target state for the instance. Could be set to RUNNING or STOPPED.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    SubnetId string
    Deprecated. Instead use subnetId in CreateVnicDetails. At least one of them is required; if you provide both, the values must match.

    Deprecated: The 'subnet_id' field has been deprecated. Please use 'subnet_id under create_vnic_details' instead.

    UpdateOperationConstraint string
    AvailabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    CompartmentId string
    (Updatable) The OCID of the compartment.
    AgentConfig InstanceAgentConfigArgs
    (Updatable) Configuration options for the Oracle Cloud Agent software running on the instance.
    Async bool
    AvailabilityConfig InstanceAvailabilityConfigArgs
    (Updatable) Options for VM migration during infrastructure maintenance events and for defining the availability of a VM instance after a maintenance event that impacts the underlying hardware.
    CapacityReservationId string
    (Updatable) The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see Capacity Reservations.
    ClusterPlacementGroupId string
    The OCID of the cluster placement group of the instance.
    ComputeClusterId string
    The OCID of the compute cluster that the instance will be created in.
    CreateVnicDetails InstanceCreateVnicDetailsArgs
    (Updatable) Contains properties for a VNIC. You use this object when creating the primary VNIC during instance launch or when creating a secondary VNIC. For more information about VNICs, see Virtual Network Interface Cards (VNICs).
    DedicatedVmHostId string
    (Updatable) The OCID of the dedicated virtual machine host to place the instance on.
    DefinedTags map[string]string
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    ExtendedMetadata map[string]string
    FaultDomain string

    (Updatable) 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]string
    (Updatable) 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
    Deprecated. Instead use hostnameLabel in CreateVnicDetails. If you provide both, the values must match.

    Deprecated: The 'hostname_label' field has been deprecated. Please use 'hostname_label under create_vnic_details' instead.

    Image string
    Deprecated. Use sourceDetails with InstanceSourceViaImageDetails source type instead. If you specify values for both, the values must match.

    Deprecated: The 'image' field has been deprecated. Please use 'source_details' instead. If both fields are specified, then 'source_details' will be used.

    InstanceConfigurationId string
    The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.
    InstanceOptions InstanceInstanceOptionsArgs
    (Updatable) Optional mutable instance options
    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. 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, use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    If your instance boot volume attachment type is paravirtualized, the boot volume is attached to the instance through virtio-scsi and no iPXE script is used. If your instance boot volume attachment type is paravirtualized and you use custom iPXE to network boot into your instance, the primary boot volume is attached as a data volume through virtio-scsi drive.

    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
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. Use this field only during create. To update use is_pv_encryption_in_transit_enabled under launch_options instead.
    LaunchOptions InstanceLaunchOptionsArgs
    (Updatable) Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    LaunchVolumeAttachments []InstanceLaunchVolumeAttachmentArgs

    Volume attachments to create as part of the launch instance operation.

    Note: This property is used for initial instance provisioning only. Updates to this property will not be supported. To update volume attachments, user should use oci.Core.VolumeAttachment. To update volume details, user should use oci.Core.Volume

    Metadata map[string]string

    (Updatable) 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/<any-key-name>
    

    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.

    Note: Both the 'user_data' and 'ssh_authorized_keys' fields cannot be changed after an instance has launched. Any request which updates, removes, or adds either of these fields will be rejected. You must provide the same values for 'user_data' and 'ssh_authorized_keys' that already exist on the instance.

    PlatformConfig InstancePlatformConfigArgs

    (Updatable only for VM's) 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.

    For more information about shielded instances, see Shielded Instances.

    For more information about BIOS settings for bare metal instances, see BIOS Settings for Bare Metal Instances.

    PreemptibleInstanceConfig InstancePreemptibleInstanceConfigArgs
    Configuration options for preemptible instances.
    PreserveBootVolume bool
    (Optional) 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.
    PreserveDataVolumesCreatedAtLaunch bool
    SecurityAttributes map[string]string
    (Updatable) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    Shape string

    (Updatable) 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 InstanceShapeConfigArgs

    (Updatable) 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 InstanceSourceDetailsArgs
    (Updatable)
    State string

    (Updatable) The target state for the instance. Could be set to RUNNING or STOPPED.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    SubnetId string
    Deprecated. Instead use subnetId in CreateVnicDetails. At least one of them is required; if you provide both, the values must match.

    Deprecated: The 'subnet_id' field has been deprecated. Please use 'subnet_id under create_vnic_details' instead.

    UpdateOperationConstraint string
    availabilityDomain String
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    compartmentId String
    (Updatable) The OCID of the compartment.
    agentConfig InstanceAgentConfig
    (Updatable) Configuration options for the Oracle Cloud Agent software running on the instance.
    async Boolean
    availabilityConfig InstanceAvailabilityConfig
    (Updatable) Options for VM migration during infrastructure maintenance events and for defining the availability of a VM instance after a maintenance event that impacts the underlying hardware.
    capacityReservationId String
    (Updatable) The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see Capacity Reservations.
    clusterPlacementGroupId String
    The OCID of the cluster placement group of the instance.
    computeClusterId String
    The OCID of the compute cluster that the instance will be created in.
    createVnicDetails InstanceCreateVnicDetails
    (Updatable) Contains properties for a VNIC. You use this object when creating the primary VNIC during instance launch or when creating a secondary VNIC. For more information about VNICs, see Virtual Network Interface Cards (VNICs).
    dedicatedVmHostId String
    (Updatable) The OCID of the dedicated virtual machine host to place the instance on.
    definedTags Map<String,String>
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extendedMetadata Map<String,String>
    faultDomain String

    (Updatable) 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,String>
    (Updatable) 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
    Deprecated. Instead use hostnameLabel in CreateVnicDetails. If you provide both, the values must match.

    Deprecated: The 'hostname_label' field has been deprecated. Please use 'hostname_label under create_vnic_details' instead.

    image String
    Deprecated. Use sourceDetails with InstanceSourceViaImageDetails source type instead. If you specify values for both, the values must match.

    Deprecated: The 'image' field has been deprecated. Please use 'source_details' instead. If both fields are specified, then 'source_details' will be used.

    instanceConfigurationId String
    The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.
    instanceOptions InstanceInstanceOptions
    (Updatable) Optional mutable instance options
    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. 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, use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    If your instance boot volume attachment type is paravirtualized, the boot volume is attached to the instance through virtio-scsi and no iPXE script is used. If your instance boot volume attachment type is paravirtualized and you use custom iPXE to network boot into your instance, the primary boot volume is attached as a data volume through virtio-scsi drive.

    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
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. Use this field only during create. To update use is_pv_encryption_in_transit_enabled under launch_options instead.
    launchOptions InstanceLaunchOptions
    (Updatable) Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    launchVolumeAttachments List<InstanceLaunchVolumeAttachment>

    Volume attachments to create as part of the launch instance operation.

    Note: This property is used for initial instance provisioning only. Updates to this property will not be supported. To update volume attachments, user should use oci.Core.VolumeAttachment. To update volume details, user should use oci.Core.Volume

    metadata Map<String,String>

    (Updatable) 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/<any-key-name>
    

    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.

    Note: Both the 'user_data' and 'ssh_authorized_keys' fields cannot be changed after an instance has launched. Any request which updates, removes, or adds either of these fields will be rejected. You must provide the same values for 'user_data' and 'ssh_authorized_keys' that already exist on the instance.

    platformConfig InstancePlatformConfig

    (Updatable only for VM's) 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.

    For more information about shielded instances, see Shielded Instances.

    For more information about BIOS settings for bare metal instances, see BIOS Settings for Bare Metal Instances.

    preemptibleInstanceConfig InstancePreemptibleInstanceConfig
    Configuration options for preemptible instances.
    preserveBootVolume Boolean
    (Optional) 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.
    preserveDataVolumesCreatedAtLaunch Boolean
    securityAttributes Map<String,String>
    (Updatable) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    shape String

    (Updatable) 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 InstanceShapeConfig

    (Updatable) 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 InstanceSourceDetails
    (Updatable)
    state String

    (Updatable) The target state for the instance. Could be set to RUNNING or STOPPED.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    subnetId String
    Deprecated. Instead use subnetId in CreateVnicDetails. At least one of them is required; if you provide both, the values must match.

    Deprecated: The 'subnet_id' field has been deprecated. Please use 'subnet_id under create_vnic_details' instead.

    updateOperationConstraint String
    availabilityDomain string
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    compartmentId string
    (Updatable) The OCID of the compartment.
    agentConfig InstanceAgentConfig
    (Updatable) Configuration options for the Oracle Cloud Agent software running on the instance.
    async boolean
    availabilityConfig InstanceAvailabilityConfig
    (Updatable) Options for VM migration during infrastructure maintenance events and for defining the availability of a VM instance after a maintenance event that impacts the underlying hardware.
    capacityReservationId string
    (Updatable) The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see Capacity Reservations.
    clusterPlacementGroupId string
    The OCID of the cluster placement group of the instance.
    computeClusterId string
    The OCID of the compute cluster that the instance will be created in.
    createVnicDetails InstanceCreateVnicDetails
    (Updatable) Contains properties for a VNIC. You use this object when creating the primary VNIC during instance launch or when creating a secondary VNIC. For more information about VNICs, see Virtual Network Interface Cards (VNICs).
    dedicatedVmHostId string
    (Updatable) The OCID of the dedicated virtual machine host to place the instance on.
    definedTags {[key: string]: string}
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extendedMetadata {[key: string]: string}
    faultDomain string

    (Updatable) 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]: string}
    (Updatable) 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
    Deprecated. Instead use hostnameLabel in CreateVnicDetails. If you provide both, the values must match.

    Deprecated: The 'hostname_label' field has been deprecated. Please use 'hostname_label under create_vnic_details' instead.

    image string
    Deprecated. Use sourceDetails with InstanceSourceViaImageDetails source type instead. If you specify values for both, the values must match.

    Deprecated: The 'image' field has been deprecated. Please use 'source_details' instead. If both fields are specified, then 'source_details' will be used.

    instanceConfigurationId string
    The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.
    instanceOptions InstanceInstanceOptions
    (Updatable) Optional mutable instance options
    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. 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, use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    If your instance boot volume attachment type is paravirtualized, the boot volume is attached to the instance through virtio-scsi and no iPXE script is used. If your instance boot volume attachment type is paravirtualized and you use custom iPXE to network boot into your instance, the primary boot volume is attached as a data volume through virtio-scsi drive.

    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
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. Use this field only during create. To update use is_pv_encryption_in_transit_enabled under launch_options instead.
    launchOptions InstanceLaunchOptions
    (Updatable) Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    launchVolumeAttachments InstanceLaunchVolumeAttachment[]

    Volume attachments to create as part of the launch instance operation.

    Note: This property is used for initial instance provisioning only. Updates to this property will not be supported. To update volume attachments, user should use oci.Core.VolumeAttachment. To update volume details, user should use oci.Core.Volume

    metadata {[key: string]: string}

    (Updatable) 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/<any-key-name>
    

    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.

    Note: Both the 'user_data' and 'ssh_authorized_keys' fields cannot be changed after an instance has launched. Any request which updates, removes, or adds either of these fields will be rejected. You must provide the same values for 'user_data' and 'ssh_authorized_keys' that already exist on the instance.

    platformConfig InstancePlatformConfig

    (Updatable only for VM's) 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.

    For more information about shielded instances, see Shielded Instances.

    For more information about BIOS settings for bare metal instances, see BIOS Settings for Bare Metal Instances.

    preemptibleInstanceConfig InstancePreemptibleInstanceConfig
    Configuration options for preemptible instances.
    preserveBootVolume boolean
    (Optional) 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.
    preserveDataVolumesCreatedAtLaunch boolean
    securityAttributes {[key: string]: string}
    (Updatable) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    shape string

    (Updatable) 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 InstanceShapeConfig

    (Updatable) 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 InstanceSourceDetails
    (Updatable)
    state string

    (Updatable) The target state for the instance. Could be set to RUNNING or STOPPED.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    subnetId string
    Deprecated. Instead use subnetId in CreateVnicDetails. At least one of them is required; if you provide both, the values must match.

    Deprecated: The 'subnet_id' field has been deprecated. Please use 'subnet_id under create_vnic_details' instead.

    updateOperationConstraint string
    availability_domain str
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    compartment_id str
    (Updatable) The OCID of the compartment.
    agent_config core.InstanceAgentConfigArgs
    (Updatable) Configuration options for the Oracle Cloud Agent software running on the instance.
    async_ bool
    availability_config core.InstanceAvailabilityConfigArgs
    (Updatable) Options for VM migration during infrastructure maintenance events and for defining the availability of a VM instance after a maintenance event that impacts the underlying hardware.
    capacity_reservation_id str
    (Updatable) The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see Capacity Reservations.
    cluster_placement_group_id str
    The OCID of the cluster placement group of the instance.
    compute_cluster_id str
    The OCID of the compute cluster that the instance will be created in.
    create_vnic_details core.InstanceCreateVnicDetailsArgs
    (Updatable) Contains properties for a VNIC. You use this object when creating the primary VNIC during instance launch or when creating a secondary VNIC. For more information about VNICs, see Virtual Network Interface Cards (VNICs).
    dedicated_vm_host_id str
    (Updatable) The OCID of the dedicated virtual machine host to place the instance on.
    defined_tags Mapping[str, str]
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extended_metadata Mapping[str, str]
    fault_domain str

    (Updatable) 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, str]
    (Updatable) 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
    Deprecated. Instead use hostnameLabel in CreateVnicDetails. If you provide both, the values must match.

    Deprecated: The 'hostname_label' field has been deprecated. Please use 'hostname_label under create_vnic_details' instead.

    image str
    Deprecated. Use sourceDetails with InstanceSourceViaImageDetails source type instead. If you specify values for both, the values must match.

    Deprecated: The 'image' field has been deprecated. Please use 'source_details' instead. If both fields are specified, then 'source_details' will be used.

    instance_configuration_id str
    The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.
    instance_options core.InstanceInstanceOptionsArgs
    (Updatable) Optional mutable instance options
    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. 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, use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    If your instance boot volume attachment type is paravirtualized, the boot volume is attached to the instance through virtio-scsi and no iPXE script is used. If your instance boot volume attachment type is paravirtualized and you use custom iPXE to network boot into your instance, the primary boot volume is attached as a data volume through virtio-scsi drive.

    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
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. Use this field only during create. To update use is_pv_encryption_in_transit_enabled under launch_options instead.
    launch_options core.InstanceLaunchOptionsArgs
    (Updatable) Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    launch_volume_attachments Sequence[core.InstanceLaunchVolumeAttachmentArgs]

    Volume attachments to create as part of the launch instance operation.

    Note: This property is used for initial instance provisioning only. Updates to this property will not be supported. To update volume attachments, user should use oci.Core.VolumeAttachment. To update volume details, user should use oci.Core.Volume

    metadata Mapping[str, str]

    (Updatable) 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/<any-key-name>
    

    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.

    Note: Both the 'user_data' and 'ssh_authorized_keys' fields cannot be changed after an instance has launched. Any request which updates, removes, or adds either of these fields will be rejected. You must provide the same values for 'user_data' and 'ssh_authorized_keys' that already exist on the instance.

    platform_config core.InstancePlatformConfigArgs

    (Updatable only for VM's) 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.

    For more information about shielded instances, see Shielded Instances.

    For more information about BIOS settings for bare metal instances, see BIOS Settings for Bare Metal Instances.

    preemptible_instance_config core.InstancePreemptibleInstanceConfigArgs
    Configuration options for preemptible instances.
    preserve_boot_volume bool
    (Optional) 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.
    preserve_data_volumes_created_at_launch bool
    security_attributes Mapping[str, str]
    (Updatable) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    shape str

    (Updatable) 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.InstanceShapeConfigArgs

    (Updatable) 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.InstanceSourceDetailsArgs
    (Updatable)
    state str

    (Updatable) The target state for the instance. Could be set to RUNNING or STOPPED.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    subnet_id str
    Deprecated. Instead use subnetId in CreateVnicDetails. At least one of them is required; if you provide both, the values must match.

    Deprecated: The 'subnet_id' field has been deprecated. Please use 'subnet_id under create_vnic_details' instead.

    update_operation_constraint str
    availabilityDomain String
    The availability domain of the instance. Example: Uocm:PHX-AD-1
    compartmentId String
    (Updatable) The OCID of the compartment.
    agentConfig Property Map
    (Updatable) Configuration options for the Oracle Cloud Agent software running on the instance.
    async Boolean
    availabilityConfig Property Map
    (Updatable) Options for VM migration during infrastructure maintenance events and for defining the availability of a VM instance after a maintenance event that impacts the underlying hardware.
    capacityReservationId String
    (Updatable) The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see Capacity Reservations.
    clusterPlacementGroupId String
    The OCID of the cluster placement group of the instance.
    computeClusterId String
    The OCID of the compute cluster that the instance will be created in.
    createVnicDetails Property Map
    (Updatable) Contains properties for a VNIC. You use this object when creating the primary VNIC during instance launch or when creating a secondary VNIC. For more information about VNICs, see Virtual Network Interface Cards (VNICs).
    dedicatedVmHostId String
    (Updatable) The OCID of the dedicated virtual machine host to place the instance on.
    definedTags Map<String>
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extendedMetadata Map<String>
    faultDomain String

    (Updatable) 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>
    (Updatable) 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
    Deprecated. Instead use hostnameLabel in CreateVnicDetails. If you provide both, the values must match.

    Deprecated: The 'hostname_label' field has been deprecated. Please use 'hostname_label under create_vnic_details' instead.

    image String
    Deprecated. Use sourceDetails with InstanceSourceViaImageDetails source type instead. If you specify values for both, the values must match.

    Deprecated: The 'image' field has been deprecated. Please use 'source_details' instead. If both fields are specified, then 'source_details' will be used.

    instanceConfigurationId String
    The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.
    instanceOptions Property Map
    (Updatable) Optional mutable instance options
    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. 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, use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    If your instance boot volume attachment type is paravirtualized, the boot volume is attached to the instance through virtio-scsi and no iPXE script is used. If your instance boot volume attachment type is paravirtualized and you use custom iPXE to network boot into your instance, the primary boot volume is attached as a data volume through virtio-scsi drive.

    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
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. Use this field only during create. To update use is_pv_encryption_in_transit_enabled under launch_options instead.
    launchOptions Property Map
    (Updatable) Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    launchVolumeAttachments List<Property Map>

    Volume attachments to create as part of the launch instance operation.

    Note: This property is used for initial instance provisioning only. Updates to this property will not be supported. To update volume attachments, user should use oci.Core.VolumeAttachment. To update volume details, user should use oci.Core.Volume

    metadata Map<String>

    (Updatable) 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/<any-key-name>
    

    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.

    Note: Both the 'user_data' and 'ssh_authorized_keys' fields cannot be changed after an instance has launched. Any request which updates, removes, or adds either of these fields will be rejected. You must provide the same values for 'user_data' and 'ssh_authorized_keys' that already exist on the instance.

    platformConfig Property Map

    (Updatable only for VM's) 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.

    For more information about shielded instances, see Shielded Instances.

    For more information about BIOS settings for bare metal instances, see BIOS Settings for Bare Metal Instances.

    preemptibleInstanceConfig Property Map
    Configuration options for preemptible instances.
    preserveBootVolume Boolean
    (Optional) 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.
    preserveDataVolumesCreatedAtLaunch Boolean
    securityAttributes Map<String>
    (Updatable) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    shape String

    (Updatable) 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

    (Updatable) 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
    (Updatable)
    state String

    (Updatable) The target state for the instance. Could be set to RUNNING or STOPPED.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    subnetId String
    Deprecated. Instead use subnetId in CreateVnicDetails. At least one of them is required; if you provide both, the values must match.

    Deprecated: The 'subnet_id' field has been deprecated. Please use 'subnet_id under create_vnic_details' instead.

    updateOperationConstraint String

    Outputs

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

    BootVolumeId string
    The OCID of the attached boot volume. If the source_type is bootVolume, this will be the same OCID as the source_id.
    Id string
    The provider-assigned unique ID for this managed resource.
    IsCrossNumaNode bool
    Whether the instance’s OCPUs and memory are distributed across multiple NUMA nodes.
    LaunchMode string
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:

    • NATIVE - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images.
    • EMULATED - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    • CUSTOM - VM instances launch with custom configuration settings specified in the LaunchOptions parameter.
    PrivateIp string
    The private IP address of instance VNIC. To set the private IP address, use the private_ip argument in create_vnic_details.
    PublicIp string
    The public IP address of instance VNIC (if enabled).
    Region string
    The region that contains the availability domain the instance is running in.
    SecurityAttributesState string
    The lifecycle state of the securityAttributes
    SystemTags Dictionary<string, string>
    System tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    TimeCreated string
    The date and time the instance was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    TimeMaintenanceRebootDue string
    The date and time the instance is expected to be stopped / started, in the format defined by RFC3339. After that time if instance hasn't been rebooted, Oracle will reboot the instance within 24 hours of the due time. Regardless of how the instance was stopped, the flag will be reset to empty as soon as instance reaches Stopped state. Example: 2018-05-25T21:10:29.600Z
    BootVolumeId string
    The OCID of the attached boot volume. If the source_type is bootVolume, this will be the same OCID as the source_id.
    Id string
    The provider-assigned unique ID for this managed resource.
    IsCrossNumaNode bool
    Whether the instance’s OCPUs and memory are distributed across multiple NUMA nodes.
    LaunchMode string
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:

    • NATIVE - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images.
    • EMULATED - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    • CUSTOM - VM instances launch with custom configuration settings specified in the LaunchOptions parameter.
    PrivateIp string
    The private IP address of instance VNIC. To set the private IP address, use the private_ip argument in create_vnic_details.
    PublicIp string
    The public IP address of instance VNIC (if enabled).
    Region string
    The region that contains the availability domain the instance is running in.
    SecurityAttributesState string
    The lifecycle state of the securityAttributes
    SystemTags map[string]string
    System tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    TimeCreated string
    The date and time the instance was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    TimeMaintenanceRebootDue string
    The date and time the instance is expected to be stopped / started, in the format defined by RFC3339. After that time if instance hasn't been rebooted, Oracle will reboot the instance within 24 hours of the due time. Regardless of how the instance was stopped, the flag will be reset to empty as soon as instance reaches Stopped state. Example: 2018-05-25T21:10:29.600Z
    bootVolumeId String
    The OCID of the attached boot volume. If the source_type is bootVolume, this will be the same OCID as the source_id.
    id String
    The provider-assigned unique ID for this managed resource.
    isCrossNumaNode Boolean
    Whether the instance’s OCPUs and memory are distributed across multiple NUMA nodes.
    launchMode String
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:

    • NATIVE - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images.
    • EMULATED - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    • CUSTOM - VM instances launch with custom configuration settings specified in the LaunchOptions parameter.
    privateIp String
    The private IP address of instance VNIC. To set the private IP address, use the private_ip argument in create_vnic_details.
    publicIp String
    The public IP address of instance VNIC (if enabled).
    region String
    The region that contains the availability domain the instance is running in.
    securityAttributesState String
    The lifecycle state of the securityAttributes
    systemTags Map<String,String>
    System tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    timeCreated String
    The date and time the instance was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    timeMaintenanceRebootDue String
    The date and time the instance is expected to be stopped / started, in the format defined by RFC3339. After that time if instance hasn't been rebooted, Oracle will reboot the instance within 24 hours of the due time. Regardless of how the instance was stopped, the flag will be reset to empty as soon as instance reaches Stopped state. Example: 2018-05-25T21:10:29.600Z
    bootVolumeId string
    The OCID of the attached boot volume. If the source_type is bootVolume, this will be the same OCID as the source_id.
    id string
    The provider-assigned unique ID for this managed resource.
    isCrossNumaNode boolean
    Whether the instance’s OCPUs and memory are distributed across multiple NUMA nodes.
    launchMode string
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:

    • NATIVE - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images.
    • EMULATED - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    • CUSTOM - VM instances launch with custom configuration settings specified in the LaunchOptions parameter.
    privateIp string
    The private IP address of instance VNIC. To set the private IP address, use the private_ip argument in create_vnic_details.
    publicIp string
    The public IP address of instance VNIC (if enabled).
    region string
    The region that contains the availability domain the instance is running in.
    securityAttributesState string
    The lifecycle state of the securityAttributes
    systemTags {[key: string]: string}
    System tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    timeCreated string
    The date and time the instance was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    timeMaintenanceRebootDue string
    The date and time the instance is expected to be stopped / started, in the format defined by RFC3339. After that time if instance hasn't been rebooted, Oracle will reboot the instance within 24 hours of the due time. Regardless of how the instance was stopped, the flag will be reset to empty as soon as instance reaches Stopped state. Example: 2018-05-25T21:10:29.600Z
    boot_volume_id str
    The OCID of the attached boot volume. If the source_type is bootVolume, this will be the same OCID as the source_id.
    id str
    The provider-assigned unique ID for this managed resource.
    is_cross_numa_node bool
    Whether the instance’s OCPUs and memory are distributed across multiple NUMA nodes.
    launch_mode str
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:

    • NATIVE - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images.
    • EMULATED - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    • CUSTOM - VM instances launch with custom configuration settings specified in the LaunchOptions parameter.
    private_ip str
    The private IP address of instance VNIC. To set the private IP address, use the private_ip argument in create_vnic_details.
    public_ip str
    The public IP address of instance VNIC (if enabled).
    region str
    The region that contains the availability domain the instance is running in.
    security_attributes_state str
    The lifecycle state of the securityAttributes
    system_tags Mapping[str, str]
    System tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    time_created str
    The date and time the instance was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    time_maintenance_reboot_due str
    The date and time the instance is expected to be stopped / started, in the format defined by RFC3339. After that time if instance hasn't been rebooted, Oracle will reboot the instance within 24 hours of the due time. Regardless of how the instance was stopped, the flag will be reset to empty as soon as instance reaches Stopped state. Example: 2018-05-25T21:10:29.600Z
    bootVolumeId String
    The OCID of the attached boot volume. If the source_type is bootVolume, this will be the same OCID as the source_id.
    id String
    The provider-assigned unique ID for this managed resource.
    isCrossNumaNode Boolean
    Whether the instance’s OCPUs and memory are distributed across multiple NUMA nodes.
    launchMode String
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:

    • NATIVE - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images.
    • EMULATED - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    • CUSTOM - VM instances launch with custom configuration settings specified in the LaunchOptions parameter.
    privateIp String
    The private IP address of instance VNIC. To set the private IP address, use the private_ip argument in create_vnic_details.
    publicIp String
    The public IP address of instance VNIC (if enabled).
    region String
    The region that contains the availability domain the instance is running in.
    securityAttributesState String
    The lifecycle state of the securityAttributes
    systemTags Map<String>
    System tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    timeCreated String
    The date and time the instance was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    timeMaintenanceRebootDue String
    The date and time the instance is expected to be stopped / started, in the format defined by RFC3339. After that time if instance hasn't been rebooted, Oracle will reboot the instance within 24 hours of the due time. Regardless of how the instance was stopped, the flag will be reset to empty as soon as instance reaches Stopped state. Example: 2018-05-25T21:10:29.600Z

    Look up Existing Instance Resource

    Get an existing Instance 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?: InstanceState, opts?: CustomResourceOptions): Instance
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            agent_config: Optional[_core.InstanceAgentConfigArgs] = None,
            async_: Optional[bool] = None,
            availability_config: Optional[_core.InstanceAvailabilityConfigArgs] = None,
            availability_domain: Optional[str] = None,
            boot_volume_id: Optional[str] = None,
            capacity_reservation_id: Optional[str] = None,
            cluster_placement_group_id: Optional[str] = None,
            compartment_id: Optional[str] = None,
            compute_cluster_id: Optional[str] = None,
            create_vnic_details: Optional[_core.InstanceCreateVnicDetailsArgs] = None,
            dedicated_vm_host_id: Optional[str] = None,
            defined_tags: Optional[Mapping[str, str]] = None,
            display_name: Optional[str] = None,
            extended_metadata: Optional[Mapping[str, str]] = None,
            fault_domain: Optional[str] = None,
            freeform_tags: Optional[Mapping[str, str]] = None,
            hostname_label: Optional[str] = None,
            image: Optional[str] = None,
            instance_configuration_id: Optional[str] = None,
            instance_options: Optional[_core.InstanceInstanceOptionsArgs] = None,
            ipxe_script: Optional[str] = None,
            is_cross_numa_node: Optional[bool] = None,
            is_pv_encryption_in_transit_enabled: Optional[bool] = None,
            launch_mode: Optional[str] = None,
            launch_options: Optional[_core.InstanceLaunchOptionsArgs] = None,
            launch_volume_attachments: Optional[Sequence[_core.InstanceLaunchVolumeAttachmentArgs]] = None,
            metadata: Optional[Mapping[str, str]] = None,
            platform_config: Optional[_core.InstancePlatformConfigArgs] = None,
            preemptible_instance_config: Optional[_core.InstancePreemptibleInstanceConfigArgs] = None,
            preserve_boot_volume: Optional[bool] = None,
            preserve_data_volumes_created_at_launch: Optional[bool] = None,
            private_ip: Optional[str] = None,
            public_ip: Optional[str] = None,
            region: Optional[str] = None,
            security_attributes: Optional[Mapping[str, str]] = None,
            security_attributes_state: Optional[str] = None,
            shape: Optional[str] = None,
            shape_config: Optional[_core.InstanceShapeConfigArgs] = None,
            source_details: Optional[_core.InstanceSourceDetailsArgs] = None,
            state: Optional[str] = None,
            subnet_id: Optional[str] = None,
            system_tags: Optional[Mapping[str, str]] = None,
            time_created: Optional[str] = None,
            time_maintenance_reboot_due: Optional[str] = None,
            update_operation_constraint: Optional[str] = None) -> Instance
    func GetInstance(ctx *Context, name string, id IDInput, state *InstanceState, opts ...ResourceOption) (*Instance, error)
    public static Instance Get(string name, Input<string> id, InstanceState? state, CustomResourceOptions? opts = null)
    public static Instance get(String name, Output<String> id, InstanceState 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:
    AgentConfig InstanceAgentConfig
    (Updatable) Configuration options for the Oracle Cloud Agent software running on the instance.
    Async bool
    AvailabilityConfig InstanceAvailabilityConfig
    (Updatable) Options for VM migration during infrastructure maintenance events and for defining the availability 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
    BootVolumeId string
    The OCID of the attached boot volume. If the source_type is bootVolume, this will be the same OCID as the source_id.
    CapacityReservationId string
    (Updatable) The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see Capacity Reservations.
    ClusterPlacementGroupId string
    The OCID of the cluster placement group of the instance.
    CompartmentId string
    (Updatable) The OCID of the compartment.
    ComputeClusterId string
    The OCID of the compute cluster that the instance will be created in.
    CreateVnicDetails InstanceCreateVnicDetails
    (Updatable) Contains properties for a VNIC. You use this object when creating the primary VNIC during instance launch or when creating a secondary VNIC. For more information about VNICs, see Virtual Network Interface Cards (VNICs).
    DedicatedVmHostId string
    (Updatable) The OCID of the dedicated virtual machine host to place the instance on.
    DefinedTags Dictionary<string, string>
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    ExtendedMetadata Dictionary<string, string>
    FaultDomain string

    (Updatable) 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, string>
    (Updatable) 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
    Deprecated. Instead use hostnameLabel in CreateVnicDetails. If you provide both, the values must match.

    Deprecated: The 'hostname_label' field has been deprecated. Please use 'hostname_label under create_vnic_details' instead.

    Image string
    Deprecated. Use sourceDetails with InstanceSourceViaImageDetails source type instead. If you specify values for both, the values must match.

    Deprecated: The 'image' field has been deprecated. Please use 'source_details' instead. If both fields are specified, then 'source_details' will be used.

    InstanceConfigurationId string
    The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.
    InstanceOptions InstanceInstanceOptions
    (Updatable) Optional mutable instance options
    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. 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, use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    If your instance boot volume attachment type is paravirtualized, the boot volume is attached to the instance through virtio-scsi and no iPXE script is used. If your instance boot volume attachment type is paravirtualized and you use custom iPXE to network boot into your instance, the primary boot volume is attached as a data volume through virtio-scsi drive.

    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.

    IsCrossNumaNode bool
    Whether the instance’s OCPUs and memory are distributed across multiple NUMA nodes.
    IsPvEncryptionInTransitEnabled bool
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. Use this field only during create. To update use is_pv_encryption_in_transit_enabled under launch_options instead.
    LaunchMode string
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:

    • NATIVE - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images.
    • EMULATED - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    • CUSTOM - VM instances launch with custom configuration settings specified in the LaunchOptions parameter.
    LaunchOptions InstanceLaunchOptions
    (Updatable) Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    LaunchVolumeAttachments List<InstanceLaunchVolumeAttachment>

    Volume attachments to create as part of the launch instance operation.

    Note: This property is used for initial instance provisioning only. Updates to this property will not be supported. To update volume attachments, user should use oci.Core.VolumeAttachment. To update volume details, user should use oci.Core.Volume

    Metadata Dictionary<string, string>

    (Updatable) 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/<any-key-name>
    

    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.

    Note: Both the 'user_data' and 'ssh_authorized_keys' fields cannot be changed after an instance has launched. Any request which updates, removes, or adds either of these fields will be rejected. You must provide the same values for 'user_data' and 'ssh_authorized_keys' that already exist on the instance.

    PlatformConfig InstancePlatformConfig

    (Updatable only for VM's) 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.

    For more information about shielded instances, see Shielded Instances.

    For more information about BIOS settings for bare metal instances, see BIOS Settings for Bare Metal Instances.

    PreemptibleInstanceConfig InstancePreemptibleInstanceConfig
    Configuration options for preemptible instances.
    PreserveBootVolume bool
    (Optional) 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.
    PreserveDataVolumesCreatedAtLaunch bool
    PrivateIp string
    The private IP address of instance VNIC. To set the private IP address, use the private_ip argument in create_vnic_details.
    PublicIp string
    The public IP address of instance VNIC (if enabled).
    Region string
    The region that contains the availability domain the instance is running in.
    SecurityAttributes Dictionary<string, string>
    (Updatable) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    SecurityAttributesState string
    The lifecycle state of the securityAttributes
    Shape string

    (Updatable) 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 InstanceShapeConfig

    (Updatable) 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 InstanceSourceDetails
    (Updatable)
    State string

    (Updatable) The target state for the instance. Could be set to RUNNING or STOPPED.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    SubnetId string
    Deprecated. Instead use subnetId in CreateVnicDetails. At least one of them is required; if you provide both, the values must match.

    Deprecated: The 'subnet_id' field has been deprecated. Please use 'subnet_id under create_vnic_details' instead.

    SystemTags Dictionary<string, string>
    System tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    TimeCreated string
    The date and time the instance was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    TimeMaintenanceRebootDue string
    The date and time the instance is expected to be stopped / started, in the format defined by RFC3339. After that time if instance hasn't been rebooted, Oracle will reboot the instance within 24 hours of the due time. Regardless of how the instance was stopped, the flag will be reset to empty as soon as instance reaches Stopped state. Example: 2018-05-25T21:10:29.600Z
    UpdateOperationConstraint string
    AgentConfig InstanceAgentConfigArgs
    (Updatable) Configuration options for the Oracle Cloud Agent software running on the instance.
    Async bool
    AvailabilityConfig InstanceAvailabilityConfigArgs
    (Updatable) Options for VM migration during infrastructure maintenance events and for defining the availability 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
    BootVolumeId string
    The OCID of the attached boot volume. If the source_type is bootVolume, this will be the same OCID as the source_id.
    CapacityReservationId string
    (Updatable) The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see Capacity Reservations.
    ClusterPlacementGroupId string
    The OCID of the cluster placement group of the instance.
    CompartmentId string
    (Updatable) The OCID of the compartment.
    ComputeClusterId string
    The OCID of the compute cluster that the instance will be created in.
    CreateVnicDetails InstanceCreateVnicDetailsArgs
    (Updatable) Contains properties for a VNIC. You use this object when creating the primary VNIC during instance launch or when creating a secondary VNIC. For more information about VNICs, see Virtual Network Interface Cards (VNICs).
    DedicatedVmHostId string
    (Updatable) The OCID of the dedicated virtual machine host to place the instance on.
    DefinedTags map[string]string
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    ExtendedMetadata map[string]string
    FaultDomain string

    (Updatable) 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]string
    (Updatable) 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
    Deprecated. Instead use hostnameLabel in CreateVnicDetails. If you provide both, the values must match.

    Deprecated: The 'hostname_label' field has been deprecated. Please use 'hostname_label under create_vnic_details' instead.

    Image string
    Deprecated. Use sourceDetails with InstanceSourceViaImageDetails source type instead. If you specify values for both, the values must match.

    Deprecated: The 'image' field has been deprecated. Please use 'source_details' instead. If both fields are specified, then 'source_details' will be used.

    InstanceConfigurationId string
    The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.
    InstanceOptions InstanceInstanceOptionsArgs
    (Updatable) Optional mutable instance options
    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. 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, use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    If your instance boot volume attachment type is paravirtualized, the boot volume is attached to the instance through virtio-scsi and no iPXE script is used. If your instance boot volume attachment type is paravirtualized and you use custom iPXE to network boot into your instance, the primary boot volume is attached as a data volume through virtio-scsi drive.

    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.

    IsCrossNumaNode bool
    Whether the instance’s OCPUs and memory are distributed across multiple NUMA nodes.
    IsPvEncryptionInTransitEnabled bool
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. Use this field only during create. To update use is_pv_encryption_in_transit_enabled under launch_options instead.
    LaunchMode string
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:

    • NATIVE - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images.
    • EMULATED - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    • CUSTOM - VM instances launch with custom configuration settings specified in the LaunchOptions parameter.
    LaunchOptions InstanceLaunchOptionsArgs
    (Updatable) Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    LaunchVolumeAttachments []InstanceLaunchVolumeAttachmentArgs

    Volume attachments to create as part of the launch instance operation.

    Note: This property is used for initial instance provisioning only. Updates to this property will not be supported. To update volume attachments, user should use oci.Core.VolumeAttachment. To update volume details, user should use oci.Core.Volume

    Metadata map[string]string

    (Updatable) 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/<any-key-name>
    

    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.

    Note: Both the 'user_data' and 'ssh_authorized_keys' fields cannot be changed after an instance has launched. Any request which updates, removes, or adds either of these fields will be rejected. You must provide the same values for 'user_data' and 'ssh_authorized_keys' that already exist on the instance.

    PlatformConfig InstancePlatformConfigArgs

    (Updatable only for VM's) 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.

    For more information about shielded instances, see Shielded Instances.

    For more information about BIOS settings for bare metal instances, see BIOS Settings for Bare Metal Instances.

    PreemptibleInstanceConfig InstancePreemptibleInstanceConfigArgs
    Configuration options for preemptible instances.
    PreserveBootVolume bool
    (Optional) 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.
    PreserveDataVolumesCreatedAtLaunch bool
    PrivateIp string
    The private IP address of instance VNIC. To set the private IP address, use the private_ip argument in create_vnic_details.
    PublicIp string
    The public IP address of instance VNIC (if enabled).
    Region string
    The region that contains the availability domain the instance is running in.
    SecurityAttributes map[string]string
    (Updatable) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    SecurityAttributesState string
    The lifecycle state of the securityAttributes
    Shape string

    (Updatable) 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 InstanceShapeConfigArgs

    (Updatable) 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 InstanceSourceDetailsArgs
    (Updatable)
    State string

    (Updatable) The target state for the instance. Could be set to RUNNING or STOPPED.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    SubnetId string
    Deprecated. Instead use subnetId in CreateVnicDetails. At least one of them is required; if you provide both, the values must match.

    Deprecated: The 'subnet_id' field has been deprecated. Please use 'subnet_id under create_vnic_details' instead.

    SystemTags map[string]string
    System tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    TimeCreated string
    The date and time the instance was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    TimeMaintenanceRebootDue string
    The date and time the instance is expected to be stopped / started, in the format defined by RFC3339. After that time if instance hasn't been rebooted, Oracle will reboot the instance within 24 hours of the due time. Regardless of how the instance was stopped, the flag will be reset to empty as soon as instance reaches Stopped state. Example: 2018-05-25T21:10:29.600Z
    UpdateOperationConstraint string
    agentConfig InstanceAgentConfig
    (Updatable) Configuration options for the Oracle Cloud Agent software running on the instance.
    async Boolean
    availabilityConfig InstanceAvailabilityConfig
    (Updatable) Options for VM migration during infrastructure maintenance events and for defining the availability 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
    bootVolumeId String
    The OCID of the attached boot volume. If the source_type is bootVolume, this will be the same OCID as the source_id.
    capacityReservationId String
    (Updatable) The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see Capacity Reservations.
    clusterPlacementGroupId String
    The OCID of the cluster placement group of the instance.
    compartmentId String
    (Updatable) The OCID of the compartment.
    computeClusterId String
    The OCID of the compute cluster that the instance will be created in.
    createVnicDetails InstanceCreateVnicDetails
    (Updatable) Contains properties for a VNIC. You use this object when creating the primary VNIC during instance launch or when creating a secondary VNIC. For more information about VNICs, see Virtual Network Interface Cards (VNICs).
    dedicatedVmHostId String
    (Updatable) The OCID of the dedicated virtual machine host to place the instance on.
    definedTags Map<String,String>
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extendedMetadata Map<String,String>
    faultDomain String

    (Updatable) 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,String>
    (Updatable) 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
    Deprecated. Instead use hostnameLabel in CreateVnicDetails. If you provide both, the values must match.

    Deprecated: The 'hostname_label' field has been deprecated. Please use 'hostname_label under create_vnic_details' instead.

    image String
    Deprecated. Use sourceDetails with InstanceSourceViaImageDetails source type instead. If you specify values for both, the values must match.

    Deprecated: The 'image' field has been deprecated. Please use 'source_details' instead. If both fields are specified, then 'source_details' will be used.

    instanceConfigurationId String
    The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.
    instanceOptions InstanceInstanceOptions
    (Updatable) Optional mutable instance options
    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. 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, use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    If your instance boot volume attachment type is paravirtualized, the boot volume is attached to the instance through virtio-scsi and no iPXE script is used. If your instance boot volume attachment type is paravirtualized and you use custom iPXE to network boot into your instance, the primary boot volume is attached as a data volume through virtio-scsi drive.

    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.

    isCrossNumaNode Boolean
    Whether the instance’s OCPUs and memory are distributed across multiple NUMA nodes.
    isPvEncryptionInTransitEnabled Boolean
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. Use this field only during create. To update use is_pv_encryption_in_transit_enabled under launch_options instead.
    launchMode String
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:

    • NATIVE - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images.
    • EMULATED - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    • CUSTOM - VM instances launch with custom configuration settings specified in the LaunchOptions parameter.
    launchOptions InstanceLaunchOptions
    (Updatable) Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    launchVolumeAttachments List<InstanceLaunchVolumeAttachment>

    Volume attachments to create as part of the launch instance operation.

    Note: This property is used for initial instance provisioning only. Updates to this property will not be supported. To update volume attachments, user should use oci.Core.VolumeAttachment. To update volume details, user should use oci.Core.Volume

    metadata Map<String,String>

    (Updatable) 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/<any-key-name>
    

    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.

    Note: Both the 'user_data' and 'ssh_authorized_keys' fields cannot be changed after an instance has launched. Any request which updates, removes, or adds either of these fields will be rejected. You must provide the same values for 'user_data' and 'ssh_authorized_keys' that already exist on the instance.

    platformConfig InstancePlatformConfig

    (Updatable only for VM's) 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.

    For more information about shielded instances, see Shielded Instances.

    For more information about BIOS settings for bare metal instances, see BIOS Settings for Bare Metal Instances.

    preemptibleInstanceConfig InstancePreemptibleInstanceConfig
    Configuration options for preemptible instances.
    preserveBootVolume Boolean
    (Optional) 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.
    preserveDataVolumesCreatedAtLaunch Boolean
    privateIp String
    The private IP address of instance VNIC. To set the private IP address, use the private_ip argument in create_vnic_details.
    publicIp String
    The public IP address of instance VNIC (if enabled).
    region String
    The region that contains the availability domain the instance is running in.
    securityAttributes Map<String,String>
    (Updatable) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    securityAttributesState String
    The lifecycle state of the securityAttributes
    shape String

    (Updatable) 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 InstanceShapeConfig

    (Updatable) 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 InstanceSourceDetails
    (Updatable)
    state String

    (Updatable) The target state for the instance. Could be set to RUNNING or STOPPED.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    subnetId String
    Deprecated. Instead use subnetId in CreateVnicDetails. At least one of them is required; if you provide both, the values must match.

    Deprecated: The 'subnet_id' field has been deprecated. Please use 'subnet_id under create_vnic_details' instead.

    systemTags Map<String,String>
    System tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    timeCreated String
    The date and time the instance was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    timeMaintenanceRebootDue String
    The date and time the instance is expected to be stopped / started, in the format defined by RFC3339. After that time if instance hasn't been rebooted, Oracle will reboot the instance within 24 hours of the due time. Regardless of how the instance was stopped, the flag will be reset to empty as soon as instance reaches Stopped state. Example: 2018-05-25T21:10:29.600Z
    updateOperationConstraint String
    agentConfig InstanceAgentConfig
    (Updatable) Configuration options for the Oracle Cloud Agent software running on the instance.
    async boolean
    availabilityConfig InstanceAvailabilityConfig
    (Updatable) Options for VM migration during infrastructure maintenance events and for defining the availability 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
    bootVolumeId string
    The OCID of the attached boot volume. If the source_type is bootVolume, this will be the same OCID as the source_id.
    capacityReservationId string
    (Updatable) The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see Capacity Reservations.
    clusterPlacementGroupId string
    The OCID of the cluster placement group of the instance.
    compartmentId string
    (Updatable) The OCID of the compartment.
    computeClusterId string
    The OCID of the compute cluster that the instance will be created in.
    createVnicDetails InstanceCreateVnicDetails
    (Updatable) Contains properties for a VNIC. You use this object when creating the primary VNIC during instance launch or when creating a secondary VNIC. For more information about VNICs, see Virtual Network Interface Cards (VNICs).
    dedicatedVmHostId string
    (Updatable) The OCID of the dedicated virtual machine host to place the instance on.
    definedTags {[key: string]: string}
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extendedMetadata {[key: string]: string}
    faultDomain string

    (Updatable) 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]: string}
    (Updatable) 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
    Deprecated. Instead use hostnameLabel in CreateVnicDetails. If you provide both, the values must match.

    Deprecated: The 'hostname_label' field has been deprecated. Please use 'hostname_label under create_vnic_details' instead.

    image string
    Deprecated. Use sourceDetails with InstanceSourceViaImageDetails source type instead. If you specify values for both, the values must match.

    Deprecated: The 'image' field has been deprecated. Please use 'source_details' instead. If both fields are specified, then 'source_details' will be used.

    instanceConfigurationId string
    The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.
    instanceOptions InstanceInstanceOptions
    (Updatable) Optional mutable instance options
    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. 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, use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    If your instance boot volume attachment type is paravirtualized, the boot volume is attached to the instance through virtio-scsi and no iPXE script is used. If your instance boot volume attachment type is paravirtualized and you use custom iPXE to network boot into your instance, the primary boot volume is attached as a data volume through virtio-scsi drive.

    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.

    isCrossNumaNode boolean
    Whether the instance’s OCPUs and memory are distributed across multiple NUMA nodes.
    isPvEncryptionInTransitEnabled boolean
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. Use this field only during create. To update use is_pv_encryption_in_transit_enabled under launch_options instead.
    launchMode string
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:

    • NATIVE - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images.
    • EMULATED - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    • CUSTOM - VM instances launch with custom configuration settings specified in the LaunchOptions parameter.
    launchOptions InstanceLaunchOptions
    (Updatable) Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    launchVolumeAttachments InstanceLaunchVolumeAttachment[]

    Volume attachments to create as part of the launch instance operation.

    Note: This property is used for initial instance provisioning only. Updates to this property will not be supported. To update volume attachments, user should use oci.Core.VolumeAttachment. To update volume details, user should use oci.Core.Volume

    metadata {[key: string]: string}

    (Updatable) 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/<any-key-name>
    

    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.

    Note: Both the 'user_data' and 'ssh_authorized_keys' fields cannot be changed after an instance has launched. Any request which updates, removes, or adds either of these fields will be rejected. You must provide the same values for 'user_data' and 'ssh_authorized_keys' that already exist on the instance.

    platformConfig InstancePlatformConfig

    (Updatable only for VM's) 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.

    For more information about shielded instances, see Shielded Instances.

    For more information about BIOS settings for bare metal instances, see BIOS Settings for Bare Metal Instances.

    preemptibleInstanceConfig InstancePreemptibleInstanceConfig
    Configuration options for preemptible instances.
    preserveBootVolume boolean
    (Optional) 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.
    preserveDataVolumesCreatedAtLaunch boolean
    privateIp string
    The private IP address of instance VNIC. To set the private IP address, use the private_ip argument in create_vnic_details.
    publicIp string
    The public IP address of instance VNIC (if enabled).
    region string
    The region that contains the availability domain the instance is running in.
    securityAttributes {[key: string]: string}
    (Updatable) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    securityAttributesState string
    The lifecycle state of the securityAttributes
    shape string

    (Updatable) 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 InstanceShapeConfig

    (Updatable) 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 InstanceSourceDetails
    (Updatable)
    state string

    (Updatable) The target state for the instance. Could be set to RUNNING or STOPPED.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    subnetId string
    Deprecated. Instead use subnetId in CreateVnicDetails. At least one of them is required; if you provide both, the values must match.

    Deprecated: The 'subnet_id' field has been deprecated. Please use 'subnet_id under create_vnic_details' instead.

    systemTags {[key: string]: string}
    System tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    timeCreated string
    The date and time the instance was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    timeMaintenanceRebootDue string
    The date and time the instance is expected to be stopped / started, in the format defined by RFC3339. After that time if instance hasn't been rebooted, Oracle will reboot the instance within 24 hours of the due time. Regardless of how the instance was stopped, the flag will be reset to empty as soon as instance reaches Stopped state. Example: 2018-05-25T21:10:29.600Z
    updateOperationConstraint string
    agent_config core.InstanceAgentConfigArgs
    (Updatable) Configuration options for the Oracle Cloud Agent software running on the instance.
    async_ bool
    availability_config core.InstanceAvailabilityConfigArgs
    (Updatable) Options for VM migration during infrastructure maintenance events and for defining the availability 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
    boot_volume_id str
    The OCID of the attached boot volume. If the source_type is bootVolume, this will be the same OCID as the source_id.
    capacity_reservation_id str
    (Updatable) The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see Capacity Reservations.
    cluster_placement_group_id str
    The OCID of the cluster placement group of the instance.
    compartment_id str
    (Updatable) The OCID of the compartment.
    compute_cluster_id str
    The OCID of the compute cluster that the instance will be created in.
    create_vnic_details core.InstanceCreateVnicDetailsArgs
    (Updatable) Contains properties for a VNIC. You use this object when creating the primary VNIC during instance launch or when creating a secondary VNIC. For more information about VNICs, see Virtual Network Interface Cards (VNICs).
    dedicated_vm_host_id str
    (Updatable) The OCID of the dedicated virtual machine host to place the instance on.
    defined_tags Mapping[str, str]
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extended_metadata Mapping[str, str]
    fault_domain str

    (Updatable) 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, str]
    (Updatable) 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
    Deprecated. Instead use hostnameLabel in CreateVnicDetails. If you provide both, the values must match.

    Deprecated: The 'hostname_label' field has been deprecated. Please use 'hostname_label under create_vnic_details' instead.

    image str
    Deprecated. Use sourceDetails with InstanceSourceViaImageDetails source type instead. If you specify values for both, the values must match.

    Deprecated: The 'image' field has been deprecated. Please use 'source_details' instead. If both fields are specified, then 'source_details' will be used.

    instance_configuration_id str
    The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.
    instance_options core.InstanceInstanceOptionsArgs
    (Updatable) Optional mutable instance options
    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. 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, use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    If your instance boot volume attachment type is paravirtualized, the boot volume is attached to the instance through virtio-scsi and no iPXE script is used. If your instance boot volume attachment type is paravirtualized and you use custom iPXE to network boot into your instance, the primary boot volume is attached as a data volume through virtio-scsi drive.

    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_cross_numa_node bool
    Whether the instance’s OCPUs and memory are distributed across multiple NUMA nodes.
    is_pv_encryption_in_transit_enabled bool
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. Use this field only during create. To update use is_pv_encryption_in_transit_enabled under launch_options instead.
    launch_mode str
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:

    • NATIVE - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images.
    • EMULATED - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    • CUSTOM - VM instances launch with custom configuration settings specified in the LaunchOptions parameter.
    launch_options core.InstanceLaunchOptionsArgs
    (Updatable) Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    launch_volume_attachments Sequence[core.InstanceLaunchVolumeAttachmentArgs]

    Volume attachments to create as part of the launch instance operation.

    Note: This property is used for initial instance provisioning only. Updates to this property will not be supported. To update volume attachments, user should use oci.Core.VolumeAttachment. To update volume details, user should use oci.Core.Volume

    metadata Mapping[str, str]

    (Updatable) 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/<any-key-name>
    

    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.

    Note: Both the 'user_data' and 'ssh_authorized_keys' fields cannot be changed after an instance has launched. Any request which updates, removes, or adds either of these fields will be rejected. You must provide the same values for 'user_data' and 'ssh_authorized_keys' that already exist on the instance.

    platform_config core.InstancePlatformConfigArgs

    (Updatable only for VM's) 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.

    For more information about shielded instances, see Shielded Instances.

    For more information about BIOS settings for bare metal instances, see BIOS Settings for Bare Metal Instances.

    preemptible_instance_config core.InstancePreemptibleInstanceConfigArgs
    Configuration options for preemptible instances.
    preserve_boot_volume bool
    (Optional) 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.
    preserve_data_volumes_created_at_launch bool
    private_ip str
    The private IP address of instance VNIC. To set the private IP address, use the private_ip argument in create_vnic_details.
    public_ip str
    The public IP address of instance VNIC (if enabled).
    region str
    The region that contains the availability domain the instance is running in.
    security_attributes Mapping[str, str]
    (Updatable) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    security_attributes_state str
    The lifecycle state of the securityAttributes
    shape str

    (Updatable) 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.InstanceShapeConfigArgs

    (Updatable) 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.InstanceSourceDetailsArgs
    (Updatable)
    state str

    (Updatable) The target state for the instance. Could be set to RUNNING or STOPPED.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    subnet_id str
    Deprecated. Instead use subnetId in CreateVnicDetails. At least one of them is required; if you provide both, the values must match.

    Deprecated: The 'subnet_id' field has been deprecated. Please use 'subnet_id under create_vnic_details' instead.

    system_tags Mapping[str, str]
    System tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    time_created str
    The date and time the instance was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    time_maintenance_reboot_due str
    The date and time the instance is expected to be stopped / started, in the format defined by RFC3339. After that time if instance hasn't been rebooted, Oracle will reboot the instance within 24 hours of the due time. Regardless of how the instance was stopped, the flag will be reset to empty as soon as instance reaches Stopped state. Example: 2018-05-25T21:10:29.600Z
    update_operation_constraint str
    agentConfig Property Map
    (Updatable) Configuration options for the Oracle Cloud Agent software running on the instance.
    async Boolean
    availabilityConfig Property Map
    (Updatable) Options for VM migration during infrastructure maintenance events and for defining the availability 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
    bootVolumeId String
    The OCID of the attached boot volume. If the source_type is bootVolume, this will be the same OCID as the source_id.
    capacityReservationId String
    (Updatable) The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see Capacity Reservations.
    clusterPlacementGroupId String
    The OCID of the cluster placement group of the instance.
    compartmentId String
    (Updatable) The OCID of the compartment.
    computeClusterId String
    The OCID of the compute cluster that the instance will be created in.
    createVnicDetails Property Map
    (Updatable) Contains properties for a VNIC. You use this object when creating the primary VNIC during instance launch or when creating a secondary VNIC. For more information about VNICs, see Virtual Network Interface Cards (VNICs).
    dedicatedVmHostId String
    (Updatable) The OCID of the dedicated virtual machine host to place the instance on.
    definedTags Map<String>
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    extendedMetadata Map<String>
    faultDomain String

    (Updatable) 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>
    (Updatable) 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
    Deprecated. Instead use hostnameLabel in CreateVnicDetails. If you provide both, the values must match.

    Deprecated: The 'hostname_label' field has been deprecated. Please use 'hostname_label under create_vnic_details' instead.

    image String
    Deprecated. Use sourceDetails with InstanceSourceViaImageDetails source type instead. If you specify values for both, the values must match.

    Deprecated: The 'image' field has been deprecated. Please use 'source_details' instead. If both fields are specified, then 'source_details' will be used.

    instanceConfigurationId String
    The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.
    instanceOptions Property Map
    (Updatable) Optional mutable instance options
    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. 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, use the following iSCSI IP address: 169.254.0.2, and boot volume IQN: iqn.2015-02.oracle.boot.

    If your instance boot volume attachment type is paravirtualized, the boot volume is attached to the instance through virtio-scsi and no iPXE script is used. If your instance boot volume attachment type is paravirtualized and you use custom iPXE to network boot into your instance, the primary boot volume is attached as a data volume through virtio-scsi drive.

    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.

    isCrossNumaNode Boolean
    Whether the instance’s OCPUs and memory are distributed across multiple NUMA nodes.
    isPvEncryptionInTransitEnabled Boolean
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. Use this field only during create. To update use is_pv_encryption_in_transit_enabled under launch_options instead.
    launchMode String
    Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are:

    • NATIVE - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images.
    • EMULATED - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    • CUSTOM - VM instances launch with custom configuration settings specified in the LaunchOptions parameter.
    launchOptions Property Map
    (Updatable) Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.
    launchVolumeAttachments List<Property Map>

    Volume attachments to create as part of the launch instance operation.

    Note: This property is used for initial instance provisioning only. Updates to this property will not be supported. To update volume attachments, user should use oci.Core.VolumeAttachment. To update volume details, user should use oci.Core.Volume

    metadata Map<String>

    (Updatable) 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/<any-key-name>
    

    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.

    Note: Both the 'user_data' and 'ssh_authorized_keys' fields cannot be changed after an instance has launched. Any request which updates, removes, or adds either of these fields will be rejected. You must provide the same values for 'user_data' and 'ssh_authorized_keys' that already exist on the instance.

    platformConfig Property Map

    (Updatable only for VM's) 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.

    For more information about shielded instances, see Shielded Instances.

    For more information about BIOS settings for bare metal instances, see BIOS Settings for Bare Metal Instances.

    preemptibleInstanceConfig Property Map
    Configuration options for preemptible instances.
    preserveBootVolume Boolean
    (Optional) 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.
    preserveDataVolumesCreatedAtLaunch Boolean
    privateIp String
    The private IP address of instance VNIC. To set the private IP address, use the private_ip argument in create_vnic_details.
    publicIp String
    The public IP address of instance VNIC (if enabled).
    region String
    The region that contains the availability domain the instance is running in.
    securityAttributes Map<String>
    (Updatable) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    securityAttributesState String
    The lifecycle state of the securityAttributes
    shape String

    (Updatable) 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

    (Updatable) 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
    (Updatable)
    state String

    (Updatable) The target state for the instance. Could be set to RUNNING or STOPPED.

    ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values

    subnetId String
    Deprecated. Instead use subnetId in CreateVnicDetails. At least one of them is required; if you provide both, the values must match.

    Deprecated: The 'subnet_id' field has been deprecated. Please use 'subnet_id under create_vnic_details' instead.

    systemTags Map<String>
    System tags for this resource. Each key is predefined and scoped to a namespace. Example: {"foo-namespace.bar-key": "value"}
    timeCreated String
    The date and time the instance was created, in the format defined by RFC3339. Example: 2016-08-25T21:10:29.600Z
    timeMaintenanceRebootDue String
    The date and time the instance is expected to be stopped / started, in the format defined by RFC3339. After that time if instance hasn't been rebooted, Oracle will reboot the instance within 24 hours of the due time. Regardless of how the instance was stopped, the flag will be reset to empty as soon as instance reaches Stopped state. Example: 2018-05-25T21:10:29.600Z
    updateOperationConstraint String

    Supporting Types

    InstanceAgentConfig, InstanceAgentConfigArgs

    AreAllPluginsDisabled bool

    (Updatable) 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

    (Updatable) 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

    (Updatable) 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<InstanceAgentConfigPluginsConfig>
    (Updatable) The configuration of plugins associated with this instance.
    AreAllPluginsDisabled bool

    (Updatable) 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

    (Updatable) 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

    (Updatable) 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 []InstanceAgentConfigPluginsConfig
    (Updatable) The configuration of plugins associated with this instance.
    areAllPluginsDisabled Boolean

    (Updatable) 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

    (Updatable) 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

    (Updatable) 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<InstanceAgentConfigPluginsConfig>
    (Updatable) The configuration of plugins associated with this instance.
    areAllPluginsDisabled boolean

    (Updatable) 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

    (Updatable) 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

    (Updatable) 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 InstanceAgentConfigPluginsConfig[]
    (Updatable) The configuration of plugins associated with this instance.
    are_all_plugins_disabled bool

    (Updatable) 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

    (Updatable) 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

    (Updatable) 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.InstanceAgentConfigPluginsConfig]
    (Updatable) The configuration of plugins associated with this instance.
    areAllPluginsDisabled Boolean

    (Updatable) 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

    (Updatable) 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

    (Updatable) 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>
    (Updatable) The configuration of plugins associated with this instance.

    InstanceAgentConfigPluginsConfig, InstanceAgentConfigPluginsConfigArgs

    DesiredState string

    (Updatable) 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
    (Updatable) 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

    (Updatable) 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
    (Updatable) 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

    (Updatable) 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
    (Updatable) 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

    (Updatable) 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
    (Updatable) 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

    (Updatable) 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
    (Updatable) 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

    (Updatable) 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
    (Updatable) 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.

    InstanceAvailabilityConfig, InstanceAvailabilityConfigArgs

    IsLiveMigrationPreferred bool
    (Updatable) 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
    (Updatable) The lifecycle state for an instance when it is recovered after infrastructure maintenance.

    • RESTORE_INSTANCE - The instance is restored to the lifecycle state it was in before the maintenance event. If the instance was running, it is automatically rebooted. This is the default action when a value is not set.
    • STOP_INSTANCE - The instance is recovered in the stopped state.
    IsLiveMigrationPreferred bool
    (Updatable) 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
    (Updatable) The lifecycle state for an instance when it is recovered after infrastructure maintenance.

    • RESTORE_INSTANCE - The instance is restored to the lifecycle state it was in before the maintenance event. If the instance was running, it is automatically rebooted. This is the default action when a value is not set.
    • STOP_INSTANCE - The instance is recovered in the stopped state.
    isLiveMigrationPreferred Boolean
    (Updatable) 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
    (Updatable) The lifecycle state for an instance when it is recovered after infrastructure maintenance.

    • RESTORE_INSTANCE - The instance is restored to the lifecycle state it was in before the maintenance event. If the instance was running, it is automatically rebooted. This is the default action when a value is not set.
    • STOP_INSTANCE - The instance is recovered in the stopped state.
    isLiveMigrationPreferred boolean
    (Updatable) 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
    (Updatable) The lifecycle state for an instance when it is recovered after infrastructure maintenance.

    • RESTORE_INSTANCE - The instance is restored to the lifecycle state it was in before the maintenance event. If the instance was running, it is automatically rebooted. This is the default action when a value is not set.
    • STOP_INSTANCE - The instance is recovered in the stopped state.
    is_live_migration_preferred bool
    (Updatable) 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
    (Updatable) The lifecycle state for an instance when it is recovered after infrastructure maintenance.

    • RESTORE_INSTANCE - The instance is restored to the lifecycle state it was in before the maintenance event. If the instance was running, it is automatically rebooted. This is the default action when a value is not set.
    • STOP_INSTANCE - The instance is recovered in the stopped state.
    isLiveMigrationPreferred Boolean
    (Updatable) 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
    (Updatable) The lifecycle state for an instance when it is recovered after infrastructure maintenance.

    • RESTORE_INSTANCE - The instance is restored to the lifecycle state it was in before the maintenance event. If the instance was running, it is automatically rebooted. This is the default action when a value is not set.
    • STOP_INSTANCE - The instance is recovered in the stopped state.

    InstanceCreateVnicDetails, InstanceCreateVnicDetailsArgs

    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 DNS record. If set to false, there will be no DNS record registration for the VNIC. If set to true, the DNS record will be registered. The default value is true. If you specify a hostnameLabel, the assignPrivateDnsRecord is require to be set to true.
    AssignPublicIp string

    (Updatable) Whether the VNIC should be assigned a public IP address. Defaults to whether the subnet is public or private. If not set and the VNIC is being created in a private subnet (that is, where prohibitPublicIpOnVnic = true in the Subnet), then no public IP address is assigned. If not set and the subnet is public (prohibitPublicIpOnVnic = false), then a public IP address is assigned. If set to true and prohibitPublicIpOnVnic = true, an error is returned.

    Note: This public IP address is associated with the primary private IP on the VNIC. For more information, see IP Addresses.

    Note: There's a limit to the number of public IPs a VNIC or instance can have. If you try to create a secondary VNIC with an assigned public IP for an instance that has already reached its public IP limit, an error is returned. For information about the public IP limits, see Public IP Addresses.

    Example: false

    If you specify a vlanId, then assignPublicIp must be set to false. See Vlan.

    DefinedTags Dictionary<string, string>
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags Dictionary<string, string>
    (Updatable) 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

    (Updatable) The hostname for the VNIC's primary private IP. Used for DNS. The value is the hostname portion of the primary private IP's fully qualified domain name (FQDN) (for example, bminstance1 in FQDN bminstance1.subnet123.vcn1.oraclevcn.com). Must be unique across all VNICs in the subnet and comply with RFC 952 and RFC 1123. The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp).

    For more information, see DNS in Your Virtual Cloud Network.

    When launching an instance, use this hostnameLabel instead of the deprecated hostnameLabel in [LaunchInstanceDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/requests/LaunchInstanceDetails). If you provide both, the values must match.

    Example: bminstance1

    If you specify a vlanId, the hostnameLabel cannot be specified. VNICs on a VLAN can not be assigned a hostname. See Vlan.

    Ipv6addressIpv6subnetCidrPairDetails List<InstanceCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail>
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges from which Oracle Cloud Infrastructure will select 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>

    (Updatable) A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.

    If a vlanId is specified, the nsgIds cannot be specified. The vlanId indicates that the VNIC will belong to a VLAN instead of a subnet. With VLANs, all VNICs in the VLAN belong to the NSGs that are associated with the VLAN. See Vlan.

    PrivateIp string

    A private IP address of your choice to assign to the VNIC. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet. This is the VNIC's primary private IP address. The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp).

    If you specify a vlanId, the privateIp cannot be specified. See Vlan.

    Example: 10.0.3.3

    SecurityAttributes Dictionary<string, string>
    Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    SkipSourceDestCheck bool

    (Updatable) Whether the source/destination check is disabled on the VNIC. Defaults to false, which means the check is performed. For information about why you would skip the source/destination check, see Using a Private IP as a Route Target.

    If you specify a vlanId, the skipSourceDestCheck cannot be specified because the source/destination check is always disabled for VNICs in a VLAN. See Vlan.

    Example: true

    SubnetId string

    The OCID of the subnet to create the VNIC in. When launching an instance, use this subnetId instead of the deprecated subnetId in LaunchInstanceDetails. At least one of them is required; if you provide both, the values must match.

    If you are an Oracle Cloud VMware Solution customer and creating a secondary VNIC in a VLAN instead of a subnet, provide a vlanId instead of a subnetId. If you provide both a vlanId and subnetId, the request fails.

    VlanId string

    Provide this attribute only if you are an Oracle Cloud VMware Solution customer and creating a secondary VNIC in a VLAN. The value is the OCID of the VLAN. See Vlan.

    Provide a vlanId instead of a subnetId. If you provide both a vlanId and subnetId, the request fails.

    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 DNS record. If set to false, there will be no DNS record registration for the VNIC. If set to true, the DNS record will be registered. The default value is true. If you specify a hostnameLabel, the assignPrivateDnsRecord is require to be set to true.
    AssignPublicIp string

    (Updatable) Whether the VNIC should be assigned a public IP address. Defaults to whether the subnet is public or private. If not set and the VNIC is being created in a private subnet (that is, where prohibitPublicIpOnVnic = true in the Subnet), then no public IP address is assigned. If not set and the subnet is public (prohibitPublicIpOnVnic = false), then a public IP address is assigned. If set to true and prohibitPublicIpOnVnic = true, an error is returned.

    Note: This public IP address is associated with the primary private IP on the VNIC. For more information, see IP Addresses.

    Note: There's a limit to the number of public IPs a VNIC or instance can have. If you try to create a secondary VNIC with an assigned public IP for an instance that has already reached its public IP limit, an error is returned. For information about the public IP limits, see Public IP Addresses.

    Example: false

    If you specify a vlanId, then assignPublicIp must be set to false. See Vlan.

    DefinedTags map[string]string
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    FreeformTags map[string]string
    (Updatable) 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

    (Updatable) The hostname for the VNIC's primary private IP. Used for DNS. The value is the hostname portion of the primary private IP's fully qualified domain name (FQDN) (for example, bminstance1 in FQDN bminstance1.subnet123.vcn1.oraclevcn.com). Must be unique across all VNICs in the subnet and comply with RFC 952 and RFC 1123. The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp).

    For more information, see DNS in Your Virtual Cloud Network.

    When launching an instance, use this hostnameLabel instead of the deprecated hostnameLabel in [LaunchInstanceDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/requests/LaunchInstanceDetails). If you provide both, the values must match.

    Example: bminstance1

    If you specify a vlanId, the hostnameLabel cannot be specified. VNICs on a VLAN can not be assigned a hostname. See Vlan.

    Ipv6addressIpv6subnetCidrPairDetails []InstanceCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges from which Oracle Cloud Infrastructure will select 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

    (Updatable) A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.

    If a vlanId is specified, the nsgIds cannot be specified. The vlanId indicates that the VNIC will belong to a VLAN instead of a subnet. With VLANs, all VNICs in the VLAN belong to the NSGs that are associated with the VLAN. See Vlan.

    PrivateIp string

    A private IP address of your choice to assign to the VNIC. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet. This is the VNIC's primary private IP address. The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp).

    If you specify a vlanId, the privateIp cannot be specified. See Vlan.

    Example: 10.0.3.3

    SecurityAttributes map[string]string
    Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    SkipSourceDestCheck bool

    (Updatable) Whether the source/destination check is disabled on the VNIC. Defaults to false, which means the check is performed. For information about why you would skip the source/destination check, see Using a Private IP as a Route Target.

    If you specify a vlanId, the skipSourceDestCheck cannot be specified because the source/destination check is always disabled for VNICs in a VLAN. See Vlan.

    Example: true

    SubnetId string

    The OCID of the subnet to create the VNIC in. When launching an instance, use this subnetId instead of the deprecated subnetId in LaunchInstanceDetails. At least one of them is required; if you provide both, the values must match.

    If you are an Oracle Cloud VMware Solution customer and creating a secondary VNIC in a VLAN instead of a subnet, provide a vlanId instead of a subnetId. If you provide both a vlanId and subnetId, the request fails.

    VlanId string

    Provide this attribute only if you are an Oracle Cloud VMware Solution customer and creating a secondary VNIC in a VLAN. The value is the OCID of the VLAN. See Vlan.

    Provide a vlanId instead of a subnetId. If you provide both a vlanId and subnetId, the request fails.

    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 DNS record. If set to false, there will be no DNS record registration for the VNIC. If set to true, the DNS record will be registered. The default value is true. If you specify a hostnameLabel, the assignPrivateDnsRecord is require to be set to true.
    assignPublicIp String

    (Updatable) Whether the VNIC should be assigned a public IP address. Defaults to whether the subnet is public or private. If not set and the VNIC is being created in a private subnet (that is, where prohibitPublicIpOnVnic = true in the Subnet), then no public IP address is assigned. If not set and the subnet is public (prohibitPublicIpOnVnic = false), then a public IP address is assigned. If set to true and prohibitPublicIpOnVnic = true, an error is returned.

    Note: This public IP address is associated with the primary private IP on the VNIC. For more information, see IP Addresses.

    Note: There's a limit to the number of public IPs a VNIC or instance can have. If you try to create a secondary VNIC with an assigned public IP for an instance that has already reached its public IP limit, an error is returned. For information about the public IP limits, see Public IP Addresses.

    Example: false

    If you specify a vlanId, then assignPublicIp must be set to false. See Vlan.

    definedTags Map<String,String>
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<String,String>
    (Updatable) 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

    (Updatable) The hostname for the VNIC's primary private IP. Used for DNS. The value is the hostname portion of the primary private IP's fully qualified domain name (FQDN) (for example, bminstance1 in FQDN bminstance1.subnet123.vcn1.oraclevcn.com). Must be unique across all VNICs in the subnet and comply with RFC 952 and RFC 1123. The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp).

    For more information, see DNS in Your Virtual Cloud Network.

    When launching an instance, use this hostnameLabel instead of the deprecated hostnameLabel in [LaunchInstanceDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/requests/LaunchInstanceDetails). If you provide both, the values must match.

    Example: bminstance1

    If you specify a vlanId, the hostnameLabel cannot be specified. VNICs on a VLAN can not be assigned a hostname. See Vlan.

    ipv6addressIpv6subnetCidrPairDetails List<InstanceCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail>
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges from which Oracle Cloud Infrastructure will select 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>

    (Updatable) A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.

    If a vlanId is specified, the nsgIds cannot be specified. The vlanId indicates that the VNIC will belong to a VLAN instead of a subnet. With VLANs, all VNICs in the VLAN belong to the NSGs that are associated with the VLAN. See Vlan.

    privateIp String

    A private IP address of your choice to assign to the VNIC. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet. This is the VNIC's primary private IP address. The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp).

    If you specify a vlanId, the privateIp cannot be specified. See Vlan.

    Example: 10.0.3.3

    securityAttributes Map<String,String>
    Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    skipSourceDestCheck Boolean

    (Updatable) Whether the source/destination check is disabled on the VNIC. Defaults to false, which means the check is performed. For information about why you would skip the source/destination check, see Using a Private IP as a Route Target.

    If you specify a vlanId, the skipSourceDestCheck cannot be specified because the source/destination check is always disabled for VNICs in a VLAN. See Vlan.

    Example: true

    subnetId String

    The OCID of the subnet to create the VNIC in. When launching an instance, use this subnetId instead of the deprecated subnetId in LaunchInstanceDetails. At least one of them is required; if you provide both, the values must match.

    If you are an Oracle Cloud VMware Solution customer and creating a secondary VNIC in a VLAN instead of a subnet, provide a vlanId instead of a subnetId. If you provide both a vlanId and subnetId, the request fails.

    vlanId String

    Provide this attribute only if you are an Oracle Cloud VMware Solution customer and creating a secondary VNIC in a VLAN. The value is the OCID of the VLAN. See Vlan.

    Provide a vlanId instead of a subnetId. If you provide both a vlanId and subnetId, the request fails.

    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 DNS record. If set to false, there will be no DNS record registration for the VNIC. If set to true, the DNS record will be registered. The default value is true. If you specify a hostnameLabel, the assignPrivateDnsRecord is require to be set to true.
    assignPublicIp string

    (Updatable) Whether the VNIC should be assigned a public IP address. Defaults to whether the subnet is public or private. If not set and the VNIC is being created in a private subnet (that is, where prohibitPublicIpOnVnic = true in the Subnet), then no public IP address is assigned. If not set and the subnet is public (prohibitPublicIpOnVnic = false), then a public IP address is assigned. If set to true and prohibitPublicIpOnVnic = true, an error is returned.

    Note: This public IP address is associated with the primary private IP on the VNIC. For more information, see IP Addresses.

    Note: There's a limit to the number of public IPs a VNIC or instance can have. If you try to create a secondary VNIC with an assigned public IP for an instance that has already reached its public IP limit, an error is returned. For information about the public IP limits, see Public IP Addresses.

    Example: false

    If you specify a vlanId, then assignPublicIp must be set to false. See Vlan.

    definedTags {[key: string]: string}
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags {[key: string]: string}
    (Updatable) 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

    (Updatable) The hostname for the VNIC's primary private IP. Used for DNS. The value is the hostname portion of the primary private IP's fully qualified domain name (FQDN) (for example, bminstance1 in FQDN bminstance1.subnet123.vcn1.oraclevcn.com). Must be unique across all VNICs in the subnet and comply with RFC 952 and RFC 1123. The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp).

    For more information, see DNS in Your Virtual Cloud Network.

    When launching an instance, use this hostnameLabel instead of the deprecated hostnameLabel in [LaunchInstanceDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/requests/LaunchInstanceDetails). If you provide both, the values must match.

    Example: bminstance1

    If you specify a vlanId, the hostnameLabel cannot be specified. VNICs on a VLAN can not be assigned a hostname. See Vlan.

    ipv6addressIpv6subnetCidrPairDetails InstanceCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail[]
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges from which Oracle Cloud Infrastructure will select 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[]

    (Updatable) A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.

    If a vlanId is specified, the nsgIds cannot be specified. The vlanId indicates that the VNIC will belong to a VLAN instead of a subnet. With VLANs, all VNICs in the VLAN belong to the NSGs that are associated with the VLAN. See Vlan.

    privateIp string

    A private IP address of your choice to assign to the VNIC. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet. This is the VNIC's primary private IP address. The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp).

    If you specify a vlanId, the privateIp cannot be specified. See Vlan.

    Example: 10.0.3.3

    securityAttributes {[key: string]: string}
    Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    skipSourceDestCheck boolean

    (Updatable) Whether the source/destination check is disabled on the VNIC. Defaults to false, which means the check is performed. For information about why you would skip the source/destination check, see Using a Private IP as a Route Target.

    If you specify a vlanId, the skipSourceDestCheck cannot be specified because the source/destination check is always disabled for VNICs in a VLAN. See Vlan.

    Example: true

    subnetId string

    The OCID of the subnet to create the VNIC in. When launching an instance, use this subnetId instead of the deprecated subnetId in LaunchInstanceDetails. At least one of them is required; if you provide both, the values must match.

    If you are an Oracle Cloud VMware Solution customer and creating a secondary VNIC in a VLAN instead of a subnet, provide a vlanId instead of a subnetId. If you provide both a vlanId and subnetId, the request fails.

    vlanId string

    Provide this attribute only if you are an Oracle Cloud VMware Solution customer and creating a secondary VNIC in a VLAN. The value is the OCID of the VLAN. See Vlan.

    Provide a vlanId instead of a subnetId. If you provide both a vlanId and subnetId, the request fails.

    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 DNS record. If set to false, there will be no DNS record registration for the VNIC. If set to true, the DNS record will be registered. The default value is true. If you specify a hostnameLabel, the assignPrivateDnsRecord is require to be set to true.
    assign_public_ip str

    (Updatable) Whether the VNIC should be assigned a public IP address. Defaults to whether the subnet is public or private. If not set and the VNIC is being created in a private subnet (that is, where prohibitPublicIpOnVnic = true in the Subnet), then no public IP address is assigned. If not set and the subnet is public (prohibitPublicIpOnVnic = false), then a public IP address is assigned. If set to true and prohibitPublicIpOnVnic = true, an error is returned.

    Note: This public IP address is associated with the primary private IP on the VNIC. For more information, see IP Addresses.

    Note: There's a limit to the number of public IPs a VNIC or instance can have. If you try to create a secondary VNIC with an assigned public IP for an instance that has already reached its public IP limit, an error is returned. For information about the public IP limits, see Public IP Addresses.

    Example: false

    If you specify a vlanId, then assignPublicIp must be set to false. See Vlan.

    defined_tags Mapping[str, str]
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeform_tags Mapping[str, str]
    (Updatable) 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

    (Updatable) The hostname for the VNIC's primary private IP. Used for DNS. The value is the hostname portion of the primary private IP's fully qualified domain name (FQDN) (for example, bminstance1 in FQDN bminstance1.subnet123.vcn1.oraclevcn.com). Must be unique across all VNICs in the subnet and comply with RFC 952 and RFC 1123. The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp).

    For more information, see DNS in Your Virtual Cloud Network.

    When launching an instance, use this hostnameLabel instead of the deprecated hostnameLabel in [LaunchInstanceDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/requests/LaunchInstanceDetails). If you provide both, the values must match.

    Example: bminstance1

    If you specify a vlanId, the hostnameLabel cannot be specified. VNICs on a VLAN can not be assigned a hostname. See Vlan.

    ipv6address_ipv6subnet_cidr_pair_details Sequence[core.InstanceCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail]
    A list of IPv6 prefix ranges from which the VNIC should be assigned an IPv6 address. You can provide only the prefix ranges from which Oracle Cloud Infrastructure will select 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]

    (Updatable) A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.

    If a vlanId is specified, the nsgIds cannot be specified. The vlanId indicates that the VNIC will belong to a VLAN instead of a subnet. With VLANs, all VNICs in the VLAN belong to the NSGs that are associated with the VLAN. See Vlan.

    private_ip str

    A private IP address of your choice to assign to the VNIC. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet. This is the VNIC's primary private IP address. The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp).

    If you specify a vlanId, the privateIp cannot be specified. See Vlan.

    Example: 10.0.3.3

    security_attributes Mapping[str, str]
    Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    skip_source_dest_check bool

    (Updatable) Whether the source/destination check is disabled on the VNIC. Defaults to false, which means the check is performed. For information about why you would skip the source/destination check, see Using a Private IP as a Route Target.

    If you specify a vlanId, the skipSourceDestCheck cannot be specified because the source/destination check is always disabled for VNICs in a VLAN. See Vlan.

    Example: true

    subnet_id str

    The OCID of the subnet to create the VNIC in. When launching an instance, use this subnetId instead of the deprecated subnetId in LaunchInstanceDetails. At least one of them is required; if you provide both, the values must match.

    If you are an Oracle Cloud VMware Solution customer and creating a secondary VNIC in a VLAN instead of a subnet, provide a vlanId instead of a subnetId. If you provide both a vlanId and subnetId, the request fails.

    vlan_id str

    Provide this attribute only if you are an Oracle Cloud VMware Solution customer and creating a secondary VNIC in a VLAN. The value is the OCID of the VLAN. See Vlan.

    Provide a vlanId instead of a subnetId. If you provide both a vlanId and subnetId, the request fails.

    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 DNS record. If set to false, there will be no DNS record registration for the VNIC. If set to true, the DNS record will be registered. The default value is true. If you specify a hostnameLabel, the assignPrivateDnsRecord is require to be set to true.
    assignPublicIp String

    (Updatable) Whether the VNIC should be assigned a public IP address. Defaults to whether the subnet is public or private. If not set and the VNIC is being created in a private subnet (that is, where prohibitPublicIpOnVnic = true in the Subnet), then no public IP address is assigned. If not set and the subnet is public (prohibitPublicIpOnVnic = false), then a public IP address is assigned. If set to true and prohibitPublicIpOnVnic = true, an error is returned.

    Note: This public IP address is associated with the primary private IP on the VNIC. For more information, see IP Addresses.

    Note: There's a limit to the number of public IPs a VNIC or instance can have. If you try to create a secondary VNIC with an assigned public IP for an instance that has already reached its public IP limit, an error is returned. For information about the public IP limits, see Public IP Addresses.

    Example: false

    If you specify a vlanId, then assignPublicIp must be set to false. See Vlan.

    definedTags Map<String>
    (Updatable) 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
    (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    freeformTags Map<String>
    (Updatable) 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

    (Updatable) The hostname for the VNIC's primary private IP. Used for DNS. The value is the hostname portion of the primary private IP's fully qualified domain name (FQDN) (for example, bminstance1 in FQDN bminstance1.subnet123.vcn1.oraclevcn.com). Must be unique across all VNICs in the subnet and comply with RFC 952 and RFC 1123. The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp).

    For more information, see DNS in Your Virtual Cloud Network.

    When launching an instance, use this hostnameLabel instead of the deprecated hostnameLabel in [LaunchInstanceDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/requests/LaunchInstanceDetails). If you provide both, the values must match.

    Example: bminstance1

    If you specify a vlanId, the hostnameLabel cannot be specified. VNICs on a VLAN can not be assigned a hostname. See Vlan.

    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 from which Oracle Cloud Infrastructure will select 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>

    (Updatable) A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see NetworkSecurityGroup.

    If a vlanId is specified, the nsgIds cannot be specified. The vlanId indicates that the VNIC will belong to a VLAN instead of a subnet. With VLANs, all VNICs in the VLAN belong to the NSGs that are associated with the VLAN. See Vlan.

    privateIp String

    A private IP address of your choice to assign to the VNIC. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet. This is the VNIC's primary private IP address. The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp).

    If you specify a vlanId, the privateIp cannot be specified. See Vlan.

    Example: 10.0.3.3

    securityAttributes Map<String>
    Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: {"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}
    skipSourceDestCheck Boolean

    (Updatable) Whether the source/destination check is disabled on the VNIC. Defaults to false, which means the check is performed. For information about why you would skip the source/destination check, see Using a Private IP as a Route Target.

    If you specify a vlanId, the skipSourceDestCheck cannot be specified because the source/destination check is always disabled for VNICs in a VLAN. See Vlan.

    Example: true

    subnetId String

    The OCID of the subnet to create the VNIC in. When launching an instance, use this subnetId instead of the deprecated subnetId in LaunchInstanceDetails. At least one of them is required; if you provide both, the values must match.

    If you are an Oracle Cloud VMware Solution customer and creating a secondary VNIC in a VLAN instead of a subnet, provide a vlanId instead of a subnetId. If you provide both a vlanId and subnetId, the request fails.

    vlanId String

    Provide this attribute only if you are an Oracle Cloud VMware Solution customer and creating a secondary VNIC in a VLAN. The value is the OCID of the VLAN. See Vlan.

    Provide a vlanId instead of a subnetId. If you provide both a vlanId and subnetId, the request fails.

    InstanceCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetail, InstanceCreateVnicDetailsIpv6addressIpv6subnetCidrPairDetailArgs

    InstanceInstanceOptions, InstanceInstanceOptionsArgs

    AreLegacyImdsEndpointsDisabled bool
    (Updatable) 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
    (Updatable) 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
    (Updatable) 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
    (Updatable) 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
    (Updatable) 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
    (Updatable) 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.

    InstanceLaunchOptions, InstanceLaunchOptionsArgs

    BootVolumeType string
    (Updatable) Emulation type for the boot volume.

    • ISCSI - ISCSI attached block storage device.
    • SCSI - Emulated SCSI disk.
    • IDE - Emulated IDE disk.
    • VFIO - Direct attached Virtual Function storage. This is the default option for local data volumes on platform images.
    • PARAVIRTUALIZED - Paravirtualized disk. This is the default for boot volumes and remote block storage volumes on platform images.
    Firmware string
    Firmware used to boot VM. Select the option that matches your operating system.

    • BIOS - Boot VM using BIOS style firmware. This is compatible with both 32 bit and 64 bit operating systems that boot using MBR style bootloaders.
    • UEFI_64 - Boot VM using UEFI style firmware compatible with 64 bit operating systems. This is the default for platform images.
    IsConsistentVolumeNamingEnabled bool
    Whether to enable consistent volume naming feature. Defaults to false.
    IsPvEncryptionInTransitEnabled bool
    (Updatable) Use this for update operation only. This field is Deprecated during create. For create use isPvEncryptionInTransitEnabled in LaunchInstanceDetails.
    NetworkType string
    (Updatable) Emulation type for the physical network interface card (NIC).

    • E1000 - Emulated Gigabit ethernet controller. Compatible with Linux e1000 network driver.
    • VFIO - Direct attached Virtual Function network controller. This is the networking type when you launch an instance using hardware-assisted (SR-IOV) networking.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    RemoteDataVolumeType string
    Emulation type for volume.

    • ISCSI - ISCSI attached block storage device.
    • SCSI - Emulated SCSI disk.
    • IDE - Emulated IDE disk.
    • VFIO - Direct attached Virtual Function storage. This is the default option for local data volumes on platform images.
    • PARAVIRTUALIZED - Paravirtualized disk. This is the default for boot volumes and remote block storage volumes on platform images.
    BootVolumeType string
    (Updatable) Emulation type for the boot volume.

    • ISCSI - ISCSI attached block storage device.
    • SCSI - Emulated SCSI disk.
    • IDE - Emulated IDE disk.
    • VFIO - Direct attached Virtual Function storage. This is the default option for local data volumes on platform images.
    • PARAVIRTUALIZED - Paravirtualized disk. This is the default for boot volumes and remote block storage volumes on platform images.
    Firmware string
    Firmware used to boot VM. Select the option that matches your operating system.

    • BIOS - Boot VM using BIOS style firmware. This is compatible with both 32 bit and 64 bit operating systems that boot using MBR style bootloaders.
    • UEFI_64 - Boot VM using UEFI style firmware compatible with 64 bit operating systems. This is the default for platform images.
    IsConsistentVolumeNamingEnabled bool
    Whether to enable consistent volume naming feature. Defaults to false.
    IsPvEncryptionInTransitEnabled bool
    (Updatable) Use this for update operation only. This field is Deprecated during create. For create use isPvEncryptionInTransitEnabled in LaunchInstanceDetails.
    NetworkType string
    (Updatable) Emulation type for the physical network interface card (NIC).

    • E1000 - Emulated Gigabit ethernet controller. Compatible with Linux e1000 network driver.
    • VFIO - Direct attached Virtual Function network controller. This is the networking type when you launch an instance using hardware-assisted (SR-IOV) networking.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    RemoteDataVolumeType string
    Emulation type for volume.

    • ISCSI - ISCSI attached block storage device.
    • SCSI - Emulated SCSI disk.
    • IDE - Emulated IDE disk.
    • VFIO - Direct attached Virtual Function storage. This is the default option for local data volumes on platform images.
    • PARAVIRTUALIZED - Paravirtualized disk. This is the default for boot volumes and remote block storage volumes on platform images.
    bootVolumeType String
    (Updatable) Emulation type for the boot volume.

    • ISCSI - ISCSI attached block storage device.
    • SCSI - Emulated SCSI disk.
    • IDE - Emulated IDE disk.
    • VFIO - Direct attached Virtual Function storage. This is the default option for local data volumes on platform images.
    • PARAVIRTUALIZED - Paravirtualized disk. This is the default for boot volumes and remote block storage volumes on platform images.
    firmware String
    Firmware used to boot VM. Select the option that matches your operating system.

    • BIOS - Boot VM using BIOS style firmware. This is compatible with both 32 bit and 64 bit operating systems that boot using MBR style bootloaders.
    • UEFI_64 - Boot VM using UEFI style firmware compatible with 64 bit operating systems. This is the default for platform images.
    isConsistentVolumeNamingEnabled Boolean
    Whether to enable consistent volume naming feature. Defaults to false.
    isPvEncryptionInTransitEnabled Boolean
    (Updatable) Use this for update operation only. This field is Deprecated during create. For create use isPvEncryptionInTransitEnabled in LaunchInstanceDetails.
    networkType String
    (Updatable) Emulation type for the physical network interface card (NIC).

    • E1000 - Emulated Gigabit ethernet controller. Compatible with Linux e1000 network driver.
    • VFIO - Direct attached Virtual Function network controller. This is the networking type when you launch an instance using hardware-assisted (SR-IOV) networking.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    remoteDataVolumeType String
    Emulation type for volume.

    • ISCSI - ISCSI attached block storage device.
    • SCSI - Emulated SCSI disk.
    • IDE - Emulated IDE disk.
    • VFIO - Direct attached Virtual Function storage. This is the default option for local data volumes on platform images.
    • PARAVIRTUALIZED - Paravirtualized disk. This is the default for boot volumes and remote block storage volumes on platform images.
    bootVolumeType string
    (Updatable) Emulation type for the boot volume.

    • ISCSI - ISCSI attached block storage device.
    • SCSI - Emulated SCSI disk.
    • IDE - Emulated IDE disk.
    • VFIO - Direct attached Virtual Function storage. This is the default option for local data volumes on platform images.
    • PARAVIRTUALIZED - Paravirtualized disk. This is the default for boot volumes and remote block storage volumes on platform images.
    firmware string
    Firmware used to boot VM. Select the option that matches your operating system.

    • BIOS - Boot VM using BIOS style firmware. This is compatible with both 32 bit and 64 bit operating systems that boot using MBR style bootloaders.
    • UEFI_64 - Boot VM using UEFI style firmware compatible with 64 bit operating systems. This is the default for platform images.
    isConsistentVolumeNamingEnabled boolean
    Whether to enable consistent volume naming feature. Defaults to false.
    isPvEncryptionInTransitEnabled boolean
    (Updatable) Use this for update operation only. This field is Deprecated during create. For create use isPvEncryptionInTransitEnabled in LaunchInstanceDetails.
    networkType string
    (Updatable) Emulation type for the physical network interface card (NIC).

    • E1000 - Emulated Gigabit ethernet controller. Compatible with Linux e1000 network driver.
    • VFIO - Direct attached Virtual Function network controller. This is the networking type when you launch an instance using hardware-assisted (SR-IOV) networking.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    remoteDataVolumeType string
    Emulation type for volume.

    • ISCSI - ISCSI attached block storage device.
    • SCSI - Emulated SCSI disk.
    • IDE - Emulated IDE disk.
    • VFIO - Direct attached Virtual Function storage. This is the default option for local data volumes on platform images.
    • PARAVIRTUALIZED - Paravirtualized disk. This is the default for boot volumes and remote block storage volumes on platform images.
    boot_volume_type str
    (Updatable) Emulation type for the boot volume.

    • ISCSI - ISCSI attached block storage device.
    • SCSI - Emulated SCSI disk.
    • IDE - Emulated IDE disk.
    • VFIO - Direct attached Virtual Function storage. This is the default option for local data volumes on platform images.
    • PARAVIRTUALIZED - Paravirtualized disk. This is the default for boot volumes and remote block storage volumes on platform images.
    firmware str
    Firmware used to boot VM. Select the option that matches your operating system.

    • BIOS - Boot VM using BIOS style firmware. This is compatible with both 32 bit and 64 bit operating systems that boot using MBR style bootloaders.
    • UEFI_64 - Boot VM using UEFI style firmware compatible with 64 bit operating systems. This is the default for platform images.
    is_consistent_volume_naming_enabled bool
    Whether to enable consistent volume naming feature. Defaults to false.
    is_pv_encryption_in_transit_enabled bool
    (Updatable) Use this for update operation only. This field is Deprecated during create. For create use isPvEncryptionInTransitEnabled in LaunchInstanceDetails.
    network_type str
    (Updatable) Emulation type for the physical network interface card (NIC).

    • E1000 - Emulated Gigabit ethernet controller. Compatible with Linux e1000 network driver.
    • VFIO - Direct attached Virtual Function network controller. This is the networking type when you launch an instance using hardware-assisted (SR-IOV) networking.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    remote_data_volume_type str
    Emulation type for volume.

    • ISCSI - ISCSI attached block storage device.
    • SCSI - Emulated SCSI disk.
    • IDE - Emulated IDE disk.
    • VFIO - Direct attached Virtual Function storage. This is the default option for local data volumes on platform images.
    • PARAVIRTUALIZED - Paravirtualized disk. This is the default for boot volumes and remote block storage volumes on platform images.
    bootVolumeType String
    (Updatable) Emulation type for the boot volume.

    • ISCSI - ISCSI attached block storage device.
    • SCSI - Emulated SCSI disk.
    • IDE - Emulated IDE disk.
    • VFIO - Direct attached Virtual Function storage. This is the default option for local data volumes on platform images.
    • PARAVIRTUALIZED - Paravirtualized disk. This is the default for boot volumes and remote block storage volumes on platform images.
    firmware String
    Firmware used to boot VM. Select the option that matches your operating system.

    • BIOS - Boot VM using BIOS style firmware. This is compatible with both 32 bit and 64 bit operating systems that boot using MBR style bootloaders.
    • UEFI_64 - Boot VM using UEFI style firmware compatible with 64 bit operating systems. This is the default for platform images.
    isConsistentVolumeNamingEnabled Boolean
    Whether to enable consistent volume naming feature. Defaults to false.
    isPvEncryptionInTransitEnabled Boolean
    (Updatable) Use this for update operation only. This field is Deprecated during create. For create use isPvEncryptionInTransitEnabled in LaunchInstanceDetails.
    networkType String
    (Updatable) Emulation type for the physical network interface card (NIC).

    • E1000 - Emulated Gigabit ethernet controller. Compatible with Linux e1000 network driver.
    • VFIO - Direct attached Virtual Function network controller. This is the networking type when you launch an instance using hardware-assisted (SR-IOV) networking.
    • PARAVIRTUALIZED - VM instances launch with paravirtualized devices using VirtIO drivers.
    remoteDataVolumeType String
    Emulation type for volume.

    • ISCSI - ISCSI attached block storage device.
    • SCSI - Emulated SCSI disk.
    • IDE - Emulated IDE disk.
    • VFIO - Direct attached Virtual Function storage. This is the default option for local data volumes on platform images.
    • PARAVIRTUALIZED - Paravirtualized disk. This is the default for boot volumes and remote block storage volumes on platform images.

    InstanceLaunchVolumeAttachment, InstanceLaunchVolumeAttachmentArgs

    Type string
    The type of volume. Currently, the only supported value is "iscsi".
    Device string
    The device name. To retrieve a list of devices for a given instance, see ListInstanceDevices.
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    EncryptionInTransitType string
    Refer the top-level definition of encryptionInTransitType. The default value is NONE.
    IsAgentAutoIscsiLoginEnabled bool
    Whether to enable Oracle Cloud Agent to perform the iSCSI login and logout commands after the volume attach or detach operations for non multipath-enabled iSCSI attachments.
    IsPvEncryptionInTransitEnabled bool
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false.
    IsReadOnly bool
    Whether the attachment was 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.
    LaunchCreateVolumeDetails InstanceLaunchVolumeAttachmentLaunchCreateVolumeDetails
    Define a volume that will be created and attached or attached to an instance on creation.
    UseChap bool
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    VolumeId string
    The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.
    Type string
    The type of volume. Currently, the only supported value is "iscsi".
    Device string
    The device name. To retrieve a list of devices for a given instance, see ListInstanceDevices.
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    EncryptionInTransitType string
    Refer the top-level definition of encryptionInTransitType. The default value is NONE.
    IsAgentAutoIscsiLoginEnabled bool
    Whether to enable Oracle Cloud Agent to perform the iSCSI login and logout commands after the volume attach or detach operations for non multipath-enabled iSCSI attachments.
    IsPvEncryptionInTransitEnabled bool
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false.
    IsReadOnly bool
    Whether the attachment was 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.
    LaunchCreateVolumeDetails InstanceLaunchVolumeAttachmentLaunchCreateVolumeDetails
    Define a volume that will be created and attached or attached to an instance on creation.
    UseChap bool
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    VolumeId string
    The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.
    type String
    The type of volume. Currently, the only supported value is "iscsi".
    device String
    The device name. To retrieve a list of devices for a given instance, see ListInstanceDevices.
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    encryptionInTransitType String
    Refer the top-level definition of encryptionInTransitType. The default value is NONE.
    isAgentAutoIscsiLoginEnabled Boolean
    Whether to enable Oracle Cloud Agent to perform the iSCSI login and logout commands after the volume attach or detach operations for non multipath-enabled iSCSI attachments.
    isPvEncryptionInTransitEnabled Boolean
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false.
    isReadOnly Boolean
    Whether the attachment was 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.
    launchCreateVolumeDetails InstanceLaunchVolumeAttachmentLaunchCreateVolumeDetails
    Define a volume that will be created and attached or attached to an instance on creation.
    useChap Boolean
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    volumeId String
    The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.
    type string
    The type of volume. Currently, the only supported value is "iscsi".
    device string
    The device name. To retrieve a list of devices for a given instance, see ListInstanceDevices.
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    encryptionInTransitType string
    Refer the top-level definition of encryptionInTransitType. The default value is NONE.
    isAgentAutoIscsiLoginEnabled boolean
    Whether to enable Oracle Cloud Agent to perform the iSCSI login and logout commands after the volume attach or detach operations for non multipath-enabled iSCSI attachments.
    isPvEncryptionInTransitEnabled boolean
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false.
    isReadOnly boolean
    Whether the attachment was 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.
    launchCreateVolumeDetails InstanceLaunchVolumeAttachmentLaunchCreateVolumeDetails
    Define a volume that will be created and attached or attached to an instance on creation.
    useChap boolean
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    volumeId string
    The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.
    type str
    The type of volume. Currently, the only supported value is "iscsi".
    device str
    The device name. To retrieve a list of devices for a given instance, see ListInstanceDevices.
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    encryption_in_transit_type str
    Refer the top-level definition of encryptionInTransitType. The default value is NONE.
    is_agent_auto_iscsi_login_enabled bool
    Whether to enable Oracle Cloud Agent to perform the iSCSI login and logout commands after the volume attach or detach operations for non multipath-enabled iSCSI attachments.
    is_pv_encryption_in_transit_enabled bool
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false.
    is_read_only bool
    Whether the attachment was 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.
    launch_create_volume_details core.InstanceLaunchVolumeAttachmentLaunchCreateVolumeDetails
    Define a volume that will be created and attached or attached to an instance on creation.
    use_chap bool
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    volume_id str
    The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.
    type String
    The type of volume. Currently, the only supported value is "iscsi".
    device String
    The device name. To retrieve a list of devices for a given instance, see ListInstanceDevices.
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    encryptionInTransitType String
    Refer the top-level definition of encryptionInTransitType. The default value is NONE.
    isAgentAutoIscsiLoginEnabled Boolean
    Whether to enable Oracle Cloud Agent to perform the iSCSI login and logout commands after the volume attach or detach operations for non multipath-enabled iSCSI attachments.
    isPvEncryptionInTransitEnabled Boolean
    Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false.
    isReadOnly Boolean
    Whether the attachment was 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.
    launchCreateVolumeDetails Property Map
    Define a volume that will be created and attached or attached to an instance on creation.
    useChap Boolean
    Whether to use CHAP authentication for the volume attachment. Defaults to false.
    volumeId String
    The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.

    InstanceLaunchVolumeAttachmentLaunchCreateVolumeDetails, InstanceLaunchVolumeAttachmentLaunchCreateVolumeDetailsArgs

    SizeInGbs string
    The size of the volume in GBs.
    VolumeCreationType string
    Specifies the method for volume creation.
    CompartmentId string
    (Updatable) The OCID of the compartment that contains the volume. If not provided, it will be inherited from the instance.
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    KmsKeyId string
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    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:

    SizeInGbs string
    The size of the volume in GBs.
    VolumeCreationType string
    Specifies the method for volume creation.
    CompartmentId string
    (Updatable) The OCID of the compartment that contains the volume. If not provided, it will be inherited from the instance.
    DisplayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    KmsKeyId string
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    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:

    sizeInGbs String
    The size of the volume in GBs.
    volumeCreationType String
    Specifies the method for volume creation.
    compartmentId String
    (Updatable) The OCID of the compartment that contains the volume. If not provided, it will be inherited from the instance.
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    kmsKeyId String
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    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:

    sizeInGbs string
    The size of the volume in GBs.
    volumeCreationType string
    Specifies the method for volume creation.
    compartmentId string
    (Updatable) The OCID of the compartment that contains the volume. If not provided, it will be inherited from the instance.
    displayName string
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    kmsKeyId string
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    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:

    size_in_gbs str
    The size of the volume in GBs.
    volume_creation_type str
    Specifies the method for volume creation.
    compartment_id str
    (Updatable) The OCID of the compartment that contains the volume. If not provided, it will be inherited from the instance.
    display_name str
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    kms_key_id str
    The OCID of the Vault service key to assign as the master encryption key for the 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:

    sizeInGbs String
    The size of the volume in GBs.
    volumeCreationType String
    Specifies the method for volume creation.
    compartmentId String
    (Updatable) The OCID of the compartment that contains the volume. If not provided, it will be inherited from the instance.
    displayName String
    A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
    kmsKeyId String
    The OCID of the Vault service key to assign as the master encryption key for the volume.
    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:

    InstancePlatformConfig, InstancePlatformConfigArgs

    Type string
    The type of platform being configured.
    AreVirtualInstructionsEnabled bool
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    ConfigMap Dictionary<string, string>
    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 INTEL_VM and AMD_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 platform being configured.
    AreVirtualInstructionsEnabled bool
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    ConfigMap map[string]string
    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 INTEL_VM and AMD_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 platform being configured.
    areVirtualInstructionsEnabled Boolean
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    configMap Map<String,String>
    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 INTEL_VM and AMD_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 platform being configured.
    areVirtualInstructionsEnabled boolean
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    configMap {[key: string]: string}
    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 INTEL_VM and AMD_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 platform being configured.
    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, str]
    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 INTEL_VM and AMD_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 platform being configured.
    areVirtualInstructionsEnabled Boolean
    Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes or VT-x for Intel shapes.
    configMap Map<String>
    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 INTEL_VM and AMD_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.

    InstancePreemptibleInstanceConfig, InstancePreemptibleInstanceConfigArgs

    PreemptionAction InstancePreemptibleInstanceConfigPreemptionAction
    The action to run when the preemptible instance is interrupted for eviction.
    PreemptionAction InstancePreemptibleInstanceConfigPreemptionAction
    The action to run when the preemptible instance is interrupted for eviction.
    preemptionAction InstancePreemptibleInstanceConfigPreemptionAction
    The action to run when the preemptible instance is interrupted for eviction.
    preemptionAction InstancePreemptibleInstanceConfigPreemptionAction
    The action to run when the preemptible instance is interrupted for eviction.
    preemption_action core.InstancePreemptibleInstanceConfigPreemptionAction
    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.

    InstancePreemptibleInstanceConfigPreemptionAction, InstancePreemptibleInstanceConfigPreemptionActionArgs

    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.

    InstanceShapeConfig, InstanceShapeConfigArgs

    BaselineOcpuUtilization string

    (Updatable) 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:

    • BASELINE_1_8 - baseline usage is 1/8 of an OCPU.
    • BASELINE_1_2 - baseline usage is 1/2 of an OCPU.
    • BASELINE_1_1 - baseline usage is an entire OCPU. This represents a non-burstable instance.
    GpuDescription string
    A short description of the instance's graphics processing unit (GPU).
    Gpus int
    The number of GPUs available to the instance.
    LocalDiskDescription string
    A short description of the local disks available to this instance.
    LocalDisks int
    The number of local disks available to the instance.
    LocalDisksTotalSizeInGbs double
    The aggregate size of all local disks, in gigabytes.
    MaxVnicAttachments int
    The maximum number of VNIC attachments for the instance.
    MemoryInGbs double
    (Updatable) The total amount of memory available to the instance, in gigabytes.
    NetworkingBandwidthInGbps double
    The networking bandwidth available to the instance, in gigabits per second.
    Nvmes int
    (Updatable) The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    Ocpus double
    (Updatable) The total number of OCPUs available to the instance.
    ProcessorDescription string
    A short description of the instance's processor (CPU).
    Vcpus int
    (Updatable) 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

    (Updatable) 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:

    • BASELINE_1_8 - baseline usage is 1/8 of an OCPU.
    • BASELINE_1_2 - baseline usage is 1/2 of an OCPU.
    • BASELINE_1_1 - baseline usage is an entire OCPU. This represents a non-burstable instance.
    GpuDescription string
    A short description of the instance's graphics processing unit (GPU).
    Gpus int
    The number of GPUs available to the instance.
    LocalDiskDescription string
    A short description of the local disks available to this instance.
    LocalDisks int
    The number of local disks available to the instance.
    LocalDisksTotalSizeInGbs float64
    The aggregate size of all local disks, in gigabytes.
    MaxVnicAttachments int
    The maximum number of VNIC attachments for the instance.
    MemoryInGbs float64
    (Updatable) The total amount of memory available to the instance, in gigabytes.
    NetworkingBandwidthInGbps float64
    The networking bandwidth available to the instance, in gigabits per second.
    Nvmes int
    (Updatable) The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    Ocpus float64
    (Updatable) The total number of OCPUs available to the instance.
    ProcessorDescription string
    A short description of the instance's processor (CPU).
    Vcpus int
    (Updatable) 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

    (Updatable) 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:

    • BASELINE_1_8 - baseline usage is 1/8 of an OCPU.
    • BASELINE_1_2 - baseline usage is 1/2 of an OCPU.
    • BASELINE_1_1 - baseline usage is an entire OCPU. This represents a non-burstable instance.
    gpuDescription String
    A short description of the instance's graphics processing unit (GPU).
    gpus Integer
    The number of GPUs available to the instance.
    localDiskDescription String
    A short description of the local disks available to this instance.
    localDisks Integer
    The number of local disks available to the instance.
    localDisksTotalSizeInGbs Double
    The aggregate size of all local disks, in gigabytes.
    maxVnicAttachments Integer
    The maximum number of VNIC attachments for the instance.
    memoryInGbs Double
    (Updatable) The total amount of memory available to the instance, in gigabytes.
    networkingBandwidthInGbps Double
    The networking bandwidth available to the instance, in gigabits per second.
    nvmes Integer
    (Updatable) The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    ocpus Double
    (Updatable) The total number of OCPUs available to the instance.
    processorDescription String
    A short description of the instance's processor (CPU).
    vcpus Integer
    (Updatable) 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

    (Updatable) 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:

    • BASELINE_1_8 - baseline usage is 1/8 of an OCPU.
    • BASELINE_1_2 - baseline usage is 1/2 of an OCPU.
    • BASELINE_1_1 - baseline usage is an entire OCPU. This represents a non-burstable instance.
    gpuDescription string
    A short description of the instance's graphics processing unit (GPU).
    gpus number
    The number of GPUs available to the instance.
    localDiskDescription string
    A short description of the local disks available to this instance.
    localDisks number
    The number of local disks available to the instance.
    localDisksTotalSizeInGbs number
    The aggregate size of all local disks, in gigabytes.
    maxVnicAttachments number
    The maximum number of VNIC attachments for the instance.
    memoryInGbs number
    (Updatable) The total amount of memory available to the instance, in gigabytes.
    networkingBandwidthInGbps number
    The networking bandwidth available to the instance, in gigabits per second.
    nvmes number
    (Updatable) The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    ocpus number
    (Updatable) The total number of OCPUs available to the instance.
    processorDescription string
    A short description of the instance's processor (CPU).
    vcpus number
    (Updatable) 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

    (Updatable) 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:

    • BASELINE_1_8 - baseline usage is 1/8 of an OCPU.
    • BASELINE_1_2 - baseline usage is 1/2 of an OCPU.
    • BASELINE_1_1 - baseline usage is an entire OCPU. This represents a non-burstable instance.
    gpu_description str
    A short description of the instance's graphics processing unit (GPU).
    gpus int
    The number of GPUs available to the instance.
    local_disk_description str
    A short description of the local disks available to this instance.
    local_disks int
    The number of local disks available to the instance.
    local_disks_total_size_in_gbs float
    The aggregate size of all local disks, in gigabytes.
    max_vnic_attachments int
    The maximum number of VNIC attachments for the instance.
    memory_in_gbs float
    (Updatable) The total amount of memory available to the instance, in gigabytes.
    networking_bandwidth_in_gbps float
    The networking bandwidth available to the instance, in gigabits per second.
    nvmes int
    (Updatable) The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    ocpus float
    (Updatable) The total number of OCPUs available to the instance.
    processor_description str
    A short description of the instance's processor (CPU).
    vcpus int
    (Updatable) 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

    (Updatable) 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:

    • BASELINE_1_8 - baseline usage is 1/8 of an OCPU.
    • BASELINE_1_2 - baseline usage is 1/2 of an OCPU.
    • BASELINE_1_1 - baseline usage is an entire OCPU. This represents a non-burstable instance.
    gpuDescription String
    A short description of the instance's graphics processing unit (GPU).
    gpus Number
    The number of GPUs available to the instance.
    localDiskDescription String
    A short description of the local disks available to this instance.
    localDisks Number
    The number of local disks available to the instance.
    localDisksTotalSizeInGbs Number
    The aggregate size of all local disks, in gigabytes.
    maxVnicAttachments Number
    The maximum number of VNIC attachments for the instance.
    memoryInGbs Number
    (Updatable) The total amount of memory available to the instance, in gigabytes.
    networkingBandwidthInGbps Number
    The networking bandwidth available to the instance, in gigabits per second.
    nvmes Number
    (Updatable) The number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
    ocpus Number
    (Updatable) The total number of OCPUs available to the instance.
    processorDescription String
    A short description of the instance's processor (CPU).
    vcpus Number
    (Updatable) 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.

    InstanceSourceDetails, InstanceSourceDetailsArgs

    SourceType string
    (Updatable) The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    BootVolumeSizeInGbs string
    (Updatable) The size of the boot volume in GBs. Minimum value is 50 GB and 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:

    InstanceSourceImageFilterDetails InstanceSourceDetailsInstanceSourceImageFilterDetails
    These are the criteria for selecting an image. This is required if imageId is not specified.
    IsPreserveBootVolumeEnabled bool
    (Updatable) Whether to preserve the boot volume that was previously attached to the instance after a successful replacement of that boot volume.
    KmsKeyId string
    (Updatable) The OCID of the Vault service key to assign as the master encryption key for the boot volume.
    SourceId string
    (Updatable) The OCID of the boot volume used to boot the instance. Updates are supported only for linux Images. The user will need to manually destroy and re-create the resource for other image types.
    SourceType string
    (Updatable) The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    BootVolumeSizeInGbs string
    (Updatable) The size of the boot volume in GBs. Minimum value is 50 GB and 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:

    InstanceSourceImageFilterDetails InstanceSourceDetailsInstanceSourceImageFilterDetails
    These are the criteria for selecting an image. This is required if imageId is not specified.
    IsPreserveBootVolumeEnabled bool
    (Updatable) Whether to preserve the boot volume that was previously attached to the instance after a successful replacement of that boot volume.
    KmsKeyId string
    (Updatable) The OCID of the Vault service key to assign as the master encryption key for the boot volume.
    SourceId string
    (Updatable) The OCID of the boot volume used to boot the instance. Updates are supported only for linux Images. The user will need to manually destroy and re-create the resource for other image types.
    sourceType String
    (Updatable) The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    bootVolumeSizeInGbs String
    (Updatable) The size of the boot volume in GBs. Minimum value is 50 GB and 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:

    instanceSourceImageFilterDetails InstanceSourceDetailsInstanceSourceImageFilterDetails
    These are the criteria for selecting an image. This is required if imageId is not specified.
    isPreserveBootVolumeEnabled Boolean
    (Updatable) Whether to preserve the boot volume that was previously attached to the instance after a successful replacement of that boot volume.
    kmsKeyId String
    (Updatable) The OCID of the Vault service key to assign as the master encryption key for the boot volume.
    sourceId String
    (Updatable) The OCID of the boot volume used to boot the instance. Updates are supported only for linux Images. The user will need to manually destroy and re-create the resource for other image types.
    sourceType string
    (Updatable) The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    bootVolumeSizeInGbs string
    (Updatable) The size of the boot volume in GBs. Minimum value is 50 GB and 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:

    instanceSourceImageFilterDetails InstanceSourceDetailsInstanceSourceImageFilterDetails
    These are the criteria for selecting an image. This is required if imageId is not specified.
    isPreserveBootVolumeEnabled boolean
    (Updatable) Whether to preserve the boot volume that was previously attached to the instance after a successful replacement of that boot volume.
    kmsKeyId string
    (Updatable) The OCID of the Vault service key to assign as the master encryption key for the boot volume.
    sourceId string
    (Updatable) The OCID of the boot volume used to boot the instance. Updates are supported only for linux Images. The user will need to manually destroy and re-create the resource for other image types.
    source_type str
    (Updatable) The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    boot_volume_size_in_gbs str
    (Updatable) The size of the boot volume in GBs. Minimum value is 50 GB and 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:

    instance_source_image_filter_details core.InstanceSourceDetailsInstanceSourceImageFilterDetails
    These are the criteria for selecting an image. This is required if imageId is not specified.
    is_preserve_boot_volume_enabled bool
    (Updatable) Whether to preserve the boot volume that was previously attached to the instance after a successful replacement of that boot volume.
    kms_key_id str
    (Updatable) The OCID of the Vault service key to assign as the master encryption key for the boot volume.
    source_id str
    (Updatable) The OCID of the boot volume used to boot the instance. Updates are supported only for linux Images. The user will need to manually destroy and re-create the resource for other image types.
    sourceType String
    (Updatable) The source type for the instance. Use image when specifying the image OCID. Use bootVolume when specifying the boot volume OCID.
    bootVolumeSizeInGbs String
    (Updatable) The size of the boot volume in GBs. Minimum value is 50 GB and 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:

    instanceSourceImageFilterDetails Property Map
    These are the criteria for selecting an image. This is required if imageId is not specified.
    isPreserveBootVolumeEnabled Boolean
    (Updatable) Whether to preserve the boot volume that was previously attached to the instance after a successful replacement of that boot volume.
    kmsKeyId String
    (Updatable) The OCID of the Vault service key to assign as the master encryption key for the boot volume.
    sourceId String
    (Updatable) The OCID of the boot volume used to boot the instance. Updates are supported only for linux Images. The user will need to manually destroy and re-create the resource for other image types.

    InstanceSourceDetailsInstanceSourceImageFilterDetails, InstanceSourceDetailsInstanceSourceImageFilterDetailsArgs

    CompartmentId string
    (Updatable) The OCID of the compartment containing images to search
    DefinedTagsFilter Dictionary<string, string>
    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]string
    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,String>
    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]: string}
    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, str]
    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<String>
    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

    Import

    Instances can be imported using the id, e.g.

    $ pulumi import oci:Core/instance:Instance test_instance "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 v2.17.0 published on Friday, Nov 15, 2024 by Pulumi