v1beta1

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2022 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

Index

Constants

View Source
const (
	// InstanceReadyCondition Ready indicates the instance is in a Running state.
	InstanceReadyCondition clusterv1.ConditionType = "InstanceReady"
	// InstanceNotFoundReason used when the instance couldn't be retrieved.
	InstanceNotFoundReason = "InstanceNotFound"
	// InstanceTerminatedReason instance is in a terminated state.
	InstanceTerminatedReason = "InstanceTerminated"
	// InstanceTerminatingReason instance is in terminating state.
	InstanceTerminatingReason = "InstanceTerminating"
	// InstanceNotReadyReason used when the instance is in a pending state.
	InstanceNotReadyReason = "InstanceNotReady"
	// InstanceProvisionStartedReason set when the provisioning of an instance started.
	InstanceProvisionStartedReason = "InstanceProvisionStarted"
	// InstanceProvisionFailedReason used for failures during instance provisioning.
	InstanceProvisionFailedReason = "InstanceProvisionFailed"
	// WaitingForClusterInfrastructureReason used when machine is waiting for cluster infrastructure to be ready before proceeding.
	WaitingForClusterInfrastructureReason = "WaitingForClusterInfrastructure"
	// WaitingForBootstrapDataReason used when machine is waiting for bootstrap data to be ready before proceeding.
	WaitingForBootstrapDataReason = "WaitingForBootstrapData"
	// InstanceLBackendAdditionFailedReason used when addition to LB backend fails
	InstanceLBackendAdditionFailedReason = "BackendAdditionFailed"
	// ClusterReadyCondition Ready indicates the cluster is Ready.
	ClusterReadyCondition clusterv1.ConditionType = "ClusterReady"
	// VcnReconciliationFailedReason used when the vcn reconciliation is failed.
	VcnReconciliationFailedReason = "VcnReconciliationFailed"
	// DrgReconciliationFailedReason used when the DRG reconciliation fails.
	DrgReconciliationFailedReason = "DRGReconciliationFailed"
	// DRGVCNAttachmentReconciliationFailedReason used when the DRG VCN Attachment reconciliation fails.
	DRGVCNAttachmentReconciliationFailedReason = "DRGVCNAttachmentReconciliationFailed"
	// DRGRPCAttachmentReconciliationFailedReason used when the DRG RPC Attachment reconciliation fails.
	DRGRPCAttachmentReconciliationFailedReason = "DRGRPCAttachmentReconciliationFailed"
	// InternetGatewayReconciliationFailedReason used when the InternetGateway reconciliation is failed.
	InternetGatewayReconciliationFailedReason = "InternetGatewayReconciliationFailed"
	// NatGatewayReconciliationFailedReason used when the NatGateway reconciliation is failed.
	NatGatewayReconciliationFailedReason = "NatGatewayReconciliationFailed"
	// ServiceGatewayReconciliationFailedReason used when the ServiceGateway reconciliation is failed.
	ServiceGatewayReconciliationFailedReason = "ServiceGatewayReconciliationFailed"
	// NSGReconciliationFailedReason used when the NSG reconciliation is failed.
	NSGReconciliationFailedReason = "NSGReconciliationFailed"
	// RouteTableReconciliationFailedReason used when the RouteTable reconciliation is failed.
	RouteTableReconciliationFailedReason = "RouteTableReconciliationFailed"
	// SubnetReconciliationFailedReason used when the Subnet reconciliation is failed.
	SubnetReconciliationFailedReason = "SubnetReconciliationFailed"
	// SecurityListReconciliationFailedReason used when the SecurityList reconciliation is failed.
	SecurityListReconciliationFailedReason = "SecurityListReconciliationFailed"
	// APIServerLoadBalancerFailedReason used when the Subnet reconciliation is failed.
	APIServerLoadBalancerFailedReason = "APIServerLoadBalancerReconciliationFailed"
	// FailureDomainFailedReason used when the Subnet reconciliation is failed.
	FailureDomainFailedReason = "FailureDomainFailedReconciliationFailed"
	// InstanceLBBackendAdditionFailedReason used when addition to LB backend fails
	InstanceLBBackendAdditionFailedReason = "BackendAdditionFailed"
	// InstanceIPAddressNotFound used when IP address of the instance count not be found
	InstanceIPAddressNotFound = "InstanceIPAddressNotFound"
	// VcnEventReady used after reconciliation has completed successfully
	VcnEventReady = "VCNReady"
	// DrgEventReady used after reconciliation has completed successfully
	DrgEventReady = "DRGReady"
	// DRGVCNAttachmentEventReady used after reconciliation has completed successfully
	DRGVCNAttachmentEventReady = "DRGVCNAttachmentEventReady"
	// DRGRPCAttachmentEventReady used after reconciliation has completed successfully
	DRGRPCAttachmentEventReady = "DRGRPCAttachmentEventReady"
	// InternetGatewayEventReady used after reconciliation has completed successfully
	InternetGatewayEventReady = "InternetGatewayReady"
	// NatEventReady used after reconciliation has completed successfully
	NatEventReady = "NATReady"
	// ServiceGatewayEventReady used after reconciliation has completed successfully
	ServiceGatewayEventReady = "ServiceGatewayReady"
	// NetworkSecurityEventReady used after reconciliation has completed successfully
	NetworkSecurityEventReady = "NetworkSecurityReady"
	// RouteTableEventReady used after reconciliation has completed successfully
	RouteTableEventReady = "RouteTableReady"
	// SubnetEventReady used after reconciliation has completed successfully
	SubnetEventReady = "SubnetReady"
	// ApiServerLoadBalancerEventReady used after reconciliation has completed successfully
	ApiServerLoadBalancerEventReady = "APIServerLoadBalancerReady"
	// FailureDomainEventReady used after reconciliation has completed successfully
	FailureDomainEventReady = "FailureDomainsReady"
)
View Source
const (
	VcnDefaultCidr                        = "10.0.0.0/16"
	ControlPlaneEndpointSubnetDefaultCIDR = "10.0.0.8/29"
	ControlPlaneMachineSubnetDefaultCIDR  = "10.0.0.0/29"
	WorkerSubnetDefaultCIDR               = "10.0.64.0/20"
	ServiceLoadBalancerDefaultCIDR        = "10.0.0.32/27"
	APIServerLBBackendSetName             = "apiserver-lb-backendset"
	APIServerLBListener                   = "apiserver-lb-listener"
	ControlPlaneEndpointDefaultName       = "control-plane-endpoint"
	ControlPlaneDefaultName               = "control-plane"
	WorkerDefaultName                     = "worker"
	ServiceLBDefaultName                  = "service-lb"
)
View Source
const (
	ControlPlaneRole         = "control-plane"
	ControlPlaneEndpointRole = "control-plane-endpoint"
	WorkerRole               = "worker"
	ServiceLoadBalancerRole  = "service-lb"
	PodRole                  = "pod"
	Private                  = "private"
	Public                   = "public"
)
View Source
const (
	// ClusterFinalizer allows OCIClusterReconciler to clean up OCI resources associated with OCICluster before
	// removing it from the apiserver.
	ClusterFinalizer = "ocicluster.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// MachineFinalizer allows ReconcileMachine to clean up OCI resources associated with OCIMachine before
	// removing it from the apiserver.
	MachineFinalizer = "ocimachine.infrastructure.cluster.x-k8s.io"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

OCIClusterSubnetRoles a slice of all the subnet roles for self managed cluster

OCIManagedClusterSubnetRoles a slice of all the subnet roles for managed cluster

Functions

func ValidOcid added in v0.6.0

func ValidOcid(ocid string) bool

ValidOcid is a simple pre-flight we will let the serverside handle the more complex and compete validation

func ValidRegion added in v0.6.0

func ValidRegion(stringRegion string) bool

ValidRegion test if the string can be a region.

func ValidateClusterName added in v0.6.0

func ValidateClusterName(name string) field.ErrorList

ValidateClusterName validates the name of the cluster.

func ValidateNetworkSpec added in v0.6.0

func ValidateNetworkSpec(validRoles []Role, networkSpec NetworkSpec, old NetworkSpec, fldPath *field.Path) field.ErrorList

ValidateNetworkSpec validates the NetworkSpec

Types

type AmdMilanBmPlatformConfig added in v0.6.0

type AmdMilanBmPlatformConfig struct {
	// Whether Secure Boot is enabled on the instance.
	IsSecureBootEnabled *bool `json:"isSecureBootEnabled,omitempty"`

	// Whether the Trusted Platform Module (TPM) is enabled on the instance.
	IsTrustedPlatformModuleEnabled *bool `json:"isTrustedPlatformModuleEnabled,omitempty"`

	// Whether the Measured Boot feature is enabled on the instance.
	IsMeasuredBootEnabled *bool `json:"isMeasuredBootEnabled,omitempty"`

	// 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.
	IsSymmetricMultiThreadingEnabled *bool `json:"isSymmetricMultiThreadingEnabled,omitempty"`

	// 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.
	IsAccessControlServiceEnabled *bool `json:"isAccessControlServiceEnabled,omitempty"`

	// Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes
	// or VT-x for Intel shapes.
	AreVirtualInstructionsEnabled *bool `json:"areVirtualInstructionsEnabled,omitempty"`

	// Whether the input-output memory management unit is enabled.
	IsInputOutputMemoryManagementUnitEnabled *bool `json:"isInputOutputMemoryManagementUnitEnabled,omitempty"`

	// 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.
	PercentageOfCoresEnabled *int `json:"percentageOfCoresEnabled,omitempty"`

	// The number of NUMA nodes per socket (NPS).
	// The following values are supported:
	// * `NPS0`
	// * `NPS1`
	// * `NPS2`
	// * `NPS4`
	NumaNodesPerSocket AmdMilanBmPlatformConfigNumaNodesPerSocketEnum `json:"numaNodesPerSocket,omitempty"`
}

AmdMilanBmPlatformConfig The platform configuration used when launching a bare metal instance with one of the following shapes: BM.Standard.E4.128 or BM.DenseIO.E4.128 (the AMD Milan platform).

func (*AmdMilanBmPlatformConfig) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AmdMilanBmPlatformConfig.

func (*AmdMilanBmPlatformConfig) DeepCopyInto added in v0.6.0

func (in *AmdMilanBmPlatformConfig) DeepCopyInto(out *AmdMilanBmPlatformConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AmdMilanBmPlatformConfigNumaNodesPerSocketEnum added in v0.6.0

type AmdMilanBmPlatformConfigNumaNodesPerSocketEnum string

AmdMilanBmPlatformConfigNumaNodesPerSocketEnum Enum with underlying type: string

const (
	AmdMilanBmPlatformConfigNumaNodesPerSocketNps0 AmdMilanBmPlatformConfigNumaNodesPerSocketEnum = "NPS0"
	AmdMilanBmPlatformConfigNumaNodesPerSocketNps1 AmdMilanBmPlatformConfigNumaNodesPerSocketEnum = "NPS1"
	AmdMilanBmPlatformConfigNumaNodesPerSocketNps2 AmdMilanBmPlatformConfigNumaNodesPerSocketEnum = "NPS2"
	AmdMilanBmPlatformConfigNumaNodesPerSocketNps4 AmdMilanBmPlatformConfigNumaNodesPerSocketEnum = "NPS4"
)

Set of constants representing the allowable values for AmdMilanBmPlatformConfigNumaNodesPerSocketEnum

type AmdRomeBmGpuPlatformConfig added in v0.6.0

type AmdRomeBmGpuPlatformConfig struct {
	// Whether Secure Boot is enabled on the instance.
	IsSecureBootEnabled *bool `json:"isSecureBootEnabled,omitempty"`

	// Whether the Trusted Platform Module (TPM) is enabled on the instance.
	IsTrustedPlatformModuleEnabled *bool `json:"isTrustedPlatformModuleEnabled,omitempty"`

	// Whether the Measured Boot feature is enabled on the instance.
	IsMeasuredBootEnabled *bool `json:"isMeasuredBootEnabled,omitempty"`

	// 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.
	IsSymmetricMultiThreadingEnabled *bool `json:"isSymmetricMultiThreadingEnabled,omitempty"`

	// 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.
	IsAccessControlServiceEnabled *bool `json:"isAccessControlServiceEnabled,omitempty"`

	// Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes
	// or VT-x for Intel shapes.
	AreVirtualInstructionsEnabled *bool `json:"areVirtualInstructionsEnabled,omitempty"`

	// Whether the input-output memory management unit is enabled.
	IsInputOutputMemoryManagementUnitEnabled *bool `json:"isInputOutputMemoryManagementUnitEnabled,omitempty"`

	// The number of NUMA nodes per socket (NPS).
	// The following values are supported:
	// * `NPS0`
	// * `NPS1`
	// * `NPS2`
	// * `NPS4`
	NumaNodesPerSocket AmdRomeBmGpuPlatformConfigNumaNodesPerSocketEnum `json:"numaNodesPerSocket,omitempty"`
}

AmdRomeBmGpuPlatformConfig The platform configuration of a bare metal GPU instance that uses the BM.GPU4.8 shape (the AMD Rome platform).

func (*AmdRomeBmGpuPlatformConfig) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AmdRomeBmGpuPlatformConfig.

func (*AmdRomeBmGpuPlatformConfig) DeepCopyInto added in v0.6.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AmdRomeBmGpuPlatformConfigNumaNodesPerSocketEnum added in v0.6.0

type AmdRomeBmGpuPlatformConfigNumaNodesPerSocketEnum string

AmdRomeBmGpuPlatformConfigNumaNodesPerSocketEnum Enum with underlying type: string

const (
	AmdRomeBmGpuPlatformConfigNumaNodesPerSocketNps0 AmdRomeBmGpuPlatformConfigNumaNodesPerSocketEnum = "NPS0"
	AmdRomeBmGpuPlatformConfigNumaNodesPerSocketNps1 AmdRomeBmGpuPlatformConfigNumaNodesPerSocketEnum = "NPS1"
	AmdRomeBmGpuPlatformConfigNumaNodesPerSocketNps2 AmdRomeBmGpuPlatformConfigNumaNodesPerSocketEnum = "NPS2"
	AmdRomeBmGpuPlatformConfigNumaNodesPerSocketNps4 AmdRomeBmGpuPlatformConfigNumaNodesPerSocketEnum = "NPS4"
)

Set of constants representing the allowable values for AmdRomeBmGpuPlatformConfigNumaNodesPerSocketEnum

type AmdRomeBmPlatformConfig added in v0.6.0

type AmdRomeBmPlatformConfig struct {
	// Whether Secure Boot is enabled on the instance.
	IsSecureBootEnabled *bool `json:"isSecureBootEnabled,omitempty"`

	// Whether the Trusted Platform Module (TPM) is enabled on the instance.
	IsTrustedPlatformModuleEnabled *bool `json:"isTrustedPlatformModuleEnabled,omitempty"`

	// Whether the Measured Boot feature is enabled on the instance.
	IsMeasuredBootEnabled *bool `json:"isMeasuredBootEnabled,omitempty"`

	// 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.
	IsSymmetricMultiThreadingEnabled *bool `json:"isSymmetricMultiThreadingEnabled,omitempty"`

	// 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.
	IsAccessControlServiceEnabled *bool `json:"isAccessControlServiceEnabled,omitempty"`

	// Whether virtualization instructions are available. For example, Secure Virtual Machine for AMD shapes
	// or VT-x for Intel shapes.
	AreVirtualInstructionsEnabled *bool `json:"areVirtualInstructionsEnabled,omitempty"`

	// Whether the input-output memory management unit is enabled.
	IsInputOutputMemoryManagementUnitEnabled *bool `json:"isInputOutputMemoryManagementUnitEnabled,omitempty"`

	// 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.
	PercentageOfCoresEnabled *int `json:"percentageOfCoresEnabled,omitempty"`

	// The number of NUMA nodes per socket (NPS).
	// The following values are supported:
	// * `NPS0`
	// * `NPS1`
	// * `NPS2`
	// * `NPS4`
	NumaNodesPerSocket AmdRomeBmPlatformConfigNumaNodesPerSocketEnum `json:"numaNodesPerSocket,omitempty"`
}

AmdRomeBmPlatformConfig The platform configuration of a bare metal instance that uses the BM.Standard.E3.128 shape (the AMD Rome platform).

func (*AmdRomeBmPlatformConfig) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AmdRomeBmPlatformConfig.

func (*AmdRomeBmPlatformConfig) DeepCopyInto added in v0.6.0

func (in *AmdRomeBmPlatformConfig) DeepCopyInto(out *AmdRomeBmPlatformConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AmdRomeBmPlatformConfigNumaNodesPerSocketEnum added in v0.6.0

type AmdRomeBmPlatformConfigNumaNodesPerSocketEnum string

AmdRomeBmPlatformConfigNumaNodesPerSocketEnum Enum with underlying type: string

const (
	AmdRomeBmPlatformConfigNumaNodesPerSocketNps0 AmdRomeBmPlatformConfigNumaNodesPerSocketEnum = "NPS0"
	AmdRomeBmPlatformConfigNumaNodesPerSocketNps1 AmdRomeBmPlatformConfigNumaNodesPerSocketEnum = "NPS1"
	AmdRomeBmPlatformConfigNumaNodesPerSocketNps2 AmdRomeBmPlatformConfigNumaNodesPerSocketEnum = "NPS2"
	AmdRomeBmPlatformConfigNumaNodesPerSocketNps4 AmdRomeBmPlatformConfigNumaNodesPerSocketEnum = "NPS4"
)

Set of constants representing the allowable values for AmdRomeBmPlatformConfigNumaNodesPerSocketEnum

type AmdVmPlatformConfig added in v0.6.0

type AmdVmPlatformConfig struct {
	// Whether Secure Boot is enabled on the instance.
	IsSecureBootEnabled *bool `json:"isSecureBootEnabled,omitempty"`

	// Whether the Trusted Platform Module (TPM) is enabled on the instance.
	IsTrustedPlatformModuleEnabled *bool `json:"isTrustedPlatformModuleEnabled,omitempty"`

	// Whether the Measured Boot feature is enabled on the instance.
	IsMeasuredBootEnabled *bool `json:"isMeasuredBootEnabled,omitempty"`
}

AmdVmPlatformConfig The platform configuration of a virtual machine instance that uses the AMD platform.

func (*AmdVmPlatformConfig) DeepCopy added in v0.6.0

func (in *AmdVmPlatformConfig) DeepCopy() *AmdVmPlatformConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AmdVmPlatformConfig.

func (*AmdVmPlatformConfig) DeepCopyInto added in v0.6.0

func (in *AmdVmPlatformConfig) DeepCopyInto(out *AmdVmPlatformConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DRG added in v0.3.0

type DRG struct {

	// Manage defines whether the DRG has to be managed(including create). If set to false(the default) the ID
	// has to be specified by the user to a valid DRG ID to which the VCN has to be attached.
	// +optional
	Manage bool `json:"manage,omitempty"`

	// Name is the name of the created DRG.
	// +optional
	Name string `json:"name,omitempty"`

	// ID is the OCID for the created DRG.
	// +optional
	ID *string `json:"id,omitempty"`

	// VcnAttachmentId is the ID of the VCN attachment of the DRG.
	// The workload cluster VCN can be attached to either the management cluster VCN if they are sharing the same DRG
	// or to the workload cluster DRG.
	// +optional
	VcnAttachmentId *string `json:"vcnAttachmentId,omitempty"`
}

DRG defines the configuration for a Dynamic Resource Group.

func (*DRG) DeepCopy added in v0.3.0

func (in *DRG) DeepCopy() *DRG

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DRG.

func (*DRG) DeepCopyInto added in v0.3.0

func (in *DRG) DeepCopyInto(out *DRG)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EgressSecurityRule

type EgressSecurityRule struct {

	// Conceptually, this is the range of IP addresses that a packet originating from the instance
	// can go to.
	// Allowed values:
	//   * IP address range in CIDR notation. For example: `192.168.1.0/24` or `2001:0db8:0123:45::/56`
	//     Note that IPv6 addressing is currently supported only in certain regions. See
	//     IPv6 Addresses (https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/ipv6.htm).
	//   * The `cidrBlock` value for a Service, if you're
	//     setting up a security list rule for traffic destined for a particular `Service` through
	//     a service gateway. For example: `oci-phx-objectstorage`.
	Destination *string `json:"destination,omitempty"`

	// The transport protocol. Specify either `all` or an IPv4 protocol number as
	// defined in
	// Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
	// Options are supported only for ICMP ("1"), TCP ("6"), UDP ("17"), and ICMPv6 ("58").
	Protocol *string `json:"protocol,omitempty"`

	// Type of destination for the rule. The default is `CIDR_BLOCK`.
	// Allowed values:
	//   * `CIDR_BLOCK`: If the rule's `destination` is an IP address range in CIDR notation.
	//   * `SERVICE_CIDR_BLOCK`: If the rule's `destination` is the `cidrBlock` value for a
	//     Service (the rule is for traffic destined for a
	//     particular `Service` through a service gateway).
	DestinationType EgressSecurityRuleDestinationTypeEnum `json:"destinationType,omitempty"`

	IcmpOptions *IcmpOptions `json:"icmpOptions,omitempty"`

	// A stateless rule allows traffic in one direction. Remember to add a corresponding
	// stateless rule in the other direction if you need to support bidirectional traffic. For
	// example, if egress traffic allows TCP destination port 80, there should be an ingress
	// rule to allow TCP source port 80. Defaults to false, which means the rule is stateful
	// and a corresponding rule is not necessary for bidirectional traffic.
	IsStateless *bool `json:"isStateless,omitempty"`

	TcpOptions *TcpOptions `json:"tcpOptions,omitempty"`

	UdpOptions *UdpOptions `json:"udpOptions,omitempty"`

	// An optional description of your choice for the rule.
	Description *string `json:"description,omitempty"`
}

EgressSecurityRule A rule for allowing outbound IP packets.

func (*EgressSecurityRule) DeepCopy

func (in *EgressSecurityRule) DeepCopy() *EgressSecurityRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressSecurityRule.

func (*EgressSecurityRule) DeepCopyInto

func (in *EgressSecurityRule) DeepCopyInto(out *EgressSecurityRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EgressSecurityRuleDestinationTypeEnum

type EgressSecurityRuleDestinationTypeEnum string
const (
	// EgressSecurityRuleDestinationTypeCidrBlock is the contant for CIDR block security rule destination type
	EgressSecurityRuleDestinationTypeCidrBlock   EgressSecurityRuleDestinationTypeEnum = "CIDR_BLOCK"
	EgressSecurityRuleSourceTypeServiceCidrBlock EgressSecurityRuleDestinationTypeEnum = "SERVICE_CIDR_BLOCK"
)

type EgressSecurityRuleForNSG

type EgressSecurityRuleForNSG struct {
	// EgressSecurityRule ID for NSG.
	// +optional
	// Deprecated: this field is not populated and used during reconciliation
	ID                 *string `json:"id,omitempty"`
	EgressSecurityRule `json:"egressRule,omitempty"`
}

EgressSecurityRuleForNSG is EgressSecurityRule for NSG.

func (*EgressSecurityRuleForNSG) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EgressSecurityRuleForNSG.

func (*EgressSecurityRuleForNSG) DeepCopyInto

func (in *EgressSecurityRuleForNSG) DeepCopyInto(out *EgressSecurityRuleForNSG)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IcmpOptions

type IcmpOptions struct {

	// The ICMP type.
	Type *int `json:"type,omitempty"`

	// The ICMP code (optional).
	Code *int `json:"code,omitempty"`
}

IcmpOptions Optional and valid only for ICMP and ICMPv6. Use to specify a particular ICMP type and code as defined in: - ICMP Parameters (http://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml) - ICMPv6 Parameters (https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml) If you specify ICMP or ICMPv6 as the protocol but omit this object, then all ICMP types and codes are allowed. If you do provide this object, the type is required and the code is optional. To enable MTU negotiation for ingress internet traffic via IPv4, make sure to allow type 3 ("Destination Unreachable") code 4 ("Fragmentation Needed and Don't Fragment was Set"). If you need to specify multiple codes for a single type, create a separate security list rule for each.

func (*IcmpOptions) DeepCopy

func (in *IcmpOptions) DeepCopy() *IcmpOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IcmpOptions.

func (*IcmpOptions) DeepCopyInto

func (in *IcmpOptions) DeepCopyInto(out *IcmpOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IngressSecurityRule

type IngressSecurityRule struct {

	// The transport protocol. Specify either `all` or an IPv4 protocol number as
	// defined in
	// Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
	// Options are supported only for ICMP ("1"), TCP ("6"), UDP ("17"), and ICMPv6 ("58").
	Protocol *string `json:"protocol,omitempty"`

	// Conceptually, this is the range of IP addresses that a packet coming into the instance
	// can come from.
	// Allowed values:
	//   * IP address range in CIDR notation. For example: `192.168.1.0/24` or `2001:0db8:0123:45::/56`.
	//     IPv6 addressing is supported for all commercial and government regions. See
	//     IPv6 Addresses (https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/ipv6.htm).
	//   * The `cidrBlock` value for a Service, if you're
	//     setting up a security list rule for traffic coming from a particular `Service` through
	//     a service gateway. For example: `oci-phx-objectstorage`.
	Source *string `json:"source,omitempty"`

	IcmpOptions *IcmpOptions `json:"icmpOptions,omitempty"`

	// A stateless rule allows traffic in one direction. Remember to add a corresponding
	// stateless rule in the other direction if you need to support bidirectional traffic. For
	// example, if ingress traffic allows TCP destination port 80, there should be an egress
	// rule to allow TCP source port 80. Defaults to false, which means the rule is stateful
	// and a corresponding rule is not necessary for bidirectional traffic.
	IsStateless *bool `json:"isStateless,omitempty"`

	// Type of source for the rule. The default is `CIDR_BLOCK`.
	//   * `CIDR_BLOCK`: If the rule's `source` is an IP address range in CIDR notation.
	//   * `SERVICE_CIDR_BLOCK`: If the rule's `source` is the `cidrBlock` value for a
	//     Service (the rule is for traffic coming from a
	//     particular `Service` through a service gateway).
	SourceType IngressSecurityRuleSourceTypeEnum `json:"sourceType,omitempty"`

	TcpOptions *TcpOptions `json:"tcpOptions,omitempty"`

	UdpOptions *UdpOptions `json:"udpOptions,omitempty"`

	// An optional description of your choice for the rule.
	Description *string `json:"description,omitempty"`
}

IngressSecurityRule A rule for allowing inbound IP packets.

func (*IngressSecurityRule) DeepCopy

func (in *IngressSecurityRule) DeepCopy() *IngressSecurityRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressSecurityRule.

func (*IngressSecurityRule) DeepCopyInto

func (in *IngressSecurityRule) DeepCopyInto(out *IngressSecurityRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IngressSecurityRuleForNSG

type IngressSecurityRuleForNSG struct {
	//IngressSecurityRule ID for NSG.
	// +optional
	// Deprecated: this field is not populated and used during reconciliation
	ID                  *string `json:"id,omitempty"`
	IngressSecurityRule `json:"ingressRule,omitempty"`
}

IngressSecurityRuleForNSG is IngressSecurityRule for NSG

func (*IngressSecurityRuleForNSG) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressSecurityRuleForNSG.

func (*IngressSecurityRuleForNSG) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IngressSecurityRuleSourceTypeEnum

type IngressSecurityRuleSourceTypeEnum string

IngressSecurityRuleSourceTypeEnum Enum with underlying type: string.

const (
	IngressSecurityRuleSourceTypeCidrBlock        IngressSecurityRuleSourceTypeEnum = "CIDR_BLOCK"
	IngressSecurityRuleSourceTypeServiceCidrBlock IngressSecurityRuleSourceTypeEnum = "SERVICE_CIDR_BLOCK"
)

Set of constants representing the allowable values for IngressSecurityRuleSourceTypeEnum

type InstanceAgentPluginConfig added in v0.6.0

type InstanceAgentPluginConfig struct {

	// Name defines the name of the plugin. 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 (https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/manage-plugins.htm).
	Name *string `json:"name,omitempty"`

	// DesiredState defines 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.
	// The following values are supported:
	// * `ENABLED`
	// * `DISABLED`
	DesiredState InstanceAgentPluginConfigDetailsDesiredStateEnum `json:"desiredState,omitempty"`
}

InstanceAgentPluginConfig defines the configuration of plugins associated with this instance.

func (*InstanceAgentPluginConfig) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceAgentPluginConfig.

func (*InstanceAgentPluginConfig) DeepCopyInto added in v0.6.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceAgentPluginConfigDetailsDesiredStateEnum added in v0.6.0

type InstanceAgentPluginConfigDetailsDesiredStateEnum string

InstanceAgentPluginConfigDetailsDesiredStateEnum Enum with underlying type: string

const (
	InstanceAgentPluginConfigDetailsDesiredStateEnabled  InstanceAgentPluginConfigDetailsDesiredStateEnum = "ENABLED"
	InstanceAgentPluginConfigDetailsDesiredStateDisabled InstanceAgentPluginConfigDetailsDesiredStateEnum = "DISABLED"
)

Set of constants representing the allowable values for InstanceAgentPluginConfigDetailsDesiredStateEnum

type InstanceOptions added in v0.6.0

type InstanceOptions struct {

	// 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 `json:"areLegacyImdsEndpointsDisabled,omitempty"`
}

InstanceOptions Optional mutable instance options

func (*InstanceOptions) DeepCopy added in v0.6.0

func (in *InstanceOptions) DeepCopy() *InstanceOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceOptions.

func (*InstanceOptions) DeepCopyInto added in v0.6.0

func (in *InstanceOptions) DeepCopyInto(out *InstanceOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceSourceViaImageConfig added in v0.6.0

type InstanceSourceViaImageConfig struct {
	// KmsKeyId defines the OCID of the Key Management key to assign as the master encryption key for the boot volume.
	KmsKeyId *string `json:"kmsKeyId,omitempty"`

	// BootVolumeVpusPerGB defines 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 (https://docs.cloud.oracle.com/iaas/Content/Block/Concepts/blockvolumeperformance.htm#perf_levels) for more information.
	// Allowed values:
	//   * `10`: Represents Balanced option.
	//   * `20`: Represents Higher Performance option.
	//   * `30`-`120`: Represents the Ultra High Performance option.
	// For volumes with the auto-tuned performance feature enabled, this is set to the default (minimum) VPUs/GB.
	BootVolumeVpusPerGB *int64 `json:"bootVolumeVpusPerGB,omitempty"`
}

InstanceSourceViaImageConfig The configuration options for booting up instances via images

func (*InstanceSourceViaImageConfig) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSourceViaImageConfig.

func (*InstanceSourceViaImageConfig) DeepCopyInto added in v0.6.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IntelIcelakeBmPlatformConfig added in v0.6.0

type IntelIcelakeBmPlatformConfig struct {
	// Whether Secure Boot is enabled on the instance.
	IsSecureBootEnabled *bool `json:"isSecureBootEnabled,omitempty"`

	// Whether the Trusted Platform Module (TPM) is enabled on the instance.
	IsTrustedPlatformModuleEnabled *bool `json:"isTrustedPlatformModuleEnabled,omitempty"`

	// Whether the Measured Boot feature is enabled on the instance.
	IsMeasuredBootEnabled *bool `json:"isMeasuredBootEnabled,omitempty"`

	// 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.
	IsSymmetricMultiThreadingEnabled *bool `json:"isSymmetricMultiThreadingEnabled,omitempty"`

	// Whether the input-output memory management unit is enabled.
	IsInputOutputMemoryManagementUnitEnabled *bool `json:"isInputOutputMemoryManagementUnitEnabled,omitempty"`

	// 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.
	PercentageOfCoresEnabled *int `json:"percentageOfCoresEnabled,omitempty"`

	// The number of NUMA nodes per socket (NPS).
	// The following values are supported:
	// * `NPS1`
	// * `NPS2`
	NumaNodesPerSocket IntelIcelakeBmPlatformConfigNumaNodesPerSocketEnum `json:"numaNodesPerSocket,omitempty"`
}

IntelIcelakeBmPlatformConfig The platform configuration of a bare metal instance that uses the BM.Standard3.64 shape or the BM.Optimized3.36 shape (the Intel Ice Lake platform).

func (*IntelIcelakeBmPlatformConfig) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntelIcelakeBmPlatformConfig.

func (*IntelIcelakeBmPlatformConfig) DeepCopyInto added in v0.6.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IntelIcelakeBmPlatformConfigNumaNodesPerSocketEnum added in v0.6.0

type IntelIcelakeBmPlatformConfigNumaNodesPerSocketEnum string

IntelIcelakeBmPlatformConfigNumaNodesPerSocketEnum Enum with underlying type: string

const (
	IntelIcelakeBmPlatformConfigNumaNodesPerSocketNps1 IntelIcelakeBmPlatformConfigNumaNodesPerSocketEnum = "NPS1"
	IntelIcelakeBmPlatformConfigNumaNodesPerSocketNps2 IntelIcelakeBmPlatformConfigNumaNodesPerSocketEnum = "NPS2"
)

Set of constants representing the allowable values for IntelIcelakeBmPlatformConfigNumaNodesPerSocketEnum

type IntelSkylakeBmPlatformConfig added in v0.6.0

type IntelSkylakeBmPlatformConfig struct {
	// Whether Secure Boot is enabled on the instance.
	IsSecureBootEnabled *bool `json:"isSecureBootEnabled,omitempty"`

	// Whether the Trusted Platform Module (TPM) is enabled on the instance.
	IsTrustedPlatformModuleEnabled *bool `json:"isTrustedPlatformModuleEnabled,omitempty"`

	// Whether the Measured Boot feature is enabled on the instance.
	IsMeasuredBootEnabled *bool `json:"isMeasuredBootEnabled,omitempty"`
}

IntelSkylakeBmPlatformConfig The platform configuration of a bare metal instance that uses one of the following shapes: BM.Standard2.52, BM.GPU2.2, BM.GPU3.8, or BM.DenseIO2.52 (the Intel Skylake platform).

func (*IntelSkylakeBmPlatformConfig) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntelSkylakeBmPlatformConfig.

func (*IntelSkylakeBmPlatformConfig) DeepCopyInto added in v0.6.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IntelVmPlatformConfig added in v0.6.0

type IntelVmPlatformConfig struct {
	// Whether Secure Boot is enabled on the instance.
	IsSecureBootEnabled *bool `json:"isSecureBootEnabled,omitempty"`

	// Whether the Trusted Platform Module (TPM) is enabled on the instance.
	IsTrustedPlatformModuleEnabled *bool `json:"isTrustedPlatformModuleEnabled,omitempty"`

	// Whether the Measured Boot feature is enabled on the instance.
	IsMeasuredBootEnabled *bool `json:"isMeasuredBootEnabled,omitempty"`
}

IntelVmPlatformConfig The platform configuration of a virtual machine instance that uses the Intel platform.

func (*IntelVmPlatformConfig) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IntelVmPlatformConfig.

func (*IntelVmPlatformConfig) DeepCopyInto added in v0.6.0

func (in *IntelVmPlatformConfig) DeepCopyInto(out *IntelVmPlatformConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchInstanceAgentConfig added in v0.6.0

type LaunchInstanceAgentConfig struct {

	// IsMonitoringDisabled defines 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.
	IsMonitoringDisabled *bool `json:"isMonitoringDisabled,omitempty"`

	// IsManagementDisabled defines 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.
	IsManagementDisabled *bool `json:"isManagementDisabled,omitempty"`

	// AreAllPluginsDisabled defines 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 (https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/manage-plugins.htm).
	AreAllPluginsDisabled *bool `json:"areAllPluginsDisabled,omitempty"`

	// PluginsConfig defines the configuration of plugins associated with this instance.
	PluginsConfig []InstanceAgentPluginConfig `json:"pluginsConfigs,omitempty"`
}

LaunchInstanceAgentConfig Configuration options for the Oracle Cloud Agent software running on the instance.

func (*LaunchInstanceAgentConfig) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchInstanceAgentConfig.

func (*LaunchInstanceAgentConfig) DeepCopyInto added in v0.6.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchInstanceAvailabilityConfig added in v0.6.0

type LaunchInstanceAvailabilityConfig struct {

	// IsLiveMigrationPreferred defines 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.
	IsLiveMigrationPreferred *bool `json:"isLiveMigrationPreferred,omitempty"`

	//RecoveryAction defines 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.
	RecoveryAction LaunchInstanceAvailabilityConfigDetailsRecoveryActionEnum `json:"recoveryAction,omitempty"`
}

LaunchInstanceAvailabilityConfig 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.

func (*LaunchInstanceAvailabilityConfig) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchInstanceAvailabilityConfig.

func (*LaunchInstanceAvailabilityConfig) DeepCopyInto added in v0.6.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchInstanceAvailabilityConfigDetailsRecoveryActionEnum added in v0.6.0

type LaunchInstanceAvailabilityConfigDetailsRecoveryActionEnum string

LaunchInstanceAvailabilityConfigDetailsRecoveryActionEnum Enum with underlying type: string

const (
	LaunchInstanceAvailabilityConfigDetailsRecoveryActionRestoreInstance LaunchInstanceAvailabilityConfigDetailsRecoveryActionEnum = "RESTORE_INSTANCE"
	LaunchInstanceAvailabilityConfigDetailsRecoveryActionStopInstance    LaunchInstanceAvailabilityConfigDetailsRecoveryActionEnum = "STOP_INSTANCE"
)

Set of constants representing the allowable values for LaunchInstanceAvailabilityConfigDetailsRecoveryActionEnum

type LaunchOptions added in v0.6.0

type LaunchOptions struct {

	// BootVolumeType defines 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.
	BootVolumeType LaunchOptionsBootVolumeTypeEnum `json:"bootVolumeType,omitempty"`

	// Firmware defines the 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.
	Firmware LaunchOptionsFirmwareEnum `json:"firmware,omitempty"`

	// NetworkType defines the 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.
	NetworkType LaunchOptionsNetworkTypeEnum `json:"networkType,omitempty"`

	// RemoteDataVolumeType defines the 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.
	RemoteDataVolumeType LaunchOptionsRemoteDataVolumeTypeEnum `json:"remoteDataVolumeType,omitempty"`

	// IsConsistentVolumeNamingEnabled defines whether to enable consistent volume naming feature. Defaults to false.
	IsConsistentVolumeNamingEnabled *bool `json:"isConsistentVolumeNamingEnabled,omitempty"`
}

LaunchOptions Options for tuning the compatibility and performance of VM shapes. The values that you specify override any default values.

func (*LaunchOptions) DeepCopy added in v0.6.0

func (in *LaunchOptions) DeepCopy() *LaunchOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LaunchOptions.

func (*LaunchOptions) DeepCopyInto added in v0.6.0

func (in *LaunchOptions) DeepCopyInto(out *LaunchOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchOptionsBootVolumeTypeEnum added in v0.6.0

type LaunchOptionsBootVolumeTypeEnum string

LaunchOptionsBootVolumeTypeEnum Enum with underlying type: string

const (
	LaunchOptionsBootVolumeTypeIscsi           LaunchOptionsBootVolumeTypeEnum = "ISCSI"
	LaunchOptionsBootVolumeTypeScsi            LaunchOptionsBootVolumeTypeEnum = "SCSI"
	LaunchOptionsBootVolumeTypeIde             LaunchOptionsBootVolumeTypeEnum = "IDE"
	LaunchOptionsBootVolumeTypeVfio            LaunchOptionsBootVolumeTypeEnum = "VFIO"
	LaunchOptionsBootVolumeTypeParavirtualized LaunchOptionsBootVolumeTypeEnum = "PARAVIRTUALIZED"
)

Set of constants representing the allowable values for LaunchOptionsBootVolumeTypeEnum

type LaunchOptionsFirmwareEnum added in v0.6.0

type LaunchOptionsFirmwareEnum string

LaunchOptionsFirmwareEnum Enum with underlying type: string

const (
	LaunchOptionsFirmwareBios   LaunchOptionsFirmwareEnum = "BIOS"
	LaunchOptionsFirmwareUefi64 LaunchOptionsFirmwareEnum = "UEFI_64"
)

Set of constants representing the allowable values for LaunchOptionsFirmwareEnum

type LaunchOptionsNetworkTypeEnum added in v0.6.0

type LaunchOptionsNetworkTypeEnum string

LaunchOptionsNetworkTypeEnum Enum with underlying type: string

const (
	LaunchOptionsNetworkTypeE1000           LaunchOptionsNetworkTypeEnum = "E1000"
	LaunchOptionsNetworkTypeVfio            LaunchOptionsNetworkTypeEnum = "VFIO"
	LaunchOptionsNetworkTypeParavirtualized LaunchOptionsNetworkTypeEnum = "PARAVIRTUALIZED"
)

Set of constants representing the allowable values for LaunchOptionsNetworkTypeEnum

type LaunchOptionsRemoteDataVolumeTypeEnum added in v0.6.0

type LaunchOptionsRemoteDataVolumeTypeEnum string

LaunchOptionsRemoteDataVolumeTypeEnum Enum with underlying type: string

const (
	LaunchOptionsRemoteDataVolumeTypeIscsi           LaunchOptionsRemoteDataVolumeTypeEnum = "ISCSI"
	LaunchOptionsRemoteDataVolumeTypeScsi            LaunchOptionsRemoteDataVolumeTypeEnum = "SCSI"
	LaunchOptionsRemoteDataVolumeTypeIde             LaunchOptionsRemoteDataVolumeTypeEnum = "IDE"
	LaunchOptionsRemoteDataVolumeTypeVfio            LaunchOptionsRemoteDataVolumeTypeEnum = "VFIO"
	LaunchOptionsRemoteDataVolumeTypeParavirtualized LaunchOptionsRemoteDataVolumeTypeEnum = "PARAVIRTUALIZED"
)

Set of constants representing the allowable values for LaunchOptionsRemoteDataVolumeTypeEnum

type LoadBalancer

type LoadBalancer struct {
	//LoadBalancer Name.
	// +optional
	Name string `json:"name"`

	// ID of Load Balancer.
	// +optional
	LoadBalancerId *string `json:"loadBalancerId,omitempty"`
}

LoadBalancer Configuration

func (*LoadBalancer) DeepCopy

func (in *LoadBalancer) DeepCopy() *LoadBalancer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancer.

func (*LoadBalancer) DeepCopyInto

func (in *LoadBalancer) DeepCopyInto(out *LoadBalancer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NSG

type NSG struct {
	// NSG OCID.
	// +optional
	ID *string `json:"id,omitempty"`
	// NSG Name.
	Name string `json:"name"`
	// Role defines the NSG role (eg. control-plane, control-plane-endpoint, service-lb, worker).
	Role Role `json:"role,omitempty"`
	// EgressRules on the NSG.
	// +optional
	EgressRules []EgressSecurityRuleForNSG `json:"egressRules,omitempty"`
	// IngressRules on the NSG.
	// +optional
	IngressRules []IngressSecurityRuleForNSG `json:"ingressRules,omitempty"`
}

NSG defines configuration for a Network Security Group. https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm

func (*NSG) DeepCopy

func (in *NSG) DeepCopy() *NSG

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NSG.

func (*NSG) DeepCopyInto

func (in *NSG) DeepCopyInto(out *NSG)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDetails

type NetworkDetails struct {
	// SubnetId defines the ID of the subnet to use.
	// Deprecated, use SubnetName parameter
	SubnetId *string `json:"subnetId,omitempty"`

	// AssignPublicIp defines whether the instance should have a public IP address
	AssignPublicIp bool `json:"assignPublicIp,omitempty"`

	// SubnetName defines the subnet name to use for the VNIC
	SubnetName string `json:"subnetName,omitempty"`

	// Deprecated, use 	NsgNames parameter to define the NSGs
	NSGId *string `json:"nsgId,omitempty"`

	// SkipSourceDestCheck defines whether the source/destination check is disabled on the VNIC.
	SkipSourceDestCheck *bool `json:"skipSourceDestCheck,omitempty"`

	// NsgNames defines a list of the nsg names of the network security groups (NSGs) to add the VNIC to.
	NsgNames []string `json:"nsgNames,omitempty"`

	// HostnameLabel defines the hostname for the VNIC's primary private IP. Used for DNS.
	HostnameLabel *string `json:"hostnameLabel,omitempty"`

	// DisplayName defines a user-friendly name. Does not have to be unique, and it's changeable.
	// Avoid entering confidential information.
	DisplayName *string `json:"displayName,omitempty"`

	// AssignPrivateDnsRecord defines whether the VNIC should be assigned a DNS record.
	AssignPrivateDnsRecord *bool `json:"assignPrivateDnsRecord,omitempty"`
}

NetworkDetails defines the configuration options for the network

func (*NetworkDetails) DeepCopy

func (in *NetworkDetails) DeepCopy() *NetworkDetails

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDetails.

func (*NetworkDetails) DeepCopyInto

func (in *NetworkDetails) DeepCopyInto(out *NetworkDetails)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkSpec

type NetworkSpec struct {
	// SkipNetworkManagement defines if the networking spec(VCN related) specified by the user needs to be reconciled(actioned-upon)
	// or used as it is. APIServerLB will still be reconciled.
	// +optional
	SkipNetworkManagement bool `json:"skipNetworkManagement,omitempty"`

	// VCN configuration.
	// +optional
	Vcn VCN `json:"vcn,omitempty"`

	//API Server LB configuration.
	// +optional
	APIServerLB LoadBalancer `json:"apiServerLoadBalancer,omitempty"`

	// VCNPeering configuration.
	// +optional
	VCNPeering *VCNPeering `json:"vcnPeering,omitempty"`
}

NetworkSpec specifies what the OCI networking resources should look like.

func (*NetworkSpec) DeepCopy

func (in *NetworkSpec) DeepCopy() *NetworkSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSpec.

func (*NetworkSpec) DeepCopyInto

func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OCIAvailabilityDomain added in v0.4.0

type OCIAvailabilityDomain struct {

	// Name is the AD's full name. Example: Uocm:PHX-AD-1
	Name string `json:"name,omitempty"`

	// FaultDomains a list of fault domain (FD) names. Example: ["FAULT-DOMAIN-1"]
	FaultDomains []string `json:"faultDomains,omitempty"`
}

OCIAvailabilityDomain contains information about an Availability Domain (AD).

func (*OCIAvailabilityDomain) DeepCopy added in v0.4.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIAvailabilityDomain.

func (*OCIAvailabilityDomain) DeepCopyInto added in v0.4.0

func (in *OCIAvailabilityDomain) DeepCopyInto(out *OCIAvailabilityDomain)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OCICluster

type OCICluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OCIClusterSpec   `json:"spec,omitempty"`
	Status OCIClusterStatus `json:"status,omitempty"`
}

OCICluster is the Schema for the ociclusters API.

func (*OCICluster) DeepCopy

func (in *OCICluster) DeepCopy() *OCICluster

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCICluster.

func (*OCICluster) DeepCopyInto

func (in *OCICluster) DeepCopyInto(out *OCICluster)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OCICluster) DeepCopyObject

func (in *OCICluster) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*OCICluster) Default added in v0.3.0

func (c *OCICluster) Default()

func (*OCICluster) GetConditions

func (c *OCICluster) GetConditions() clusterv1.Conditions

GetConditions returns the list of conditions for an OCICluster API object.

func (*OCICluster) GetControlPlaneEndpointDefaultEgressRules added in v0.6.0

func (c *OCICluster) GetControlPlaneEndpointDefaultEgressRules() []EgressSecurityRuleForNSG

func (*OCICluster) GetControlPlaneEndpointDefaultIngressRules added in v0.6.0

func (c *OCICluster) GetControlPlaneEndpointDefaultIngressRules() []IngressSecurityRuleForNSG

func (*OCICluster) GetControlPlaneEndpointSubnet added in v0.6.0

func (c *OCICluster) GetControlPlaneEndpointSubnet() *Subnet

func (*OCICluster) GetControlPlaneMachineDefaultEgressRules added in v0.6.0

func (c *OCICluster) GetControlPlaneMachineDefaultEgressRules() []EgressSecurityRuleForNSG

func (*OCICluster) GetControlPlaneMachineDefaultIngressRules added in v0.6.0

func (c *OCICluster) GetControlPlaneMachineDefaultIngressRules() []IngressSecurityRuleForNSG

func (*OCICluster) GetControlPlaneMachineSubnet added in v0.6.0

func (c *OCICluster) GetControlPlaneMachineSubnet() *Subnet

func (*OCICluster) GetNodeDefaultEgressRules added in v0.6.0

func (c *OCICluster) GetNodeDefaultEgressRules() []EgressSecurityRuleForNSG

func (*OCICluster) GetNodeDefaultIngressRules added in v0.6.0

func (c *OCICluster) GetNodeDefaultIngressRules() []IngressSecurityRuleForNSG

func (*OCICluster) GetNodeSubnet added in v0.6.0

func (c *OCICluster) GetNodeSubnet() []*Subnet

func (*OCICluster) GetOCIResourceIdentifier added in v0.3.0

func (c *OCICluster) GetOCIResourceIdentifier() string

GetOCIResourceIdentifier will return the OCI resource identifier.

func (*OCICluster) GetServiceLoadBalancerDefaultEgressRules added in v0.6.0

func (c *OCICluster) GetServiceLoadBalancerDefaultEgressRules() []EgressSecurityRuleForNSG

func (*OCICluster) GetServiceLoadBalancerDefaultIngressRules added in v0.6.0

func (c *OCICluster) GetServiceLoadBalancerDefaultIngressRules() []IngressSecurityRuleForNSG

func (*OCICluster) GetServiceLoadBalancerSubnet added in v0.6.0

func (c *OCICluster) GetServiceLoadBalancerSubnet() *Subnet

func (*OCICluster) IsNSGExitsByRole added in v0.6.0

func (c *OCICluster) IsNSGExitsByRole(role Role) bool

func (*OCICluster) IsSecurityListExitsByRole added in v0.6.0

func (c *OCICluster) IsSecurityListExitsByRole(role Role) bool

func (*OCICluster) NSGSpec added in v0.6.0

func (c *OCICluster) NSGSpec() []*NSG

func (*OCICluster) SetConditions

func (c *OCICluster) SetConditions(conditions clusterv1.Conditions)

SetConditions will set the given conditions on an OCICluster object.

func (*OCICluster) SetupWebhookWithManager added in v0.3.0

func (c *OCICluster) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*OCICluster) SubnetSpec added in v0.6.0

func (c *OCICluster) SubnetSpec() []*Subnet

func (*OCICluster) ValidateCreate added in v0.3.0

func (c *OCICluster) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*OCICluster) ValidateDelete added in v0.3.0

func (c *OCICluster) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*OCICluster) ValidateUpdate added in v0.3.0

func (c *OCICluster) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type OCIClusterList

type OCIClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []OCICluster `json:"items"`
}

OCIClusterList contains a list of OCICluster.

func (*OCIClusterList) DeepCopy

func (in *OCIClusterList) DeepCopy() *OCIClusterList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIClusterList.

func (*OCIClusterList) DeepCopyInto

func (in *OCIClusterList) DeepCopyInto(out *OCIClusterList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OCIClusterList) DeepCopyObject

func (in *OCIClusterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OCIClusterSpec

type OCIClusterSpec struct {

	// The unique ID which will be used to tag all the resources created by this Cluster.
	// The tag will be used to identify resources belonging to this cluster.
	// this will be auto-generated and should not be set by the user.
	// +optional
	OCIResourceIdentifier string `json:"ociResourceIdentifier,omitempty"`

	// NetworkSpec encapsulates all things related to OCI network.
	// +optional
	NetworkSpec NetworkSpec `json:"networkSpec,omitempty"`

	// Free-form tags for this resource.
	// +optional
	FreeformTags map[string]string `json:"freeformTags,omitempty"`

	// Defined tags for this resource. Each key is predefined and scoped to a
	// namespace. For more information, see Resource Tags (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
	// Example: `{"Operations": {"CostCenter": "42"}}`
	// +optional
	DefinedTags map[string]map[string]string `json:"definedTags,omitempty"`

	// Compartment to create the cluster network.
	// +optional
	CompartmentId string `json:"compartmentId"`

	// Region the cluster operates in. It must be one of available regions in Region Identifier format.
	// See https://docs.oracle.com/en-us/iaas/Content/General/Concepts/regions.htm
	Region string `json:"region,omitempty"`

	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	// +optional
	ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`
}

OCIClusterSpec defines the desired state of OciCluster

func (*OCIClusterSpec) DeepCopy

func (in *OCIClusterSpec) DeepCopy() *OCIClusterSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIClusterSpec.

func (*OCIClusterSpec) DeepCopyInto

func (in *OCIClusterSpec) DeepCopyInto(out *OCIClusterSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OCIClusterStatus

type OCIClusterStatus struct {
	// +optional
	FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"`

	// AvailabilityDomains encapsulates the clusters Availability Domain (AD) information in a map
	// where the map key is the AD name and the struct is details about the AD.
	// +optional
	AvailabilityDomains map[string]OCIAvailabilityDomain `json:"availabilityDomains,omitempty"`

	// +optional
	Ready bool `json:"ready"`
	// NetworkSpec encapsulates all things related to OCI network.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

OCIClusterStatus defines the observed state of OCICluster

func (*OCIClusterStatus) DeepCopy

func (in *OCIClusterStatus) DeepCopy() *OCIClusterStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIClusterStatus.

func (*OCIClusterStatus) DeepCopyInto

func (in *OCIClusterStatus) DeepCopyInto(out *OCIClusterStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OCIClusterTemplate added in v0.3.0

type OCIClusterTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec OCIClusterTemplateSpec `json:"spec,omitempty"`
}

OCIClusterTemplate is the Schema for the ociclustertemplates API.

func (*OCIClusterTemplate) DeepCopy added in v0.3.0

func (in *OCIClusterTemplate) DeepCopy() *OCIClusterTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIClusterTemplate.

func (*OCIClusterTemplate) DeepCopyInto added in v0.3.0

func (in *OCIClusterTemplate) DeepCopyInto(out *OCIClusterTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OCIClusterTemplate) DeepCopyObject added in v0.3.0

func (in *OCIClusterTemplate) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OCIClusterTemplateList added in v0.3.0

type OCIClusterTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []OCIClusterTemplate `json:"items"`
}

OCIClusterTemplateList contains a list of OCIClusterTemplate.

func (*OCIClusterTemplateList) DeepCopy added in v0.3.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIClusterTemplateList.

func (*OCIClusterTemplateList) DeepCopyInto added in v0.3.0

func (in *OCIClusterTemplateList) DeepCopyInto(out *OCIClusterTemplateList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OCIClusterTemplateList) DeepCopyObject added in v0.3.0

func (in *OCIClusterTemplateList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OCIClusterTemplateResource added in v0.3.0

type OCIClusterTemplateResource struct {
	Spec OCIClusterSpec `json:"spec"`
}

OCIClusterTemplateResource describes the data needed to create an OCICluster from a template.

func (*OCIClusterTemplateResource) DeepCopy added in v0.3.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIClusterTemplateResource.

func (*OCIClusterTemplateResource) DeepCopyInto added in v0.3.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OCIClusterTemplateSpec added in v0.3.0

type OCIClusterTemplateSpec struct {
	Template OCIClusterTemplateResource `json:"template"`
}

OCIClusterTemplateSpec defines the desired state of OCIClusterTemplate.

func (*OCIClusterTemplateSpec) DeepCopy added in v0.3.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIClusterTemplateSpec.

func (*OCIClusterTemplateSpec) DeepCopyInto added in v0.3.0

func (in *OCIClusterTemplateSpec) DeepCopyInto(out *OCIClusterTemplateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OCIMachine

type OCIMachine struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OCIMachineSpec   `json:"spec,omitempty"`
	Status OCIMachineStatus `json:"status,omitempty"`
}

OCIMachine is the Schema for the ocimachines API.

func (*OCIMachine) DeepCopy

func (in *OCIMachine) DeepCopy() *OCIMachine

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIMachine.

func (*OCIMachine) DeepCopyInto

func (in *OCIMachine) DeepCopyInto(out *OCIMachine)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OCIMachine) DeepCopyObject

func (in *OCIMachine) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*OCIMachine) GetConditions

func (m *OCIMachine) GetConditions() clusterv1.Conditions

GetConditions returns the list of conditions for an OCIMachine API object.

func (*OCIMachine) SetConditions

func (m *OCIMachine) SetConditions(conditions clusterv1.Conditions)

SetConditions will set the given conditions on an OCIMachine object.

type OCIMachineList

type OCIMachineList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []OCIMachine `json:"items"`
}

OCIMachineList contains a list of OCIMachine.

func (*OCIMachineList) DeepCopy

func (in *OCIMachineList) DeepCopy() *OCIMachineList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIMachineList.

func (*OCIMachineList) DeepCopyInto

func (in *OCIMachineList) DeepCopyInto(out *OCIMachineList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OCIMachineList) DeepCopyObject

func (in *OCIMachineList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OCIMachineSpec

type OCIMachineSpec struct {
	// OCID of launched compute instance.
	// +optional
	InstanceId *string `json:"instanceId,omitempty"`

	// OCID of the image to be used to launch the instance.
	ImageId string `json:"imageId,omitempty"`

	// Compartment to launch the instance in.
	CompartmentId string `json:"compartmentId,omitempty"`

	// Shape of the instance.
	Shape string `json:"shape,omitempty"`

	IpxeScript *string `json:"ipxeScript,omitempty"`

	// CapacityReservationId defines 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 (https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/reserve-capacity.htm#default).
	CapacityReservationId *string `json:"capacityReservationId,omitempty"`

	// The shape configuration of rhe instance, applicable for flex instances.
	ShapeConfig ShapeConfig `json:"shapeConfig,omitempty"`

	// NetworkDetails defines the configuration options for the network
	NetworkDetails NetworkDetails `json:"networkDetails,omitempty"`

	// LaunchOptions defines the options for tuning the compatibility and performance of VM shapes
	LaunchOptions *LaunchOptions `json:"launchOptions,omitempty"`

	// InstanceOptions defines the instance options
	InstanceOptions *InstanceOptions `json:"instanceOptions,omitempty"`

	// LaunchInstanceAvailabilityConfig defines the 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.
	AvailabilityConfig *LaunchInstanceAvailabilityConfig `json:"availabilityConfig,omitempty"`

	// PreemptibleInstanceConfig Configuration options for preemptible instances.
	PreemptibleInstanceConfig *PreemptibleInstanceConfig `json:"preemptibleInstanceConfig,omitempty"`

	// LaunchInstanceAgentConfig defines the options for the Oracle Cloud Agent software running on the instance.
	AgentConfig *LaunchInstanceAgentConfig `json:"agentConfig,omitempty"`

	// InstanceSourceViaImageConfig defines the options for booting up instances via images
	InstanceSourceViaImageDetails *InstanceSourceViaImageConfig `json:"instanceSourceViaImageConfig,omitempty"`

	// InstanceSourceViaImageConfig defines the platform config parameters
	PlatformConfig *PlatformConfig `json:"platformConfig,omitempty"`

	// DedicatedVmHostId defines the OCID of the dedicated VM host.
	DedicatedVmHostId *string `json:"dedicatedVmHostId,omitempty"`

	// Provider ID of the instance, this will be set by Cluster API provider itself,
	// users should not set this parameter.
	// +optional
	ProviderID *string `json:"providerID,omitempty"`

	// Is in transit encryption of volumes required.
	// +kubebuilder:default=true
	// +optional
	IsPvEncryptionInTransitEnabled bool `json:"isPvEncryptionInTransitEnabled,omitempty"`

	// The size of boot volume. Please see https://docs.oracle.com/en-us/iaas/Content/Block/Tasks/extendingbootpartition.htm
	// to extend the boot volume size.
	BootVolumeSizeInGBs string `json:"bootVolumeSizeInGBs,omitempty"`

	// Custom metadata key/value pairs that you provide, such as the SSH public key
	// required to connect to the instance.
	Metadata map[string]string `json:"metadata,omitempty"`

	// Free-form tags for this resource.
	// +optional
	FreeformTags map[string]string `json:"freeformTags,omitempty"`

	// Defined tags for this resource. Each key is predefined and scoped to a
	// namespace. For more information, see Resource Tags (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
	// Example: `{"Operations": {"CostCenter": "42"}}`
	// +optional
	DefinedTags map[string]map[string]string `json:"definedTags,omitempty"`

	// The name of the subnet to use. The name here refers to the subnets
	// defined in the OCICluster Spec. Optional, only if multiple subnets of a type
	// is defined, else the first element is used.
	// +optional
	SubnetName string `json:"subnetName,omitempty"`

	// The name of NSG to use. The name here refers to the NSGs
	// defined in the OCICluster Spec. Optional, only if multiple NSGs of a type
	// is defined, else the first element is used.
	// +optional
	// Deprecated, please use NetworkDetails.NSGNames
	NSGName string `json:"nsgName,omitempty"`
}

OCIMachineSpec defines the desired state of OCIMachine Please read the API https://docs.oracle.com/en-us/iaas/api/#/en/iaas/20160918/Instance/LaunchInstance for more information about the parameters below

func (*OCIMachineSpec) DeepCopy

func (in *OCIMachineSpec) DeepCopy() *OCIMachineSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIMachineSpec.

func (*OCIMachineSpec) DeepCopyInto

func (in *OCIMachineSpec) DeepCopyInto(out *OCIMachineSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OCIMachineStatus

type OCIMachineStatus struct {

	// Flag set to true when machine is ready.
	// +optional
	Ready bool `json:"ready,omitempty"`

	// Addresses contains the addresses of the associated OCI instance.
	Addresses []clusterv1.MachineAddress `json:"addresses,omitempty"`

	// Error status on the machine.
	// +optional
	FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"`

	// The error message corresponding to the error on the machine.
	// +optional
	FailureMessage *string `json:"failureMessage,omitempty"`

	// Launch instance work request ID.
	// +optional
	LaunchInstanceWorkRequestId string `json:"launchInstanceWorkRequestId,omitempty"`

	// Create Backend OPC work request ID for the machine backend.
	// +optional
	CreateBackendWorkRequestId string `json:"createBackendWorkRequestId,omitempty"`

	// Delete Backend OPC work request ID for the machine backend.
	// +optional
	DeleteBackendWorkRequestId string `json:"deleteBackendWorkRequestId,omitempty"`

	// Conditions defines current service state of the OCIMachine.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

OCIMachineStatus defines the observed state of OCIMachine.

func (*OCIMachineStatus) DeepCopy

func (in *OCIMachineStatus) DeepCopy() *OCIMachineStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIMachineStatus.

func (*OCIMachineStatus) DeepCopyInto

func (in *OCIMachineStatus) DeepCopyInto(out *OCIMachineStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OCIMachineTemplate

type OCIMachineTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec OCIMachineTemplateSpec `json:"spec,omitempty"`
}

OCIMachineTemplate is the schema for the OCI compute instance machine template.

func (*OCIMachineTemplate) DeepCopy

func (in *OCIMachineTemplate) DeepCopy() *OCIMachineTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIMachineTemplate.

func (*OCIMachineTemplate) DeepCopyInto

func (in *OCIMachineTemplate) DeepCopyInto(out *OCIMachineTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OCIMachineTemplate) DeepCopyObject

func (in *OCIMachineTemplate) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*OCIMachineTemplate) SetupWebhookWithManager added in v0.3.0

func (m *OCIMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*OCIMachineTemplate) ValidateCreate added in v0.3.0

func (m *OCIMachineTemplate) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*OCIMachineTemplate) ValidateDelete added in v0.3.0

func (m *OCIMachineTemplate) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*OCIMachineTemplate) ValidateUpdate added in v0.3.0

func (m *OCIMachineTemplate) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type OCIMachineTemplateList

type OCIMachineTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []OCIMachineTemplate `json:"items"`
}

OCIMachineTemplateList contains a list of OCIMachineTemplate.

func (*OCIMachineTemplateList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIMachineTemplateList.

func (*OCIMachineTemplateList) DeepCopyInto

func (in *OCIMachineTemplateList) DeepCopyInto(out *OCIMachineTemplateList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OCIMachineTemplateList) DeepCopyObject

func (in *OCIMachineTemplateList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OCIMachineTemplateResource

type OCIMachineTemplateResource struct {
	// Spec is the specification of the desired behavior of the machine.
	Spec OCIMachineSpec `json:"spec"`
}

OCIMachineTemplateResource describes the data needed to create an OCIMachine from a template.

func (*OCIMachineTemplateResource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIMachineTemplateResource.

func (*OCIMachineTemplateResource) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OCIMachineTemplateSpec

type OCIMachineTemplateSpec struct {
	Template OCIMachineTemplateResource `json:"template"`
}

OCIMachineTemplateSpec defines the desired state of OCIMachineTemplate.

func (*OCIMachineTemplateSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIMachineTemplateSpec.

func (*OCIMachineTemplateSpec) DeepCopyInto

func (in *OCIMachineTemplateSpec) DeepCopyInto(out *OCIMachineTemplateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PeerRouteRule added in v0.3.0

type PeerRouteRule struct {
	// VCNCIDRRange is the CIDR Range of peer VCN to which the
	// workload cluster VCN will be peered. The CIDR range is required to add the route rule
	// in the workload cluster VCN, the route rule will forward any traffic to the CIDR to the DRG.
	// +optional
	VCNCIDRRange string `json:"vcnCIDRRange,omitempty"`
}

PeerRouteRule defines a Route Rule to be routed via a DRG.

func (*PeerRouteRule) DeepCopy added in v0.3.0

func (in *PeerRouteRule) DeepCopy() *PeerRouteRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeerRouteRule.

func (*PeerRouteRule) DeepCopyInto added in v0.3.0

func (in *PeerRouteRule) DeepCopyInto(out *PeerRouteRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PlatformConfig added in v0.6.0

type PlatformConfig struct {
	// The type of platform configuration. Valid values are
	// * `AMD_ROME_BM_GPU`
	// * `AMD_ROME_BM`
	// * `INTEL_ICELAKE_BM`
	// * `AMD_VM`
	// * `INTEL_VM`
	// * `INTEL_SKYLAKE_BM`
	// * `AMD_MILAN_BM`
	// Based on the enum, exactly one of the specific configuration types must be set
	PlatformConfigType PlatformConfigTypeEnum `json:"platformConfigType,omitempty"`

	// AmdMilanBmPlatformConfig describe AMD Milan BM platform configuration
	AmdMilanBmPlatformConfig AmdMilanBmPlatformConfig `json:"amdMilanBmPlatformConfig,omitempty"`

	// AmdMilanBmPlatformConfig describe AMD Rome BM platform configuration
	AmdRomeBmPlatformConfig AmdRomeBmPlatformConfig `json:"amdRomeBmPlatformConfig,omitempty"`

	// AmdMilanBmPlatformConfig describe Intel Skylke BM platform configuration
	IntelSkylakeBmPlatformConfig IntelSkylakeBmPlatformConfig `json:"intelSkylakeBmPlatformConfig,omitempty"`

	// AmdMilanBmPlatformConfig describe Intel Skylke BM platform configuration
	IntelIcelakeBmPlatformConfig IntelIcelakeBmPlatformConfig `json:"intelIcelakeBmPlatformConfig,omitempty"`

	// AmdMilanBmPlatformConfig describe AMD Rome BM platform configuration
	AmdRomeBmGpuPlatformConfig AmdRomeBmGpuPlatformConfig `json:"amdRomeBmGpuPlatformConfig,omitempty"`

	// AmdMilanBmPlatformConfig describe Intel VM platform configuration
	IntelVmPlatformConfig IntelVmPlatformConfig `json:"intelVmPlatformConfig,omitempty"`

	// AmdMilanBmPlatformConfig describe AMD VM platform configuration
	AmdVmPlatformConfig AmdVmPlatformConfig `json:"amdVmPlatformConfig,omitempty"`
}

PlatformConfig defines the platform config parameters

func (*PlatformConfig) DeepCopy added in v0.6.0

func (in *PlatformConfig) DeepCopy() *PlatformConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformConfig.

func (*PlatformConfig) DeepCopyInto added in v0.6.0

func (in *PlatformConfig) DeepCopyInto(out *PlatformConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PlatformConfigTypeEnum added in v0.6.0

type PlatformConfigTypeEnum string

LaunchInstanceAvailabilityConfigDetailsRecoveryActionEnum Enum with underlying type: string

const (
	PlatformConfigTypeAmdRomeBmGpu   PlatformConfigTypeEnum = "AMD_ROME_BM_GPU"
	PlatformConfigTypeAmdRomeBm      PlatformConfigTypeEnum = "AMD_ROME_BM"
	PlatformConfigTypeIntelIcelakeBm PlatformConfigTypeEnum = "INTEL_ICELAKE_BM"
	PlatformConfigTypeAmdvm          PlatformConfigTypeEnum = "AMD_VM"
	PlatformConfigTypeIntelVm        PlatformConfigTypeEnum = "INTEL_VM"
	PlatformConfigTypeIntelSkylakeBm PlatformConfigTypeEnum = "INTEL_SKYLAKE_BM"
	PlatformConfigTypeAmdMilanBm     PlatformConfigTypeEnum = "AMD_MILAN_BM"
)

Set of constants representing the allowable values for LaunchInstanceAvailabilityConfigDetailsRecoveryActionEnum

type PortRange

type PortRange struct {

	// The maximum port number, which must not be less than the minimum port number. To specify
	// a single port number, set both the min and max to the same value.
	Max *int `json:"max,omitempty"`

	// The minimum port number, which must not be greater than the maximum port number.
	Min *int `json:"min,omitempty"`
}

PortRange The representation of PortRange.

func (*PortRange) DeepCopy

func (in *PortRange) DeepCopy() *PortRange

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortRange.

func (*PortRange) DeepCopyInto

func (in *PortRange) DeepCopyInto(out *PortRange)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PreemptibleInstanceConfig added in v0.6.0

type PreemptibleInstanceConfig struct {
	// TerminatePreemptionAction terminates the preemptible instance when it is interrupted for eviction.
	TerminatePreemptionAction *TerminatePreemptionAction `json:"terminatePreemptionAction,omitempty"`
}

PreemptibleInstanceConfig Configuration options for preemptible instances.

func (*PreemptibleInstanceConfig) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreemptibleInstanceConfig.

func (*PreemptibleInstanceConfig) DeepCopyInto added in v0.6.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemotePeeringConnection added in v0.3.0

type RemotePeeringConnection struct {

	// ManagePeerRPC will define if the Peer VCN needs to be managed. If set to true
	// a Remote Peering Connection will be created in the Peer DRG and the connection
	// will be created between local and peer RPC.
	ManagePeerRPC bool `json:"managePeerRPC,omitempty"`

	// PeerRegionName defined the region name of Peer VCN.
	PeerRegionName string `json:"peerRegionName,omitempty"`

	// PeerDRGId defines the DRG ID of the peer.
	PeerDRGId *string `json:"peerDRGId,omitempty"`

	// PeerRPCConnectionId defines the RPC ID of peer. If ManagePeerRPC is set to true
	// this will be created by Cluster API Provider for OCI, otherwise this has be defined by the
	// user.
	PeerRPCConnectionId *string `json:"peerRPCConnectionId,omitempty"`

	// RPCConnectionId is the connection ID of the connection between peer and local RPC.
	RPCConnectionId *string `json:"rpcConnectionId,omitempty"`
}

RemotePeeringConnection is used to peer VCNs residing in different regions(typically). Remote VCN Peering is explained here - https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/remoteVCNpeering.htm

func (*RemotePeeringConnection) DeepCopy added in v0.3.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemotePeeringConnection.

func (*RemotePeeringConnection) DeepCopyInto added in v0.3.0

func (in *RemotePeeringConnection) DeepCopyInto(out *RemotePeeringConnection)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Role

type Role string

Role defines the unique role of a subnet.

type SecurityList

type SecurityList struct {
	// ID of the SecurityList.
	// +optional
	ID *string `json:"id,omitempty"`
	// SecurityList Name.
	// +optional
	Name string `json:"name"`
	// EgressRules on the SecurityList.
	// +optional
	EgressRules []EgressSecurityRule `json:"egressRules,omitempty"`
	//IngressRules on the SecurityList.
	// +optional
	IngressRules []IngressSecurityRule `json:"ingressRules,omitempty"`
}

SecurityList defines the configureation for the security list for network virtual firewall https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/securitylists.htm

func (*SecurityList) DeepCopy

func (in *SecurityList) DeepCopy() *SecurityList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityList.

func (*SecurityList) DeepCopyInto

func (in *SecurityList) DeepCopyInto(out *SecurityList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShapeConfig

type ShapeConfig struct {
	// The total number of OCPUs available to the instance.
	Ocpus string `json:"ocpus,omitempty"`

	// The total amount of memory available to the instance, in gigabytes.
	MemoryInGBs string `json:"memoryInGBs,omitempty"`

	// 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.
	BaselineOcpuUtilization string `json:"baselineOcpuUtilization,omitempty"`

	// Nvmes defines the number of NVMe drives to be used for storage. A single drive has 6.8 TB available.
	Nvmes *int `json:"nvmes,omitempty"`
}

ShapeConfig defines the configuration options for the compute instance shape https://docs.oracle.com/en-us/iaas/api/#/en/iaas/20160918/datatypes/LaunchInstanceShapeConfigDetails

func (*ShapeConfig) DeepCopy

func (in *ShapeConfig) DeepCopy() *ShapeConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShapeConfig.

func (*ShapeConfig) DeepCopyInto

func (in *ShapeConfig) DeepCopyInto(out *ShapeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Subnet

type Subnet struct {
	// Role defines the subnet role (eg. control-plane, control-plane-endpoint, service-lb, worker).
	Role Role `json:"role"`
	// Subnet OCID.
	// +optional
	ID *string `json:"id,omitempty"`
	// Subnet Name.
	Name string `json:"name"`
	// Subnet CIDR.
	// +optional
	CIDR string `json:"cidr,omitempty"`
	// Type defines the subnet type (e.g. public, private).
	// +optional
	Type SubnetType `json:"type,omitempty"`
	// The security list associated with Subnet.
	// +optional
	SecurityList *SecurityList `json:"securityList,omitempty"`
}

Subnet defines the configuration for a network's subnet https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/managingVCNs_topic-Overview_of_VCNs_and_Subnets.htm#Overview

func (*Subnet) DeepCopy

func (in *Subnet) DeepCopy() *Subnet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subnet.

func (*Subnet) DeepCopyInto

func (in *Subnet) DeepCopyInto(out *Subnet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SubnetType

type SubnetType string

type TcpOptions

type TcpOptions struct {
	DestinationPortRange *PortRange `json:"destinationPortRange,omitempty"`

	SourcePortRange *PortRange `json:"sourcePortRange,omitempty"`
}

TcpOptions Optional and valid only for TCP. Use to specify particular destination ports for TCP rules. If you specify TCP as the protocol but omit this object, then all destination ports are allowed.

func (*TcpOptions) DeepCopy

func (in *TcpOptions) DeepCopy() *TcpOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TcpOptions.

func (*TcpOptions) DeepCopyInto

func (in *TcpOptions) DeepCopyInto(out *TcpOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TerminatePreemptionAction added in v0.6.0

type TerminatePreemptionAction struct {

	// PreserveBootVolume defines 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.
	PreserveBootVolume *bool `json:"preserveBootVolume,omitempty"`
}

TerminatePreemptionAction Terminates the preemptible instance when it is interrupted for eviction.

func (*TerminatePreemptionAction) DeepCopy added in v0.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TerminatePreemptionAction.

func (*TerminatePreemptionAction) DeepCopyInto added in v0.6.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UdpOptions

type UdpOptions struct {
	DestinationPortRange *PortRange `json:"destinationPortRange,omitempty"`

	SourcePortRange *PortRange `json:"sourcePortRange,omitempty"`
}

UdpOptions Optional and valid only for UDP. Use to specify particular destination ports for UDP rules. If you specify UDP as the protocol but omit this object, then all destination ports are allowed.

func (*UdpOptions) DeepCopy

func (in *UdpOptions) DeepCopy() *UdpOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UdpOptions.

func (*UdpOptions) DeepCopyInto

func (in *UdpOptions) DeepCopyInto(out *UdpOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCN

type VCN struct {
	// VCN OCID.
	// +optional
	ID *string `json:"id,omitempty"`
	// VCN Name.
	// +optional
	Name string `json:"name"`
	// VCN CIDR.
	// +optional
	CIDR string `json:"cidr,omitempty"`

	// ID of Nat Gateway.
	// +optional
	NatGatewayId *string `json:"natGatewayId,omitempty"`

	// ID of Internet Gateway.
	// +optional
	InternetGatewayId *string `json:"internetGatewayId,omitempty"`

	// ID of Service Gateway.
	// +optional
	ServiceGatewayId *string `json:"serviceGatewayId,omitempty"`

	// ID of Private Route Table.
	// +optional
	PrivateRouteTableId *string `json:"privateRouteTableId,omitempty"`

	// ID of Public Route Table.
	// +optional
	PublicRouteTableId *string `json:"publicRouteTableId,omitempty"`

	// Subnets is the configuration for subnets required in the VCN.
	// +optional
	// +listType=map
	// +listMapKey=name
	Subnets []*Subnet `json:"subnets,omitempty"`

	// NetworkSecurityGroups is the configuration for the Network Security Groups required in the VCN.
	// +optional
	// +listType=map
	// +listMapKey=name
	NetworkSecurityGroups []*NSG `json:"networkSecurityGroups,omitempty"`
}

VCN dfines the configuration for a Virtual Cloud Network. https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/overview.htm

func (*VCN) DeepCopy

func (in *VCN) DeepCopy() *VCN

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCN.

func (*VCN) DeepCopyInto

func (in *VCN) DeepCopyInto(out *VCN)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VCNPeering added in v0.3.0

type VCNPeering struct {

	// DRG configuration refers to the DRG which has to be created if required. If management cluster
	// and workload cluster shares the same DRG, this fields is not required to be specified.
	// +optional
	DRG *DRG `json:"drg,omitempty"`

	// PeerRouteRules defines the routing rules which will be added to the private route tables
	// of the workload cluster VCN. The routes defined here will be directed to DRG.
	PeerRouteRules []PeerRouteRule `json:"peerRouteRules,omitempty"`

	// RemotePeeringConnections defines the RPC connections which be established with the
	// workload cluster DRG.
	RemotePeeringConnections []RemotePeeringConnection `json:"remotePeeringConnections,omitempty"`
}

VCNPeering defines the VCN peering details of the workload cluster VCN.

func (*VCNPeering) DeepCopy added in v0.3.0

func (in *VCNPeering) DeepCopy() *VCNPeering

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VCNPeering.

func (*VCNPeering) DeepCopyInto added in v0.3.0

func (in *VCNPeering) DeepCopyInto(out *VCNPeering)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL