v1beta2

package
v0.11.1 Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2023 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

+groupName=infrastructure.cluster.x-k8s.io

Package v1beta2 contains API Schema definitions for the infrastructure v1beta2 API group +kubebuilder:object:generate=true

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"
	// InstanceVnicAttachmentFailedReason used when attaching vnics to machine
	InstanceVnicAttachmentFailedReason = "VnicAttachmentFailed"
	// 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"
	// InstanceVnicAttachmentReady used after reconciliation has been completed successfully
	InstanceVnicAttachmentReady = "VnicAttachmentReady"
	// ApiServerLoadBalancerEventReady used after reconciliation has completed successfully
	ApiServerLoadBalancerEventReady = "APIServerLoadBalancerReady"
	// FailureDomainEventReady used after reconciliation has completed successfully
	FailureDomainEventReady = "FailureDomainsReady"
	// NamespaceNotAllowedByIdentity used to indicate cluster in a namespace not allowed by identity.
	NamespaceNotAllowedByIdentity = "NamespaceNotAllowedByIdentity"
)
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: "v1beta2"}

	// 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

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

func ValidRegion(stringRegion string) bool

ValidRegion test if the string can be a region.

func ValidateClusterName

func ValidateClusterName(name string) field.ErrorList

ValidateClusterName validates the name of the cluster.

func ValidateNetworkSpec

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

ValidateNetworkSpec validates the NetworkSpec

Types

type AllowedNamespaces

type AllowedNamespaces struct {
	// A nil or empty list indicates that OCICluster cannot use the identity from any namespace.
	// NamespaceList takes precedence over the Selector.
	// +optional
	// +nullable
	NamespaceList []string `json:"list"`

	// Selector is a selector of namespaces that OCICluster can
	// use this Identity from. This is a standard Kubernetes LabelSelector,
	// a label query over a set of resources. The result of matchLabels and
	// matchExpressions are ANDed.
	//
	// A nil or empty selector indicates that OCICluster cannot use this
	// OCIClusterIdentity from any namespace.
	// +optional
	Selector *metav1.LabelSelector `json:"selector"`
}

AllowedNamespaces defines the namespaces the clusters are allowed to use the identity from

func (*AllowedNamespaces) DeepCopy

func (in *AllowedNamespaces) DeepCopy() *AllowedNamespaces

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

func (*AllowedNamespaces) DeepCopyInto

func (in *AllowedNamespaces) DeepCopyInto(out *AllowedNamespaces)

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

type AmdMilanBmPlatformConfig

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 the instance is a confidential instance. If this value is `true`, the instance is a confidential instance. The default value is `false`.
	IsMemoryEncryptionEnabled *bool `json:"isMemoryEncryptionEnabled,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

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

func (*AmdMilanBmPlatformConfig) DeepCopyInto

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

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

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 the instance is a confidential instance. If this value is `true`, the instance is a confidential instance. The default value is `false`.
	IsMemoryEncryptionEnabled *bool `json:"isMemoryEncryptionEnabled,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

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

func (*AmdRomeBmGpuPlatformConfig) DeepCopyInto

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

type AmdRomeBmGpuPlatformConfigNumaNodesPerSocketEnum

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

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 the instance is a confidential instance. If this value is `true`, the instance is a confidential instance. The default value is `false`.
	IsMemoryEncryptionEnabled *bool `json:"isMemoryEncryptionEnabled,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

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

func (*AmdRomeBmPlatformConfig) DeepCopyInto

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

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

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"`

	// Whether the instance is a confidential instance. If this value is `true`, the instance is a confidential instance. The default value is `false`.
	IsMemoryEncryptionEnabled *bool `json:"isMemoryEncryptionEnabled,omitempty"`
}

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

func (*AmdVmPlatformConfig) DeepCopy

func (in *AmdVmPlatformConfig) DeepCopy() *AmdVmPlatformConfig

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

func (*AmdVmPlatformConfig) DeepCopyInto

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

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

type ClientOverrides

type ClientOverrides struct {

	// CertOverride is a secret that contains information about a cert override used by all the OCI SDK clients.
	// The secret must contain data with a `cert`property.
	//
	// +optional
	// +nullable
	CertOverride *corev1.SecretReference `json:"certOverride,omitempty"`

	// ComputeClientUrl allows the default compute SDK client URL to be changed.
	//
	// +optional
	// +nullable
	ComputeClientUrl *string `json:"computeClientUrl,omitempty"`

	// ComputeManagementClientUrl allows the default compute management SDK client URL to be changed.
	//
	// +optional
	// +nullable
	ComputeManagementClientUrl *string `json:"computeManagementClientUrl,omitempty"`

	// VCNClientUrl allows the default vcn SDK client URL to be changed.
	//
	// +optional
	// +nullable
	VCNClientUrl *string `json:"vCNClientUrl,omitempty"`

	// LoadBalancerClientUrl allows the default load balancer SDK client URL to be changed.
	//
	// +optional
	// +nullable
	LoadBalancerClientUrl *string `json:"loadBalancerClientUrl,omitempty"`

	// NetworkLoadBalancerClientUrl allows the default NLB SDK client URL to be changed.
	//
	// +optional
	// +nullable
	NetworkLoadBalancerClientUrl *string `json:"networkLoadBalancerClientUrl,omitempty"`

	// IdentityClientUrl allows the default identity SDK client URL to be changed.
	//
	// +optional
	// +nullable
	IdentityClientUrl *string `json:"identityClientUrl,omitempty"`

	// ContainerEngineClientUrl allows the default container engine SDK client URL to be changed.
	//
	// +optional
	// +nullable
	ContainerEngineClientUrl *string `json:"containerEngineClientUrl,omitempty"`
}

ClientOverrides contains information about client host url overrides.

func (*ClientOverrides) DeepCopy

func (in *ClientOverrides) DeepCopy() *ClientOverrides

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

func (*ClientOverrides) DeepCopyInto

func (in *ClientOverrides) DeepCopyInto(out *ClientOverrides)

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

type DRG

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

func (in *DRG) DeepCopy() *DRG

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

func (*DRG) DeepCopyInto

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 `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 `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

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

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

func (*InstanceAgentPluginConfig) DeepCopyInto

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

type InstanceAgentPluginConfigDetailsDesiredStateEnum

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

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

func (in *InstanceOptions) DeepCopy() *InstanceOptions

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

func (*InstanceOptions) DeepCopyInto

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

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

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

func (*InstanceSourceViaImageConfig) DeepCopyInto

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

type IntelIcelakeBmPlatformConfig

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 the instance is a confidential instance. If this value is `true`, the instance is a confidential instance. The default value is `false`.
	IsMemoryEncryptionEnabled *bool `json:"isMemoryEncryptionEnabled,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

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

func (*IntelIcelakeBmPlatformConfig) DeepCopyInto

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

type IntelIcelakeBmPlatformConfigNumaNodesPerSocketEnum

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

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"`

	// Whether the instance is a confidential instance. If this value is `true`, the instance is a confidential instance. The default value is `false`.
	IsMemoryEncryptionEnabled *bool `json:"isMemoryEncryptionEnabled,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

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

func (*IntelSkylakeBmPlatformConfig) DeepCopyInto

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

type IntelVmPlatformConfig

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"`

	// Whether the instance is a confidential instance. If this value is `true`, the instance is a confidential instance. The default value is `false`.
	IsMemoryEncryptionEnabled *bool `json:"isMemoryEncryptionEnabled,omitempty"`
}

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

func (*IntelVmPlatformConfig) DeepCopy

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

func (*IntelVmPlatformConfig) DeepCopyInto

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

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

type InternetGateway

type InternetGateway struct {
	// Skip specifies whether to skip creating internet gateway even if any one Subnet is public.
	// +optional
	Skip bool `json:"skip,omitempty"`

	// ID of Internet Gateway.
	// +optional
	Id *string `json:"id,omitempty"`
}

InternetGateway is used to specify the options for creating internet gateway.

func (*InternetGateway) DeepCopy

func (in *InternetGateway) DeepCopy() *InternetGateway

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

func (*InternetGateway) DeepCopyInto

func (in *InternetGateway) DeepCopyInto(out *InternetGateway)

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

type LaunchInstanceAgentConfig

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

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

func (*LaunchInstanceAgentConfig) DeepCopyInto

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

type LaunchInstanceAvailabilityConfig

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

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

func (*LaunchInstanceAvailabilityConfig) DeepCopyInto

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

type LaunchInstanceAvailabilityConfigDetailsRecoveryActionEnum

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

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

func (in *LaunchOptions) DeepCopy() *LaunchOptions

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

