v1beta1

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 7, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

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

Index

Constants

View Source
const (
	// InstanceReadyCondition Ready indicates the instance is in a Running state.
	InstanceReadyCondition clusterv1.ConditionType = "InstanceReady"
	// InstanceNotFoundReason used when the instance couldn't be retrieved.
	InstanceNotFoundReason = "InstanceNotFound"
	// InstanceTerminatedReason instance is in a terminated state.
	InstanceTerminatedReason = "InstanceTerminated"
	// InstanceTerminatingReason instance is in terminating state.
	InstanceTerminatingReason = "InstanceTerminating"
	// InstanceNotReadyReason used when the instance is in a pending state.
	InstanceNotReadyReason = "InstanceNotReady"
	// InstanceProvisionStartedReason set when the provisioning of an instance started.
	InstanceProvisionStartedReason = "InstanceProvisionStarted"
	// InstanceProvisionFailedReason used for failures during instance provisioning.
	InstanceProvisionFailedReason = "InstanceProvisionFailed"
	// WaitingForClusterInfrastructureReason used when machine is waiting for cluster infrastructure to be ready before proceeding.
	WaitingForClusterInfrastructureReason = "WaitingForClusterInfrastructure"
	// WaitingForBootstrapDataReason used when machine is waiting for bootstrap data to be ready before proceeding.
	WaitingForBootstrapDataReason = "WaitingForBootstrapData"
	// InstanceLBackendAdditionFailedReason used when addition to LB backend fails
	InstanceLBackendAdditionFailedReason = "BackendAdditionFailed"
	// ClusterReadyCondition Ready indicates the cluster is Ready.
	ClusterReadyCondition clusterv1.ConditionType = "ClusterReady"
	// VcnReconciliationFailedReason used when the vcn reconciliation is failed.
	VcnReconciliationFailedReason = "VcnReconciliationFailed"
	// InternetGatewayReconciliationFailedReason used when the InternetGateway reconciliation is failed.
	InternetGatewayReconciliationFailedReason = "InternetGatewayReconciliationFailed"
	// NatGatewayReconciliationFailedReason used when the NatGateway reconciliation is failed.
	NatGatewayReconciliationFailedReason = "NatGatewayReconciliationFailed"
	// ServiceGatewayReconciliationFailedReason used when the ServiceGateway reconciliation is failed.
	ServiceGatewayReconciliationFailedReason = "ServiceGatewayReconciliationFailed"
	// NSGReconciliationFailedReason used when the NSG reconciliation is failed.
	NSGReconciliationFailedReason = "NSGReconciliationFailed"
	// RouteTableReconciliationFailedReason used when the RouteTable reconciliation is failed.
	RouteTableReconciliationFailedReason = "RouteTableReconciliationFailed"
	// SubnetReconciliationFailedReason used when the Subnet reconciliation is failed.
	SubnetReconciliationFailedReason = "SubnetReconciliationFailed"
	// SecurityListReconciliationFailedReason used when the SecurityList reconciliation is failed.
	SecurityListReconciliationFailedReason = "SecurityListReconciliationFailed"
	// APIServerLoadBalancerFailedReason used when the Subnet reconciliation is failed.
	APIServerLoadBalancerFailedReason = "APIServerLoadBalancerReconciliationFailed"
	// FailureDomainFailedReason used when the Subnet reconciliation is failed.
	FailureDomainFailedReason = "FailureDomainFailedReconciliationFailed"
	// InstanceLBBackendAdditionFailedReason used when addition to LB backend fails
	InstanceLBBackendAdditionFailedReason = "BackendAdditionFailed"
	// InstanceIPAddressNotFound used when IP address of the instance count not be found
	InstanceIPAddressNotFound = "InstanceIPAddressNotFound"
	// VcnEventReady used after reconciliation has completed successfully
	VcnEventReady = "VCNReady"
	// InternetGatewayEventReady used after reconciliation has completed successfully
	InternetGatewayEventReady = "InternetGatewayReady"
	// NatEventReady used after reconciliation has completed successfully
	NatEventReady = "NATReady"
	// ServiceGatewayEventReady used after reconciliation has completed successfully
	ServiceGatewayEventReady = "ServiceGatewayReady"
	// NetworkSecurityEventReady used after reconciliation has completed successfully
	NetworkSecurityEventReady = "NetworkSecurityReady"
	// RouteTableEventReady used after reconciliation has completed successfully
	RouteTableEventReady = "RouteTableReady"
	// SubnetEventReady used after reconciliation has completed successfully
	SubnetEventReady = "SubnetReady"
	// ApiServerLoadBalancerEventReady used after reconciliation has completed successfully
	ApiServerLoadBalancerEventReady = "APIServerLoadBalancerReady"
	// FailureDomainEventReady used after reconciliation has completed successfully
	FailureDomainEventReady = "FailureDomainsReady"
)
View Source
const (
	ControlPlaneRole         = "control-plane"
	ControlPlaneEndpointRole = "control-plane-endpoint"
	WorkerRole               = "worker"
	ServiceLoadBalancerRole  = "service-lb"
	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 ReconcileAzureMachine to clean up Azure resources associated with AzureMachine before
	// removing it from the apiserver.
	MachineFinalizer = "ocimachine.infrastructure.cluster.x-k8s.io"
)

