@@ -48,12 +48,44 @@ type OCIMachineSpec struct {
4848 // Shape of the instance.
4949 Shape string `json:"shape,omitempty"`
5050
51+ IpxeScript * string `json:"ipxeScript,omitempty"`
52+
53+ // CapacityReservationId defines the OCID of the compute capacity reservation this instance is launched under.
54+ // You can opt out of all default reservations by specifying an empty string as input for this field.
55+ // For more information, see Capacity Reservations (https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/reserve-capacity.htm#default).
56+ CapacityReservationId * string `json:"capacityReservationId,omitempty"`
57+
5158 // The shape configuration of rhe instance, applicable for flex instances.
5259 ShapeConfig ShapeConfig `json:"shapeConfig,omitempty"`
5360
54- // PrimaryNetworkInterface is required to specify subnet.
61+ // NetworkDetails defines the configuration options for the network
5562 NetworkDetails NetworkDetails `json:"networkDetails,omitempty"`
5663
64+ // LaunchOptions defines the options for tuning the compatibility and performance of VM shapes
65+ LaunchOptions * LaunchOptions `json:"launchOptions,omitempty"`
66+
67+ // InstanceOptions defines the instance options
68+ InstanceOptions * InstanceOptions `json:"instanceOptions,omitempty"`
69+
70+ // LaunchInstanceAvailabilityConfig defines the options for VM migration during infrastructure maintenance events and for defining
71+ // the availability of a VM instance after a maintenance event that impacts the underlying hardware.
72+ AvailabilityConfig * LaunchInstanceAvailabilityConfig `json:"availabilityConfig,omitempty"`
73+
74+ // PreemptibleInstanceConfig Configuration options for preemptible instances.
75+ PreemptibleInstanceConfig * PreemptibleInstanceConfig `json:"preemptibleInstanceConfig,omitempty"`
76+
77+ // LaunchInstanceAgentConfig defines the options for the Oracle Cloud Agent software running on the instance.
78+ AgentConfig * LaunchInstanceAgentConfig `json:"agentConfig,omitempty"`
79+
80+ // InstanceSourceViaImageConfig defines the options for booting up instances via images
81+ InstanceSourceViaImageDetails * InstanceSourceViaImageConfig `json:"instanceSourceViaImageConfig,omitempty"`
82+
83+ // InstanceSourceViaImageConfig defines the platform config parameters
84+ PlatformConfig * PlatformConfig `json:"platformConfig,omitempty"`
85+
86+ // DedicatedVmHostId defines the OCID of the dedicated VM host.
87+ DedicatedVmHostId * string `json:"dedicatedVmHostId,omitempty"`
88+
5789 // Provider ID of the instance, this will be set by Cluster API provider itself,
5890 // users should not set this parameter.
5991 // +optional
@@ -92,6 +124,7 @@ type OCIMachineSpec struct {
92124 // defined in the OCICluster Spec. Optional, only if multiple NSGs of a type
93125 // is defined, else the first element is used.
94126 // +optional
127+ // Deprecated, please use NetworkDetails.NSGNames
95128 NSGName string `json:"nsgName,omitempty"`
96129}
97130
0 commit comments