func (*LaunchOptions) DeepCopyInto

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

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

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

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

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"`

	// Type of Load Balancer: NLB (default) or LBaaS.
	// +optional
	LoadBalancerType LoadBalancerType `json:"loadBalancerType,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 LoadBalancerType

type LoadBalancerType string

LoadBalancerType is an enumeration of the supported load balancer types.

const (
	// NetworkLoadBalancer is the default load balancer type.
	LoadBalancerTypeNLB LoadBalancerType = LoadBalancerType("nlb")

	// LoadBalancer is the alternative load balancer type.
	LoadBalancerTypeLB LoadBalancerType = LoadBalancerType("lb")
)

type NATGateway

type NATGateway struct {
	// Skip specifies whether to skip creating NAT gateway even if any one Subnet is private.
	// +optional
	Skip bool `json:"skip,omitempty"`

	// ID of Nat Gateway.
	// +optional
	Id *string `json:"id,omitempty"`
}

NATGateway is used to specify the options for creating NAT gateway.

func (*NATGateway) DeepCopy

func (in *NATGateway) DeepCopy() *NATGateway

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

func (*NATGateway) DeepCopyInto

func (in *NATGateway) DeepCopyInto(out *NATGateway)

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. This parameter takes priority over SubnetName.
	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"`

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

	// NSGId defines the ID of the NSG to use. This parameter takes priority over NsgNames.
	NSGId *string `json:"nsgId,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 NetworkSecurityGroup

type NetworkSecurityGroup struct {
	// Skip specifies whether to skip creating network security groups.
	// +optional
	Skip bool `json:"skip,omitempty"`

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

NetworkSecurityGroup is used to specify the options for managing network security groups.

func (*NetworkSecurityGroup) DeepCopy

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

func (*NetworkSecurityGroup) DeepCopyInto

func (in *NetworkSecurityGroup) DeepCopyInto(out *NetworkSecurityGroup)

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

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

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

func (*OCIAvailabilityDomain) DeepCopyInto

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

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

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

func (*OCICluster) GetControlPlaneEndpointDefaultIngressRules

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

func (*OCICluster) GetControlPlaneEndpointSubnet

func (c *OCICluster) GetControlPlaneEndpointSubnet() *Subnet

func (*OCICluster) GetControlPlaneMachineDefaultEgressRules

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

func (*OCICluster) GetControlPlaneMachineDefaultIngressRules

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

func (*OCICluster) GetControlPlaneMachineSubnet

func (c *OCICluster) GetControlPlaneMachineSubnet() *Subnet

func (*OCICluster) GetNodeDefaultEgressRules

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

func (*OCICluster) GetNodeDefaultIngressRules

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

func (*OCICluster) GetNodeSubnet

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

func (*OCICluster) GetOCIResourceIdentifier

func (c *OCICluster) GetOCIResourceIdentifier() string

GetOCIResourceIdentifier will return the OCI resource identifier.

func (*OCICluster) GetServiceLoadBalancerDefaultEgressRules

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

func (*OCICluster) GetServiceLoadBalancerDefaultIngressRules

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

func (*OCICluster) GetServiceLoadBalancerSubnet

func (c *OCICluster) GetServiceLoadBalancerSubnet() *Subnet

func (*OCICluster) Hub

func (*OCICluster) Hub()

Hub marks OCICluster as a conversion hub.

func (*OCICluster) IsNSGExitsByRole

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

func (*OCICluster) IsSecurityListExitsByRole

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

func (*OCICluster) NSGSpec

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

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

func (*OCICluster) SubnetSpec

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

func (*OCICluster) ValidateCreate

func (c *OCICluster) ValidateCreate() error

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

func (*OCICluster) ValidateDelete

func (c *OCICluster) ValidateDelete() error

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

func (*OCICluster) ValidateUpdate

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

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

type OCIClusterIdentity

type OCIClusterIdentity struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              OCIClusterIdentitySpec   `json:"spec,omitempty"`
	Status            OCIClusterIdentityStatus `json:"status,omitempty"`
}

OCIClusterIdentity is the Schema for the OCI Cluster Identity API

func (*OCIClusterIdentity) DeepCopy

func (in *OCIClusterIdentity) DeepCopy() *OCIClusterIdentity

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

func (*OCIClusterIdentity) DeepCopyInto

func (in *OCIClusterIdentity) DeepCopyInto(out *OCIClusterIdentity)

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

func (*OCIClusterIdentity) DeepCopyObject

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

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

func (*OCIClusterIdentity) Hub

func (*OCIClusterIdentity) Hub()

Hub marks OCIClusterIdentity as a conversion hub.

type OCIClusterIdentityList

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

OCIClusterIdentityList contains a list of OCIClusterIdentity.

func (*OCIClusterIdentityList) DeepCopy

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

func (*OCIClusterIdentityList) DeepCopyInto

func (in *OCIClusterIdentityList) DeepCopyInto(out *OCIClusterIdentityList)

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

func (*OCIClusterIdentityList) DeepCopyObject

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

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

func (*OCIClusterIdentityList) Hub

func (*OCIClusterIdentityList) Hub()

Hub marks OCIClusterIdentityList as a conversion hub.

type OCIClusterIdentitySpec

type OCIClusterIdentitySpec struct {
	// Type is the type of OCI Principal used.
	// UserPrincipal is the only supported value
	Type PrincipalType `json:"type"`

	// PrincipalSecret is a secret reference which contains the authentication credentials for the principal.
	// +optional
	PrincipalSecret corev1.SecretReference `json:"principalSecret,omitempty"`

	// AllowedNamespaces is used to identify the namespaces the clusters are allowed to use the identity from.
	// Namespaces can be selected either using an array of namespaces or with label selector.
	// An empty allowedNamespaces object indicates that OCIClusters can use this identity from any namespace.
	// If this object is nil, no namespaces will be allowed (default behaviour, if this field is not provided)
	// A namespace should be either in the NamespaceList or match with Selector to use the identity.
	//
	// +optional
	// +nullable
	AllowedNamespaces *AllowedNamespaces `json:"allowedNamespaces"`
}

OCIClusterIdentitySpec defines the parameters that are used to create an OCIClusterIdentity.

func (*OCIClusterIdentitySpec) DeepCopy

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

func (*OCIClusterIdentitySpec) DeepCopyInto

func (in *OCIClusterIdentitySpec) DeepCopyInto(out *OCIClusterIdentitySpec)

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

type OCIClusterIdentityStatus

type OCIClusterIdentityStatus struct {
	// Conditions defines current service state of the OCIClusterIdentity.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

OCIClusterIdentityStatus defines the observed state of OCIClusterIdentity.

func (*OCIClusterIdentityStatus) DeepCopy

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

func (*OCIClusterIdentityStatus) DeepCopyInto

func (in *OCIClusterIdentityStatus) DeepCopyInto(out *OCIClusterIdentityStatus)

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

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.

func (*OCIClusterList) Hub

func (*OCIClusterList) Hub()

Hub marks OCIClusterList as a conversion hub.

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"`

	// IdentityRef is a reference to an identity(principal) to be used when reconciling this cluster
	// +optional
	IdentityRef *corev1.ObjectReference `json:"identityRef,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"`

	// 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"`

	// ClientOverrides allows the default client SDK URLs to be changed.
	//
	// +optional
	// +nullable
	ClientOverrides *ClientOverrides `json:"clientOverrides,omitempty"`
}

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"`

	// +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

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