Variables

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

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

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

Functions

This section is empty.

Types

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

type EgressSecurityRuleForNSG

type EgressSecurityRuleForNSG struct {
	//EgressSecurityRule ID for NSG
	// +optional
	ID                 *string `json:"id,omitempty"`
	EgressSecurityRule `json:"egressRule,omitempty"`
}

EgressSecurityRuleForNSG is EgressSecurityRule for NSG

func (*EgressSecurityRuleForNSG) DeepCopy

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

func (*EgressSecurityRuleForNSG) DeepCopyInto

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

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

type IcmpOptions

type IcmpOptions struct {

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

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

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

func (*IcmpOptions) DeepCopy

func (in *IcmpOptions) DeepCopy() *IcmpOptions

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

func (*IcmpOptions) DeepCopyInto

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

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

type IngressSecurityRule

type IngressSecurityRule struct {

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

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

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

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

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

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

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

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

IngressSecurityRule A rule for allowing inbound IP packets.

func (*IngressSecurityRule) DeepCopy

func (in *IngressSecurityRule) DeepCopy() *IngressSecurityRule

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

func (*IngressSecurityRule) DeepCopyInto

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

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

type IngressSecurityRuleForNSG

type IngressSecurityRuleForNSG struct {
	//IngressSecurityRule ID for NSG
	// +optional
	ID                  *string `json:"id,omitempty"`
	IngressSecurityRule `json:"ingressRule,omitempty"`
}

IngressSecurityRuleForNSG is IngressSecurityRule for NSG

func (*IngressSecurityRuleForNSG) DeepCopy

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

func (*IngressSecurityRuleForNSG) DeepCopyInto

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

type IngressSecurityRuleSourceTypeEnum

type IngressSecurityRuleSourceTypeEnum string

IngressSecurityRuleSourceTypeEnum Enum with underlying type: string

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

Set of constants representing the allowable values for IngressSecurityRuleSourceTypeEnum

type LoadBalancer

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

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

LoadBalancer Configuration

func (*LoadBalancer) DeepCopy

func (in *LoadBalancer) DeepCopy() *LoadBalancer

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

func (*LoadBalancer) DeepCopyInto

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

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

type NSG

type NSG struct {
	//NSG OCID
	// +optional
	ID *string `json:"id,omitempty"`
	//NSG Name
	// +optional
	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       *string `json:"subnetId,omitempty"`
	AssignPublicIp bool    `json:"assignPublicIp,omitempty"`
	SubnetName     string  `json:"subnetName,omitempty"`
	NSGId          *string `json:"nsgId,omitempty"`
}

NetworkDetails defines the configuration options for the network

func (*NetworkDetails) DeepCopy

func (in *NetworkDetails) DeepCopy() *NetworkDetails

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

func (*NetworkDetails) DeepCopyInto

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

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

type NetworkSpec

type NetworkSpec struct {
	// VCN configuration
	// +optional
	Vcn VCN `json:"vcn,omitempty"`

	//API Server LB configuration
	// +optional
	APIServerLB LoadBalancer `json:"apiServerLoadBalancer,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 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) GetConditions

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

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

func (*OCICluster) SetConditions

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

SetConditions will set the given conditions on an OCICluster object.

type OCIClusterList

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

OCIClusterList contains a list of OciCluster

func (*OCIClusterList) DeepCopy

func (in *OCIClusterList) DeepCopy() *OCIClusterList

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

func (*OCIClusterList) DeepCopyInto

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

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

func (*OCIClusterList) DeepCopyObject

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

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

type OCIClusterSpec

type OCIClusterSpec struct {
	// 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.
	CompartmentId string `mandatory:"true" json:"compartmentId"`

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

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

OCIClusterSpec defines the desired state of OciCluster

func (*OCIClusterSpec) DeepCopy

func (in *OCIClusterSpec) DeepCopy() *OCIClusterSpec

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

func (*OCIClusterSpec) DeepCopyInto

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

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

type OCIClusterStatus

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

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

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

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

OCIMachine is the Schema for the ocimachines API

func (*OCIMachine) DeepCopy

func (in *OCIMachine) DeepCopy() *OCIMachine

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

func (*OCIMachine) DeepCopyInto

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

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

func (*OCIMachine) DeepCopyObject

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

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

func (*OCIMachine) GetConditions

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

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

func (*OCIMachine) SetConditions

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

SetConditions will set the given conditions on an OCIMachine object.

type OCIMachineList

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

OCIMachineList contains a list of OCIMachine

func (*OCIMachineList) DeepCopy

func (in *OCIMachineList) DeepCopy() *OCIMachineList

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

func (*OCIMachineList) DeepCopyInto

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

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

func (*OCIMachineList) DeepCopyObject

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

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

type OCIMachineSpec

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

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

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

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

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

	// PrimaryNetworkInterface is required to specify subnet
	NetworkDetails NetworkDetails `json:"networkDetails,omitempty"`

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

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

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

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

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

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

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

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

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

func (*OCIMachineSpec) DeepCopy

func (in *OCIMachineSpec) DeepCopy() *OCIMachineSpec

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

func (*OCIMachineSpec) DeepCopyInto

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

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

type OCIMachineStatus

type OCIMachineStatus struct {

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

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

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

	// The error message corresponding tot he 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.

type OCIMachineTemplateList

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

OCIMachineTemplateList contains a list of OCIMachineTemplate.

func (*OCIMachineTemplateList) DeepCopy

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

func (*OCIMachineTemplateList) DeepCopyInto

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

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

func (*OCIMachineTemplateList) DeepCopyObject

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

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

type OCIMachineTemplateResource

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

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

func (*OCIMachineTemplateResource) DeepCopy

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

func (*OCIMachineTemplateResource) DeepCopyInto

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

type OCIMachineTemplateSpec

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

OCIMachineTemplateSpec defines the desired state of OCIMachineTemplate.

func (*OCIMachineTemplateSpec) DeepCopy

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

func (*OCIMachineTemplateSpec) DeepCopyInto

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

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

type 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 Role

type Role string

Role defines the unique role of a subnet.

type SecurityList

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

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

func (*SecurityList) DeepCopy

func (in *SecurityList) DeepCopy() *SecurityList

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

func (*SecurityList) DeepCopyInto

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

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

type ShapeConfig

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

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

	// The baseline OCPU utilization for a subcore burstable VM instance. Leave this attribute blank for a
	// non-burstable instance, or explicitly specify non-burstable with `BASELINE_1_1`.
	// The following values are supported:
	// - `BASELINE_1_8` - baseline usage is 1/8 of an OCPU.
	// - `BASELINE_1_2` - baseline usage is 1/2 of an OCPU.
	// - `BASELINE_1_1` - baseline usage is an entire OCPU. This represents a non-burstable instance.
	BaselineOcpuUtilization string `json:"baselineOcpuUtilization,omitempty"`
}

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
	// +optional
	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 newwork'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 UdpOptions

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

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

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

func (*UdpOptions) DeepCopy

func (in *UdpOptions) DeepCopy() *UdpOptions

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

func (*UdpOptions) DeepCopyInto

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

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

type VCN

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

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

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

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

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

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

	// Subnets is the configuration for subnets required in the VCN
	// +optional
	Subnets []*Subnet `json:"subnets,omitempty"`

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

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

func (*VCN) DeepCopy

func (in *VCN) DeepCopy() *VCN

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

func (*VCN) DeepCopyInto

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

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

Jump to

Keyboard shortcuts

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