func (in *OCIClusterTemplate) DeepCopy() *OCIClusterTemplate

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

func (*OCIClusterTemplate) DeepCopyInto

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

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

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

func (*OCIClusterTemplate) Hub

func (*OCIClusterTemplate) Hub()

Hub marks OCIClusterTemplate as a conversion hub.

type OCIClusterTemplateList

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

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

func (*OCIClusterTemplateList) DeepCopyInto

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

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

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

func (*OCIClusterTemplateList) Hub

func (*OCIClusterTemplateList) Hub()

Hub marks OCIClusterTemplateList as a conversion hub.

type OCIClusterTemplateResource

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

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

func (*OCIClusterTemplateResource) DeepCopy

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

func (*OCIClusterTemplateResource) DeepCopyInto

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

type OCIClusterTemplateSpec

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

OCIClusterTemplateSpec defines the desired state of OCIClusterTemplate.

func (*OCIClusterTemplateSpec) DeepCopy

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

func (*OCIClusterTemplateSpec) DeepCopyInto

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) Hub

func (*OCIMachine) Hub()

Hub marks OCICluster as a conversion hub.

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.

func (*OCIMachineList) Hub

func (*OCIMachineList) Hub()

Hub marks OCIMachineList as a conversion hub.

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"`

	// VnicAttachments defines the configuration options for the vnic(s) attached to the machine
	// The network bandwidth and number of VNICs scale proportionately with the number of OCPUs.
	VnicAttachments []VnicAttachment `json:"vnicAttachments,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"`

	// AgentConfig 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"`

	// PlatformConfig 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.
	// +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"`
}

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) Hub

func (*OCIMachineTemplate) Hub()

Hub marks OCIMachineTemplate as a conversion hub.

func (*OCIMachineTemplate) SetupWebhookWithManager

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

func (*OCIMachineTemplate) ValidateCreate

func (m *OCIMachineTemplate) ValidateCreate() error

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

func (*OCIMachineTemplate) ValidateDelete

func (m *OCIMachineTemplate) ValidateDelete() error

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

func (*OCIMachineTemplate) ValidateUpdate

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.

func (*OCIMachineTemplateList) Hub

func (*OCIMachineTemplateList) Hub()

Hub marks OCIMachineTemplateList as a conversion hub.

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

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

func (in *PeerRouteRule) DeepCopy() *PeerRouteRule

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

func (*PeerRouteRule) DeepCopyInto

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

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

func (in *PlatformConfig) DeepCopy() *PlatformConfig

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

func (*PlatformConfig) DeepCopyInto

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

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

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

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

func (*PreemptibleInstanceConfig) DeepCopyInto

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

type PrincipalType

type PrincipalType string
const (
	// UserPrincipal represents a user principal.
	UserPrincipal PrincipalType = "UserPrincipal"
)

type RemotePeeringConnection

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

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

func (*RemotePeeringConnection) DeepCopyInto

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 RouteTable

type RouteTable struct {
	// Skip specifies whether to skip creating Route table.
	// +optional
	Skip bool `json:"skip,omitempty"`

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

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

RouteTable is used to specify the options for creating Route table.

func (*RouteTable) DeepCopy

func (in *RouteTable) DeepCopy() *RouteTable

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

func (*RouteTable) DeepCopyInto

func (in *RouteTable) DeepCopyInto(out *RouteTable)

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

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 ServiceGateway

type ServiceGateway struct {
	// Skip specifies whether to skip creating Service gateway.
	// +optional
	Skip bool `json:"skip,omitempty"`

	// ID of Service Gateway.
	// +optional
	Id *string `json:"id,omitempty"`
}

ServiceGateway is used to specify the options for creating Service gateway.

func (*ServiceGateway) DeepCopy

func (in *ServiceGateway) DeepCopy() *ServiceGateway

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

func (*ServiceGateway) DeepCopyInto

func (in *ServiceGateway) DeepCopyInto(out *ServiceGateway)

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

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

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

func (*TerminatePreemptionAction) DeepCopyInto

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"`

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

	// Configuration for Internet Gateway.
	// +optional
	InternetGateway InternetGateway `json:"internetGateway,omitempty"`

	// Configuration for NAT Gateway.
	// +optional
	NATGateway NATGateway `json:"natGateway,omitempty"`

	// Configuration for Service Gateway.
	// +optional
	ServiceGateway ServiceGateway `json:"serviceGateway,omitempty"`

	// Configuration for Route table.
	// +optional
	RouteTable RouteTable `json:"routeTable,omitempty"`

	// Configuration for NSG management.
	// +optional
	NetworkSecurityGroup NetworkSecurityGroup `json:"networkSecurityGroup,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

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

func (in *VCNPeering) DeepCopy() *VCNPeering

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

func (*VCNPeering) DeepCopyInto

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

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

type VnicAttachment

type VnicAttachment struct {
	// VnicAttachmentId defines the ID of the VnicAttachment
	VnicAttachmentId *string `json:"vnicAttachmentId,omitempty"`

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

	// SubnetName defines the subnet name to use for the VNIC
	// Defaults to the "worker" subnet if not provided
	// +optional
	SubnetName string `json:"subnetName,omitempty"`

	// DisplayName defines a user-friendly name. Does not have to be unique.
	// Avoid entering confidential information.
	DisplayName *string `json:"displayName"`

	// NicIndex defines which physical Network Interface Card (NIC) to use
	// You can determine which NICs are active for a shape by reviewing the
	// https://docs.oracle.com/en-us/iaas/Content/Compute/References/computeshapes.htm
	// +optional
	NicIndex *int `json:"nicIndex,omitempty"`
}

func (*VnicAttachment) DeepCopy

func (in *VnicAttachment) DeepCopy() *VnicAttachment

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

func (*VnicAttachment) DeepCopyInto

func (in *VnicAttachment) DeepCopyInto(out *VnicAttachment)

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